From nobody Mon May 25 04:35:59 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 0322A2D7DF8 for ; Tue, 19 May 2026 01:16:35 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779153397; cv=none; b=DhsFWlwOCdPrRkwv0aj2/HTOuhAO8OZe5XrLNEM9YnvOfwKia3OuRia8jDh7cHZE6KmA9bvZwgqOUkBpYLFri+S7W66ngAq40T6MZr1M+jN1sEXAJW7IR20qeRnKxkbcz3P6ImttRfXBG4UXTAyfeSkSkxa4g/4L8X3T/jRJFh0= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779153397; c=relaxed/simple; bh=g59r7iyseJ9ZR4HJOr0G4FwF2fDCK+MaHQ/TNE4KOK0=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=kJoQPom1z2M0v4AGasiLpfAjszQmWsJ86HglMcx4IUSE0txyGMACQdfI1H2qsDx4jnOvycXZWrs4/eVzbttKVAevPmms1uUeKaGu/+xpZLN6rTEQcotiG4usAhsOl6BUucuVQRldpX0eZ6NBXWv4CYUCwQScK8vhp20+J3fLbhM= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=Bbl6fZAe; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=JEGePnmD; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="Bbl6fZAe"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="JEGePnmD" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J0AYeG2975395 for ; Tue, 19 May 2026 01:16:35 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=nKQe3CSDWeI 3ZAT/8ZI+HGmO/H88qV/HqEiNJoaBIHA=; b=Bbl6fZAeRvAvbnFXIQFEbyBhgVf 38cUd16r0r6+IIxFfE9ZjQfCX1FZLLU/xHMPiuL8Eh/L4KAVWQYSySSAJs/u06qq LiX2aXBU9FbM++gG9btDEA031u5y4w9UafnNAufNwJ4W0WZkW/O/RuU7dP8xhw6V xPCQPCVmXCjpzYSc6h+pc9+vZ2uyPKd0djioqF0yL7qPKDkldCg3iKkQu5b5eoeW /8dWmV3zNlw+zHWmpTYSzx4s8lU8d8HCMnXHhTGczjIEuprlLCP5e1g9O95OERcz 61Lk2oFZjUbxlIljTZfnIRedOqGZU5H80AOYUK3ma3K8nVJEyR+3ve4SYKA== Received: from mail-pl1-f197.google.com (mail-pl1-f197.google.com [209.85.214.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e84v49xy9-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 01:16:35 +0000 (GMT) Received: by mail-pl1-f197.google.com with SMTP id d9443c01a7336-2bd04e4fe3dso39990975ad.3 for ; Mon, 18 May 2026 18:16:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779153395; x=1779758195; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=nKQe3CSDWeI3ZAT/8ZI+HGmO/H88qV/HqEiNJoaBIHA=; b=JEGePnmD7V1EeVdOCTt+A+L79/R7BmUFCk20TdsNyR3CjS3m6iTVbAJmX+q2Rx9UKx qNJl+/bdA3APk8JD1EUZ0XFmQWa3OcLe//EuVOcrew/nkvpNo+jmA/Y4SrQHCPQ6vwpK KRkEt1XI5eK06fsOtIaqA1XAeOeFkbDUnxgDQ50YsB3W4qS20Q4FdlSIkjGb7+lk+7K7 TD8Pnq/G0zA4V/B5zcQnlBmQBqaWoEZt3IIcEfxFLlibFIgDXO2ru+YnkAQHCWyXXO85 QWpGY/Hm1y5coEOk00zYcwKu81ksF9NyPcVMphun2fjWGSXJ+ZCnyRQzeqOJfSQt03IF X10A== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779153395; x=1779758195; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=nKQe3CSDWeI3ZAT/8ZI+HGmO/H88qV/HqEiNJoaBIHA=; b=sf0rq6RKHREQRyqusoFqJULqXb3mZNALOz3oRMVSS1F08HrGTR3VgKMKKyh5sdHCr+ OnaQVsUNJXtHCg9zeX0d20q75C99AwY64vgipyIyQfmp3uBN7aHMSqQ7K4LmUaMUmhyL j9SSeeXKdO5U0KdMWV/LJaUlC10K9sC7AVJyk+phDj/94bkGC7MAIawcz/ELfgXbnOZV RIJSGcveO3p+hVmPk5eOpA2Eksc0NcuAKOm2zQuLAWqSQlsSPGCdEeOC2t7Tz5RNYBpU kMLWrQyT86ie0xSWbFjxoNnY5P1h/lSBVW4QUEI9Ki3NIwjRfVaxVKNQFdx8EPDxRF/U L0cA== X-Forwarded-Encrypted: i=1; AFNElJ+9vYLQczFIw5I8n2qAYbJPyBdyGh2SFdpq8jSUg0Gd0DlJKLmLuB8eBM2X11BPIGvNMcmkoxa7TXrNOpY=@vger.kernel.org X-Gm-Message-State: AOJu0YzWTbOuM6MYS2JO+GCNC3G+c4h/s2c+QeQDauIwPzlt62gSvEZi JsXXsRb4xwWWH7m4Iz6Re7UXsG5qr1R2p2t8rS3/sD9wxu9xa4aytHZtHoI9buANO6rCQv/wkYh gPTiYvc1Rw81n1c3aKq8ZY6MIocY1GuNL0vgReERAIwFHUnpTB7dr6Fs5hQ9PblzQnYbc6hAp0g c= X-Gm-Gg: Acq92OEenHu92NBzPN1Q2BZmkMPXu1/YWK41GVT3ZHbnvpR99aaTlTxa048JBmXBvyi vUrg6MRPXAbE/+WdnLruCGyVRT81WRJkW0rHm2q4D+3CNU/eJg9dAjQjsgR0pFr2LIOAtLEFoVR k7IC73qZ13HTlgdVJx+nb6BNEQQphpURdpHWi/9gSfXyMueJGUxgNicS6p6DS81i3ghYEFxBXDN W6zyyylTMtLmt6vEtj2nQmdLoUzCycntdVAmzezDkAjsOxmz/tvD8HE+ADOBMODsc7liCgw/Epx ch0qwtzT3SRQhHzRok69uCfnO/9EJgoUza/1voSzVVtSyV3EkuGlhgQ6BbmveuS3x7MDhkM/RCM veK9KFZ6FK8v8CpmcVCYPmXhF6LLloTa3zHiSf0vr8NEWNqvODgD+oswkWrQaB1pt/fXXQYPjVi ii9MavZ3F2Kg== X-Received: by 2002:a17:902:ea01:b0:2bd:d7b5:83ed with SMTP id d9443c01a7336-2bdd7b5879cmr77644995ad.39.1779153394800; Mon, 18 May 2026 18:16:34 -0700 (PDT) X-Received: by 2002:a17:902:ea01:b0:2bd:d7b5:83ed with SMTP id d9443c01a7336-2bdd7b5879cmr77644755ad.39.1779153394333; Mon, 18 May 2026 18:16:34 -0700 (PDT) Received: from hangtian-z2-2004.ap.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5cfe49a4sm151727265ad.38.2026.05.18.18.16.32 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 18:16:33 -0700 (PDT) From: Hangtian Zhu To: tglx@kernel.org, jjohnson@kernel.org Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RESEND PATCH 1/2] genirq: export irq_can_set_affinity() for module drivers Date: Tue, 19 May 2026 09:16:26 +0800 Message-Id: <20260519011627.713068-2-hangtian.zhu@oss.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260519011627.713068-1-hangtian.zhu@oss.qualcomm.com> References: <20260519011627.713068-1-hangtian.zhu@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Authority-Analysis: v=2.4 cv=VJPtWdPX c=1 sm=1 tr=0 ts=6a0bb9f3 cx=c_pps a=cmESyDAEBpBGqyK7t0alAg==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=DJpcGTmdVt4CTyJn9g5Z:22 a=EUspDBNiAAAA:8 a=h_boC3gFLMGeuZepMsQA:9 a=1OuFwYUASf3TG4hYMiVC:22 X-Proofpoint-ORIG-GUID: zzNytKXPoyOJ_rxOYoyWmi-oQlYSeAQz X-Proofpoint-GUID: zzNytKXPoyOJ_rxOYoyWmi-oQlYSeAQz X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDAwOCBTYWx0ZWRfXxNzfOVanx6vq wLGtsGai9UX4wlM1DI5F4SQP8HS0US8Di2//EeHlNlAtH75xA301heXUvDrmAUJMonjbnr6xBph U5cmN7Y4shMB9ETFUkQ68QHRAzkyUeajW4g8EL9l4Au4tFJzWdun9Z0AuKX4qdLF84O+Nie1Tcf EaLUhq0pL5WyfFkFP3sjThzyN3ol18t7mECbA+ykdz8oTlEEvNb4nNhzsAre1NJPUUv8m55d4Qv QcbPlhC+ruofKipgBdfmBq2leFwDhxo7hWYUZA6WpiFCTaweXA04ciQzDrjvIgpmDT4Bh/iAGhc XPIVfXwwuOtCdqazMOA7UUqkruDxTA+MA7fvAWrcW10Pl+tQWwzoeN+KgUYECX9WSmUqItvbDaG IvVzxnXw9gOoWYMODRTe/kVBE6Vpf+JUVbVyqiahy0fuaPfppUKAQr8hudWNmHxRtY41r0a417l Tu4HifesLyiNVPm1hIA== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 priorityscore=1501 impostorscore=0 adultscore=0 malwarescore=0 bulkscore=0 spamscore=0 suspectscore=0 lowpriorityscore=0 clxscore=1015 phishscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190008 Content-Type: text/plain; charset="utf-8" Export irq_can_set_affinity() for loadable drivers that need a runtime check for IRQ affinity capability. In hierarchical IRQ setups where the effective irqchip path lacks .irq_set_affinity(), drivers may need to switch to a fallback policy. Without this export, module drivers cannot use the core helper and have to open-code equivalent checks. Signed-off-by: Hangtian Zhu Acked-by: Thomas Gleixner --- kernel/irq/manage.c | 1 + 1 file changed, 1 insertion(+) diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c index 2e8072437826..c3aa33ef4be9 100644 --- a/kernel/irq/manage.c +++ b/kernel/irq/manage.c @@ -171,6 +171,7 @@ int irq_can_set_affinity(unsigned int irq) { return __irq_can_set_affinity(irq_to_desc(irq)); } +EXPORT_SYMBOL_GPL(irq_can_set_affinity); =20 /** * irq_can_set_affinity_usr - Check if affinity of a irq can be set from u= ser space --=20 2.25.1 From nobody Mon May 25 04:35:59 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 3C1B92609DC for ; Tue, 19 May 2026 01:16:39 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779153401; cv=none; b=VaO5swCeOvVWprZptYw3SSB54LbSs2uZnFC3/mO9h0uadbSJPEtS3ATt6IReEf3d9hjhF7QZRK3oqG9F6HOWY8cQaIgDsYFrSVqzQ26BkCncr0UcwvPz3R21No5QLFopEJ3g1jZqzm9ctKb3DxpwXyUCFpZRlLCFFOUjmis4HEw= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779153401; c=relaxed/simple; bh=i35RztO7R7E/jr8HG99R3xuekBUX3BIyeCnh8bKifaY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=Y9BwRluyj/cotCMU05DQod3z7/gSp02s9O9BrJUfNaCCmxd6zWNvKTmRyQl8P6V22yv1RaVzhDHMVjUP0XeoYxAMRaSFyNvo59kP6KIWMoQ1YisGP1nEgofWqM/3qOEVwY05M82ZpD0JlgilZCRgJIucGNyZiwn8FeGCBlA5Rfs= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=VNKsHQU4; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=Rp6W5vDw; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="VNKsHQU4"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="Rp6W5vDw" Received: from pps.filterd (m0279866.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64IJKQ4E1251662 for ; Tue, 19 May 2026 01:16:38 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:in-reply-to:message-id :mime-version:references:subject:to; s=qcppdkim1; bh=QeEKpg4+swA NGEXGj1FSmAom3Yj6pHYjgmmzTryEFr0=; b=VNKsHQU4zJm5EWQw34EbTAUXOBY UHt3VF69O3lhmzEQ0CHVLtIon8QOgeUw9lmTpbH8y5fY9gqSAinepXCB5ARxpXkW RofDFOBiV6uzCFSFPz2IfvKbSwlpdBpvgeTPfoqScF/mhvDoLk6Pl9rvEuXU5C/p j+TsarAgeb5unkDAL1Dd1clykBJp/hVv6k7p89SWvol8p222m1EWhL0c7aaEVq+S dLtnISzIFaBT/DfhUn1Uc2GRa25YRxBflC3+s/9Ft0g66Oxm0cW04zL+/SsbkXVi k39hj3Nq5HL+VveprkmNahMqYSS8CNCeosNMeuqE0YSDFCIK1Ny/0sLewiw== Received: from mail-pl1-f199.google.com (mail-pl1-f199.google.com [209.85.214.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e82c0jq37-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 01:16:37 +0000 (GMT) Received: by mail-pl1-f199.google.com with SMTP id d9443c01a7336-2baf7378ad0so32314855ad.0 for ; Mon, 18 May 2026 18:16:37 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779153397; x=1779758197; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:from:to:cc:subject:date :message-id:reply-to; bh=QeEKpg4+swANGEXGj1FSmAom3Yj6pHYjgmmzTryEFr0=; b=Rp6W5vDw00G5YPLpSMOnQnRpoZv9HgNHolamKTcee+aA8tFgp2HWny4T86vFrO6nzr E31jODXPWz7u9xTkTL+6CYOqyyqXrlNaOB+D08B2qzPOhTDsjde486GK/XvzFU4rOWc2 ax0SaojdEGk7s1oUEX5upUeM0mGnCbfqQl31VbwfD+RWLkvkZDPBQU8Y/f085HgUST+x SCamayANLx1bGJBT/okhmJ0dkwRGOQRoBdOXOFSq/z1bGeqe9vwVoac0uK3j/KLsaTKD +2flQRGdqBOxN2FNh6PXfcbf3vdikEqV2MNygpAcUZPGmgV2mdD1T8N+qOs12/MwxdAp Kstw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779153397; x=1779758197; h=content-transfer-encoding:mime-version:references:in-reply-to :message-id:date:subject:cc:to:from:x-gm-gg:x-gm-message-state:from :to:cc:subject:date:message-id:reply-to; bh=QeEKpg4+swANGEXGj1FSmAom3Yj6pHYjgmmzTryEFr0=; b=n+kR/ugD47uhy+CrXaTbRBByYIil3neSDZdwN4WrMQOKOfEW2IzcNDysuAXdWF+ilU yGE2VnBgVxyz0H9QX0Ur0PVt7Zdb71yMeXck5LKevd1gR+G3VtSikMyRq5hqRlqyD+Sr UsZOhc//dDjOc1YRgg0/Rnys9lpR3+SmyPdTdbp3kXi2DNQ52MQAOgIz6laiaPiUWn80 oRR8Wmw7sGac1LzWVnDn9ae3Dj1igq3P4jgqyANddT/mCzOR5jm7YBD/K7Cky+0JwTjT Lx8h7CQWn4kw1EmYZ3LfYR7EZlGRNxojUF3/9HN39busWnXDzqC94y628oeHkr1kCC39 QYAA== X-Forwarded-Encrypted: i=1; AFNElJ8Eq6uRs532JKyTWxg5/pImcAhMy1aQ9hQ87MJjRQvwafKJTGVciAVrTrHhZBoh4ccNOExh+sWpkj5cVFA=@vger.kernel.org X-Gm-Message-State: AOJu0YxGOhh8sy6JUzZqSyZfxnYNYJoMABborKElKaP0RObZoGkQ3m5n 61HUEkTorB4Qh4mhQs/BfQ/VXl52u5ZblROeUfXcb1xaFUETsxIlHpy4DWht2RGhv5wfvMlJKD4 WV6qp7f50KrnfPtKro9XRWRNAWwagf6J08C0uCxn0cfr6sh4SHOqT1/y1yb23wTSaRxM= X-Gm-Gg: Acq92OGh2BhzVVcJOa8e9j2Er+dj2pe0wm02I+D+fCZVFvpFianYYyHBfMo0WmQ3z9R 4GgU6FPCVuEH3iwNk6ab0iIt/3IbhkAgkWuajs/tMJBwc9hubow5B/Jy1QKVt2Xcr1tsAteb7rj trvtf/P1OvglLglDpm4Lg2X2Uj+nxozO2YDXqe20JHYz5I5TiTkxbtufRwNJlYkgpEg8xLiaFHU FuURsSxUWBkjNJ1EpG+ANypZouvUXTfs1TOzAMsGoie6/RpYUaP+PAdUpTBaogRTbkAjDSmGAFN GYfl4aMe21OVClY7KsJ5Jr89QEs7GFCmtyJwiuTcfB7o/3qaEG2rx+3gnoO59+GpTPLw5i3dw0E GKt8QxzOvaSKOnmptbhIljffIvkXvZGpm6DAfAzLX3R6V7wbzQtGv8dAtWzkcAgDrD+Lcu3Djla kRdp2QOzy73g== X-Received: by 2002:a17:903:3d52:b0:2b9:f55e:1c1b with SMTP id d9443c01a7336-2bd7e85fcacmr132809615ad.5.1779153397098; Mon, 18 May 2026 18:16:37 -0700 (PDT) X-Received: by 2002:a17:903:3d52:b0:2b9:f55e:1c1b with SMTP id d9443c01a7336-2bd7e85fcacmr132809395ad.5.1779153396637; Mon, 18 May 2026 18:16:36 -0700 (PDT) Received: from hangtian-z2-2004.ap.qualcomm.com (i-global052.qualcomm.com. [199.106.103.52]) by smtp.gmail.com with ESMTPSA id d9443c01a7336-2bd5cfe49a4sm151727265ad.38.2026.05.18.18.16.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 18:16:36 -0700 (PDT) From: Hangtian Zhu To: tglx@kernel.org, jjohnson@kernel.org Cc: linux-wireless@vger.kernel.org, ath12k@lists.infradead.org, linux-kernel@vger.kernel.org Subject: [RESEND PATCH 2/2] wifi: ath12k: enable threaded NAPI when DP IRQ affinity is unavailable Date: Tue, 19 May 2026 09:16:27 +0800 Message-Id: <20260519011627.713068-3-hangtian.zhu@oss.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260519011627.713068-1-hangtian.zhu@oss.qualcomm.com> References: <20260519011627.713068-1-hangtian.zhu@oss.qualcomm.com> Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDAwOSBTYWx0ZWRfXzEEA5Lw1QAyt UkhuNlWdCSXqL5n7gqEQVWot5/SUGWTTIORLtLJ0l8H5Qdgk4p5ra3FoNU8ulr0yPLOpn8vjkKm PuGZkmottzskheITDWbdmDpeUPErs/av636WVWBr5l3vKz5Ojn5xPxNojTCNPx1GL2EnG56qdm4 QG4Lm3wnKI8h6YRwrSpWsjrfBWMdKjoX0bujFwHGCXcnk9ka7wprhT5Djb6vnRgrap9hzqLfdcx zTlQC0/7uPui+rnNuvIrTTx4XayrZQUWRqa+6xzcxjM85sonUBf8p4mCKyMJZFbRXm/0i5/4n6u P5Awo8aNJSPilE57rph9ti46HwXqPPrLyzh70bDcszb+sD//+Ca+7oEgsFP/m4VsejDhsFYjgxB qRel24x5HvtRu9glaw6VPYfo4lUUok69da7MJmDbo+izGZpVSyQqQux1CgDi7Fg2Ib1eFhhKGT1 NmIsKTHJ0nEFNDeomxw== X-Authority-Analysis: v=2.4 cv=A5Jc+aWG c=1 sm=1 tr=0 ts=6a0bb9f5 cx=c_pps a=JL+w9abYAAE89/QcEU+0QA==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=YMgV9FUhrdKAYTUUvYB2:22 a=EUspDBNiAAAA:8 a=--8x25ClVUTr5G9MgJQA:9 a=324X-CrmTo6CU4MGRt3R:22 X-Proofpoint-GUID: pkf0oGlJMjfCEc4ra-mL8Hibc3FQEOeu X-Proofpoint-ORIG-GUID: pkf0oGlJMjfCEc4ra-mL8Hibc3FQEOeu X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1143,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-05-19_01,2026-05-18_01,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 suspectscore=0 phishscore=0 spamscore=0 malwarescore=0 impostorscore=0 clxscore=1015 adultscore=0 lowpriorityscore=0 priorityscore=1501 bulkscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2605130000 definitions=main-2605190009 Content-Type: text/plain; charset="utf-8" Determine threaded NAPI policy from runtime IRQ capability of the DP MSI IRQ. If irq_can_set_affinity() reports that affinity cannot be set, enable threaded NAPI for DP interrupt groups so datapath processing is not constrained by a single-CPU softirq context. On RB3Gen2, where IRQ affinity is unavailable in the effective IRQ path, EHT160 UDP downlink throughput improved from 802 Mbps to 2.58 Gbps after enabling threaded NAPI. Tested-on: QCC2072 hw1.0 PCI WLAN.COL.1.0.c2-00074-QCACOLSWPL_V1_TO_SILICON= Z-1 Signed-off-by: Hangtian Zhu --- drivers/net/wireless/ath/ath12k/pci.c | 11 ++++++++++- 1 file changed, 10 insertions(+), 1 deletion(-) diff --git a/drivers/net/wireless/ath/ath12k/pci.c b/drivers/net/wireless/a= th/ath12k/pci.c index 375277ca2b89..065449806ea9 100644 --- a/drivers/net/wireless/ath/ath12k/pci.c +++ b/drivers/net/wireless/ath/ath12k/pci.c @@ -5,6 +5,7 @@ */ =20 #include +#include #include #include #include @@ -537,6 +538,8 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base= *ab) int i, j, n, ret, num_vectors =3D 0; u32 user_base_data =3D 0, base_vector =3D 0, base_idx; struct ath12k_ext_irq_grp *irq_grp; + bool threaded_napi =3D false; + int irq; =20 base_idx =3D ATH12K_PCI_IRQ_CE0_OFFSET + CE_COUNT_MAX; ret =3D ath12k_pci_get_user_msi_assignment(ab, "DP", @@ -546,6 +549,10 @@ static int ath12k_pci_ext_irq_config(struct ath12k_bas= e *ab) if (ret < 0) return ret; =20 + irq =3D ath12k_pci_get_msi_irq(ab->dev, base_vector); + if (irq >=3D 0) + threaded_napi =3D !irq_can_set_affinity(irq); + for (i =3D 0; i < ATH12K_EXT_IRQ_GRP_NUM_MAX; i++) { irq_grp =3D &ab->ext_irq_grp[i]; u32 num_irq =3D 0; @@ -560,6 +567,8 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base= *ab) =20 netif_napi_add(irq_grp->napi_ndev, &irq_grp->napi, ath12k_pci_ext_grp_napi_poll); + if (threaded_napi) + netif_threaded_enable(irq_grp->napi_ndev); =20 if (ab->hw_params->ring_mask->tx[i] || ab->hw_params->ring_mask->rx[i] || @@ -578,7 +587,7 @@ static int ath12k_pci_ext_irq_config(struct ath12k_base= *ab) for (j =3D 0; j < irq_grp->num_irq; j++) { int irq_idx =3D irq_grp->irqs[j]; int vector =3D (i % num_vectors) + base_vector; - int irq =3D ath12k_pci_get_msi_irq(ab->dev, vector); + irq =3D ath12k_pci_get_msi_irq(ab->dev, vector); =20 ab->irq_num[irq_idx] =3D irq; =20 --=20 2.25.1