All of lore.kernel.org
 help / color / mirror / Atom feed
From: "Ville Syrjälä" <ville.syrjala@linux.intel.com>
To: Jani Nikula <jani.nikula@intel.com>
Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org
Subject: Re: [PATCH v2 3/5] drm/i915/irq: abstract i9xx_display_irq_enable_mask()
Date: Tue, 23 Sep 2025 17:41:50 +0300	[thread overview]
Message-ID: <aNKxrt_6SqRxtZw4@intel.com> (raw)
In-Reply-To: <dd7cd63a4019ff24098d565b67ea827df6b9ed45.1758637773.git.jani.nikula@intel.com>

On Tue, Sep 23, 2025 at 05:31:06PM +0300, Jani Nikula wrote:
> Figure out the enable mask for display things in display code. Reuse the
> same function for both i915 and i965 code, the end result remains the
> same.
> 
> This removes a pair of DISPLAY_VER() and HAS_HOTPLUG() checks from core
> irq code.
> 
> Signed-off-by: Jani Nikula <jani.nikula@intel.com>

Reviewed-by: Ville Syrjälä <ville.syrjala@linux.intel.com>

> ---
>  drivers/gpu/drm/i915/display/intel_display_irq.c | 16 ++++++++++++++++
>  drivers/gpu/drm/i915/display/intel_display_irq.h |  1 +
>  drivers/gpu/drm/i915/i915_irq.c                  | 16 ++--------------
>  3 files changed, 19 insertions(+), 14 deletions(-)
> 
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.c b/drivers/gpu/drm/i915/display/intel_display_irq.c
> index c6f367e6159e..4d51900123ea 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.c
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.c
> @@ -1900,6 +1900,22 @@ void i9xx_display_irq_reset(struct intel_display *display)
>  	i9xx_pipestat_irq_reset(display);
>  }
>  
> +u32 i9xx_display_irq_enable_mask(struct intel_display *display)
> +{
> +	u32 enable_mask;
> +
> +	enable_mask = I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
> +		I915_DISPLAY_PIPE_B_EVENT_INTERRUPT;
> +
> +	if (DISPLAY_VER(display) >= 3)
> +		enable_mask |= I915_ASLE_INTERRUPT;
> +
> +	if (HAS_HOTPLUG(display))
> +		enable_mask |= I915_DISPLAY_PORT_INTERRUPT;
> +
> +	return enable_mask;
> +}
> +
>  void i915_display_irq_postinstall(struct intel_display *display)
>  {
>  	/*
> diff --git a/drivers/gpu/drm/i915/display/intel_display_irq.h b/drivers/gpu/drm/i915/display/intel_display_irq.h
> index cee120347064..e44d88e0d7e7 100644
> --- a/drivers/gpu/drm/i915/display/intel_display_irq.h
> +++ b/drivers/gpu/drm/i915/display/intel_display_irq.h
> @@ -61,6 +61,7 @@ void vlv_display_irq_reset(struct intel_display *display);
>  void gen8_display_irq_reset(struct intel_display *display);
>  void gen11_display_irq_reset(struct intel_display *display);
>  
> +u32 i9xx_display_irq_enable_mask(struct intel_display *display);
>  void i915_display_irq_postinstall(struct intel_display *display);
>  void i965_display_irq_postinstall(struct intel_display *display);
>  void vlv_display_irq_postinstall(struct intel_display *display);
> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915_irq.c
> index 04de02fc08d9..f9fbb88b9e26 100644
> --- a/drivers/gpu/drm/i915/i915_irq.c
> +++ b/drivers/gpu/drm/i915/i915_irq.c
> @@ -895,17 +895,9 @@ static void i915_irq_postinstall(struct drm_i915_private *dev_priv)
>  
>  	gen2_error_init(uncore, GEN2_ERROR_REGS, ~i9xx_error_mask(dev_priv));
>  
> -	enable_mask =
> -		I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
> -		I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
> +	enable_mask = i9xx_display_irq_enable_mask(display) |
>  		I915_MASTER_ERROR_INTERRUPT;
>  
> -	if (DISPLAY_VER(display) >= 3)
> -		enable_mask |= I915_ASLE_INTERRUPT;
> -
> -	if (HAS_HOTPLUG(display))
> -		enable_mask |= I915_DISPLAY_PORT_INTERRUPT;
> -
>  	dev_priv->gen2_imr_mask = ~enable_mask;
>  
>  	enable_mask |= I915_USER_INTERRUPT;
> @@ -1010,11 +1002,7 @@ static void i965_irq_postinstall(struct drm_i915_private *dev_priv)
>  
>  	gen2_error_init(uncore, GEN2_ERROR_REGS, ~i965_error_mask(dev_priv));
>  
> -	enable_mask =
> -		I915_ASLE_INTERRUPT |
> -		I915_DISPLAY_PORT_INTERRUPT |
> -		I915_DISPLAY_PIPE_A_EVENT_INTERRUPT |
> -		I915_DISPLAY_PIPE_B_EVENT_INTERRUPT |
> +	enable_mask = i9xx_display_irq_enable_mask(display) |
>  		I915_MASTER_ERROR_INTERRUPT;
>  
>  	dev_priv->gen2_imr_mask = ~enable_mask;
> -- 
> 2.47.3

-- 
Ville Syrjälä
Intel

  reply	other threads:[~2025-09-23 14:41 UTC|newest]

Thread overview: 16+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-09-23 14:31 [PATCH v2 0/5] drm/i915/irq: display irq refactoring Jani Nikula
2025-09-23 14:31 ` [PATCH v2 1/5] drm/i915/irq: drop intel_psr_regs.h include Jani Nikula
2025-09-23 14:39   ` Ville Syrjälä
2025-09-23 14:31 ` [PATCH v2 2/5] drm/i915/irq: initialize gen2_imr_mask in terms of enable_mask Jani Nikula
2025-09-23 14:40   ` Ville Syrjälä
2025-09-23 14:31 ` [PATCH v2 3/5] drm/i915/irq: abstract i9xx_display_irq_enable_mask() Jani Nikula
2025-09-23 14:41   ` Ville Syrjälä [this message]
2025-09-23 14:31 ` [PATCH v2 4/5] drm/i915/irq: move check for HAS_HOTPLUG() inside i9xx_hpd_irq_ack() Jani Nikula
2025-09-23 14:43   ` Ville Syrjälä
2025-09-23 14:31 ` [PATCH v2 5/5] drm/i915/irq: split ILK display irq handling Jani Nikula
2025-09-23 14:45   ` Ville Syrjälä
2025-09-24  6:47     ` Jani Nikula
2025-09-23 15:08 ` ✓ CI.KUnit: success for drm/i915/irq: display irq refactoring (rev2) Patchwork
2025-09-23 17:58 ` ✗ Xe.CI.Full: failure " Patchwork
2025-09-23 20:50 ` ✓ i915.CI.BAT: success " Patchwork
2025-09-24  5:29 ` ✗ i915.CI.Full: failure " 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=aNKxrt_6SqRxtZw4@intel.com \
    --to=ville.syrjala@linux.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.