From nobody Mon May 25 04:35:34 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 D2FAE29B781 for ; Tue, 19 May 2026 01:08:07 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779152889; cv=none; b=ojfHA/99jrFdh/y8h080v2dqXtV7OSTOazWj4HkQxeB1tjQuUv+HKusgZXqC1I1L4YAAkpMb/WuDmTQ9zVBpJkjeZECQ7TnHGlAUM2WvGymPjNkHhdy70cl6dF5Y3xHEwbdYYJHRxp3f497uGt/QtOkwJAyyyKMKlwvbsN5Eg2A= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779152889; c=relaxed/simple; bh=+rp6gvMlHIRoz51YZ9zaqACx88D664H1vCrpLGKZLzY=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=VS7SalNjeeFo7eMfgkBVKpLw9k838w8dBK9OVTF5xxtgridzWB4Oo3Pn/pGAdykwtOSz0ZcpmBfWYtjtWXmEW0yV/HmvqFVY4qzZsLQ9gUF1diZtu6iNZVcIW19r7wCwZoiJw9HynYBPL9rDxIhX6PCCp7Rkzszev9hPiVbnxq0= 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=bAH7mkvw; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=QsOYSBJn; arc=none smtp.client-ip=205.220.180.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="bAH7mkvw"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="QsOYSBJn" Received: from pps.filterd (m0279869.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64J00JnX353033 for ; Tue, 19 May 2026 01:08:07 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=X9HmXD8It3z OIVPJa6MlBya8ryspjm9ncZa5MieYLs4=; b=bAH7mkvwJJk0C3CWufg2av+kqmu u2ogO5AhMvgKaWGXHF1gaMnRmsizlhdCDVCuC3dpbVNv/JWZr3XoyJ10/MYcJhLF bPD+4lxha9YKcOO7vazKuNkyzfjzxyCZpohpFKidHGsmGfiaMNfVhY9OYpv86lCp Mk9ftcxw3T4NnHTMPDpVPC9FbT5ceD6DmTCZM1c5Ouha+rKJiEXYfVsGuGYJ1G3D HJ9Vq9JVC291W+S6I31bUZNJbfSrcxnxgwBO6dV5wP1Wz/nelwCdR6aC5XnCpNDL 523qf9XR3NwKf4b72gmK7sdFHdJyJzjO9oWPNMpWi+11HaX1+XBlWI2YY6w== Received: from mail-pg1-f197.google.com (mail-pg1-f197.google.com [209.85.215.197]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e7xjaknvx-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 01:08:06 +0000 (GMT) Received: by mail-pg1-f197.google.com with SMTP id 41be03b00d2f7-c8291230235so4724989a12.2 for ; Mon, 18 May 2026 18:08:06 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779152886; x=1779757686; 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=X9HmXD8It3zOIVPJa6MlBya8ryspjm9ncZa5MieYLs4=; b=QsOYSBJnA7xcmGU5TBOwE8xRvhtb0GdGa374ESMV7qc+Aihjaj/YyC9GJM7+b8HMVZ e/xCxZ7CoqCkXUZ0enSnjOYO1HYLvt4C+LSQBS6nUjCclMD4pBxuB4uSiX+r+wH1+Wic nzFLqO5IdTnNz6wF3PDrVDrzyveirYTKdGl6nKinBVMDLMibNhj0ixaLjbRrFuLDwGBI aixiOzLHl6ng1n5DQLz1JijoQlnsmvO4Z9vICRMUBdUHbDWBuAnLqfG6Gwvg3kOjo9/y 5N8W4LIiN0R9KF9gNPEc34pQEPQ8nAdSiPXg7XmnfR+krQFoNdrgi3Rq9KcRgROoWODe BFsg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779152886; x=1779757686; 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=X9HmXD8It3zOIVPJa6MlBya8ryspjm9ncZa5MieYLs4=; b=KlvKbuD3U6C+w0PauwodUFNlTg7qPaN2DKLRZ+R0DdHHH+dZg8OAgSvZj+Ngndumgy b6EFrCcXDYMbDO03Pb3UdTYzzW/lHF0jyBe5PpPxRaer7Weg7+lf1RgWpsDVWVIECUo4 HqjEoZI3toDYA7ojgQ+GRQJ5DhOEu7HbHzymrOu3vILkORoXYaZqa18FAlCqYnDycz7M QtKi2D6SP4+k3nKAii8IbFY4B7X5VMYgfSkTfHwiGbNMYQBVhMP28hSyxUkBvIGpEH5n Bekq+bQeDT/hvtb+XYXk2QXwskrfpthLJWFm4Ft+L+nP4JlIif7IU44vbPb9ncSRYYJP Zbrw== X-Forwarded-Encrypted: i=1; AFNElJ+Mrlui4cjeUWgPHc9kWmSrqNkaiKgvy0rA0C47Ocu5+0qWBMpWlMwiXFbqKqs0rIEpH6/IwEzeL+7g92E=@vger.kernel.org X-Gm-Message-State: AOJu0Yyj6YsW/xJL4fBY60+sbMCm4qGkiI7tDUkpHAyMVlcjlcJVpU86 DFRy07TgXNJP+rj67KVNMQJ1kf5VlCJhnlkFjjSswy8hXJ5L7yibvHwWEqysEKbsDL5pT0jFeD+ KbAczBnTrG3VPYmfMMLEX6e8i+CtGs1FqI4Avt0ch/8tGhc1v4octqCb+PxsgA2AoHxM= X-Gm-Gg: Acq92OHOuuqfwVRR0s1VSjSHkHfUK1HR+SQRvePvTeRy3tCJw3kHK/l+jswsAlpPs7z n2y8Cpxcx1LZLrjDVK+/ZsCcO8oYPqa0e/Mu9ir+1mD+ODALpnEyMmyOsXMboBGeLabeB1QdAA+ THS4sfNo8CGagNRVO3zqnLIcJ1zoLAxqxhziesIh+HWNfMDGrkD22QgLThDWSSaHTGwiXDYeDDu /kShD2/GGVCA+1+lm2zFL2h/FzXHj52U2dsAry0fTQ46Cusdlsot86muqYjp3x/1HnTl+BriTs4 98u+JS/VhWImdUrgynYEOPJwIx2EGSjuvNqxeBTvB3VXKF7CS20VvZumoR4doBZGnS4EBRorbaT rYHIyiWCcZyGHbuGzUoQArbUYaYRjItTv7HrrupgTj/LNX+BuXxEsv4RBhnTS/DzOjcQyp7LkZr 39fXHn X-Received: by 2002:a05:6a00:4193:b0:82f:a6bf:bee7 with SMTP id d2e1a72fcca58-83f33d0d040mr17751394b3a.49.1779152885747; Mon, 18 May 2026 18:08:05 -0700 (PDT) X-Received: by 2002:a05:6a00:4193:b0:82f:a6bf:bee7 with SMTP id d2e1a72fcca58-83f33d0d040mr17751368b3a.49.1779152885236; Mon, 18 May 2026 18:08:05 -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 d2e1a72fcca58-83f1942a83fsm16196793b3a.0.2026.05.18.18.08.03 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 18:08:04 -0700 (PDT) From: Hangtian Zhu X-Google-Original-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: [PATCH v5 1/2] genirq: export irq_can_set_affinity() for module drivers Date: Tue, 19 May 2026 09:07:57 +0800 Message-Id: <20260519010758.712297-2-hangtian@qti.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260519010758.712297-1-hangtian@qti.qualcomm.com> References: <20260519010758.712297-1-hangtian@qti.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: AW1haW4tMjYwNTE5MDAwOCBTYWx0ZWRfX4W7RpffHZVbS j2zsmnaI1iu8h8e1rIqPp+Rz2MgCXtf74YKiqbPGV6+veBQWFfOsyHEMxS3dJyMBRVAr+t+bvwH HKlRwRM2LaGJyCbF8UKyaFyXwKKuHDmzruFPIW5oNyeqPxQ5xUy/ywMqeynPul3Zpu775sHiDsX rEKCfJPFlpy9tGcD7AVdtDl3FTwJDLz38eavruDW4WrGVdrP7RXqzPdDBM6Y7RV1Oy5h4iul8qN vS9N5LhixD928tWKH911EMaVlaINyJKa0EXCUd9AK80rLqS0X8hThtJgorX+VhQZTahOtAKEjft P6Z6pLxJ/hGbend3vtihp39KphYA24+44xVoipO3efWfKoY9Nw3rTZeupPQIBQkzYuOgPZpboNc xGS8s5K4aBKF8YZpTEB+mY4GFHpJXos41KOP6FND6GeVgc5e4N16NVs9khoJ9bYnyVz7Z6KOFKd 12Bs72w2YHL5q67zWHA== X-Authority-Analysis: v=2.4 cv=BYHoFLt2 c=1 sm=1 tr=0 ts=6a0bb7f6 cx=c_pps a=rz3CxIlbcmazkYymdCej/Q==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=_glEPmIy2e8OvE2BGh3C:22 a=EUspDBNiAAAA:8 a=ncsClcd2Rt7TSDcZb1cA:9 a=bFCP_H2QrGi7Okbo017w:22 X-Proofpoint-ORIG-GUID: rw3S2NmY4ofcPkT4YNrqb8HSq703XGcs X-Proofpoint-GUID: rw3S2NmY4ofcPkT4YNrqb8HSq703XGcs 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 adultscore=0 suspectscore=0 priorityscore=1501 bulkscore=0 spamscore=0 phishscore=0 clxscore=1015 impostorscore=0 malwarescore=0 lowpriorityscore=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" From: Hangtian Zhu 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 --- 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:34 2026 Received: from mx0b-0031df01.pphosted.com (mx0b-0031df01.pphosted.com [205.220.180.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 BA0C526ED4F for ; Tue, 19 May 2026 01:08:14 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.180.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779152896; cv=none; b=DkZ0fKdh4ObEbsIAiS5gNExvC0nC0SPC1j3TjxKegGay9q3nf7sJ1oVx+AAZ4+ZlULWFN6AiFZwQcpH3Kfra6URpPn3Z+u80syLlwjaOew/5PNtutuErYEadnVDKn4Hhs/1ELb0J82xdHtLtnZOVaQ11NgZIEsYc/d0sVyakoW4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1779152896; c=relaxed/simple; bh=82W8X6WjVvgxpwWmaYIi3oqMBM54+IJiysY4Vvipr1w=; h=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References: MIME-Version; b=A3U74Pj1FiWy+kp/hV/L1mq2Eg32ajYbD/3RwSbSCRSKV31zfh5UDiaiVQKGoM9foP6WFVGrVBrYqUIRHShALwsq92mwq78UdvAKY47C/YnIPq5Blu+jJGR7QU0u3I/5aAuhRPU40EbUNbkGKIl6ImWSQsPASVEL2gv/MPDGvsg= 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=IkdTOtGf; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=F1nHeZMC; arc=none smtp.client-ip=205.220.180.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="IkdTOtGf"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="F1nHeZMC" Received: from pps.filterd (m0279873.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 64IHXO8W2083007 for ; Tue, 19 May 2026 01:08:13 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=80wE/aXvl5M YFDgaTLolK83rI9KtsH8kzvD/cz5hbtU=; b=IkdTOtGfdHWRWN54iOF3gKeMkql bn2SF4JvZER6PAKMmkzjGqVh88clRv3SQk6gy73OD3m2q88qWjInhOEWyZw5/qU7 NoupC7M4wpJpw0iwYssX5HHyqcJW5mUeKb0bgvqCaETUKkUmD+HXJqa5jLnAPDGm boNEcL7HNKd9YZkL3pJcZTPnDLTMv+yvj5uAKl0WTO54r5lvVeGKXrFUxRIUcYX7 poklcA4KL+iOVpxO4qb1xvkmR45AsInKHshpts4wk3MwO15ASW0m/rjv81Daiv9T Fv95/ZvrWmpScA5U5OCBwK27/WQBo5bFqvh+EVdlWv1k66YuTNsz7Txzc2A== Received: from mail-pf1-f200.google.com (mail-pf1-f200.google.com [209.85.210.200]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4e81chavnq-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Tue, 19 May 2026 01:08:09 +0000 (GMT) Received: by mail-pf1-f200.google.com with SMTP id d2e1a72fcca58-82f6a5b4f88so5080211b3a.2 for ; Mon, 18 May 2026 18:08:09 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1779152888; x=1779757688; 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=80wE/aXvl5MYFDgaTLolK83rI9KtsH8kzvD/cz5hbtU=; b=F1nHeZMCav3FNiJi2ya2Jx6hdWKvAQO/L8jJtw73DBKUOeeFR99pU4lGOZwrDKVkyj CfK4TAxzi9hp4UmQZtiaxJ2VpruMWdKcKRTpmoOj5ShngONBpIkOoIjfUfIRo5wLMn76 ETYSKr5Sk76WrCeAp6B+IIl2JFewgK6yFwVrD4euudEL4A5pzW5G5bZGxv+jLq8R0MZp 0/Nv/BKZesCRh4qkXZp6JQHDvalLJ0MTRSQfGnKaWLfcq4w2M2fbEQ+Du4NGJAhOLQKY 05jZIYpxOWv5tVbE9C1I1PQean2IoO6gwTkrUJAD7SAQUSicKvsVGClOrC2XUIXGMDu0 QNVg== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20251104; t=1779152888; x=1779757688; 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=80wE/aXvl5MYFDgaTLolK83rI9KtsH8kzvD/cz5hbtU=; b=U6vpQJq5KryAq8ubF10QNlJt8mWMVjZ9kTPdNnZTSqTXc4LkmFxxANLxzCHJ2uU+BT k3pHIz7qRBpCeUdVMyou+1CnvBCq4W3QrV45bI3FSugN761ut4rBvsiu3HtA4MW8AM3Q nozw6+82GWEU1ET0eVRHY2auo71NPLsHQNVMXwM4zpYPolDcTlLrzYk9to322ku9Zikg YKnEJQ7OGpPeQLQK8B20FlKgPaAd8obDRI8rFpfEQR/pL8dcN8SyRlZMsYFYhpd9zeLv T5k6tCC9NpagsY3HbmeYh/jM3S4LkcfPZUVgr9rmx6x3Mp+Q9MgbQmY0jAw9/sm3yRoY FJ5Q== X-Forwarded-Encrypted: i=1; AFNElJ/CWsaDOJrUYLGAJMp3YDJFT8nr8P59/hdSrcza7J/6mdQ8t1yGDLP3VFiCiQOvpa23Dd5WQ75rPIZKB5c=@vger.kernel.org X-Gm-Message-State: AOJu0YyXGlU6XpG9ADK2wtsknfAiQl0UdoXer3XIEHh2d+HOQRW+Mw+v dmKi2KT82f4JKeLktqyx9fY8tpSZM7eA/zo8C1INEmSGcaUp0exUAiFCy/rlrDmV9WLSP+EMYdz c/XgOWDzRUZZB7DKYcJWAqmGV9KvxQV9g+zOrcVhHbt+AWalNSh8L9B0M4vXgKbDjLBo= X-Gm-Gg: Acq92OFV5e8TtdHPDiQiMBtLZJlECaBcvm0WiH+cyJ7Viqk43tLNGF8ctkZpw7lo/l/ BKkS27uaHxnSrxAEimgY/VxsO2lGcZhYXbiFJ8uT/sy4ku2DZt1UtSd+GK/34Gm4uhZq/P5SZMv H52ew90d9C8qr6nT5sa2rKyWVQ0IFum95iJ6AlQD75SMw+84cOxLnWzxexJRxY47mkkeYV+u5I9 1CL1J8resO+8xof537OY+Qm3xZcRBDFz2zwY8EL0Goxsz96dAsbDpijoZkMUeQY0nulA54Vk5xG APUbA2FYVgEl3/dmqKjZOtohlICG0glr+0ZRdlRMPfOQd4wnRVSE14oyqSuwWUH8VJfJNdXkJxx 3tS5ep1YV5mM3e5ef++HJczzO2/wbSD5odx0wSjIlH6u1cDX2R2hrPftstCZ8/a/xg+nG6CJWIO RTjogU X-Received: by 2002:a05:6a00:4c0e:b0:83e:d52c:e6bd with SMTP id d2e1a72fcca58-83f33c9bc80mr17854602b3a.38.1779152888237; Mon, 18 May 2026 18:08:08 -0700 (PDT) X-Received: by 2002:a05:6a00:4c0e:b0:83e:d52c:e6bd with SMTP id d2e1a72fcca58-83f33c9bc80mr17854572b3a.38.1779152887710; Mon, 18 May 2026 18:08:07 -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 d2e1a72fcca58-83f1942a83fsm16196793b3a.0.2026.05.18.18.08.05 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 18 May 2026 18:08:07 -0700 (PDT) From: Hangtian Zhu X-Google-Original-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: [PATCH v5 2/2] wifi: ath12k: enable threaded NAPI when DP IRQ affinity is unavailable Date: Tue, 19 May 2026 09:07:58 +0800 Message-Id: <20260519010758.712297-3-hangtian@qti.qualcomm.com> X-Mailer: git-send-email 2.25.1 In-Reply-To: <20260519010758.712297-1-hangtian@qti.qualcomm.com> References: <20260519010758.712297-1-hangtian@qti.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=a4MAM0SF c=1 sm=1 tr=0 ts=6a0bb7f9 cx=c_pps a=mDZGXZTwRPZaeRUbqKGCBw==:117 a=b9+bayejhc3NMeqCNyeLQQ==:17 a=NGcC8JguVDcA:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=u7WPNUs3qKkmUXheDGA7:22 a=rJkE3RaqiGZ5pbrm-msn:22 a=EUspDBNiAAAA:8 a=--8x25ClVUTr5G9MgJQA:9 a=zc0IvFSfCIW2DFIPzwfm:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwNTE5MDAwOCBTYWx0ZWRfX5ZGCcUh0wudA D8YwI5PvID5Ddv5SOma8lhxEQJg8nQwbi+UQg8TWx1pi0/5qd6hhFio0d56prTSVjXWgtYWr3pc FM7NoZ7/e3I5qNpwycbwleWjx44UU4DIBn/IF6bGgprjEQmPK+tEkWhIV72X31z+OBmi8vx25Ue W16hGHs5ToPgZ/Jc4Q1CZpPoUhbR3dxmAStGDBTpJcU8D2kxWmhEA+ooeZdnSEuAkMPWT55ZQmi wGKarV5PHTTDBl4d/JK2gajWJfoBS7rTHH+0YLBNrxhkiifyi5E2zzdvKWHnlMiB3qPOLl6dzKP 9vZ95nO4UFAi8qCCpBNuAv39N1JiMelvXEa2ZhPeL/sSqKMztSrZ/vAyJGpJp1g7V8Hwk5IjuT7 U2oMlKJ52p8u15yGntBtWiVve8xGwPdjHAA3Ovynd8ICDfolCvKHb4273uBVNcwGnmu5J+Krb84 rk/veK6oXXIGvzj4VYA== X-Proofpoint-ORIG-GUID: XitKEeqqWR7MIczMFBmZh79waSHdr3LX X-Proofpoint-GUID: XitKEeqqWR7MIczMFBmZh79waSHdr3LX 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 lowpriorityscore=0 bulkscore=0 adultscore=0 clxscore=1015 priorityscore=1501 impostorscore=0 suspectscore=0 spamscore=0 phishscore=0 malwarescore=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" From: Hangtian Zhu 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