linux/drivers/gpu/drm
Daniel Vetter 5beed15e4b Merge tag 'topic/dp-hdmi-2.1-pcon-2020-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next
Add support for DP-HDMI2.1 PCON

From the series cover letter:

This patch series attempts to add support for a DP-HDMI2.1 Protocol
Convertor. The VESA spec for the HDMI2.1 PCON are proposed in Errata
E5 to DisplayPort_v2.0:
https://vesa.org/join-vesamemberships/member-downloads/?action=stamp&fileid=42299
The details are mentioned in:
VESA DP-to-HDMI PCON Specification Standalone Document
https://groups.vesa.org/wg/DP/document/15651

This series starts with adding support for FRL (Fixed Rate Link)
Training between the PCON and HDMI2.1 sink.
As per HDMI2.1 specification, a new data-channel or lane is added in
FRL mode, by repurposing the TMDS clock Channel. Through FRL, higher
bit-rate can be supported, ie. up to 12 Gbps/lane (48 Gbps over 4
lanes).

With these patches, the HDMI2.1 PCON can be configured to achieve FRL
training based on the maximum FRL rate supported by the panel, source
and the PCON.
The approach is to add the support for FRL training between PCON and
HDMI2.1 sink and gradually add other blocks for supporting higher
resolutions and other HDMI2.1 features, that can be supported by pcon
for the sources that do not natively support HDMI2.1.

This is done before the DP Link training between the source and PCON
is started. In case of FRL training is not achieved, the PCON will
work in the regular TMDS mode, without HDMI2.1 feature support.
Any interruption in FRL training between the PCON and HDMI2.1 sink is
notified through IRQ_HPD. On receiving the IRQ_HPD the concerned DPCD
registers are read and FRL training is re-attempted.

