From: Ville Syrjälä Date: Fri, 13 Dec 2019 17:43:48 +0000 (+0200) Subject: drm/edid: Make sure the CEA mode arrays have the correct amount of modes X-Git-Tag: v5.15~303^2~28^2~3824 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=9212f8ee412012252d4d7c93ea262b415ced00e7;p=platform%2Fkernel%2Flinux-starfive.git drm/edid: Make sure the CEA mode arrays have the correct amount of modes We depend on a specific relationship between the VIC number and the index in the CEA mode arrays. Assert that the arrays have the expected size to make sure we've not accidentally left holes in them. v2: Pimp the BUILD_BUG_ON()s v3: Fix typos (Manasi) Cc: Hans Verkuil Reviewed-by: Manasi Navare Reviewed-by: Thomas Anderson Signed-off-by: Ville Syrjälä Link: https://patchwork.freedesktop.org/patch/msgid/20191213174348.27261-5-ville.syrjala@linux.intel.com --- diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index 8bc69da..ec5b881 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -3213,6 +3213,9 @@ static u8 *drm_find_cea_extension(const struct edid *edid) static const struct drm_display_mode *cea_mode_for_vic(u8 vic) { + BUILD_BUG_ON(1 + ARRAY_SIZE(edid_cea_modes_1) - 1 != 127); + BUILD_BUG_ON(193 + ARRAY_SIZE(edid_cea_modes_193) - 1 != 219); + if (vic >= 1 && vic < 1 + ARRAY_SIZE(edid_cea_modes_1)) return &edid_cea_modes_1[vic - 1]; if (vic >= 193 && vic < 193 + ARRAY_SIZE(edid_cea_modes_193))