linux/drivers
Alexander Kaplan 71b57dd92f drm/i915/dp: Ignore the sink's DSC max FRL rate without a PCON DSC encoder
intel_dp_hdmi_sink_max_frl() limits the sink's max FRL rate by its
DSC max FRL rate whenever the sink supports DSC 1.2.
However, the DSC max FRL rate (HF-VSDB DSC_Max_FRL_Rate) only applies
to compressed video transport, which requires a DSC 1.2 encoder in
the PCON (configured via intel_dp_pcon_dsc_configure()).
Without such an encoder the HDMI link always carries uncompressed
video, for which the regular Max_FRL_Rate is the correct limit.

Applying the DSC limit unconditionally trains the FRL link at a lower
rate than both the PCON and the sink support.
E.g. an LG OLED G4 (Max_FRL_Rate 48 Gbps, DSC_Max_FRL_Rate 24 Gbps)
behind a Synaptics VMM7100 PCON (PCON max FRL bw 48 Gbps, no DSC
encoder):

  Sink max rate from EDID = 24 Gbps
  FRL trained with : 24 Gbps

while Windows/macOS train the same hardware at 40/48 Gbps.
The too low FRL rate needlessly constrains the formats available to
the sink.

Only apply the sink's DSC max FRL rate if the PCON has a DSC 1.2
encoder, matching the gate in intel_dp_pcon_dsc_configure().
PCONs with a DSC encoder keep the current conservative behavior,
since the link is trained once and compressed transport may be used
for any subsequent mode.
With this the setup above trains at 48 Gbps.

Tested on PTL (xe) with the above PCON/sink combo.

