OpenCloudOS-Kernel/drivers/gpu/drm/rockchip
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/rockchip: Refactor the component match logic. 2017-03-24 14:48:58 -04:00
Makefile drm/rockchip: Refactor the component match logic. 2017-03-24 14:48:58 -04:00
analogix_dp-rockchip.c Linux 4.12-rc5 2017-06-16 13:58:27 +10:00
cdn-dp-core.c drm/rockchip: Correct vop out_mode configure 2017-05-31 11:13:34 +08: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: cdn-dp: add more log for video config 2017-03-13 15:59:35 -04:00
cdn-dp-reg.h drm/rockchip: cdn-dp: Correct PHY register address 2017-03-13 15:59:26 -04:00
dw-mipi-dsi.c drm/rockchip/dsi: correct the grf_switch_reg name 2017-03-24 14:48:58 -04:00
dw_hdmi-rockchip.c drm/rockchip: dw_hdmi: introduce the pclk for grf 2017-06-23 08:52:03 +08:00
inno_hdmi.c drm: handle HDMI 2.0 VICs in AVI info-frames 2017-07-14 21:23:54 +03:00
inno_hdmi.h drm/rockchip: hdmi: add Innosilicon HDMI support 2016-02-18 13:56:43 +08:00
rockchip_drm_drv.c drm/rockchip: Drop drm_vblank_cleanup 2017-06-26 11:03:50 +02:00
rockchip_drm_drv.h drm/rockchip: Set line flag config register in vop_crtc_enable 2017-04-27 09:07:38 -04:00
rockchip_drm_fb.c drm/rockchip: Remove unnecessary NULL check 2017-06-21 15:38:32 +02: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/fb-helper: Automatically clean up fb_info 2017-02-07 21:36:28 +01: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: Do not use DMA mapping API if attached to IOMMU domain 2017-02-15 08:52:13 +08:00
rockchip_drm_gem.h drm/rockchip: Do not use DMA mapping API if attached to IOMMU domain 2017-02-15 08:52:13 +08: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/rockchip: Use for_each_oldnew_plane_in_state in vop_crtc_atomic_flush 2017-07-13 09:53:43 +02:00
rockchip_drm_vop.h drm/rockchip: Correct vop out_mode configure 2017-05-31 11:13:34 +08:00
rockchip_vop_reg.c drm/rockchip: Correct vop out_mode configure 2017-05-31 11:13:34 +08:00
rockchip_vop_reg.h drm/rockchip: vop: add rk3399 vop support 2016-08-23 11:44:29 -04:00