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
..
bridge
drm/bridge/sii8620: add remote control support
2017-10-11 13:14:25 +02:00
i2c
tinydrm
drm/tinydrm: Use drm_gem_cma_print_info()
2017-11-11 11:24:44 +01:00
ttm
drm/ttm: add support for different pool sizes
2017-10-06 17:44:16 -04:00
amd_asic_type.h
drm/amdgpu Moving amdgpu asic types to a separate file
2017-10-18 10:56:27 -04:00
ati_pcigart.h
drm_agpsupport.h
drm_atomic.h
drm/atomic: Make atomic iterators less surprising
2017-10-06 11:06:11 +02:00
drm_atomic_helper.h
drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
2017-11-20 21:14:22 +02:00
drm_auth.h
drm: Add drm_object lease infrastructure [v5]
2017-10-25 16:31:29 +10:00
drm_blend.h
drm: Add DRM_MODE_ROTATE_ and DRM_MODE_REFLECT_ to UAPI
2017-05-22 09:49:48 +02:00
drm_bridge.h
drm/bridge: change return type of drm_bridge_add function
2017-08-21 08:51:53 +05:30
drm_cache.h
drm_color_mgmt.h
drm: drm_color_mgmt.h needs struct drm_crtc declaration
2017-05-02 10:30:23 +02:00
drm_connector.h
drm/edid: Allow HDMI infoframe without VIC or S3D
2017-11-22 19:24:34 +02:00
drm_crtc.h
drm/mode_object: fix documentation for object lookups.
2017-11-10 13:50:47 +10:00
drm_crtc_helper.h
drm/atomic: Acquire connection_mutex lock in drm_helper_probe_single_connector_modes, v4.
2017-04-06 21:29:23 +02:00
drm_debugfs.h
drm/debugfs: Add kerneldoc
2017-03-24 09:36:06 +01:00
drm_debugfs_crc.h
drm_device.h
drm: Add drm_device->fb_helper pointer
2017-10-31 19:06:05 +01:00
drm_displayid.h
drm_dp_dual_mode_helper.h
drm_dp_helper.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_dp_mst_helper.h
drm/dp/mst: Sideband message transaction to power up/down nodes
2017-09-11 16:03:57 +03:00
drm_drv.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_edid.h
drm/edid: Allow HDMI infoframe without VIC or S3D
2017-11-22 19:24:34 +02:00
drm_encoder.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_encoder_slave.h
drm_fb_cma_helper.h
drm/cma-helper: Remove drm_fb_cma_debugfs_show()
2017-11-11 11:25:14 +01:00
drm_fb_helper.h
drm/fb-helper: Add .last_close and .output_poll_changed helpers
2017-10-31 19:06:31 +01:00
drm_file.h
drm: introduce sync objects (v4)
2017-06-14 12:10:22 +10:00
drm_fixed.h
drm_flip_work.h
drm_fourcc.h
drm: Add mode_config .get_format_info() hook
2017-03-22 19:45:00 +02:00
drm_framebuffer.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_gem.h
drm/gem: Add drm_gem_dumb_map_offset()
2017-07-29 13:49:55 +02:00
drm_gem_cma_helper.h
drm: gem_cma_helper.c: Allow importing of contiguous scatterlists with nents > 1
2017-11-15 18:14:46 +01:00
drm_gem_framebuffer_helper.h
drm/gem-fb-helper: Use debug message on gem lookup failure
2017-09-16 14:06:53 +02:00
drm_global.h
drm: drop extern from function decls
2017-03-24 09:36:06 +01:00
drm_hashtab.h
drm: drop extern from function decls
2017-03-24 09:36:06 +01:00
drm_ioctl.h
new helper: drm_ioctl_kernel()
2017-05-27 15:39:28 -04:00
drm_irq.h
drm: Extract drm_vblank.[hc]
2017-06-01 08:02:14 +02:00
drm_lease.h
drm: Add four ioctls for managing drm mode object leases [v7]
2017-10-25 16:31:30 +10:00
drm_legacy.h
drm_mipi_dsi.h
drm_mm.h
drm/drm_mm.h: Fix the name of the referenced function in comment
2017-11-02 11:10:47 -02:00
drm_mode_config.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_mode_object.h
drm: Add four ioctls for managing drm mode object leases [v7]
2017-10-25 16:31:30 +10:00
drm_modes.h
drm: add helper functions for YCBCR420 handling
2017-07-14 21:23:54 +03:00
drm_modeset_helper.h
drm_modeset_helper_vtables.h
drm/edid: make drm_edid_to_eld() static
2017-11-07 17:43:35 +02:00
drm_modeset_lock.h
drm/atomic: Prepare drm_modeset_lock infrastructure for interruptible waiting, v2.
2017-09-13 09:50:52 +02:00
drm_of.h
drm/drm_of: Move drm_of_panel_bridge_remove_function into header.
2017-10-13 16:59:36 +02:00
drm_os_linux.h
drm: remove writeq/readq function definitions
2017-06-02 10:41:20 -04:00
drm_panel.h
drm: make drm_panel.h self-contained
2017-05-16 17:17:02 +02:00
drm_pci.h
drm/pci: Deprecate drm_pci_init/exit completely
2017-06-20 10:41:03 +02:00
drm_pciids.h
drm_plane.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_plane_helper.h
drm: Move drm_plane_helper_check_state() into drm_atomic_helper.c
2017-11-20 21:14:22 +02:00
drm_prime.h
drm: Extract drm_vblank.[hc]
2017-06-01 08:02:14 +02:00
drm_print.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_property.h
drm/mode_object: fix documentation for object lookups.
2017-11-10 13:50:47 +10:00
drm_rect.h
drm/doc: move printf helpers out of drmP.h
2017-05-31 09:59:41 +02:00
drm_scdc_helper.h
drm: Fix warning when building docs for scdc_helper
2017-07-31 14:24:14 +02:00
drm_simple_kms_helper.h
drm: Plumb modifiers through plane init
2017-08-01 17:50:06 +01:00
drm_syncobj.h
Merge airlied/drm-next into drm-misc-next
2017-11-21 14:17:56 +01:00
drm_sysfs.h
drm: Consolidate and document sysfs support
2017-04-04 20:47:54 +02:00
drm_vblank.h
drm: Add CRTC_GET_SEQUENCE and CRTC_QUEUE_SEQUENCE ioctls [v3]
2017-10-23 11:15:03 +10:00
drm_vma_manager.h
drm/vma-manager: drm_vma_node_start() constify argument
2017-11-11 11:19:37 +01:00
drmP.h
drm: Add new LEASE debug level
2017-10-25 16:31:29 +10:00
gma_drm.h
i915_component.h
i915_drm.h
i915_pciids.h
drm/i915/kbl: Change a KBL pci id to GT2 from GT1.5
2017-09-21 06:22:29 -07:00
intel-gtt.h
intel_lpe_audio.h
ALSA: x86: Register multiple PCM devices for the LPE audio card
2017-05-03 16:24:00 +03:00