[PATCH 3/3] drm/i915/dmc_wl: Track pipe interrupt registers

Hogander, Jouni jouni.hogander at intel.com
Thu Jan 9 07:07:36 UTC 2025


On Fri, 2025-01-03 at 14:41 -0300, Gustavo Sousa wrote:
> Pipe interrupt registers live in their respective pipes' power wells,
> which are below PG0. That means that they must also be tracked as
> registers that are powered-off during dynamic DC states.
> 
> There are probably more ranges that we need to track down and add to
> the
> powered_off_ranges. However, let's make this change only about pipe
> interrupt registers to fix some vblank timeouts observed due to the
> DMC
> wakelock not being taken for those registers.
> 
> In the future, we might want to replace powered_off_ranges with a new
> table to represent registers in PG0, which should be probably easier
> to
> maintain. Any register not belonging to that table should be
> considered
> powered off during dynamic DC states and, as such, requiring the DMC
> wakelock for access.
> 
> Bspec: 72519, 71583
> Signed-off-by: Gustavo Sousa <gustavo.sousa at intel.com>

Reviewed-by: Jouni Högander <jouni.hogander at intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_dmc_wl.c | 1 +
>  1 file changed, 1 insertion(+)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_dmc_wl.c
> b/drivers/gpu/drm/i915/display/intel_dmc_wl.c
> index 02de3ae15074..985aa968692e 100644
> --- a/drivers/gpu/drm/i915/display/intel_dmc_wl.c
> +++ b/drivers/gpu/drm/i915/display/intel_dmc_wl.c
> @@ -56,6 +56,7 @@ struct intel_dmc_wl_range {
>  };
>  
>  static const struct intel_dmc_wl_range powered_off_ranges[] = {
> +	{ .start = 0x44400, .end = 0x4447f }, /* PIPE interrupt
> registers */
>  	{ .start = 0x60000, .end = 0x7ffff },
>  	{},
>  };



More information about the Intel-gfx mailing list