https://github.com/torvalds/linux
Revision cffb4c3ea37248c4fc2f4ce747e5c24af88aec76 authored by Maarten Lankhorst on 25 September 2019, 08:21:09 UTC, committed by Rodrigo Vivi on 03 October 2019, 05:20:22 UTC
There was a integer wraparound when mode_clock became too high, and we didn't correct for the FEC overhead factor when dividing, with the calculations breaking at HBR3. As a result our calculated bpp was way too high, and the link width limitation never came into effect. Print out the resulting bpp calcululations as a sanity check, just in case we ever have to debug it later on again. We also used the wrong factor for FEC. While bspec mentions 2.4%, all the calculations use 1/0.972261, and the same ratio should be applied to data M/N as well, so use it there when FEC is enabled. This fixes the FIFO underrun we are seeing with FEC enabled. Changes since v2: - Handle fec_enable in intel_link_compute_m_n, so only data M/N is adjusted. (Ville) - Fix initial hardware readout for FEC. (Ville) Changes since v3: - Remove bogus fec_to_mode_clock. (Ville) Changes since v4: - Use the correct register for icl. (Ville) - Split hw readout to a separate patch. Signed-off-by: Maarten Lankhorst <maarten.lankhorst@linux.intel.com> Fixes: d9218c8f6cf4 ("drm/i915/dp: Add helpers for Compressed BPP and Slice Count for DSC") Cc: <stable@vger.kernel.org> # v5.0+ Cc: Manasi Navare <manasi.d.navare@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190925082110.17439-1-maarten.lankhorst@linux.intel.com Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com> (cherry picked from commit ed06efb801bd291e935238d3fba46fa03d098f0e) Signed-off-by: Rodrigo Vivi <rodrigo.vivi@intel.com>
1 parent 54ecb8f
Tip revision: cffb4c3ea37248c4fc2f4ce747e5c24af88aec76 authored by Maarten Lankhorst on 25 September 2019, 08:21:09 UTC
drm/i915/dp: Fix dsc bpp calculations, v5.
drm/i915/dp: Fix dsc bpp calculations, v5.
Tip revision: cffb4c3
File | Mode | Size |
---|---|---|
auxdisplay | ||
binderfs | ||
bpf | ||
configfs | ||
connector | ||
hidraw | ||
hw_breakpoint | ||
kdb | ||
kfifo | ||
kobject | ||
kprobes | ||
livepatch | ||
mei | ||
mic | ||
pidfd | ||
pktgen | ||
qmi | ||
rpmsg | ||
seccomp | ||
timers | ||
trace_events | ||
trace_printk | ||
uhid | ||
v4l | ||
vfio-mdev | ||
vfs | ||
watchdog | ||
Kconfig | -rw-r--r-- | 5.3 KB |
Makefile | -rw-r--r-- | 880 bytes |
![swh spinner](/static/img/swh-spinner.gif)
Computing file changes ...