From mboxrd@z Thu Jan 1 00:00:00 1970 Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.remote-ip=198.175.65.9 ARC-Seal: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; cv=none; t=1793642632; b=V/JpMRdBJ3apzap/pDbq7VZM2psXU4ZPQ5LQBsrZykUE7dYxxCNs6OCFRj1SzzpQAz0m 2S1Yop61Om1Wxa1o9BXYKTAgfc0HmMxNmwcLdmN+/PupXu/xDbTLSeDdSZ8Ae/kJqSigX DY0fASBJbNGCgJ67w/9qg125Zqs03rS0GJy2hQwov35GEFOtXzAZ/kHAKkMiM1bqv/gdv juJq466Z5aSW63jeKdxSfy52Gp18gScyPdo6rkt3a6LUyTJqo22XgBHB4u4lYhG6VNjBy tX8jV4eUBxh7UceAT87yPXJUbo2cuKToS3niaRH2SdY9uLSEfE0eSulG3LqdM4B5RVA== ARC-Message-Signature: i=1; d=subspace.kernel.org; s=arc20261015; a=rsa-sha256; c=relaxed/relaxed; t=1793642632; h=DMARC-Filter:DKIM-Signature:X-CSE-ConnectionGUID:X-CSE-MsgGUID: X-IronPort-AV:X-IronPort-AV:Received:X-CSE-ConnectionGUID: X-CSE-MsgGUID:X-ExtLoop1:X-IronPort-AV:Received:From:To:Cc:Subject: Date:Message-Id:X-Mailer:In-Reply-To:References:MIME-Version: Content-Type:Content-Transfer-Encoding; bh=LBZT1lXwPvoeeYPGJrtFBbjl896cFdaiC8MYzzDlx1M=; b=agTttNsCLeYLnKIxfTjlkhsP9BP8mkVdI5KLufsBSNKwWwdDaqZlLNjkyqgxqAbz5TgK Ih9ZR8SwzDOF6Ot64ONSro24L1HFFvZBqNfQdVDaQJK7Iul78C7meSnfFAo1WRdAe0Y/9 IxP5UPuaYiFAp+X0FW2e1khSlN4GmJJT7Y+lHMwA8bQYTdC6KL7HYYpTLfrHw2Y3mX8i4 Ckgp4BL0sCgWzuW3s5zLaASw2jJ0rF2ocwFfeFZ/Z4FDlI792rXPcl8H3bZ0FtHERUY9M TZE88uZ3K1jnV6RPKRWBwAu5IH0wMXkVzSABcZQ8VshIs8BJopPFlTRWIr7pLKXJ1/w== ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass header.from=intel.com; spf=pass smtp.mailfrom=intel.com; dkim=pass header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b="SZahzI/g"; arc=none smtp.remote-ip=198.175.65.9 Received: from mgamail.intel.com (mgamail.intel.com [198.175.65.9]) (using TLSv1.2 with cipher ECDHE-ECDSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id F1105606B0F4; Mon, 2 Nov 2026 18:03:51 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.2 smtp.subspace.kernel.org F1105606B0F4 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=none dis=none) header.from=intel.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=intel.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key, unprotected) header.d=intel.com header.i=@intel.com header.a=rsa-sha256 header.s=Intel header.b=SZahzI/g DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=intel.com; i=@intel.com; q=dns/txt; s=Intel; t=1793642632; x=1825178632; h=from:to:cc:subject:date:message-id:in-reply-to: references:mime-version:content-transfer-encoding; bh=J8v0IAgGr9SXVQka7hqpw9c39FB0mh7inFSdj01aDr4=; b=SZahzI/gYmQzTphQKcyfUCRxLK0Ngom1ph8GaZjitbS5zZSqu3bmwwij UZTv3Fp/y/ry0HMqffcFs1C21m/+/mF7PbETiVerzY181AIgZT1gj2/eI KGCJHlV7VUkXnvhZIvUUzAHW20I/ioxN8zmvRvIpYWYKFsN/o33VimBIC 4ZMIkokaQAnVJFynSBKbfvPQLbc1qvqX6BNdw/X9icoStkd58ric6lkAu v0Cx4E2sG+EZPnjdYmzBPNrsqEaCqKQY/Jnewid9OFtgumEI9UJwuqKfl y8cTaVCoMMK53dRvs82M8jYQ57i1mtgkmZ7fs9/qU4D/U3XVdeFBWKrne w==; X-CSE-ConnectionGUID: +fm5k+yeTgmwD5CjdFwVaA== X-CSE-MsgGUID: am9QdV/STAGah/W0CzYo9g== X-IronPort-AV: E=McAfee;i="6800,10657,11954"; a="2235481" X-IronPort-AV: E=Sophos;i="6.27,191,1787036400"; d="scan'208";a="2235481" Received: from orviesa001.jf.intel.com ([10.64.159.141]) by orvoesa101.jf.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384; 02 Nov 2026 10:03:50 -0800 X-CSE-ConnectionGUID: +npAd+eTRyeTOCQrn9bSkQ== X-CSE-MsgGUID: IueQAVefRwuFCj13KJY0Sw== X-ExtLoop1: 1 X-IronPort-AV: E=Sophos;i="6.27,191,1787036400"; d="scan'208";a="6169186" Received: from crojewsk-ctrl.igk.intel.com ([10.237.149.0]) by orviesa001.jf.intel.com with ESMTP; 02 Nov 2026 10:03:45 -0800 From: Cezary Rojewski To: linux-sound@vger.kernel.org Cc: broonie@kernel.org, tiwai@suse.com, perex@perex.cz, amade@asmblr.net, linux-kernel@vger.kernel.org, yung-chuan.liao@linux.intel.com, pierre-louis.bossart@linux.dev, vkoul@kernel.org, Cezary Rojewski Subject: [PATCH 4/7] ASoC: Intel: avs: Pass irq to dsp_interrupt callback Date: Mon, 2 Nov 2026 19:10:39 +0100 Message-Id: <20261102181042.1922005-5-cezary.rojewski@intel.com> X-Mailer: git-send-email 2.34.1 In-Reply-To: <20261102181042.1922005-1-cezary.rojewski@intel.com> References: <20261102181042.1922005-1-cezary.rojewski@intel.com> X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Post: List-Help: List-Subscribe: List-Unsubscribe: List-Owner: Precedence: list MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Soundwire IRQ thread function requires passing irq as one of the arguments, as we will want to call it in dsp_interrupt callback, it needs to be passed throguh. Signed-off-by: Amadeusz Sławiński Signed-off-by: Cezary Rojewski --- sound/soc/intel/avs/apl.c | 2 +- sound/soc/intel/avs/avs.h | 6 +++--- sound/soc/intel/avs/cnl.c | 2 +- sound/soc/intel/avs/core.c | 2 +- sound/soc/intel/avs/mtl.c | 2 +- sound/soc/intel/avs/skl.c | 2 +- 6 files changed, 8 insertions(+), 8 deletions(-) diff --git a/sound/soc/intel/avs/apl.c b/sound/soc/intel/avs/apl.c index cf600e1c986e..3abcdf062035 100644 --- a/sound/soc/intel/avs/apl.c +++ b/sound/soc/intel/avs/apl.c @@ -17,7 +17,7 @@ #include "registers.h" #include "topology.h" -static irqreturn_t avs_apl_dsp_interrupt(struct avs_dev *adev) +static irqreturn_t avs_apl_dsp_interrupt(struct avs_dev *adev, int irq) { u32 adspis = snd_hdac_adsp_readl(adev, AVS_ADSP_REG_ADSPIS); irqreturn_t ret = IRQ_NONE; diff --git a/sound/soc/intel/avs/avs.h b/sound/soc/intel/avs/avs.h index b4f9d66d55ad..b3af2c4126be 100644 --- a/sound/soc/intel/avs/avs.h +++ b/sound/soc/intel/avs/avs.h @@ -45,7 +45,7 @@ struct avs_dsp_ops { int (* const power)(struct avs_dev *, u32, bool); int (* const reset)(struct avs_dev *, u32, bool); int (* const stall)(struct avs_dev *, u32, bool); - irqreturn_t (* const dsp_interrupt)(struct avs_dev *); + irqreturn_t (* const dsp_interrupt)(struct avs_dev *, int irq); void (* const int_control)(struct avs_dev *, bool); int (* const load_basefw)(struct avs_dev *, struct firmware *); int (* const load_lib)(struct avs_dev *, struct firmware *, u32); @@ -273,8 +273,8 @@ int avs_mtl_core_stall(struct avs_dev *adev, u32 core_mask, bool stall); int avs_lnl_core_stall(struct avs_dev *adev, u32 core_mask, bool stall); void avs_mtl_interrupt_control(struct avs_dev *adev, bool enable); void avs_skl_ipc_interrupt(struct avs_dev *adev); -irqreturn_t avs_cnl_dsp_interrupt(struct avs_dev *adev); -irqreturn_t avs_mtl_dsp_interrupt(struct avs_dev *adev); +irqreturn_t avs_cnl_dsp_interrupt(struct avs_dev *adev, int irq); +irqreturn_t avs_mtl_dsp_interrupt(struct avs_dev *adev, int irq); int avs_apl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period, u32 fifo_full_period, unsigned long resource_mask, u32 *priorities); int avs_icl_enable_logs(struct avs_dev *adev, enum avs_log_enable enable, u32 aging_period, diff --git a/sound/soc/intel/avs/cnl.c b/sound/soc/intel/avs/cnl.c index 5b5359e9128b..31fd9f251d6c 100644 --- a/sound/soc/intel/avs/cnl.c +++ b/sound/soc/intel/avs/cnl.c @@ -58,7 +58,7 @@ static void avs_cnl_ipc_interrupt(struct avs_dev *adev) AVS_ADSP_HIPCCTL_DONE | AVS_ADSP_HIPCCTL_BUSY); } -irqreturn_t avs_cnl_dsp_interrupt(struct avs_dev *adev) +irqreturn_t avs_cnl_dsp_interrupt(struct avs_dev *adev, int irq) { u32 adspis = snd_hdac_adsp_readl(adev, AVS_ADSP_REG_ADSPIS); irqreturn_t ret = IRQ_NONE; diff --git a/sound/soc/intel/avs/core.c b/sound/soc/intel/avs/core.c index 611ae9f034d4..9413027e1e32 100644 --- a/sound/soc/intel/avs/core.c +++ b/sound/soc/intel/avs/core.c @@ -344,7 +344,7 @@ static irqreturn_t avs_dsp_irq_thread(int irq, void *dev_id) status = readl(bus->ppcap + AZX_REG_PP_PPSTS); if (status & AZX_PPCTL_PIE) - avs_dsp_op(adev, dsp_interrupt); + avs_dsp_op(adev, dsp_interrupt, irq); /* Unmask GIE, masked in irq_handler(). */ snd_hdac_chip_updatel(bus, INTCTL, AZX_INT_GLOBAL_EN, AZX_INT_GLOBAL_EN); diff --git a/sound/soc/intel/avs/mtl.c b/sound/soc/intel/avs/mtl.c index d8bdd03275d7..29f79d6ff0d4 100644 --- a/sound/soc/intel/avs/mtl.c +++ b/sound/soc/intel/avs/mtl.c @@ -166,7 +166,7 @@ static void avs_mtl_ipc_interrupt(struct avs_dev *adev) AVS_ADSP_HIPCCTL_DONE | AVS_ADSP_HIPCCTL_BUSY); } -irqreturn_t avs_mtl_dsp_interrupt(struct avs_dev *adev) +irqreturn_t avs_mtl_dsp_interrupt(struct avs_dev *adev, int irq) { u32 adspis = snd_hdac_adsp_readl(adev, MTL_DWICTL_REG_FINALSTATUSL); irqreturn_t ret = IRQ_NONE; diff --git a/sound/soc/intel/avs/skl.c b/sound/soc/intel/avs/skl.c index 8fb86f364ff3..54c883658cca 100644 --- a/sound/soc/intel/avs/skl.c +++ b/sound/soc/intel/avs/skl.c @@ -54,7 +54,7 @@ void avs_skl_ipc_interrupt(struct avs_dev *adev) AVS_ADSP_HIPCCTL_DONE | AVS_ADSP_HIPCCTL_BUSY); } -static irqreturn_t avs_skl_dsp_interrupt(struct avs_dev *adev) +static irqreturn_t avs_skl_dsp_interrupt(struct avs_dev *adev, int irq) { u32 adspis = snd_hdac_adsp_readl(adev, AVS_ADSP_REG_ADSPIS); irqreturn_t ret = IRQ_NONE; -- 2.34.1