linux/drivers/gpu/drm
Ankit Nautiyal 10fec80b48 drm/i915/display: Configure PCON for DSC1.1 to DSC1.2 encoding
When a source supporting DSC1.1 is connected to DSC1.2 HDMI2.1 sink
via DP HDMI2.1 PCON, the PCON can be configured to decode the
DSC1.1 compressed stream and encode to DSC1.2. It then sends the
DSC1.2 compressed stream to the HDMI2.1 sink.

This patch configures the PCON for DSC1.1 to DSC1.2 encoding, based
on the PCON's DSC encoder capablities and HDMI2.1 sink's DSC decoder
capabilities.

v2: Addressed review comments from Uma Shankar:
-fixed the error in packing pps parameter values
-added check for pcon in the pcon related function
-appended display in commit message

v3: Only consider non-zero DSC FRL b/w for determining max FRL b/w
supported by sink.

Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Reviewed-by: Uma Shankar <uma.shankar@intel.com>
[Jani: Fixed checkpatch BRACES, LINE_SPACING, PARENTHESIS_ALIGNMENT.]
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20201218103723.30844-15-ankit.k.nautiyal@intel.com
2020-12-22 17:57:58 +02:00
..
amd drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
arc drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
arm drm/komeda: Convert to DEFINE_SHOW_ATTRIBUTE 2020-10-23 13:52:15 +01:00
armada drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
aspeed drm/aspeed: Fix Kconfig warning & subsequent build errors 2020-10-12 15:14:33 +10:30
ast drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
atmel-hlcdc drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
bochs
bridge drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
etnaviv drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
exynos drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
fsl-dcu drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
gma500 drm/gma500: fix double free of gma_connector 2020-10-05 15:52:37 +02:00
hisilicon drm/hisilicon: Use the same style of variable type in hibmc_drm_drv 2020-10-18 20:36:27 -04:00
i2c
i810 drm/i810: make i810_flush_queue() return void 2020-09-11 10:54:17 +02:00
i915 drm/i915/display: Configure PCON for DSC1.1 to DSC1.2 encoding 2020-12-22 17:57:58 +02:00
imx drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
ingenic drm/ingenic: Fix bad revert 2020-10-12 20:26:14 +02:00
lib
lima drm: lima: fix common struct sg_table related issues 2020-09-10 08:18:35 +02:00
mcde drm/mcde: Fix handling of platform_get_irq() error 2020-10-17 09:32:56 +02:00
mediatek drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
meson drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
mga
mgag200 drm/mgag200: fix spelling mistake "expeced" -> "expected" 2020-08-27 11:17:52 +02:00
msm drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
mxsfb drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
nouveau drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
omapdrm drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
panel drm/panel: mantix: Fix panel reset 2020-10-23 10:05:17 +02:00
panfrost drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
pl111 drm/pl111: Introduce GEM object functions 2020-09-25 09:21:14 +02:00
qxl drm/ttm: merge ttm_dma_tt back into ttm_tt 2020-10-26 14:45:42 +01:00
r128
radeon drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
rcar-du drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
rockchip drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
savage
scheduler drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
selftests drm/mst: Add support for QUERY_STREAM_ENCRYPTION_STATUS MST sideband message 2020-09-01 13:02:33 +05:30
shmobile
sis
sti drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
stm drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
sun4i drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
tdfx
tegra drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
tidss drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
tilcdc drm/tilcdc: Remove tilcdc_crtc_max_width(), use private data 2020-10-10 20:02:14 +03:00
tiny
ttm drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
tve200 drm/tve200: Fix handling of platform_get_irq() error 2020-10-17 09:33:01 +02:00
udl
v3d drm/v3d: Fix double free in v3d_submit_cl_ioctl() 2020-10-26 11:43:31 +01:00
vboxvideo drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
vc4 drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
vgem drm/vgem: Introduce GEM object functions 2020-09-25 09:21:30 +02:00
via drm/via: reduce no need mutex_lock area 2020-10-17 10:10:24 +02:00
virtio drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
vkms drm/vkms: fbdev emulation support 2020-10-20 10:34:40 +02:00
vmwgfx drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
xen drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
xlnx drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
zte drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
drm_agpsupport.c
drm_atomic.c drm/atomic: document and enforce rules around "spurious" EBUSY 2020-10-08 11:30:03 +02:00
drm_atomic_helper.c drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
drm_atomic_state_helper.c
drm_atomic_uapi.c drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_auth.c
drm_blend.c drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_bridge.c
drm_bridge_connector.c
drm_bufs.c
drm_cache.c drm: core: fix common struct sg_table related issues 2020-09-10 08:17:48 +02:00
drm_client.c
drm_client_modeset.c
drm_color_mgmt.c
drm_connector.c drm: document that user-space should avoid parsing EDIDs 2020-10-22 13:49:14 +02:00
drm_context.c
drm_crtc.c drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_crtc_helper.c
drm_crtc_helper_internal.h
drm_crtc_internal.h drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_damage_helper.c
drm_debugfs.c
drm_debugfs_crc.c drm/crc-debugfs: Fix memleak in crc_control_write 2020-09-01 09:45:44 +02:00
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 drm/dp_helper: Add helpers to configure PCONs RGB-YCbCr Conversion 2020-12-22 17:52:50 +02:00
drm_dp_mst_topology.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_dp_mst_topology_internal.h
drm_drv.c drm/dev: Remove drm_dev_init 2020-09-21 10:45:08 +02:00
drm_dsc.c
drm_dumb_buffers.c
drm_edid.c drm/edid: Parse DSC1.2 cap fields from HFVSDB block 2020-12-22 17:47:27 +02:00
drm_edid_load.c
drm_encoder.c
drm_encoder_slave.c
drm_fb_cma_helper.c
drm_fb_helper.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_file.c
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 gpu/drm: cleanup coding style a bit 2020-09-09 11:45:18 +02:00
drm_gem.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_gem_cma_helper.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_gem_framebuffer_helper.c
drm_gem_shmem_helper.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_gem_ttm_helper.c drm/ttm: merge offset and base in ttm_bus_placement 2020-09-08 10:43:30 +02:00
drm_gem_vram_helper.c drm/ttm: replace last move_notify with delete_mem_notify 2020-10-22 10:11:49 +10:00
drm_hashtab.c
drm_hdcp.c
drm_internal.h drm: Give irq_by_busid drm_legacy_ prefix 2020-10-21 18:05:11 +02: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_kms_helper_common.c
drm_lease.c
drm_legacy.h
drm_legacy_misc.c
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
drm_mipi_dsi.c
drm_mm.c
drm_mode_config.c
drm_mode_object.c
drm_modes.c
drm_modeset_helper.c
drm_modeset_lock.c
drm_of.c
drm_panel.c
drm_panel_orientation_quirks.c
drm_pci.c drm: Give irq_by_busid drm_legacy_ prefix 2020-10-21 18:05:11 +02:00
drm_plane.c drm: Introduce plane and CRTC scaling filter properties 2020-10-21 12:19:54 +03:00
drm_plane_helper.c
drm_prime.c drm-misc-next for 5.11: 2020-11-04 11:49:10 +10:00
drm_print.c
drm_probe_helper.c
drm_property.c
drm_rect.c
drm_scatter.c
drm_scdc_helper.c
drm_self_refresh_helper.c
drm_simple_kms_helper.c drm/atomic: Pass the full state to CRTC atomic enable/disable 2020-10-09 09:55:59 +02:00
drm_syncobj.c
drm_sysfs.c
drm_trace.h
drm_trace_points.c
drm_vblank.c drm/atomic-helper: Remove the timestamping constant update from drm_atomic_helper_update_legacy_modeset_state() 2020-09-14 22:37:31 +03:00
drm_vblank_work.c
drm_vm.c
drm_vma_manager.c
drm_writeback.c
Kconfig drm/vkms: Switch to shmem helpers 2020-10-15 23:37:58 +02:00
Makefile drm/imx: compile imx directory by default 2020-09-09 16:39:48 +02:00