OpenCloudOS-Kernel/drivers/gpu/drm/exynos
Shashank Sharma 0c1f528cb1 drm: handle HDMI 2.0 VICs in AVI info-frames
HDMI 1.4b support the CEA video modes as per range of CEA-861-D (VIC 1-64).
For any other mode, the VIC filed in AVI infoframes should be 0.
HDMI 2.0 sinks, support video modes range as per CEA-861-F spec, which is
extended to (VIC 1-107).

This patch adds a bool input variable, which indicates if the connected
sink is a HDMI 2.0 sink or not. This will make sure that we don't pass a
HDMI 2.0 VIC to a HDMI 1.4 sink.

This patch touches all drm drivers, who are callers of this function
drm_hdmi_avi_infoframe_from_display_mode but to make sure there is
no change in current behavior, is_hdmi2 is kept as false.

In case of I915 driver, this patch:
- checks if the connected display is HDMI 2.0.
- HDMI infoframes carry one of this two type of information:
	- VIC for 4K modes for HDMI 1.4 sinks
	- S3D information for S3D modes
  As CEA-861-F has already defined VICs for 4K videomodes, this
  patch doesn't allow sending HDMI infoframes for HDMI 2.0 sinks,
  until the mode is 3D.

Cc: Ville Syrjala <ville.syrjala@linux.intel.com>
Cc: Jose Abreu <jose.abreu@synopsys.com>
Cc: Andrzej Hajda <a.hajda@samsung.com>
Cc: Alex Deucher <alexander.deucher@amd.com>
Cc: Daniel Vetter <daniel.vetter@intel.com>

PS: This patch touches a few lines in few files, which were
already above 80 char, so checkpatch gives 80 char warning again.
- gpu/drm/omapdrm/omap_encoder.c
- gpu/drm/i915/intel_sdvo.c

V2: Rebase, Added r-b from Andrzej
V3: Addressed review comment from Ville:
	- Do not send VICs in both AVI-IF and HDMI-IF
	  send only one of it.
V4: Rebase
V5: Added r-b from Neil.
    Addressed review comments from Ville
    - Do not block HDMI vendor IF, instead check for VIC while
      handling AVI infoframes
V6: Rebase
V7: Rebase

Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
Reviewed-by: Neil Armstrong <narmstrong@baylibre.com>
Signed-off-by: Shashank Sharma <shashank.sharma@intel.com>
Link: http://patchwork.freedesktop.org/patch/msgid/1499960000-9232-2-git-send-email-shashank.sharma@intel.com
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
2017-07-14 21:23:54 +03:00
..
Kconfig drm/exynos: Remove Kconfig deps for FIMD and DECON7 2017-01-23 09:36:04 +01:00
Makefile drm/exynos: build fbdev code conditionally 2016-04-30 01:03:45 +09:00
exynos7_drm_decon.c drm/exynos: kill mode_set_nofb callback 2017-06-01 16:21:35 +09:00
exynos5433_drm_decon.c drm/exynos/decon5433: remove useless check 2017-06-01 16:21:38 +09:00
exynos_dp.c drm: convert drivers to use drm_of_find_panel_or_bridge 2017-04-06 17:00:27 -04:00
exynos_drm_core.c drm/exynos: remove superfluous inclusions of fbdev header 2016-06-19 14:37:28 +09:00
exynos_drm_crtc.c drm: Convert atomic drivers from CRTC .disable() to .atomic_disable() 2017-06-30 14:53:15 +02:00
exynos_drm_crtc.h drm/exynos: kill exynos_drm_crtc::pipe 2017-06-01 16:21:34 +09:00
exynos_drm_dpi.c drm: convert drivers to use of_graph_get_remote_node 2017-04-06 17:00:27 -04:00
exynos_drm_drv.c drm/exynos: Drop drm_vblank_cleanup 2017-06-01 11:43:41 +02:00
exynos_drm_drv.h drm/exynos: kill mode_set_nofb callback 2017-06-01 16:21:35 +09:00
exynos_drm_dsi.c drm/exynos/dsi: fix bridge_node DT parsing 2017-06-01 16:21:36 +09:00
exynos_drm_fb.c drm/exynos: use atomic helper commit 2017-01-31 08:49:47 +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 Merge branch 'drm/next/platform' of git://linuxtv.org/pinchartl/media into drm-misc-next 2017-03-11 11:46:03 +01:00
exynos_drm_fbdev.h drm/exynos: build fbdev code conditionally 2016-04-30 01:03:45 +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: kill mode_set_nofb callback 2017-06-01 16:21:35 +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: drop drm_[cm]alloc* helpers 2017-05-18 17:22:39 +02:00
exynos_drm_gem.h mm, fs: reduce fault, page_mkwrite, and pfn_mkwrite to take only vmf 2017-02-24 17:46:54 -08: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 drm: convert drivers to use of_graph_get_remote_node 2017-04-06 17:00:27 -04:00
exynos_drm_plane.c drm/exynos: set plane possible_crtcs in exynos_plane_init 2017-06-01 16:21:34 +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: kill pipe field from drivers contexts 2017-06-01 16:21:34 +09:00
exynos_drm_vidi.h
exynos_hdmi.c drm: handle HDMI 2.0 VICs in AVI info-frames 2017-07-14 21:23:54 +03:00
exynos_mixer.c drm/exynos: mixer: document YCbCr magic numbers 2017-06-01 16:21:36 +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/hdmi: refactor infoframe code 2016-12-05 22:08:58 +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