[Intel-gfx] [PATCH 3/9] drm/i915: Track power references taken for enabled CRTCs
Chris Wilson
chris at chris-wilson.co.uk
Mon Nov 30 21:57:07 UTC 2020
Quoting Imre Deak (2020-11-30 21:21:54)
> Add wakeref tracking for display power domain references taken for
> enabled CRTCs.
>
> Cc: Chris Wilson <chris at chris-wilson.co.uk>
> Signed-off-by: Imre Deak <imre.deak at intel.com>
> ---
> drivers/gpu/drm/i915/display/intel_display.c | 38 ++++++++-----------
> .../drm/i915/display/intel_display_types.h | 2 +-
> 2 files changed, 17 insertions(+), 23 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index d80d15d96d4c..a6043197171b 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -7575,25 +7575,25 @@ modeset_get_crtc_power_domains(struct intel_crtc_state *crtc_state)
> enum intel_display_power_domain domain;
> u64 domains, new_domains, old_domains;
>
> - old_domains = crtc->enabled_power_domains;
> - crtc->enabled_power_domains = new_domains =
> - get_crtc_power_domains(crtc_state);
> + domains = get_crtc_power_domains(crtc_state);
>
> - domains = new_domains & ~old_domains;
> + new_domains = domains & ~crtc->enabled_power_domains.mask;
> + old_domains = crtc->enabled_power_domains.mask & ~domains;
new / old denote the changes.
>
> - for_each_power_domain(domain, domains)
> - intel_display_power_get(dev_priv, domain);
> + for_each_power_domain(domain, new_domains)
> + intel_display_power_get_in_set(dev_priv,
> + &crtc->enabled_power_domains,
> + domain);
>
> - return old_domains & ~new_domains;
> + return old_domains;
Reviewed-by: Chris Wilson <chris at chris-wilson.co.uk>
-Chris
More information about the Intel-gfx
mailing list