From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 74306CD13D3 for ; Thu, 30 Apr 2026 07:49:41 +0000 (UTC) Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 0754510E407; Thu, 30 Apr 2026 07:49:41 +0000 (UTC) Authentication-Results: gabe.freedesktop.org; dkim=pass (2048-bit key; unprotected) header.d=intel.com header.i=@intel.com header.b="SBC7l73h"; dkim-atps=neutral Received: from mgamail.intel.com (mgamail.intel.com [192.198.163.10]) by gabe.freedesktop.org (Postfix) with ESMTPS id BA7EF10E0EF; Thu, 30 Apr 2026 07:49:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1777535380; x=1809071380; h=from:to:cc:subject:in-reply-to:references:date: message-id:mime-version:content-transfer-encoding; bh=qTte08grx60SdaNzyyv7+OYuQfHRqcdU1k5Ct/clW0w=; b=SBC7l73hdf2SuqADi0U6pynOE/MswJ4LZldakjmyA1oDUYyl1tfIChIA 1TnSCxs+lrfh4iM5vsUP3KDDNJRKyZE6uk3w5zvuIZSzZmWUJ1LQI6h97 QmcSIOB5OBNCDVr3f2ylAvEzORGm8B052sukQyGctANIL3BUsE4FQywnR yvUxSBGBXiTPlgCr7o61p2CAWcDv94yRQ6S7Y4lFbCH1DXIR1by+MQbs1 z4lrCOO6ve0fMVhkWghAUupuSAQtngQNW5WrgL12y4XKOXVfGua9n0y+s jMbqid8S+LSCZ3YusK5hK/HSLq/sACAbvmP5KPQwRTVgMaKr8VZU9aUD8 g==; X-CSE-ConnectionGUID: h3Ef1Ib4SmuzPABmrUygig== X-CSE-MsgGUID: xfPt4kbARvqjqs86L2Ry5Q== X-IronPort-AV: E=McAfee;i="6800,10657,11771"; a="89853923" X-IronPort-AV: E=Sophos;i="6.23,207,1770624000"; d="scan'208";a="89853923" Received: from orviesa007.jf.intel.com ([10.64.159.147]) by fmvoesa104.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2026 00:49:40 -0700 X-CSE-ConnectionGUID: 4ENdrdqsTXGNYr1Z90WKng== X-CSE-MsgGUID: BX49trsKQmCZy0kQ2I7dHA== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.23,207,1770624000"; d="scan'208";a="234780735" Received: from ettammin-mobl3.ger.corp.intel.com (HELO localhost) ([10.245.244.68]) by orviesa007-auth.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 30 Apr 2026 00:49:38 -0700 From: Jani Nikula To: Ville =?utf-8?B?U3lyasOkbMOk?= Cc: intel-gfx@lists.freedesktop.org, intel-xe@lists.freedesktop.org Subject: Re: [PATCH 10/15] drm/i915/irq: move VLV/CHV LPE irq handler call after irq acks In-Reply-To: Organization: Intel Finland Oy - BIC 0357606-4 - c/o Alberga Business Park, 6 krs Bertel Jungin Aukio 5, 02600 Espoo, Finland References: <8932c31b9fec5c50f64dbb5d9f2e682b1e6d3d5c.1777458161.git.jani.nikula@intel.com> Date: Thu, 30 Apr 2026 10:49:35 +0300 Message-ID: <96908a73031b91dc40d65dc11bda0c3a05dc0ee0@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-BeenThere: intel-gfx@lists.freedesktop.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: Intel graphics driver community testing & development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" On Wed, 29 Apr 2026, Ville Syrj=C3=A4l=C3=A4 wrote: > On Wed, Apr 29, 2026 at 01:24:50PM +0300, Jani Nikula wrote: >> The location of the intel_lpe_audio_irq_handler() call seems too >> early. Group the handler calls together slightly later. >>=20 >> Signed-off-by: Jani Nikula >> --- >> drivers/gpu/drm/i915/i915_irq.c | 18 +++++++++--------- >> 1 file changed, 9 insertions(+), 9 deletions(-) >>=20 >> diff --git a/drivers/gpu/drm/i915/i915_irq.c b/drivers/gpu/drm/i915/i915= _irq.c >> index ef9eadf38a53..1c87f56d668d 100644 >> --- a/drivers/gpu/drm/i915/i915_irq.c >> +++ b/drivers/gpu/drm/i915/i915_irq.c >> @@ -282,10 +282,6 @@ static irqreturn_t valleyview_irq_handler(int irq, = void *arg) >> * signalled in IIR */ >> i9xx_pipestat_irq_ack(display, iir, pipe_stats); >>=20=20 >> - if (iir & (I915_LPE_PIPE_A_INTERRUPT | >> - I915_LPE_PIPE_B_INTERRUPT)) >> - intel_lpe_audio_irq_handler(display); > > This thing acks the irq too, so I believe it needs to stay here. That was lost on me with the rabbit hole the lpe irq handler is. I think I can put this in the intel_display_irq_ack() part, although the name becomes misleading as it also handles some parts. Oh well. BR, Jani. > >> - >> /* >> * VLV_IIR is single buffered, and reflects the level >> * from PIPESTAT/PORT_HOTPLUG_STAT, hence clear it last. >> @@ -301,6 +297,10 @@ static irqreturn_t valleyview_irq_handler(int irq, = void *arg) >> if (pm_iir) >> gen6_rps_irq_handler(&to_gt(dev_priv)->rps, pm_iir); >>=20=20 >> + if (iir & (I915_LPE_PIPE_A_INTERRUPT | >> + I915_LPE_PIPE_B_INTERRUPT)) >> + intel_lpe_audio_irq_handler(display); >> + >> if (hotplug_status) >> i9xx_hpd_irq_handler(display, hotplug_status); >>=20=20 >> @@ -372,11 +372,6 @@ static irqreturn_t cherryview_irq_handler(int irq, = void *arg) >> * signalled in IIR */ >> i9xx_pipestat_irq_ack(display, iir, pipe_stats); >>=20=20 >> - if (iir & (I915_LPE_PIPE_A_INTERRUPT | >> - I915_LPE_PIPE_B_INTERRUPT | >> - I915_LPE_PIPE_C_INTERRUPT)) >> - intel_lpe_audio_irq_handler(display); >> - >> /* >> * VLV_IIR is single buffered, and reflects the level >> * from PIPESTAT/PORT_HOTPLUG_STAT, hence clear it last. >> @@ -387,6 +382,11 @@ static irqreturn_t cherryview_irq_handler(int irq, = void *arg) >> intel_uncore_write(&dev_priv->uncore, VLV_IER, ier); >> intel_uncore_write(&dev_priv->uncore, GEN8_MASTER_IRQ, GEN8_MASTER_IR= Q_CONTROL); >>=20=20 >> + if (iir & (I915_LPE_PIPE_A_INTERRUPT | >> + I915_LPE_PIPE_B_INTERRUPT | >> + I915_LPE_PIPE_C_INTERRUPT)) >> + intel_lpe_audio_irq_handler(display); >> + >> if (hotplug_status) >> i9xx_hpd_irq_handler(display, hotplug_status); >>=20=20 >> --=20 >> 2.47.3 --=20 Jani Nikula, Intel