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
next prev parent reply other threads:[~2025-09-23 14:41 UTC|newest]
Thread overview: 14+ 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
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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).