From nobody Tue Apr 14 14:07:43 2026 Received: from mail.loongson.cn (mail.loongson.cn [114.242.206.163]) by smtp.subspace.kernel.org (Postfix) with ESMTP id CED2223372C for ; Tue, 14 Apr 2026 06:35:05 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=114.242.206.163 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776148508; cv=none; b=mcayp02P/QgmHGmK0lcF9m/qYVTr0TzcXJPg5e2e/tNP8asjYSMX94lB5MAUJ9UmApLEdVzrN2aajaE9j/XVAuKDAATT2BdPc0GNJ4dKFdsjBKi4DftQq2Zu4714nEV9VNgdSjb1lyvo1r9SPLsyYwFk7DOFoANPiU79W6cxp+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1776148508; c=relaxed/simple; bh=5Upy9Isyn7Z0Ptc1XbzgaDsNctpVc//8+xCHjTF6cAA=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=SLkuOO+bs0OcB6NiDXQaIdcuXYvsVyA6Mu8lQ5GOxnEwTvS281OhkqZWvvkhb5MGFakYh1Ipv0JhRi6GdpqfNtPkYNRSQfe5oXxa7b1pc1RF0ZlByE7PqMpKpZkVvlBKwkcwMJN0cUYw5Mn+7r4MmoetTtjv3F0HcrRTYzDWrDU= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn; spf=pass smtp.mailfrom=loongson.cn; arc=none smtp.client-ip=114.242.206.163 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=loongson.cn Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=loongson.cn Received: from loongson.cn (unknown [223.64.68.8]) by gateway (Coremail) with SMTP id _____8CxnOkY4N1pX2cAAA--.264S3; Tue, 14 Apr 2026 14:35:04 +0800 (CST) Received: from kernelserver (unknown [223.64.68.8]) by front1 (Coremail) with SMTP id qMiowJBxiuAT4N1p5rNsAA--.49024S2; Tue, 14 Apr 2026 14:35:03 +0800 (CST) From: Huacai Chen To: Huacai Chen Cc: loongarch@lists.linux.dev, Xuefeng Li , Guo Ren , Xuerui Wang , Jiaxun Yang , linux-kernel@vger.kernel.org, Huacai Chen , Binbin Zhou Subject: [PATCH] LoongArch: Make arch_irq_work_has_interrupt() true only if IPI HW exist Date: Tue, 14 Apr 2026 14:34:50 +0800 Message-ID: <20260414063450.102805-1-chenhuacai@loongson.cn> X-Mailer: git-send-email 2.52.0 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-CM-TRANSID: qMiowJBxiuAT4N1p5rNsAA--.49024S2 X-CM-SenderInfo: hfkh0x5xdftxo6or00hjvr0hdfq/ X-Coremail-Antispam: 1Uk129KBj9xXoW7Gr1DAr4DZF4xCr4fJrW7Jrc_yoWDWrb_ua s7Xw48Ww4kXrW3Jw1Iqas5JasrCa1rGFn0kr1vqa17AFy5tr13X3yDZw1kZryYk3ykur4f Ca9FgrZ3CrnFkosvyTuYvTs0mTUanT9S1TB71UUUUUJqnTZGkaVYY2UrUUUUj1kv1TuYvT s0mT0YCTnIWjqI5I8CrVACY4xI64kE6c02F40Ex7xfYxn0WfASr-VFAUDa7-sFnT9fnUUI cSsGvfJTRUUUb3AYFVCjjxCrM7AC8VAFwI0_Jr0_Gr1l1xkIjI8I6I8E6xAIw20EY4v20x vaj40_Wr0E3s1l1IIY67AEw4v_Jrv_JF1l8cAvFVAK0II2c7xJM28CjxkF64kEwVA0rcxS w2x7M28EF7xvwVC0I7IYx2IY67AKxVW5JVW7JwA2z4x0Y4vE2Ix0cI8IcVCY1x0267AKxV WxJVW8Jr1l84ACjcxK6I8E87Iv67AKxVW8Jr0_Cr1UM28EF7xvwVC2z280aVCY1x0267AK xVW8Jr0_Cr1UM2kKe7AKxVWUXVWUAwAS0I0E0xvYzxvE52x082IY62kv0487Mc804VCY07 AIYIkI8VC2zVCFFI0UMc02F40EFcxC0VAKzVAqx4xG6I80ewAv7VC0I7IYx2IY67AKxVWU tVWrXwAv7VC2z280aVAFwI0_Gr0_Cr1lOx8S6xCaFVCjc4AY6r1j6r4UM4x0Y48IcxkI7V AKI48JMxAIw28IcxkI7VAKI48JMxC20s026xCaFVCjc4AY6r1j6r4UMxCIbckI1I0E14v2 6r1Y6r17MI8I3I0E5I8CrVAFwI0_Jr0_Jr4lx2IqxVCjr7xvwVAFwI0_JrI_JrWlx4CE17 CEb7AF67AKxVWUtVW8ZwCIc40Y0x0EwIxGrwCI42IY6xIIjxv20xvE14v26r1j6r1xMIIF 0xvE2Ix0cI8IcVCY1x0267AKxVWUJVW8JwCI42IY6xAIw20EY4v20xvaj40_Jr0_JF4lIx AIcVC2z280aVAFwI0_Jr0_Gr1lIxAIcVC2z280aVCY1x0267AKxVWUJVW8JbIYCTnIWIev Ja73UjIFyTuYvjxU4AhLUUUUU Content-Type: text/plain; charset="utf-8" After commit 7c405fb3279b3924 ("rcu: Use an intermediate irq_work to start process_srcu()"), Loongson-2K0300/2K0500 fail to boot. Because IRQ_WORK need IPI but Loongson-2K0300/2K0500 don't have IPI HW. So make arch_irq_work_has_interrupt() return true only if IPI HW exist. Reported-by: Binbin Zhou Signed-off-by: Huacai Chen --- arch/loongarch/include/asm/irq_work.h | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/arch/loongarch/include/asm/irq_work.h b/arch/loongarch/include= /asm/irq_work.h index d63076e9160d..63aee0335d1a 100644 --- a/arch/loongarch/include/asm/irq_work.h +++ b/arch/loongarch/include/asm/irq_work.h @@ -4,7 +4,7 @@ =20 static inline bool arch_irq_work_has_interrupt(void) { - return IS_ENABLED(CONFIG_SMP); + return IS_ENABLED(CONFIG_SMP) && cpu_opt(LOONGARCH_CPU_CSRIPI); } =20 #endif /* _ASM_LOONGARCH_IRQ_WORK_H */ --=20 2.52.0