[PATCH 02/20] drm/edid: complete CEA modedb(VIC 1-107)
Sharma, Shashank
shashank.sharma at intel.com
Thu Jul 13 05:38:50 UTC 2017
Regards
Shashank
On 7/12/2017 10:48 PM, Ville Syrjälä wrote:
> On Mon, Jul 10, 2017 at 04:48:30PM +0530, Shashank Sharma wrote:
>> CEA-861-F specs defines new video modes to be used with
>> HDMI 2.0 EDIDs. The VIC range has been extended from 1-64 to
>> 1-107.
>>
>> Our existing CEA modedb contains only 64 modes (VIC=1 to VIC=64). Now
>> to be able to parse new CEA modes using the existing methods, we have
>> to complete the modedb (VIC=65 onwards).
>>
>> This patch adds:
>> - Timings for existing CEA video modes (from VIC=65 till VIC=92)
>> - Newly added 4k modes (from VIC=93 to VIC=107).
>>
>> The patch was originaly discussed and reviewed here:
>> https://patchwork.freedesktop.org/patch/135810/
>>
>> V2: Rebase
>> V3: Rebase
>> V4: Added native bit handling as per CEA-861-F spec (Ville)
>> V5: Fix timings for VIC 77:1920x1080 and 104:3840x2160p (Ville)
>> Remove unnecessary paranthesis from function svd_to_vic (Ville)
>> Added r-b (Neil)
>>
>> Reviewed-by: Jose Abreu <Jose.Abreu at synopsys.com>
>> Reviewed-by: Alex Deucher <alexander.deucher at amd.com>
>> Reviewed-by: Neil Armstrong <narmstrong at baylibre.com>
>> Acked-by: Harry Wentland <harry.wentland at amd.com>
>> Signed-off-by: Shashank Sharma <shashank.sharma at intel.com>
>> ---
>> drivers/gpu/drm/drm_edid.c | 227 ++++++++++++++++++++++++++++++++++++++++++++-
>> 1 file changed, 226 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
>> index 0667b07..b879662 100644
>> --- a/drivers/gpu/drm/drm_edid.c
>> +++ b/drivers/gpu/drm/drm_edid.c
>> @@ -1006,6 +1006,221 @@ static const struct drm_display_mode edid_cea_modes[] = {
>> 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
>> DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9, },
>> + /* 65 - 1280x720 at 24Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 59400, 1280, 3040,
>> + 3080, 3300, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 66 - 1280x720 at 25Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3700,
>> + 3740, 3960, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 67 - 1280x720 at 30Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 3040,
>> + 3080, 3300, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 68 - 1280x720 at 50Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1720,
>> + 1760, 1980, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 69 - 1280x720 at 60Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 74250, 1280, 1390,
>> + 1430, 1650, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 70 - 1280x720 at 100Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1720,
>> + 1760, 1980, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 71 - 1280x720 at 120Hz */
>> + { DRM_MODE("1280x720", DRM_MODE_TYPE_DRIVER, 148500, 1280, 1390,
>> + 1430, 1650, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 72 - 1920x1080 at 24Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2558,
>> + 2602, 2750, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 73 - 1920x1080 at 25Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2448,
>> + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 74 - 1920x1080 at 30Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 74250, 1920, 2008,
>> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 75 - 1920x1080 at 50Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2448,
>> + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 76 - 1920x1080 at 60Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 148500, 1920, 2008,
>> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 77 - 1920x1080 at 100Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2448,
>> + 2492, 2640, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 78 - 1920x1080 at 120Hz */
>> + { DRM_MODE("1920x1080", DRM_MODE_TYPE_DRIVER, 297000, 1920, 2008,
>> + 2052, 2200, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 79 - 1680x720 at 24Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680, 3040,
>> + 3080, 3300, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
> Indentation looks broken starting from this mode. Pls fix your editor.
> Otherwise lgtm.
Ok,
- Shashank
>> + /* 80 - 1680x720 at 25Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680, 2908,
>> + 2948, 3168, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 81 - 1680x720 at 30Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 59400, 1680, 2380,
>> + 2420, 2640, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 82 - 1680x720 at 50Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 82500, 1680, 1940,
>> + 1980, 2200, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 83 - 1680x720 at 60Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 99000, 1680, 1940,
>> + 1980, 2200, 0, 720, 725, 730, 750, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 84 - 1680x720 at 100Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 165000, 1680, 1740,
>> + 1780, 2000, 0, 720, 725, 730, 825, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 85 - 1680x720 at 120Hz */
>> + { DRM_MODE("1680x720", DRM_MODE_TYPE_DRIVER, 198000, 1680, 1740,
>> + 1780, 2000, 0, 720, 725, 730, 825, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 86 - 2560x1080 at 24Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 99000, 2560, 3558,
>> + 3602, 3750, 0, 1080, 1084, 1089, 1100, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 87 - 2560x1080 at 25Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 90000, 2560, 3008,
>> + 3052, 3200, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 88 - 2560x1080 at 30Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 118800, 2560, 3328,
>> + 3372, 3520, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 89 - 2560x1080 at 50Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 185625, 2560, 3108,
>> + 3152, 3300, 0, 1080, 1084, 1089, 1125, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 90 - 2560x1080 at 60Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 198000, 2560, 2808,
>> + 2852, 3000, 0, 1080, 1084, 1089, 1100, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 91 - 2560x1080 at 100Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 371250, 2560, 2778,
>> + 2822, 2970, 0, 1080, 1084, 1089, 1250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 100, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 92 - 2560x1080 at 120Hz */
>> + { DRM_MODE("2560x1080", DRM_MODE_TYPE_DRIVER, 495000, 2560, 3108,
>> + 3152, 3300, 0, 1080, 1084, 1089, 1250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 120, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27, },
>> + /* 93 - 3840x2160p at 24Hz 16:9 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 5116,
>> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9,},
>> + /* 94 - 3840x2160p at 25Hz 16:9 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4896,
>> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9},
>> + /* 95 - 3840x2160p at 30Hz 16:9 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4016,
>> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9},
>> + /* 96 - 3840x2160p at 50Hz 16:9 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896,
>> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9},
>> + /* 97 - 3840x2160p at 60Hz 16:9 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4016,
>> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_16_9},
>> + /* 98 - 4096x2160p at 24Hz 256:135 */
>> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 5116,
>> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135},
>> + /* 99 - 4096x2160p at 25Hz 256:135 */
>> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 5064,
>> + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135},
>> + /* 100 - 4096x2160p at 30Hz 256:135 */
>> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 297000, 4096, 4184,
>> + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135},
>> + /* 101 - 4096x2160p at 50Hz 256:135 */
>> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 5064,
>> + 5152, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135},
>> + /* 102 - 4096x2160p at 60Hz 256:135 */
>> + { DRM_MODE("4096x2160", DRM_MODE_TYPE_DRIVER, 594000, 4096, 4184,
>> + 4272, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_256_135},
>> + /* 103 - 3840x2160p at 24Hz 64:27 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 5116,
>> + 5204, 5500, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 24, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27},
>> + /* 104 - 3840x2160p at 25Hz 64:27 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4896,
>> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 25, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27},
>> + /* 105 - 3840x2160p at 30Hz 64:27 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 297000, 3840, 4016,
>> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 30, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27},
>> + /* 106 - 3840x2160p at 50Hz 64:27 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4896,
>> + 4984, 5280, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 50, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27},
>> + /* 107 - 3840x2160p at 60Hz 64:27 */
>> + { DRM_MODE("3840x2160", DRM_MODE_TYPE_DRIVER, 594000, 3840, 4016,
>> + 4104, 4400, 0, 2160, 2168, 2178, 2250, 0,
>> + DRM_MODE_FLAG_PHSYNC | DRM_MODE_FLAG_PVSYNC),
>> + .vrefresh = 60, .picture_aspect_ratio = HDMI_PICTURE_ASPECT_64_27},
>> };
>>
>> /*
>> @@ -2902,6 +3117,16 @@ add_alternate_cea_modes(struct drm_connector *connector, struct edid *edid)
>> return modes;
>> }
>>
>> +static u8 svd_to_vic(u8 svd)
>> +{
>> +
>> + /* 0-6 bit vic, 7th bit native mode indicator */
>> + if ((svd >= 1 && svd <= 64) || (svd >= 129 && svd <= 192))
>> + return svd & 127;
>> +
>> + return svd;
>> +}
>> +
>> static struct drm_display_mode *
>> drm_display_mode_from_vic_index(struct drm_connector *connector,
>> const u8 *video_db, u8 video_len,
>> @@ -2915,7 +3140,7 @@ drm_display_mode_from_vic_index(struct drm_connector *connector,
>> return NULL;
>>
>> /* CEA modes are numbered 1..127 */
>> - vic = (video_db[video_index] & 127);
>> + vic = svd_to_vic(video_db[video_index]);
>> if (!drm_valid_cea_vic(vic))
>> return NULL;
>>
>> --
>> 2.7.4
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel at lists.freedesktop.org
>> https://lists.freedesktop.org/mailman/listinfo/dri-devel
More information about the dri-devel
mailing list