aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVille Syrjälä <ville.syrjala@linux.intel.com>2019-12-13 19:43:48 +0200
committerVille Syrjälä <ville.syrjala@linux.intel.com>2019-12-16 17:20:41 +0200
commit9212f8ee412012252d4d7c93ea262b415ced00e7 (patch)
treeae6c7af1b93d76a14a66ba4e1ae6334d32f10341
parentdrm/edid: Throw away the dummy VIC 0 cea mode (diff)
downloadlinux-dev-9212f8ee412012252d4d7c93ea262b415ced00e7.tar.xz
linux-dev-9212f8ee412012252d4d7c93ea262b415ced00e7.zip
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 <hansverk@cisco.com> Reviewed-by: Manasi Navare <manasi.d.navare@intel.com> Reviewed-by: Thomas Anderson <thomasanderson@google.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20191213174348.27261-5-ville.syrjala@linux.intel.com
-rw-r--r--drivers/gpu/drm/drm_edid.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 8bc69da53c2e..ec5b88120428 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))