linux/drivers/gpu/drm/rockchip
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
..
analogix_dp-rockchip.c Merge airlied/drm-next into drm-misc-next 2017-11-21 14:17:56 +01:00
cdn-dp-core.c drm/drivers: drop redundant drm_edid_to_eld() calls 2017-11-07 17:43:35 +02:00
cdn-dp-core.h drm/rockchip: cdn-dp: retry to check sink count 2017-02-05 16:30:04 +08:00
cdn-dp-reg.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
cdn-dp-reg.h drm/rockchip: cdn-dp: Correct PHY register address 2017-03-13 15:59:26 -04:00
dw_hdmi-rockchip.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
dw-mipi-dsi.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
inno_hdmi.c drm/edid: Allow HDMI infoframe without VIC or S3D 2017-11-22 19:24:34 +02:00
inno_hdmi.h drm/rockchip: hdmi: add Innosilicon HDMI support 2016-02-18 13:56:43 +08:00
Kconfig drm/rockchip: add CONFIG_OF dependency for lvds 2017-11-06 10:31:17 -05:00
Makefile drm/rockchip: Add support for Rockchip Soc LVDS 2017-09-08 14:57:26 +08:00
rockchip_drm_drv.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
rockchip_drm_drv.h drm/rockchip: Add support for Rockchip Soc LVDS 2017-09-08 14:57:26 +08:00
rockchip_drm_fb.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
rockchip_drm_fb.h drm: Pass the user drm_mode_fb_cmd2 as const to .fb_create() 2015-11-24 11:47:38 +01:00
rockchip_drm_fbdev.c drm/rockchip: Replace dev_* with DRM_DEV_* 2017-09-18 09:50:44 +08:00
rockchip_drm_fbdev.h drm/rockchip: respect CONFIG_DRM_FBDEV_EMULATION 2016-01-22 08:45:31 +08:00
rockchip_drm_gem.c drm/rockchip: Cocci spatch "vma_pages" 2017-09-26 14:32:36 +08:00
rockchip_drm_gem.h drm/rockchip: Use .dumb_map_offset and .dumb_destroy defaults 2017-07-29 14:00:35 +02:00
rockchip_drm_psr.c drm/rockchip: Fix up bug in psr state machine 2016-09-21 06:55:49 -07:00
rockchip_drm_psr.h drm/rockchip: Don't key off vblank for psr 2016-09-21 06:55:47 -07:00
rockchip_drm_vop.c drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c 2017-11-20 21:14:22 +02:00
rockchip_drm_vop.h drm/rockchip: vop: fix NV12 video display error 2017-08-04 16:09:39 +08:00
rockchip_lvds.c drm/rockchip: Fix uninitialized use of ret 2017-09-21 13:05:35 -07:00
rockchip_lvds.h drm/rockchip: Add support for Rockchip Soc LVDS 2017-09-08 14:57:26 +08:00
rockchip_vop_reg.c drm/rockchip: vop: add rk3126 vop support 2017-11-16 14:21:50 +08:00
rockchip_vop_reg.h drm/rockchip: vop: add rk3126 vop support 2017-11-16 14:21:50 +08:00