Fixes: 10fec80b48 ("drm/i915/display: Configure PCON for DSC1.1 to DSC1.2 encoding")
Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Alexander Kaplan <alexander.kaplan@sms-medipool.de>
Signed-off-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Link: https://patch.msgid.link/20260718105207.5565-3-alexander.kaplan@sms-medipool.de
2026-07-24 09:13:19 +05:30
..
accel drm fixes for 7.2-rc1 2026-06-26 17:03:48 -07:00
accessibility
acpi ACPI support fixes and cleanups for 7.2-rc1 2026-06-26 13:00:10 -07:00
amba
android Linux 7.1-rc6 2026-06-01 18:10:34 +02:00
ata ata changes for 7.2-rc1 2026-06-18 08:12:50 -07:00
atm atm: remove unused ATM PHY operations 2026-06-16 08:53:53 -07:00
auxdisplay
base regmap: Fix for v7.2 2026-06-26 10:47:26 -07:00
bcma
block This adds support for manual client session reset in CephFS, allowing 2026-06-26 16:15:53 -07:00
bluetooth Bluetooth: btintel_pcie: Separate coredump work from RX work 2026-06-11 14:24:42 -04:00
bus Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
cache
cdrom
cdx Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
char ipmi: lots of little tweaks 2026-06-25 09:00:53 -07:00
clk This is all clk driver updates. Mostly new SoC support for 2026-06-25 12:48:57 -07:00
clocksource A series of updates for the VDSO: 2026-06-15 13:57:13 +05:30
comedi Linux 7.1-rc6 2026-06-01 18:10:34 +02:00
connector
counter Counter updates for 7.2 2026-06-08 21:26:09 +02:00
cpufreq tracing: Updates for v7.2: 2026-06-18 20:53:00 -07:00
cpuidle cpuidle: Allow exit latency to exceed target residency 2026-06-23 14:00:29 +02:00
crypto pci-v7.2-changes 2026-06-24 12:48:43 -07:00
cxl Merge branch 'for-7.2/cxl-type2-attach-region' into cxl-for-next 2026-06-12 13:47:53 -07:00
dax mm.git review status for mm-hotfixes-stable..mm-stable 2026-06-19 10:14:34 -07:00
dca
devfreq
dibs
dio
dma pci-v7.2-changes 2026-06-24 12:48:43 -07:00
dma-buf drm-next for 7.2-rc1 2026-06-17 10:21:00 +01:00
dpll dpll: allow fwnode pins to attempt state change without capability bit 2026-06-13 13:24:34 -07:00
edac
eisa
extcon
firewire firewire: core: Open-code topology list walk 2026-06-13 11:10:23 +09:00
firmware Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
fpga fpga: microchip-spi: fix zero header_size OOB read in mpf_ops_parse_header() 2026-06-01 12:29:40 +08:00
fsi
fwctl
gnss
gpib
gpio gpio: davinci: fix IRQ domain leak on devm_kzalloc failure 2026-06-23 10:44:29 +02:00
gpu drm/i915/dp: Ignore the sink's DSC max FRL rate without a PCON DSC encoder 2026-07-24 09:13:19 +05:30
greybus
hid tracing: Updates for v7.2: 2026-06-18 20:53:00 -07:00
hsi
hte
hv hyperv-next for v7.2-rc1 2026-06-22 08:06:13 -07:00
hwmon platform-drivers-x86 for v7.2-1 2026-06-23 08:31:33 -07:00
hwspinlock hwspinlock: qcom: avoid uninitialized struct members 2026-06-08 21:51:12 -05:00
hwtracing Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
i2c i2c: i801: fix hardware state machine corruption in error path 2026-06-23 17:53:08 +02:00
i3c i3c: mipi-i3c-hci: Use named initializers for platform_device_id's .driver_data 2026-06-16 23:19:45 +02:00
idle x86/msr updates for v7.2: 2026-06-15 15:08:14 +05:30
iio Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
infiniband RDMA v7.2 merge window 2026-06-18 08:16:21 -07:00
input Input: gscps2 - advance receive buffer write index 2026-06-26 22:42:56 -07:00
interconnect This is all clk driver updates. Mostly new SoC support for 2026-06-25 12:48:57 -07:00
iommu hyperv-next for v7.2-rc1 2026-06-22 08:06:13 -07:00
ipack
irqchip Miscellaneous irqchip driver fixes: 2026-06-23 16:02:03 -07:00
leds LEDs for v7.2 2026-06-18 14:45:08 -07:00
macintosh sched/cputime: Remove superfluous and error prone kcpustat_field() parameter 2026-06-02 21:27:25 +02:00
mailbox mailbox: imx: Don't force-thread the primary handler 2026-06-20 21:18:39 -05:00
mcb
md block-7.2-20260625 2026-06-25 09:56:47 -07:00
media [GIT PULL for v7.2] media updates 2026-06-18 17:21:54 -07:00
memory soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
memstick
message
mfd MFD for v7.2 2026-06-18 14:26:29 -07:00
misc pci-v7.2-changes 2026-06-24 12:48:43 -07:00
mmc for-7.2/block-20260615 2026-06-16 13:02:47 +05:30
most
mtd NAND changes: 2026-06-21 12:25:17 -07:00
mux
net Including fixes from netfilter and IPsec. 2026-06-25 12:25:36 -07:00
nfc nfc: Use named initializers for struct i2c_device_id 2026-06-11 20:24:47 +02:00
ntb NTB updates include an EPF bug fix to prevent an invalid unmap during 2026-06-28 07:46:12 -07:00
nubus
nvdimm Updates for the 7.2 release 2026-06-18 16:27:58 -07:00
nvme block-7.2-20260625 2026-06-25 09:56:47 -07:00
nvmem nvmem: core: fix use-after-free bugs in error paths 2026-06-05 17:18:58 +02:00
of of: Fix RST inline emphasis warnings in of_map_id() kernel-doc 2026-06-24 07:56:55 -05:00
opp
parisc
parport
pci pci-v7.2-changes 2026-06-24 12:48:43 -07:00
pcmcia
peci
perf perf/arm-cmn: Fix DVM node events 2026-06-03 20:50:24 +01:00
phy phy-for-7.2 2026-06-23 15:41:48 -07:00
pinctrl Pin control changes for the v7.2 kernel cycle: 2026-06-18 15:03:21 -07:00
platform RTC for 7.2 2026-06-27 11:00:18 -07:00
pmdomain pmdomain: core: fix unused variable warning with !PM_GENERIC_DOMAINS_OF 2026-06-15 21:12:35 +02:00
pnp
power power sequencing fixes for v7.2-rc1 2026-06-25 09:20:26 -07:00
powercap powercap: intel_rapl: Use sysfs_emit() in cpumask_show() 2026-06-01 19:55:32 +02:00
pps pps: generators: Use ktime_get_real_ts64() instead of ktime_get_snapshot() 2026-06-02 11:39:58 +02:00
ps3
ptp bitmap updates for v7.2 2026-06-17 11:38:38 +01:00
pwm pwm: Changes for v7.2-rc1 (2nd batch) 2026-06-27 13:48:12 -07:00
rapidio mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
ras - Fix a malformed Kconfig default for the AMD Address Translation Library 2026-06-16 05:31:01 +05:30
regulator regulator: Fixes for v7.2 2026-06-26 11:07:26 -07:00
remoteproc remoteproc: qcom: pas: Drop start/stop completion from struct qcom_pas 2026-06-08 21:53:51 -05:00
resctrl arm64 updates for 7.2 2026-06-16 05:18:04 +05:30
reset
rpmsg rpmsg update for v7.2 2026-06-20 23:31:15 -07:00
rtc RTC for 7.2 2026-06-27 11:00:18 -07:00
s390 more s390 updates for 7.2 merge window 2026-06-22 07:43:48 -07:00
sbus
scsi mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
sh
siox
slimbus slimbus: qcom-ngd-ctrl: Avoid ABBA on tx_lock/ctrl->lock 2026-06-05 17:19:51 +02:00
soc soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
soundwire sound fixes for 7.2-rc1 2026-06-27 12:15:23 -07:00
spi spi: Fixes for v7.2 2026-06-26 11:18:49 -07:00
spmi
ssb
staging Staging driver updates for 7.2-rc1 2026-06-22 12:43:16 -07:00
target Merge branch 7.1/scsi-fixes into 7.2/scsi-staging 2026-06-15 21:01:30 -04:00
tc
tee soc: drivers for 7.2 2026-06-17 11:21:40 -07:00
thermal Thermal control fixes for 7.2-rc1 2026-06-26 13:24:59 -07:00
thunderbolt USB/Thunderbolt driver changes for 7.2-rc1 2026-06-22 12:09:47 -07:00
tty TTY / Serial driver update for 7.2-rc1 2026-06-22 11:51:49 -07:00
ufs SCSI misc on 20260621 2026-06-21 10:29:45 -07:00
uio
usb USB/Thunderbolt driver changes for 7.2-rc1 2026-06-22 12:09:47 -07:00
vdpa vdpa/octeon_ep: fix IRQ-to-ring mapping in interrupt handler 2026-06-10 02:17:00 -04:00
vfio vfio/qat: fix f_pos race in qat_vf_resume_write() 2026-06-10 14:33:05 -06:00
vhost mm.git review status for mm-hotfixes-stable..mm-nonmm-stable 2026-06-21 13:20:19 -07:00
video fbdev: Fix fb_new_modelist to prevent null-ptr-deref in fb_videomode_to_var 2026-06-26 15:12:45 +02:00
virt Char/Misc/IIO/FPGA/GPIB/etc driver updates for 7.2-rc1 2026-06-22 12:20:21 -07:00
virtio virtio,vhost,vdpa: features, fixes 2026-06-17 11:49:00 -07:00
w1 w1: ds2482: Use named initializers for arrays of i2c_device_data 2026-06-08 21:37:56 +02:00
watchdog watchdog updates and fixes for v7.2 2026-06-16 08:04:24 +05:30
xen Devicetree updates for v7.2: 2026-06-17 11:54:57 -07:00
zorro
Kconfig
Makefile