Currently, we have tested the FRL training and are able to enable 4K
display with TGL Platform + Realtek PCON RTD2173 with HDMI2.1 supporting
panel.

Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
From: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/87lfdpndkt.fsf@intel.com
2021-01-07 11:02:25 +01:00
..
amd drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
arc drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
arm drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
armada drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
aspeed drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
ast drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
atmel-hlcdc drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
bochs drm/fb_helper: Support framebuffers in I/O memory 2020-11-09 09:20:00 +01:00
bridge Merge drm/drm-next into drm-misc-next 2020-12-15 11:05:43 +01:00
etnaviv Merge drm/drm-next into drm-misc-next 2020-12-15 11:05:43 +01:00
exynos drm for 5.11-rc1 2020-12-14 11:07:56 -08:00
fsl-dcu drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
gma500 Merge drm/drm-next into drm-misc-next 2020-12-15 11:05:43 +01:00
hisilicon drm/hisilicon: Fix rmmod hibmc_drm failed 2020-12-16 04:04:07 -05:00
i2c sound updates for 5.9 2020-08-06 14:27:31 -07:00
i810 drm/i810: make i810_flush_queue() return void 2020-09-11 10:54:17 +02:00
i915 Merge tag 'topic/dp-hdmi-2.1-pcon-2020-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-01-07 11:02:25 +01:00
imx drm/imx/dcss: allow using nearest neighbor interpolation scaling 2020-11-26 11:29:44 +01:00
ingenic drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
kmb Merge drm/drm-next into drm-misc-next 2020-12-15 11:05:43 +01:00
lib
lima UAPI Changes: 2020-12-18 12:38:28 -08:00
mcde drm-misc-next for 5.11: 2020-12-15 10:21:48 +01:00
mediatek drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
meson drm/meson: dw-hdmi: Enable the iahb clock early enough 2020-11-20 16:41:10 +01:00
mga drm/mga/mga_state: Remove unused variable 'buf_priv' 2020-11-06 23:19:07 +01:00
mgag200 drm/shmem-helper: Removed drm_gem_shmem_create_object_cached() 2020-11-24 09:10:33 +01:00
msm drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
mxsfb Short summary of fixes pull (less than what git shortlog provides): 2020-12-15 17:25:55 +01:00
nouveau drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
omapdrm drm/omap: Delete useless kfree code 2020-12-15 17:19:54 +02:00
panel drm/panel: panel-dsi-cm: drop unneeded includes 2020-12-15 16:17:31 +02:00
panfrost UAPI Changes: 2020-12-18 12:38:28 -08:00
pl111 drm/cma-helper: Implement mmap as GEM CMA object functions 2020-11-30 13:38:27 +01:00
qxl drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
r128 drm/r128/ati_pcigart: Source file headers are not good candidates for kernel-doc 2020-11-06 23:18:52 +01:00
radeon drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
rcar-du drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
rockchip drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
savage drm/savage/savage_bci: Remove set but never used 'aper_rsrc' and 'fb_rsrc' 2020-11-12 20:31:01 +01:00
scheduler Merge drm/drm-next into drm-misc-next 2020-12-15 11:05:43 +01:00
selftests drm/selftests/test-drm_dp_mst_helper: Move 'sideband_msg_req_encode_decode' onto the heap 2020-11-17 20:08:29 +01:00
shmobile drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
sis
sti drm/sti/sti_hdmi: Move 'colorspace_mode_names' array to where its used 2020-11-12 20:32:53 +01:00
stm drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
sun4i ARM: SoC drivers for v5.11 2020-12-16 16:38:41 -08:00
tdfx
tegra drm for 5.11-rc1 2020-12-14 11:07:56 -08:00
tidss drm/tidss: use devm_platform_ioremap_resource_byname 2020-11-10 14:34:16 +02:00
tilcdc drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
tiny drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
ttm drm-misc-next for v5.12: 2021-01-07 10:46:32 +01:00
tve200 drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
udl drm/shmem-helper: Removed drm_gem_shmem_create_object_cached() 2020-11-24 09:10:33 +01:00
v3d drm/shmem-helper: Use cached mappings by default 2020-11-24 09:10:21 +01:00
vboxvideo drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
vc4 drm/vc4: hdmi: Enable 10/12 bpc output 2020-12-16 10:11:58 +01:00
vgem drm/prime: split array import functions v4 2020-11-30 15:00:45 +01:00
via via/via_irq: use __func__ to replace string function name 2020-11-27 16:14:02 +01:00
virtio drm/virtio: consider dma-fence context when signaling 2020-12-02 11:48:14 +01:00
vkms drm/vkms: Unset preferred_depth 2020-12-11 17:16:55 +01:00
vmwgfx drm/ttm: cleanup BO size handling v3 2020-12-14 14:20:46 +01:00
xen drm/prime: split array import functions v4 2020-11-30 15:00:45 +01:00
xlnx drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
zte drm/<drivers>: Constify struct drm_driver 2020-11-06 10:31:26 +01:00
drm_agpsupport.c
drm_atomic_helper.c drm: automatic legacy gamma support 2020-12-15 15:46:03 +02:00
drm_atomic_state_helper.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_atomic_uapi.c drm: fix oops in drm_atomic_set_crtc_for_connector 2020-11-16 09:56:55 +01:00
drm_atomic.c Merge branch 'akpm' (patches from Andrew) 2020-12-15 12:53:37 -08:00
drm_auth.c
drm_blend.c drm: fix kernel-doc warnings for SCALING_FILTER 2020-11-24 16:36:48 +01:00
drm_bridge_connector.c gpu/drm: delete same check in if condition 2020-11-02 14:04:53 +01:00
drm_bridge.c
drm_bufs.c drm: Fix fall-through warnings for Clang 2020-11-22 22:58:54 +01:00
drm_cache.c drm: core: fix common struct sg_table related issues 2020-09-10 08:17:48 +02:00
drm_client_modeset.c
drm_client.c drm/client: Depend on GEM object kmap ref-counting 2020-11-24 09:27:54 +01:00
drm_color_mgmt.c drm: add legacy support for using degamma for gamma 2020-12-15 15:46:03 +02:00
drm_connector.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_context.c
drm_crtc_helper_internal.h
drm_crtc_helper.c
drm_crtc_internal.h drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_crtc.c drm: rework description of primary and cursor planes 2020-12-15 16:46:31 +01:00
drm_damage_helper.c
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-09-01 09:45:44 +02:00
drm_debugfs.c
drm_dma.c
drm_dp_aux_dev.c drm/dp_aux_dev: check aux_dev before use in drm_dp_aux_dev_get_by_minor() 2020-10-15 13:58:54 -04:00
drm_dp_cec.c
drm_dp_dual_mode_helper.c
drm_dp_helper.c Merge tag 'topic/dp-hdmi-2.1-pcon-2020-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-01-07 11:02:25 +01:00
drm_dp_mst_topology_internal.h
drm_dp_mst_topology.c drm/drm_dp_mst_topology: Remove set but never used variable 'len' 2020-11-17 18:34:13 +01:00
drm_drv.c drm/drv: Remove invalid assignments 2020-12-14 01:57:27 -05:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid_load.c
drm_edid.c Merge tag 'topic/dp-hdmi-2.1-pcon-2020-12-23' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2021-01-07 11:02:25 +01:00
drm_encoder_slave.c
drm_encoder.c
drm_fb_cma_helper.c
drm_fb_helper.c drm: add legacy support for using degamma for gamma 2020-12-15 15:46:03 +02:00
drm_file.c drm/cma-helper: Implement mmap as GEM CMA object functions 2020-11-30 13:38:27 +01:00
drm_flip_work.c
drm_format_helper.c
drm_fourcc.c drm/fourcc: Add AXBXGXRX106106106106 format 2020-10-20 20:51:42 +01:00
drm_framebuffer.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_gem_cma_helper.c drm/cma-helper: Implement mmap as GEM CMA object functions 2020-11-30 13:38:27 +01:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm/shmem-helper: Removed drm_gem_shmem_create_object_cached() 2020-11-24 09:10:33 +01:00
drm_gem_ttm_helper.c drm/ttm: Add vmap/vunmap to TTM and TTM GEM helpers 2020-11-09 09:17:36 +01:00
drm_gem_vram_helper.c drm/vram-helper: Fix use of top-down placement 2020-11-20 05:20:48 +10:00
drm_gem.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm/gem: Update internal GEM vmap/vunmap interfaces to use struct dma_buf_map 2020-11-09 09:19:36 +01:00
drm_ioc32.c
drm_ioctl.c drm: Give irq_by_busid drm_legacy_ prefix 2020-10-21 18:05:11 +02:00
drm_irq.c drm/irq: Add the new api to install irq 2020-12-03 03:57:15 -05:00
drm_kms_helper_common.c
drm_lease.c
drm_legacy_misc.c
drm_legacy.h
drm_lock.c
drm_managed.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_memory.c
drm_mipi_dbi.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c drm: require a non_NULL drm_crtc.primary 2020-12-15 16:46:55 +01:00
drm_mode_object.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_modes.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c Linux 5.8 2020-08-11 11:58:31 +10:00
drm_panel_orientation_quirks.c drm: Added orientation quirk for ASUS tablet model T103HAF 2020-08-04 11:45:23 +02:00
drm_panel.c drm/panel: Add helper for reading DT rotation 2020-08-16 17:12:18 +02:00
drm_pci.c drm: Give irq_by_busid drm_legacy_ prefix 2020-10-21 18:05:11 +02:00
drm_plane_helper.c
drm_plane.c drm: require a non_NULL drm_crtc.primary 2020-12-15 16:46:55 +01:00
drm_prime.c drm/prime: split array import functions v4 2020-11-30 15:00:45 +01:00
drm_print.c
drm_probe_helper.c Merge tag 'drm-intel-next-2020-07-15' of git://anongit.freedesktop.org/drm/drm-intel into drm-next 2020-07-31 14:42:37 +10:00
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c drm: fix some kernel-doc markups 2020-11-16 20:48:20 +01:00
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm: Use the state pointer directly in atomic_check 2020-11-03 12:20:09 +01:00
drm_syncobj.c drm/syncobj: Tune down unordered timeline DRM_ERROR 2020-08-02 15:22:31 +02:00
drm_sysfs.c
drm_trace_points.c
drm_trace.h
drm_vblank_work.c This tree adds the sched_set_fifo*() encapsulation APIs to remove 2020-08-06 11:55:43 -07:00
drm_vblank.c drm: Compile out legacy chunks from struct drm_device 2020-11-06 10:31:26 +01:00
drm_vm.c drm: remove pgprot_decrypted() before calls to io_remap_pfn_range() 2020-11-10 17:19:14 +01:00
drm_vma_manager.c
drm_writeback.c
Kconfig drm/gem: Use struct dma_buf_map in GEM vmap ops and convert GEM backends 2020-11-09 09:19:24 +01:00
Makefile drm/kmb: Build files for KeemBay Display driver 2020-11-05 19:20:38 +01:00