On Wed, Oct 15, 2025 at 03:50:42PM +0200, Petr Vorel wrote:
> assert_dmc_loaded() removed in 43175c92d4038 used drm_WARN_ONCE(),
> but new assert_dmc_loaded() use drm_WARN().
>
> Log is already noise quite a lot due loop over dmc->dmc_info[dmc_id]
> array (76 logs on my machine), therefore use drm_WARN_ONCE().
>
> Fixes: 43175c92d4038 ("drm/i915/dmc: Assert DMC is loaded harder")
> Signed-off-by: Petr Vorel <[email protected]>
> ---
> Ville, am I wrong and it's really needed to see all the oops for the
> threads?
Kinda irrelevant because this should never happen. So the real
question we need to ask is why are you seeing this at all?
Please file a bug at
https://gitlab.freedesktop.org/drm/i915/kernel/-/issues
and attch the full dmesg with drm.debug=0xe passed to the kernel
cmdline.
>
> Kind regards,
> Petr
>
> drivers/gpu/drm/i915/display/intel_dmc.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc.c
> b/drivers/gpu/drm/i915/display/intel_dmc.c
> index 517bebb0b4aac..53db7279c7c99 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc.c
> @@ -626,7 +626,7 @@ static void assert_dmc_loaded(struct intel_display
> *display,
> found = intel_de_read(display,
> DMC_PROGRAM(dmc->dmc_info[dmc_id].start_mmioaddr, 0));
> expected = dmc->dmc_info[dmc_id].payload[0];
>
> - drm_WARN(display->drm, found != expected,
> + drm_WARN_ONCE(display->drm, found != expected,
> "DMC %d program storage start incorrect (expected 0x%x,
> current 0x%x)\n",
> dmc_id, expected, found);
>
> @@ -642,7 +642,7 @@ static void assert_dmc_loaded(struct intel_display
> *display,
> expected &= ~DMC_EVT_CTL_ENABLE;
> }
>
> - drm_WARN(display->drm, found != expected,
> + drm_WARN_ONCE(display->drm, found != expected,
> "DMC %d mmio[%d]/0x%x incorrect (expected 0x%x,
> current 0x%x)\n",
> dmc_id, i, i915_mmio_reg_offset(reg), expected, found);
> }
> --
> 2.51.0
--
Ville Syrjälä
Intel