mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/next/linux-next.git
synced 2025-01-20 07:09:58 +00:00
drm/i915: W/A for underruns with WM1+ disabled on icl
Disabling WM1+ on ICL causes tons of underruns with linear/X-tiled framebuffers. We can avoid this by flipping on a chicken bit affecting the way the hw fill the FIFO. This may not be the final solution but should hopefully avoid some underruns in the meantime. v2: Apparently PIPE_CHICKEN is icl+ only Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com> Link: https://patchwork.freedesktop.org/patch/msgid/20190204202232.27153-1-ville.syrjala@linux.intel.com Reviewed-by: Matt Roper <matthew.d.roper@intel.com>
This commit is contained in:
parent
108d14bdae
commit
bf002c1007
@ -7618,6 +7618,7 @@ enum {
|
||||
#define _PIPEB_CHICKEN 0x71038
|
||||
#define _PIPEC_CHICKEN 0x72038
|
||||
#define PER_PIXEL_ALPHA_BYPASS_EN (1 << 7)
|
||||
#define PM_FILL_MAINTAIN_DBUF_FULLNESS (1 << 0)
|
||||
#define PIPE_CHICKEN(pipe) _MMIO_PIPE(pipe, _PIPEA_CHICKEN,\
|
||||
_PIPEB_CHICKEN)
|
||||
|
||||
|
@ -3911,6 +3911,12 @@ static void icl_set_pipe_chicken(struct intel_crtc *crtc)
|
||||
*/
|
||||
tmp |= PER_PIXEL_ALPHA_BYPASS_EN;
|
||||
|
||||
/*
|
||||
* W/A for underruns with linear/X-tiled with
|
||||
* WM1+ disabled.
|
||||
*/
|
||||
tmp |= PM_FILL_MAINTAIN_DBUF_FULLNESS;
|
||||
|
||||
I915_WRITE(PIPE_CHICKEN(pipe), tmp);
|
||||
}
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user