mirror_ubuntu-kernels/drivers/gpu/drm
Ville Syrjälä c7943bb324 drm/edid: Handle EDID 1.4 range descriptor h/vfreq offsets
EDID 1.4 introduced some extra flags in the range
descriptor to support min/max h/vfreq >= 255. Consult them
to correctly parse the vfreq limits.

Note that some combinations of the flags are documented
as "reserved" (as are some other values in the descriptor)
but explicitly checking for those doesn't seem particularly
worthwile since we end up with bogus results whether we
decode them or not.

v2: Increase the storage to u16 to make it work (Jani)
    Note the "reserved" values situation (Jani)
v3: Document the EDID version number in the defines
    Drop some bogus (u8) casts

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/6519
References: https://gitlab.freedesktop.org/drm/intel/-/issues/6484
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20220826213501.31490-2-ville.syrjala@linux.intel.com
Reviewed-by: Manasi Navare <manasi.d.navare@intel.com>
2022-09-02 16:38:51 +03:00
..
amd - The usual batches of cleanups from Baoquan He, Muchun Song, Miaohe 2022-08-05 16:32:45 -07:00
arm drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
armada drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
aspeed drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
ast drm/ast: Enable primary plane with CRTC 2022-06-27 11:10:43 +02:00
atmel-hlcdc drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
bridge Merge drm/drm-fixes into drm-misc-fixes 2022-08-17 08:40:32 +02:00
display drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
etnaviv Merge branch 'etnaviv/next' of https://git.pengutronix.de/git/lst/linux into drm-next 2022-05-17 12:20:04 +10:00
exynos sound updates for 6.0-rc1 2022-08-06 10:19:51 -07:00
fsl-dcu drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
gma500 drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
gud drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
hisilicon drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
hyperv drm/hyperv-drm: Include framebuffer and EDID headers 2022-06-22 16:07:38 +02:00
i2c sound updates for 6.0-rc1 2022-08-06 10:19:51 -07:00
i810
i915 IOMMU Updates for Linux v5.20/v6.0: 2022-08-06 10:42:38 -07:00
imx Merge drm/drm-fixes into drm-misc-fixes 2022-08-17 08:40:32 +02:00
ingenic drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
kmb drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
lib
lima drm/lima: Migrate to dev_pm_opp_set_config() 2022-07-08 11:27:33 +05:30
logicvc drm/logicvc: add missing of_node_put() in logicvc_layers_init() 2022-06-24 17:23:38 +02:00
mcde drm: Remove linux/i2c.h from drm_crtc.h 2022-07-05 21:15:23 +03:00
mediatek Mediatek DRM Next for Linux 5.20 2022-07-12 17:01:42 +10:00
meson Merge drm/drm-fixes into drm-misc-fixes 2022-08-17 08:40:32 +02:00
mga
mgag200 drm/mgag200: Don't read-back PCI option register before writing 2022-07-14 15:14:45 +02:00
msm - The usual batches of cleanups from Baoquan He, Muchun Song, Miaohe 2022-08-05 16:32:45 -07:00
mxsfb drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
nouveau nouveau: explicitly wait on the fence in nouveau_bo_move_m2mf 2022-08-23 18:00:12 +02:00
omapdrm drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
panel drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
panfrost More power management updates for 5.20-rc1 2022-08-08 14:29:00 -07:00
pl111 drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
qxl drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
r128 drm/r128: Fix undefined behavior due to shift overflowing the constant 2022-05-21 18:02:47 +02:00
radeon drm/radeon: Fix comment typo 2022-07-25 09:31:02 -04:00
rcar-du Miscellaneous R-Car DU fixes and enhancements 2022-07-22 13:43:32 +10:00
rockchip drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
savage
scheduler drm/scheduler: Don't kill jobs in interrupt context 2022-07-15 10:09:15 -04:00
selftests drm/display/selftests: drop extra word 'for' in comments for MST selftests 2022-06-28 18:53:20 -04:00
shmobile drm: shmobile: Use backlight helper 2022-06-24 21:45:28 +02:00
sis
solomon drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
sprd drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
sti sound updates for 6.0-rc1 2022-08-06 10:19:51 -07:00
stm drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
sun4i Merge drm/drm-fixes into drm-misc-fixes 2022-08-17 08:40:32 +02:00
tdfx
tegra drm/tegra: Changes for v5.20-rc1 2022-07-12 16:50:05 +10:00
tests drm/format-helper: Add KUnit tests for drm_fb_xrgb8888_to_rgb332() 2022-06-27 13:45:53 +02:00
tidss drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
tilcdc drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
tiny drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
ttm Merge drm/drm-fixes into drm-misc-fixes 2022-08-17 08:40:32 +02:00
tve200 drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
udl drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
v3d drm/v3d: Add support for bcm2711 2022-06-12 22:10:50 -01:00
vboxvideo drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
vc4 drm/vc4: hdmi: Rework power up 2022-08-18 17:15:18 +02:00
vgem dma-buf: specify usage while adding fences to dma_resv obj v7 2022-04-07 12:53:53 +02:00
via
virtio drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
vkms drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
vmwgfx drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
xen Linux 5.19-rc6 2022-07-13 10:54:56 +10:00
xlnx drm: xlnx: add <linux/io.h> for readl/writel 2022-07-06 22:54:51 +03:00
drm_agpsupport.c
drm_aperture.c drm/aperture: Run fbdev removal before internal helpers 2022-07-09 11:12:05 -07:00
drm_atomic_helper.c drm/atomic-helper: Add helper drm_atomic_helper_check_crtc_state() 2022-06-27 11:10:43 +02:00
drm_atomic_state_helper.c drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_atomic_uapi.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_atomic.c drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_auth.c
drm_blend.c drm/doc: Fix comment typo 2022-06-28 07:56:32 +02:00
drm_bridge_connector.c drm: Config orientation property if panel provides it 2022-06-21 08:52:59 -07:00
drm_bridge.c drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
drm_buddy.c drm: add a check to verify the size alignment 2022-04-11 15:35:47 +02:00
drm_bufs.c
drm_cache.c drm for 5.18-rc1 2022-03-24 16:19:43 -07:00
drm_client_modeset.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_client.c
drm_color_mgmt.c drm: fix typo in comment 2022-05-04 14:09:34 +02:00
drm_connector.c drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_crtc_internal.h drm/edid: abstract debugfs override EDID set/reset 2022-06-30 10:50:59 +03:00
drm_crtc.c drm: Drop drm_blend.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_damage_helper.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_debugfs_crc.c
drm_debugfs.c drm/edid: Handle EDID 1.4 range descriptor h/vfreq offsets 2022-09-02 16:38:51 +03:00
drm_displayid.c drm/displayid: convert to drm_edid 2022-05-13 18:55:13 +03:00
drm_dma.c
drm_drv.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c drm/edid: Handle EDID 1.4 range descriptor h/vfreq offsets 2022-09-02 16:38:51 +03:00
drm_encoder_slave.c
drm_encoder.c drm: use ENOMEM for drmm_kzalloc allocation failures 2022-05-25 17:39:49 +02:00
drm_fb_cma_helper.c
drm_fb_helper.c drm/fb-helper: Fix out-of-bounds access 2022-06-27 11:10:43 +02:00
drm_file.c fs: remove no_llseek 2022-07-16 09:19:47 -04:00
drm_flip_work.c
drm_format_helper.c drm/format-helper: Share implementation among conversion helpers 2022-05-05 08:54:09 +02:00
drm_fourcc.c
drm_framebuffer.c
drm_gem_atomic_helper.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_gem_cma_helper.c drm/cma-helper: Describe what a "contiguous chunk" actually means 2022-06-08 17:36:15 +02:00
drm_gem_framebuffer_helper.c drm/gem: Warn on trying to use a non-existing framebuffer plane 2022-05-19 19:25:23 +02:00
drm_gem_shmem_helper.c drm/shmem-helper: Add missing vunmap on error 2022-08-09 18:15:42 +02:00
drm_gem_ttm_helper.c drm/ttm: fix locking in vmap/vunmap TTM GEM helpers 2022-07-18 09:18:53 +02:00
drm_gem_vram_helper.c drm/gem-vram: Ignore planes that are unused by framebuffer format 2022-05-19 19:25:19 +02:00
drm_gem.c drm/gem: Fix GEM handle release errors 2022-08-19 13:38:12 +02:00
drm_hashtab.c
drm_internal.h drm/gem: Fix GEM handle release errors 2022-08-19 13:38:12 +02:00
drm_ioc32.c
drm_ioctl.c GPU: drm: drop unexpected word "the" in the comments 2022-06-22 09:23:08 +02:00
drm_irq.c
drm_kms_helper_common.c drm: Drop drm_edid.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_managed.c drm: Add DRM-managed mutex_init() 2022-05-05 09:04:10 +02:00
drm_memory.c
drm_mipi_dbi.c drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
drm_mipi_dsi.c drm/display: Move DSC header and helpers into display-helper module 2022-04-25 11:19:36 +02:00
drm_mm.c
drm_mode_config.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_mode_object.c
drm_modes.c drm: Remove linux/fb.h from drm_crtc.h 2022-07-05 21:14:02 +03:00
drm_modeset_helper.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
drm_modeset_lock.c
drm_nomodeset.c
drm_of.c drm: Remove linux/media-bus-format.h from drm_crtc.h 2022-07-05 21:15:13 +03:00
drm_panel_orientation_quirks.c drm for 5.20/6.0 2022-08-03 19:52:08 -07:00
drm_panel.c
drm_pci.c
drm_plane_helper.c
drm_plane.c drm/plane: Move range check for format_count earlier 2022-04-28 16:13:04 +01:00
drm_prime.c drm/gem: Fix GEM handle release errors 2022-08-19 13:38:12 +02:00
drm_print.c
drm_privacy_screen_x86.c
drm_privacy_screen.c
drm_probe_helper.c drm/probe-helper: add drm_connector_helper_get_modes() 2022-06-30 10:51:03 +03:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/simple-kms: Use drm_atomic_helper_check_crtc_state() 2022-06-27 11:10:43 +02:00
drm_syncobj.c drm/syncobj: add missing error return code in drm_syncobj_transfer_to_timeline() 2022-06-13 08:54:16 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank_work.c
drm_vblank.c drm: Use drm_mode_copy() 2022-04-12 09:27:20 +03:00
drm_vm.c LoongArch: Add writecombine support for drm 2022-06-03 20:09:27 +08:00
drm_vma_manager.c
drm_writeback.c drm: Drop drm_framebuffer.h from drm_crtc.h 2022-06-20 23:53:55 +03:00
Kconfig Revert "drm/amdgpu: add drm buddy support to amdgpu" 2022-07-08 14:24:30 +02:00
Makefile drm: lcdif: Add support for i.MX8MP LCDIF variant 2022-06-29 01:44:48 +02:00