mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-23 16:08:49 -04:00
drm/i915: Apply the 16Gb DIMM w/a only for the platforms that need it
Currently the code assumes that every platform except dg2 need the 16Gb DIMM w/a, while in reality it's only needed by skl and icl (and derivatives). Switch to a more specific platform check. Reviewed-by: Luca Coelho <luciano.coelho@intel.com> Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20250919193000.17665-3-ville.syrjala@linux.intel.com
This commit is contained in:
@@ -3174,11 +3174,19 @@ void skl_watermark_ipc_init(struct intel_display *display)
|
||||
skl_watermark_ipc_update(display);
|
||||
}
|
||||
|
||||
static bool need_16gb_dimm_wa(struct intel_display *display)
|
||||
{
|
||||
const struct dram_info *dram_info = intel_dram_info(display->drm);
|
||||
|
||||
return (display->platform.skylake || display->platform.kabylake ||
|
||||
display->platform.coffeelake || display->platform.cometlake ||
|
||||
DISPLAY_VER(display) == 11) && dram_info->has_16gb_dimms;
|
||||
}
|
||||
|
||||
static void
|
||||
adjust_wm_latency(struct intel_display *display,
|
||||
u16 wm[], int num_levels, int read_latency)
|
||||
{
|
||||
const struct dram_info *dram_info = intel_dram_info(display->drm);
|
||||
int i, level;
|
||||
|
||||
/*
|
||||
@@ -3214,7 +3222,7 @@ adjust_wm_latency(struct intel_display *display,
|
||||
* any underrun. If not able to get DIMM info assume 16Gb+ DIMM
|
||||
* to avoid any underrun.
|
||||
*/
|
||||
if (!display->platform.dg2 && dram_info->has_16gb_dimms)
|
||||
if (need_16gb_dimm_wa(display))
|
||||
wm[0] += 1;
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user