From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Gustavo Sousa <gustavo.sousa@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org,
Jani Nikula <jani.nikula@intel.com>
Subject: Re: [PATCH v3 3/3] drm/i915/display: Convert POWER_DOMAIN_*() to functions
Date: Mon, 17 Feb 2025 22:46:27 +0200 [thread overview]
Message-ID: <Z7OgI_Kqz6TRdcjS@intel.com> (raw)
In-Reply-To: <20250217203722.87152-4-gustavo.sousa@intel.com>
On Mon, Feb 17, 2025 at 05:34:28PM -0300, Gustavo Sousa wrote:
> We already have other functions to get power domain for other things
> (i.e. intel_display_power_*_domain()). Convert POWER_DOMAIN_*() macros
> to the same standard.
>
> Cc: Ville Syrjälä <ville.syrjala@linux.intel.com>
> Signed-off-by: Gustavo Sousa <gustavo.sousa@intel.com>
> ---
>
> Note: Maybe this patch could be squashed with the previous one.
>
> drivers/gpu/drm/i915/display/i9xx_plane.c | 2 +-
> drivers/gpu/drm/i915/display/intel_cmtg.c | 2 +-
> drivers/gpu/drm/i915/display/intel_cursor.c | 4 +-
> drivers/gpu/drm/i915/display/intel_ddi.c | 10 ++---
> drivers/gpu/drm/i915/display/intel_display.c | 39 ++++++++++++-------
> .../gpu/drm/i915/display/intel_display_irq.c | 18 +++++----
> .../drm/i915/display/intel_display_power.c | 21 ++++++++++
> .../drm/i915/display/intel_display_power.h | 16 ++++----
> drivers/gpu/drm/i915/display/intel_pipe_crc.c | 2 +-
> drivers/gpu/drm/i915/display/intel_sprite.c | 6 +--
> drivers/gpu/drm/i915/display/intel_vdsc.c | 3 +-
> .../drm/i915/display/skl_universal_plane.c | 2 +-
> drivers/gpu/drm/i915/display/skl_watermark.c | 2 +-
> 13 files changed, 82 insertions(+), 45 deletions(-)
>
> diff --git a/drivers/gpu/drm/i915/display/i9xx_plane.c b/drivers/gpu/drm/i915/display/i9xx_plane.c
> index aef8d8b7ea85..504599a20b8f 100644
> --- a/drivers/gpu/drm/i915/display/i9xx_plane.c
> +++ b/drivers/gpu/drm/i915/display/i9xx_plane.c
> @@ -697,7 +697,7 @@ static bool i9xx_plane_get_hw_state(struct intel_plane *plane,
> * but that's only the case for gen2-4 which don't have any
> * display power wells.
> */
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
The naming feels a bit awkward. If we want to stick to the full
intel_display_power_ namespace then maybe these should be
intel_display_power_domain_foo() instead?
An alternative would be just something like intel_pipe_power_domain(),
but obviously that doesn't have the full namespace.
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> diff --git a/drivers/gpu/drm/i915/display/intel_cmtg.c b/drivers/gpu/drm/i915/display/intel_cmtg.c
> index 07d7f4e8f60f..6b8b20e101a4 100644
> --- a/drivers/gpu/drm/i915/display/intel_cmtg.c
> +++ b/drivers/gpu/drm/i915/display/intel_cmtg.c
> @@ -92,7 +92,7 @@ static bool intel_cmtg_transcoder_is_secondary(struct intel_display *display,
> if (!HAS_TRANSCODER(display, trans))
> return false;
>
> - power_domain = POWER_DOMAIN_TRANSCODER(trans);
> + power_domain = intel_display_power_transcoder_domain(display, trans);
>
> with_intel_display_power_if_enabled(display, power_domain, wakeref)
> val = intel_de_read(display, TRANS_DDI_FUNC_CTL2(display, trans));
> diff --git a/drivers/gpu/drm/i915/display/intel_cursor.c b/drivers/gpu/drm/i915/display/intel_cursor.c
> index f31efac89e95..85d406335b6f 100644
> --- a/drivers/gpu/drm/i915/display/intel_cursor.c
> +++ b/drivers/gpu/drm/i915/display/intel_cursor.c
> @@ -336,7 +336,7 @@ static bool i845_cursor_get_hw_state(struct intel_plane *plane,
> intel_wakeref_t wakeref;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(PIPE_A);
> + power_domain = intel_display_power_pipe_domain(display, PIPE_A);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> @@ -746,7 +746,7 @@ static bool i9xx_cursor_get_hw_state(struct intel_plane *plane,
> * but that's only the case for gen2-3 which don't have any
> * display power wells.
> */
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> diff --git a/drivers/gpu/drm/i915/display/intel_ddi.c b/drivers/gpu/drm/i915/display/intel_ddi.c
> index 5082f38b0a02..6fbf1583ca99 100644
> --- a/drivers/gpu/drm/i915/display/intel_ddi.c
> +++ b/drivers/gpu/drm/i915/display/intel_ddi.c
> @@ -852,11 +852,12 @@ static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
>
> for_each_pipe(dev_priv, p) {
> enum transcoder cpu_transcoder = (enum transcoder)p;
> + enum intel_display_power_domain power_domain;
> u32 port_mask, ddi_select, ddi_mode;
> intel_wakeref_t trans_wakeref;
>
> - trans_wakeref = intel_display_power_get_if_enabled(display,
> - POWER_DOMAIN_TRANSCODER(cpu_transcoder));
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
> + trans_wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!trans_wakeref)
> continue;
>
> @@ -870,8 +871,7 @@ static void intel_ddi_get_encoder_pipes(struct intel_encoder *encoder,
>
> tmp = intel_de_read(dev_priv,
> TRANS_DDI_FUNC_CTL(dev_priv, cpu_transcoder));
> - intel_display_power_put(display, POWER_DOMAIN_TRANSCODER(cpu_transcoder),
> - trans_wakeref);
> + intel_display_power_put(display, power_domain, trans_wakeref);
>
> if ((tmp & port_mask) != ddi_select)
> continue;
> @@ -3950,7 +3950,7 @@ static void bdw_get_trans_port_sync_config(struct intel_crtc_state *crtc_state)
> enum intel_display_power_domain power_domain;
> intel_wakeref_t trans_wakeref;
>
> - power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
> trans_wakeref = intel_display_power_get_if_enabled(display,
> power_domain);
>
> diff --git a/drivers/gpu/drm/i915/display/intel_display.c b/drivers/gpu/drm/i915/display/intel_display.c
> index 065fdf6dbb88..1b45342bc986 100644
> --- a/drivers/gpu/drm/i915/display/intel_display.c
> +++ b/drivers/gpu/drm/i915/display/intel_display.c
> @@ -429,7 +429,7 @@ void assert_transcoder(struct intel_display *display,
> if (display->platform.i830)
> state = true;
>
> - power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (wakeref) {
> u32 val = intel_de_read(display,
> @@ -2013,6 +2013,7 @@ intel_aux_power_domain(struct intel_digital_port *dig_port)
> static void get_crtc_power_domains(struct intel_crtc_state *crtc_state,
> struct intel_power_domain_mask *mask)
> {
> + struct intel_display *display = to_intel_display(crtc_state);
> struct intel_crtc *crtc = to_intel_crtc(crtc_state->uapi.crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> enum transcoder cpu_transcoder = crtc_state->cpu_transcoder;
> @@ -2024,11 +2025,11 @@ static void get_crtc_power_domains(struct intel_crtc_state *crtc_state,
> if (!crtc_state->hw.active)
> return;
>
> - set_bit(POWER_DOMAIN_PIPE(pipe), mask->bits);
> - set_bit(POWER_DOMAIN_TRANSCODER(cpu_transcoder), mask->bits);
> + set_bit(intel_display_power_pipe_domain(display, pipe), mask->bits);
> + set_bit(intel_display_power_transcoder_domain(display, cpu_transcoder), mask->bits);
> if (crtc_state->pch_pfit.enabled ||
> crtc_state->pch_pfit.force_thru)
> - set_bit(POWER_DOMAIN_PIPE_PANEL_FITTER(pipe), mask->bits);
> + set_bit(intel_display_power_pipe_panel_fitter_domain(display, pipe), mask->bits);
>
> drm_for_each_encoder_mask(encoder, &dev_priv->drm,
> crtc_state->uapi.encoder_mask) {
> @@ -3113,7 +3114,7 @@ static bool i9xx_get_pipe_config(struct intel_crtc *crtc,
> u32 tmp;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
> + power_domain = intel_display_power_pipe_domain(display, crtc->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> @@ -3497,7 +3498,7 @@ static bool ilk_get_pipe_config(struct intel_crtc *crtc,
> u32 tmp;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(crtc->pipe);
> + power_domain = intel_display_power_pipe_domain(display, crtc->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> @@ -3590,7 +3591,7 @@ static bool transcoder_ddi_func_is_enabled(struct drm_i915_private *dev_priv,
> intel_wakeref_t wakeref;
> u32 tmp = 0;
>
> - power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
>
> with_intel_display_power_if_enabled(display, power_domain, wakeref)
> tmp = intel_de_read(dev_priv,
> @@ -3617,7 +3618,7 @@ static void enabled_uncompressed_joiner_pipes(struct intel_display *display,
> enum pipe pipe = crtc->pipe;
> intel_wakeref_t wakeref;
>
> - power_domain = POWER_DOMAIN_PIPE(pipe);
> + power_domain = intel_display_power_pipe_domain(display, pipe);
> with_intel_display_power_if_enabled(display, power_domain, wakeref) {
> u32 tmp = intel_de_read(display, ICL_PIPE_DSS_CTL1(pipe));
>
> @@ -3884,7 +3885,7 @@ static u8 hsw_enabled_transcoders(struct intel_crtc *crtc)
> enum pipe trans_pipe;
> u32 tmp = 0;
>
> - power_domain = POWER_DOMAIN_TRANSCODER(cpu_transcoder);
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
> with_intel_display_power_if_enabled(display, power_domain, wakeref)
> tmp = intel_de_read(dev_priv,
> TRANS_DDI_FUNC_CTL(dev_priv, cpu_transcoder));
> @@ -3973,6 +3974,7 @@ static bool hsw_get_transcoder_state(struct intel_crtc *crtc,
> struct intel_display *display = to_intel_display(crtc);
> struct drm_device *dev = crtc->base.dev;
> struct drm_i915_private *dev_priv = to_i915(dev);
> + enum intel_display_power_domain power_domain;
> unsigned long enabled_transcoders;
> u32 tmp;
>
> @@ -3989,8 +3991,9 @@ static bool hsw_get_transcoder_state(struct intel_crtc *crtc,
> */
> pipe_config->cpu_transcoder = ffs(enabled_transcoders) - 1;
>
> - if (!intel_display_power_get_in_set_if_enabled(display, power_domain_set,
> - POWER_DOMAIN_TRANSCODER(pipe_config->cpu_transcoder)))
> + power_domain = intel_display_power_transcoder_domain(display, pipe_config->cpu_transcoder);
> +
> + if (!intel_display_power_get_in_set_if_enabled(display, power_domain_set, power_domain))
> return false;
>
> if (hsw_panel_transcoders(dev_priv) & BIT(pipe_config->cpu_transcoder)) {
> @@ -4013,6 +4016,7 @@ static bool bxt_get_dsi_transcoder_state(struct intel_crtc *crtc,
> {
> struct intel_display *display = to_intel_display(crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> + enum intel_display_power_domain power_domain;
> enum transcoder cpu_transcoder;
> enum port port;
> u32 tmp;
> @@ -4023,8 +4027,10 @@ static bool bxt_get_dsi_transcoder_state(struct intel_crtc *crtc,
> else
> cpu_transcoder = TRANSCODER_DSI_C;
>
> + power_domain = intel_display_power_transcoder_domain(display, cpu_transcoder);
> +
> if (!intel_display_power_get_in_set_if_enabled(display, power_domain_set,
> - POWER_DOMAIN_TRANSCODER(cpu_transcoder)))
> + power_domain))
> continue;
>
> /*
> @@ -4073,11 +4079,14 @@ static bool hsw_get_pipe_config(struct intel_crtc *crtc,
> {
> struct intel_display *display = to_intel_display(crtc);
> struct drm_i915_private *dev_priv = to_i915(crtc->base.dev);
> + enum intel_display_power_domain power_domain;
> bool active;
> u32 tmp;
>
> + power_domain = intel_display_power_pipe_domain(display, crtc->pipe);
> +
> if (!intel_display_power_get_in_set_if_enabled(display, &crtc->hw_readout_power_domains,
> - POWER_DOMAIN_PIPE(crtc->pipe)))
> + power_domain))
> return false;
>
> pipe_config->shared_dpll = NULL;
> @@ -4128,8 +4137,10 @@ static bool hsw_get_pipe_config(struct intel_crtc *crtc,
> pipe_config->ips_linetime =
> REG_FIELD_GET(HSW_IPS_LINETIME_MASK, tmp);
>
> + power_domain = intel_display_power_pipe_panel_fitter_domain(display, crtc->pipe);
> +
> if (intel_display_power_get_in_set_if_enabled(display, &crtc->hw_readout_power_domains,
> - POWER_DOMAIN_PIPE_PANEL_FITTER(crtc->pipe))) {
> + power_domain)) {
> if (DISPLAY_VER(dev_priv) >= 9)
> skl_scaler_get_config(pipe_config);
> else
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index 880eaed83cd5..1fd17aad3a65 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -1617,10 +1617,14 @@ void gen8_display_irq_reset(struct drm_i915_private *dev_priv)
> intel_de_write(display, EDP_PSR_IMR, 0xffffffff);
> intel_de_write(display, EDP_PSR_IIR, 0xffffffff);
>
> - for_each_pipe(dev_priv, pipe)
> - if (intel_display_power_is_enabled(display,
> - POWER_DOMAIN_PIPE(pipe)))
> + for_each_pipe(dev_priv, pipe) {
> + enum intel_display_power_domain power_domain;
> +
> + power_domain = intel_display_power_pipe_domain(display, pipe);
> +
> + if (intel_display_power_is_enabled(display, power_domain))
> intel_display_irq_regs_reset(display, GEN8_DE_PIPE_IRQ_REGS(pipe));
> + }
>
> intel_display_irq_regs_reset(display, GEN8_DE_PORT_IRQ_REGS);
> intel_display_irq_regs_reset(display, GEN8_DE_MISC_IRQ_REGS);
> @@ -1644,7 +1648,7 @@ void gen11_display_irq_reset(struct drm_i915_private *dev_priv)
> for_each_cpu_transcoder_masked(dev_priv, trans, trans_mask) {
> enum intel_display_power_domain domain;
>
> - domain = POWER_DOMAIN_TRANSCODER(trans);
> + domain = intel_display_power_transcoder_domain(display, trans);
> if (!intel_display_power_is_enabled(display, domain))
> continue;
>
> @@ -1662,7 +1666,7 @@ void gen11_display_irq_reset(struct drm_i915_private *dev_priv)
>
> for_each_pipe(dev_priv, pipe)
> if (intel_display_power_is_enabled(display,
> - POWER_DOMAIN_PIPE(pipe)))
> + intel_display_power_pipe_domain(display, pipe)))
> intel_display_irq_regs_reset(display, GEN8_DE_PIPE_IRQ_REGS(pipe));
>
> intel_display_irq_regs_reset(display, GEN8_DE_PORT_IRQ_REGS);
> @@ -1887,7 +1891,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
> for_each_cpu_transcoder_masked(dev_priv, trans, trans_mask) {
> enum intel_display_power_domain domain;
>
> - domain = POWER_DOMAIN_TRANSCODER(trans);
> + domain = intel_display_power_transcoder_domain(display, trans);
> if (!intel_display_power_is_enabled(display, domain))
> continue;
>
> @@ -1902,7 +1906,7 @@ void gen8_de_irq_postinstall(struct drm_i915_private *dev_priv)
> dev_priv->display.irq.de_irq_mask[pipe] = ~de_pipe_masked;
>
> if (intel_display_power_is_enabled(display,
> - POWER_DOMAIN_PIPE(pipe)))
> + intel_display_power_pipe_domain(display, pipe)))
> intel_display_irq_regs_init(display, GEN8_DE_PIPE_IRQ_REGS(pipe),
> dev_priv->display.irq.de_irq_mask[pipe],
> de_pipe_enables);
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.c b/drivers/gpu/drm/i915/display/intel_display_power.c
> index 396930937d98..b206bef3d44c 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.c
> @@ -2476,6 +2476,27 @@ intel_port_domains_for_platform(struct intel_display *display,
> }
> }
>
> +enum intel_display_power_domain
> +intel_display_power_pipe_domain(struct intel_display *display, enum pipe pipe)
> +{
> + return pipe - PIPE_A + POWER_DOMAIN_PIPE_A;
> +}
> +
> +enum intel_display_power_domain
> +intel_display_power_pipe_panel_fitter_domain(struct intel_display *display, enum pipe pipe)
> +{
> + return pipe - PIPE_A + POWER_DOMAIN_PIPE_PANEL_FITTER_A;
> +}
> +
> +enum intel_display_power_domain
> +intel_display_power_transcoder_domain(struct intel_display *display, enum transcoder trans)
> +{
> + if (trans == TRANSCODER_EDP)
> + return POWER_DOMAIN_TRANSCODER_EDP;
> +
> + return trans - TRANSCODER_A + POWER_DOMAIN_TRANSCODER_A;
> +}
> +
> static const struct intel_ddi_port_domains *
> intel_port_domains_for_port(struct intel_display *display, enum port port)
> {
> diff --git a/drivers/gpu/drm/i915/display/intel_display_power.h b/drivers/gpu/drm/i915/display/intel_display_power.h
> index 1b53d67f9b60..ee02bc7111c0 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_power.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_power.h
> @@ -12,7 +12,9 @@
> #include "intel_wakeref.h"
>
> enum aux_ch;
> +enum pipe;
> enum port;
> +enum transcoder;
> struct i915_power_well;
> struct intel_display;
> struct intel_encoder;
> @@ -117,14 +119,6 @@ enum intel_display_power_domain {
> POWER_DOMAIN_INVALID = POWER_DOMAIN_NUM,
> };
>
> -#define POWER_DOMAIN_PIPE(pipe) \
> - ((enum intel_display_power_domain)((pipe) - PIPE_A + POWER_DOMAIN_PIPE_A))
> -#define POWER_DOMAIN_PIPE_PANEL_FITTER(pipe) \
> - ((enum intel_display_power_domain)((pipe) - PIPE_A + POWER_DOMAIN_PIPE_PANEL_FITTER_A))
> -#define POWER_DOMAIN_TRANSCODER(tran) \
> - ((tran) == TRANSCODER_EDP ? POWER_DOMAIN_TRANSCODER_EDP : \
> - (enum intel_display_power_domain)((tran) - TRANSCODER_A + POWER_DOMAIN_TRANSCODER_A))
> -
> struct intel_power_domain_mask {
> DECLARE_BITMAP(bits, POWER_DOMAIN_NUM);
> };
> @@ -270,6 +264,12 @@ intel_display_power_put_all_in_set(struct intel_display *display,
>
> void intel_display_power_debug(struct intel_display *display, struct seq_file *m);
>
> +enum intel_display_power_domain
> +intel_display_power_pipe_domain(struct intel_display *display, enum pipe pipe);
> +enum intel_display_power_domain
> +intel_display_power_pipe_panel_fitter_domain(struct intel_display *display, enum pipe pipe);
> +enum intel_display_power_domain
> +intel_display_power_transcoder_domain(struct intel_display *display, enum transcoder trans);
> enum intel_display_power_domain
> intel_display_power_ddi_lanes_domain(struct intel_display *display, enum port port);
> enum intel_display_power_domain
> diff --git a/drivers/gpu/drm/i915/display/intel_pipe_crc.c b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> index 10e26c3db946..322d4ca7cf7d 100644
> --- a/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> +++ b/drivers/gpu/drm/i915/display/intel_pipe_crc.c
> @@ -598,7 +598,7 @@ int intel_crtc_set_crc_source(struct drm_crtc *_crtc, const char *source_name)
> return -EINVAL;
> }
>
> - power_domain = POWER_DOMAIN_PIPE(pipe);
> + power_domain = intel_display_power_pipe_domain(display, pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref) {
> drm_dbg_kms(&dev_priv->drm,
> diff --git a/drivers/gpu/drm/i915/display/intel_sprite.c b/drivers/gpu/drm/i915/display/intel_sprite.c
> index ab5bc8a08f0f..09f1b2f959f2 100644
> --- a/drivers/gpu/drm/i915/display/intel_sprite.c
> +++ b/drivers/gpu/drm/i915/display/intel_sprite.c
> @@ -457,7 +457,7 @@ vlv_sprite_get_hw_state(struct intel_plane *plane,
> intel_wakeref_t wakeref;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> @@ -881,7 +881,7 @@ ivb_sprite_get_hw_state(struct intel_plane *plane,
> intel_wakeref_t wakeref;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> @@ -1216,7 +1216,7 @@ g4x_sprite_get_hw_state(struct intel_plane *plane,
> intel_wakeref_t wakeref;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> diff --git a/drivers/gpu/drm/i915/display/intel_vdsc.c b/drivers/gpu/drm/i915/display/intel_vdsc.c
> index 6e7151346382..928fa69f65e9 100644
> --- a/drivers/gpu/drm/i915/display/intel_vdsc.c
> +++ b/drivers/gpu/drm/i915/display/intel_vdsc.c
> @@ -357,6 +357,7 @@ enum intel_display_power_domain
> intel_dsc_power_domain(struct intel_crtc *crtc, enum transcoder cpu_transcoder)
> {
> struct drm_i915_private *i915 = to_i915(crtc->base.dev);
> + struct intel_display *display = &i915->display;
> enum pipe pipe = crtc->pipe;
>
> /*
> @@ -373,7 +374,7 @@ intel_dsc_power_domain(struct intel_crtc *crtc, enum transcoder cpu_transcoder)
> if (DISPLAY_VER(i915) == 12 && !IS_ROCKETLAKE(i915) && pipe == PIPE_A)
> return POWER_DOMAIN_TRANSCODER_VDSC_PW2;
> else if (is_pipe_dsc(crtc, cpu_transcoder))
> - return POWER_DOMAIN_PIPE(pipe);
> + return intel_display_power_pipe_domain(display, pipe);
> else
> return POWER_DOMAIN_TRANSCODER_VDSC_PW2;
> }
> diff --git a/drivers/gpu/drm/i915/display/skl_universal_plane.c b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> index 110f66dd5cf0..4fe6fb64292c 100644
> --- a/drivers/gpu/drm/i915/display/skl_universal_plane.c
> +++ b/drivers/gpu/drm/i915/display/skl_universal_plane.c
> @@ -925,7 +925,7 @@ skl_plane_get_hw_state(struct intel_plane *plane,
> intel_wakeref_t wakeref;
> bool ret;
>
> - power_domain = POWER_DOMAIN_PIPE(plane->pipe);
> + power_domain = intel_display_power_pipe_domain(display, plane->pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return false;
> diff --git a/drivers/gpu/drm/i915/display/skl_watermark.c b/drivers/gpu/drm/i915/display/skl_watermark.c
> index 10a1daad28eb..58b934907005 100644
> --- a/drivers/gpu/drm/i915/display/skl_watermark.c
> +++ b/drivers/gpu/drm/i915/display/skl_watermark.c
> @@ -843,7 +843,7 @@ static void skl_pipe_ddb_get_hw_state(struct intel_crtc *crtc,
> intel_wakeref_t wakeref;
> enum plane_id plane_id;
>
> - power_domain = POWER_DOMAIN_PIPE(pipe);
> + power_domain = intel_display_power_pipe_domain(display, pipe);
> wakeref = intel_display_power_get_if_enabled(display, power_domain);
> if (!wakeref)
> return;
> --
> 2.48.1
--
Ville Syrjälä
Intel
next prev parent reply other threads:[~2025-02-17 20:46 UTC|newest]
Thread overview: 18+ messages / expand[flat|nested] mbox.gz Atom feed top
2025-02-17 20:34 [PATCH v3 0/3] Improve type-safety on POWER_DOMAIN_*() macros Gustavo Sousa
2025-02-17 20:34 ` [PATCH v3 1/3] drm/i915/display: Use explicit base values in " Gustavo Sousa
2025-02-17 21:01 ` Ville Syrjälä
2025-02-17 20:34 ` [PATCH v3 2/3] drm/i915/display: Make POWER_DOMAIN_*() always result in enum intel_display_power_domain Gustavo Sousa
2025-02-17 21:01 ` Ville Syrjälä
2025-02-17 20:34 ` [PATCH v3 3/3] drm/i915/display: Convert POWER_DOMAIN_*() to functions Gustavo Sousa
2025-02-17 20:46 ` Ville Syrjälä [this message]
2025-02-17 21:25 ` Gustavo Sousa
2025-02-17 20:53 ` ✓ CI.Patch_applied: success for Improve type-safety on POWER_DOMAIN_*() macros (rev3) Patchwork
2025-02-17 20:53 ` ✓ CI.checkpatch: " Patchwork
2025-02-17 20:54 ` ✓ CI.KUnit: " Patchwork
2025-02-17 21:10 ` ✓ CI.Build: " Patchwork
2025-02-17 21:13 ` ✓ CI.Hooks: " Patchwork
2025-02-17 21:14 ` ✓ CI.checksparse: " Patchwork
2025-02-17 21:31 ` ✗ Fi.CI.SPARSE: warning " Patchwork
2025-02-17 21:34 ` ✓ Xe.CI.BAT: success " Patchwork
2025-02-17 21:49 ` ✗ i915.CI.BAT: failure " Patchwork
2025-02-18 14:45 ` ✗ Xe.CI.Full: " Patchwork
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=Z7OgI_Kqz6TRdcjS@intel.com \
--to=ville.syrjala@linux.intel.com \
--cc=gustavo.sousa@intel.com \
--cc=intel-gfx@lists.freedesktop.org \
--cc=intel-xe@lists.freedesktop.org \
--cc=jani.nikula@intel.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.