mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-21 20:47:12 +07:00
Revert "drm/i915: Remove unneeded hack now for CDCLK"
This reverts commit82ea174dc5
. Unfortunately according to our recent findings there is still some unidentified factor, requiring CDCLK to be set higher - otherwise we still get underruns on some multipipe configurations, despite CDCLK being set according to BSpec formula. So getting again back into debug mode to indentify the cause, meanwhile setting CDCLK=Pixel rate back in order to remove regression in 10% of the cases due to FIFO underruns. Signed-off-by: Stanislav Lisovskiy <stanislav.lisovskiy@intel.com> Fixes:cd19154608
("drm/i915: Adjust CDCLK accordingly to our DBuf bw needs") Signed-off-by: Jani Nikula <jani.nikula@intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20200608065552.21728-1-stanislav.lisovskiy@intel.com
This commit is contained in:
parent
64cf40a125
commit
46d53e271c
@ -2071,6 +2071,18 @@ int intel_crtc_compute_min_cdclk(const struct intel_crtc_state *crtc_state)
|
||||
/* Account for additional needs from the planes */
|
||||
min_cdclk = max(intel_planes_min_cdclk(crtc_state), min_cdclk);
|
||||
|
||||
/*
|
||||
* HACK. Currently for TGL platforms we calculate
|
||||
* min_cdclk initially based on pixel_rate divided
|
||||
* by 2, accounting for also plane requirements,
|
||||
* however in some cases the lowest possible CDCLK
|
||||
* doesn't work and causing the underruns.
|
||||
* Explicitly stating here that this seems to be currently
|
||||
* rather a Hack, than final solution.
|
||||
*/
|
||||
if (IS_TIGERLAKE(dev_priv))
|
||||
min_cdclk = max(min_cdclk, (int)crtc_state->pixel_rate);
|
||||
|
||||
if (min_cdclk > dev_priv->max_cdclk_freq) {
|
||||
drm_dbg_kms(&dev_priv->drm,
|
||||
"required cdclk (%d kHz) exceeds max (%d kHz)\n",
|
||||
|
Loading…
Reference in New Issue
Block a user