Message ID | 20241030210750.6550-1-ville.syrjala@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | drm/i915/color: Stop using non-posted DSB writes for legacy LUT | expand |
On Thu, Oct 31, 2024 at 09:47:39AM -0000, Patchwork wrote: > == Series Details == > > Series: drm/i915/color: Stop using non-posted DSB writes for legacy LUT > URL : https://patchwork.freedesktop.org/series/140739/ > State : failure > > == Summary == > > CI Bug Log - changes from CI_DRM_15615_full -> Patchwork_140739v1_full > ==================================================== > > Summary > ------- > > **FAILURE** > > Serious unknown changes coming with Patchwork_140739v1_full absolutely need to be > verified manually. > > If you think the reported changes have nothing to do with the changes > introduced in Patchwork_140739v1_full, please notify your bug team (I915-ci-infra@lists.freedesktop.org) to allow them > to document this new failure mode, which will reduce false positives in CI. > > > > Participating hosts (10 -> 10) > ------------------------------ > > No changes in participating hosts > > Possible new issues > ------------------- > > Here are the unknown changes that may have been introduced in Patchwork_140739v1_full: > > ### CI changes ### > > #### Possible regressions #### > <snip> > #### Warnings #### > > * igt@kms_big_fb@y-tiled-8bpp-rotate-90: > - shard-tglu: [SKIP][47] -> [ABORT][48] > [47]: https://intel-gfx-ci.01.org/tree/drm-tip/CI_DRM_15615/shard-tglu-6/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html > [48]: https://intel-gfx-ci.01.org/tree/drm-tip/Patchwork_140739v1/shard-tglu-5/igt@kms_big_fb@y-tiled-8bpp-rotate-90.html Looks like an actual mismatch in the LUT. Troubling...
diff --git a/drivers/gpu/drm/i915/display/intel_color.c b/drivers/gpu/drm/i915/display/intel_color.c index 174753625bca..aa50ecaf368d 100644 --- a/drivers/gpu/drm/i915/display/intel_color.c +++ b/drivers/gpu/drm/i915/display/intel_color.c @@ -1357,19 +1357,19 @@ static void ilk_load_lut_8(const struct intel_crtc_state *crtc_state, lut = blob->data; /* - * DSB fails to correctly load the legacy LUT - * unless we either write each entry twice, - * or use non-posted writes + * DSB fails to correctly load the legacy LUT unless + * we either write each entry twice, or use non-posted + * writes. However using non-posted writes can cause + * CPU MMIO accesses to fail on TGL, so we choose to + * use the double write approach. */ - if (crtc_state->dsb_color_vblank) - intel_dsb_nonpost_start(crtc_state->dsb_color_vblank); - - for (i = 0; i < 256; i++) + for (i = 0; i < 256; i++) { ilk_lut_write(crtc_state, LGC_PALETTE(pipe, i), i9xx_lut_8(&lut[i])); - - if (crtc_state->dsb_color_vblank) - intel_dsb_nonpost_end(crtc_state->dsb_color_vblank); + if (crtc_state->dsb_color_vblank) + ilk_lut_write(crtc_state, LGC_PALETTE(pipe, i), + i9xx_lut_8(&lut[i])); + } } static void ilk_load_lut_10(const struct intel_crtc_state *crtc_state,