OpenCloudOS-Kernel/drivers/gpu/drm/sti
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/sti: remove stih415-416 platform support 2016-09-20 15:03:33 +02:00
Makefile drm/sti: remove deprecated sti_vtac.c file 2017-01-06 15:12:03 +01:00
NOTES
sti_awg_utils.c drm/sti: adjust delay for AWG 2016-06-27 10:18:25 +02:00
sti_awg_utils.h drm: sti: add DVO output connector 2014-12-30 15:08:16 +01:00
sti_compositor.c Merge remote-tracking branch 'airlied/drm-next' into drm-misc-next 2017-05-18 09:24:30 -04:00
sti_compositor.h drm/sti: fix compositor debugfs creation 2016-09-20 11:32:07 +02:00
sti_crtc.c drm: Convert atomic drivers from CRTC .disable() to .atomic_disable() 2017-06-30 14:53:15 +02:00
sti_crtc.h drm/irq: Use unsigned int pipe in public API 2015-10-06 12:57:47 +02:00
sti_cursor.c drm/sti: Fix a typo in a comment line 2017-05-09 14:46:02 +02:00
sti_cursor.h drm/sti: atomic crtc/plane update 2015-08-03 14:26:05 +02:00
sti_drv.c drm/sti: Drop drm_vblank_cleanup 2017-06-20 10:20:20 +02:00
sti_drv.h drm/sti: use atomic_helper for commit 2017-02-10 09:34:39 +01:00
sti_dvo.c drm: sti: sti_dvo: make of_device_ids const. 2017-06-20 13:22:58 +02:00
sti_gdp.c drm/sti: Reduce function calls for sequence output at five places 2017-05-09 14:45:42 +02:00
sti_gdp.h drm/sti: atomic crtc/plane update 2015-08-03 14:26:05 +02:00
sti_hda.c drm/sti: Replace 17 seq_puts() calls by seq_putc() 2017-05-09 14:45:51 +02:00
sti_hdmi.c drm: handle HDMI 2.0 VICs in AVI info-frames 2017-07-14 21:23:54 +03:00
sti_hdmi.h [media] sti: hdmi: add CEC notifier support 2017-04-10 12:52:01 -03:00
sti_hdmi_tx3g4c28phy.c drm: sti: add HDMI driver 2014-07-30 19:24:55 +02:00
sti_hdmi_tx3g4c28phy.h drm: sti: add HDMI driver 2014-07-30 19:24:55 +02:00
sti_hqvdp.c drm: sti: sti_hqvdp: undo preparation of a clock source. 2017-06-21 15:45:19 +02:00
sti_hqvdp_lut.h drm: sti: add HQVDP plane 2014-12-11 14:00:13 +01:00
sti_mixer.c drm/sti: Replace 17 seq_puts() calls by seq_putc() 2017-05-09 14:45:51 +02:00
sti_mixer.h drm/sti: Fix up crtc_state->event handling 2017-02-10 09:34:39 +01:00
sti_plane.c drm/sti: Fix compilation failure for drm_framebuffer.pixel_format 2017-01-27 12:54:15 +10:00
sti_plane.h drm/sti: update fps debugfs entries 2017-01-06 15:12:03 +01:00
sti_tvout.c drm/sti: Fix typos in a comment line 2017-05-09 14:46:10 +02:00
sti_vid.c drm/sti: Replace 17 seq_puts() calls by seq_putc() 2017-05-09 14:45:51 +02:00
sti_vid.h drm: sti: use late_register and early_unregister callbacks 2016-06-21 21:32:52 +02:00
sti_vtg.c drm/sti: fix build warnings in sti_drv.c and sti_vtg.c files 2017-02-23 12:54:54 +10:00
sti_vtg.h drm/sti: update VTG timing programming 2016-02-26 10:03:57 +01:00