linux/drivers/gpu/drm/exynos
Ville Syrjälä f1781e9bb2 drm/edid: Allow HDMI infoframe without VIC or S3D
Appedix F of HDMI 2.0 says that some HDMI sink may fail to switch from
3D to 2D mode in a timely fashion if the source simply stops sending the
HDMI infoframe. The suggested workaround is to keep sending the
infoframe even when strictly not necessary (ie. no VIC and no S3D).
HDMI 1.4 does allow for this behaviour, stating that sending the
infoframe is optional in this case.

The infoframe was first specified in HDMI 1.4, so in theory sinks
predating that may not appreciate us sending an uknown infoframe
their way. To avoid regressions let's try to determine if the sink
supports the infoframe or not. Unfortunately there's no direct way
to do that, so instead we'll just check if we managed to parse any
HDMI 1.4 4k or stereo modes from the EDID, and if so we assume the
sink will accept the infoframe. Also if the EDID contains the HDMI
2.0 HDMI Forum VSDB we can assume the sink is prepared to receive
the infoframe.

v2: Fix getting has_hdmi_infoframe from display_info
    Always fail constructing the infoframe if the display
    possibly can't handle it

Cc: Shashank Sharma <shashank.sharma@intel.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Shashank Sharma <shashank.sharma@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20171113170427.4150-3-ville.syrjala@linux.intel.com
2017-11-22 19:24:34 +02:00
..
exynos7_drm_decon.c drm/exynos: simplify set_pixfmt() in DECON and FIMD drivers 2017-08-25 14:30:27 +09:00
exynos5433_drm_decon.c drm: exynos: include linux/irq.h 2017-09-19 19:50:47 +09:00
exynos_dp.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_core.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_crtc.c drm/exynos: add mode_fixup callback to exynos_drm_crtc_ops 2017-10-26 09:06:33 +09:00
exynos_drm_crtc.h drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_dpi.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_drv.c drm/exynos: Clear drvdata after component unbind 2017-10-16 07:44:49 +09:00
exynos_drm_drv.h drm/exynos: add mode_fixup callback to exynos_drm_crtc_ops 2017-10-26 09:06:33 +09:00
exynos_drm_dsi.c drm/exynos/dsi: propagate info about command mode from panel 2017-08-25 11:26:15 +09:00
exynos_drm_fb.c drm/exynos: mixer: enable NV12MT support for the video plane 2017-08-25 12:04:51 +09:00
exynos_drm_fb.h Merge branch 'drm-next' of git://people.freedesktop.org/~airlied/linux 2016-01-17 13:40:25 -08:00
exynos_drm_fbdev.c drm/exynos: Fix suspend/resume support 2017-09-19 19:50:44 +09:00
exynos_drm_fbdev.h drm/exynos: Fix suspend/resume support 2017-09-19 19:50:44 +09:00
exynos_drm_fimc.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_fimc.h
exynos_drm_fimd.c drm/exynos: simplify set_pixfmt() in DECON and FIMD drivers 2017-08-25 14:30:27 +09:00
exynos_drm_g2d.c drm/exynos: g2d: change platform driver name to 'exynos-drm-g2d' 2017-02-07 13:52:49 +09:00
exynos_drm_g2d.h
exynos_drm_gem.c drm/exynos: Use .dumb_map_offset and .dumb_destroy defaults 2017-08-16 20:17:50 +02:00
exynos_drm_gem.h drm/exynos: Use .dumb_map_offset and .dumb_destroy defaults 2017-08-16 20:17:50 +02:00
exynos_drm_gsc.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_gsc.h
exynos_drm_iommu.c drm/exynos: iommu: move ARM specific code to exynos_drm_iommu.h 2016-07-13 23:06:06 +09:00
exynos_drm_iommu.h iommu/dma: Avoid PCI host bridge windows 2016-09-16 09:34:22 +01:00
exynos_drm_ipp.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_ipp.h drm/exynos/ipp: remove unused field in command node 2014-09-20 00:56:10 +09:00
exynos_drm_mic.c Merge tag 'drm-misc-next-2017-09-20' of git://anongit.freedesktop.org/git/drm-misc into drm-next 2017-09-28 05:46:15 +10:00
exynos_drm_plane.c drm/exynos: mixer: enable NV12MT support for the video plane 2017-08-25 12:04:51 +09:00
exynos_drm_plane.h drm/exynos: set plane possible_crtcs in exynos_plane_init 2017-06-01 16:21:34 +09:00
exynos_drm_rotator.c drm/exynos: Print kernel pointers in a restricted form 2017-03-21 13:17:22 +09:00
exynos_drm_rotator.h
exynos_drm_vidi.c drm/exynos: use helper to set possible crtcs 2017-08-25 11:26:10 +09:00
exynos_drm_vidi.h
exynos_hdmi.c drm/edid: Allow HDMI infoframe without VIC or S3D 2017-11-22 19:24:34 +02:00
exynos_mixer.c drm/exynos/hdmi: add 85.5MHz pixel clock for v14 HDMI PHY 2017-10-26 09:06:34 +09:00
Kconfig drm: exynos: Add driver for HDMI audio interface 2017-10-26 09:06:34 +09:00
Makefile drm/exynos: build fbdev code conditionally 2016-04-30 01:03:45 +09:00
regs-fimc.h
regs-gsc.h drm/exynos: gsc: add device tree support and remove usage of static mappings 2015-12-13 22:22:53 +09:00
regs-hdmi.h drm: exynos: Add driver for HDMI audio interface 2017-10-26 09:06:34 +09:00
regs-mixer.h drm/exynos: mixer: document YCbCr magic numbers 2017-06-01 16:21:36 +09:00
regs-rotator.h
regs-vp.h