{"id":1940978,"url":"http://patchwork.ozlabs.org/api/patches/1940978/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/patch/adbcde9034d752dcdbf90e995aaa14f85c33c9c3.1716965617.git.ysato@users.sourceforge.jp/","project":{"id":28,"url":"http://patchwork.ozlabs.org/api/projects/28/?format=json","name":"Linux PCI development","link_name":"linux-pci","list_id":"linux-pci.vger.kernel.org","list_email":"linux-pci@vger.kernel.org","web_url":null,"scm_url":null,"webscm_url":null,"list_archive_url":"","list_archive_url_format":"","commit_url_format":""},"msgid":"<adbcde9034d752dcdbf90e995aaa14f85c33c9c3.1716965617.git.ysato@users.sourceforge.jp>","list_archive_url":null,"date":"2024-05-29T08:00:51","name":"[DO,NOT,MERGE,v8,05/36] sh: GENERIC_IRQ_CHIP support for CONFIG_OF=y","commit_ref":null,"pull_url":null,"state":"new","archived":false,"hash":"4a08ce3e75fcdddf0d0c50e1f39bdb506eb5c7a3","submitter":{"id":7114,"url":"http://patchwork.ozlabs.org/api/people/7114/?format=json","name":"Yoshinori Sato","email":"ysato@users.sourceforge.jp"},"delegate":null,"mbox":"http://patchwork.ozlabs.org/project/linux-pci/patch/adbcde9034d752dcdbf90e995aaa14f85c33c9c3.1716965617.git.ysato@users.sourceforge.jp/mbox/","series":[{"id":408652,"url":"http://patchwork.ozlabs.org/api/series/408652/?format=json","web_url":"http://patchwork.ozlabs.org/project/linux-pci/list/?series=408652","date":"2024-05-29T08:00:51","name":"Device Tree support for SH7751 based board","version":8,"mbox":"http://patchwork.ozlabs.org/series/408652/mbox/"}],"comments":"http://patchwork.ozlabs.org/api/patches/1940978/comments/","check":"pending","checks":"http://patchwork.ozlabs.org/api/patches/1940978/checks/","tags":{},"related":[],"headers":{"Return-Path":"\n <linux-pci+bounces-7959-incoming=patchwork.ozlabs.org@vger.kernel.org>","X-Original-To":["incoming@patchwork.ozlabs.org","linux-pci@vger.kernel.org"],"Delivered-To":"patchwork-incoming@legolas.ozlabs.org","Authentication-Results":["legolas.ozlabs.org;\n spf=pass (sender SPF authorized) smtp.mailfrom=vger.kernel.org\n (client-ip=2604:1380:4601:e00::3; helo=am.mirrors.kernel.org;\n envelope-from=linux-pci+bounces-7959-incoming=patchwork.ozlabs.org@vger.kernel.org;\n receiver=patchwork.ozlabs.org)","smtp.subspace.kernel.org;\n arc=none smtp.client-ip=153.127.30.23","smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=users.sourceforge.jp","smtp.subspace.kernel.org;\n spf=fail smtp.mailfrom=users.sourceforge.jp"],"Received":["from am.mirrors.kernel.org (am.mirrors.kernel.org\n [IPv6:2604:1380:4601:e00::3])\n\t(using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits)\n\t key-exchange X25519 server-signature ECDSA (secp384r1))\n\t(No client certificate requested)\n\tby legolas.ozlabs.org (Postfix) with ESMTPS id 4Vq20j3TZmz20Q9\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 May 2024 18:02:13 +1000 (AEST)","from smtp.subspace.kernel.org (wormhole.subspace.kernel.org\n [52.25.139.140])\n\t(using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits))\n\t(No client certificate requested)\n\tby am.mirrors.kernel.org (Postfix) with ESMTPS id 506BA1F22D77\n\tfor <incoming@patchwork.ozlabs.org>; Wed, 29 May 2024 08:02:10 +0000 (UTC)","from localhost.localdomain (localhost.localdomain [127.0.0.1])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id AED8F16936C;\n\tWed, 29 May 2024 08:01:41 +0000 (UTC)","from sakura.ysato.name (ik1-413-38519.vs.sakura.ne.jp\n [153.127.30.23])\n\tby smtp.subspace.kernel.org (Postfix) with ESMTP id CABBF374F6;\n\tWed, 29 May 2024 08:01:39 +0000 (UTC)","from SIOS1075.ysato.name (al128006.dynamic.ppp.asahi-net.or.jp\n [111.234.128.6])\n\tby sakura.ysato.name (Postfix) with ESMTPSA id EC6C11C0594;\n\tWed, 29 May 2024 17:01:36 +0900 (JST)"],"ARC-Seal":"i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116;\n\tt=1716969701; cv=none;\n b=nnyVuGIDE9LNde5NqknEGwX3kGujWiAUTN+3OcQsb6scS9YkqEPxL3yL3OCDfcYzNgvSt6Cejjg814JBDHeQg1likKpzx94QFZCdGIYd0+7Lhuh27Eg9/JsL75oedwf/eWUvUTrez8b6gYXQl9xw8KB1GOWZ6mdPQ579ZTKU9Tk=","ARC-Message-Signature":"i=1; a=rsa-sha256; d=subspace.kernel.org;\n\ts=arc-20240116; t=1716969701; c=relaxed/simple;\n\tbh=2Ln8/beSX9+5TT32ruO4321U5//ekhXDgwV6jyytobg=;\n\th=From:To:Cc:Subject:Date:Message-Id:In-Reply-To:References:\n\t MIME-Version;\n b=Iei59jqm7V6rhSxh0TT/MQd8/w0ZRxhxFb5jEhsqAMnadWCZJdVymprPKhbKrCeOEwfw8Efxa0QNcSDLChxxhAej6LtokPfvJNC3wIjO7ETvPkTcGbGd0z7QAo/BZzmvDrFg6o2vPWLzXIpeP0PsU+L74M0SsnPlGLcdoZVAcMM=","ARC-Authentication-Results":"i=1; smtp.subspace.kernel.org;\n dmarc=none (p=none dis=none) header.from=users.sourceforge.jp;\n spf=fail smtp.mailfrom=users.sourceforge.jp;\n arc=none smtp.client-ip=153.127.30.23","From":"Yoshinori Sato <ysato@users.sourceforge.jp>","To":"linux-sh@vger.kernel.org","Cc":"Yoshinori Sato <ysato@users.sourceforge.jp>,\n Damien Le Moal <dlemoal@kernel.org>, Niklas Cassel <cassel@kernel.org>,\n Rob Herring <robh@kernel.org>, Krzysztof Kozlowski <krzk+dt@kernel.org>,\n Conor Dooley <conor+dt@kernel.org>,\n Geert Uytterhoeven <geert+renesas@glider.be>,\n Michael Turquette <mturquette@baylibre.com>, Stephen Boyd <sboyd@kernel.org>,\n David Airlie <airlied@gmail.com>, Daniel Vetter <daniel@ffwll.ch>,\n Maarten Lankhorst <maarten.lankhorst@linux.intel.com>,\n Maxime Ripard <mripard@kernel.org>, Thomas Zimmermann <tzimmermann@suse.de>,\n Thomas Gleixner <tglx@linutronix.de>, Bjorn Helgaas <bhelgaas@google.com>,\n Lorenzo Pieralisi <lpieralisi@kernel.org>, =?utf-8?q?Krzysztof_Wilczy=C5=84?=\n\t=?utf-8?q?ski?= <kw@linux.com>,\n Greg Kroah-Hartman <gregkh@linuxfoundation.org>,\n Jiri Slaby <jirislaby@kernel.org>, Magnus Damm <magnus.damm@gmail.com>,\n Daniel Lezcano <daniel.lezcano@linaro.org>, Rich Felker <dalias@libc.org>,\n John Paul Adrian Glaubitz <glaubitz@physik.fu-berlin.de>,\n Lee Jones <lee@kernel.org>, Helge Deller <deller@gmx.de>,\n Heiko Stuebner <heiko.stuebner@cherry.de>,\n Neil Armstrong <neil.armstrong@linaro.org>,\n Chris Morgan <macromorgan@hotmail.com>, Sebastian Reichel <sre@kernel.org>,\n Linus Walleij <linus.walleij@linaro.org>, Arnd Bergmann <arnd@arndb.de>,\n Masahiro Yamada <masahiroy@kernel.org>, Baoquan He <bhe@redhat.com>,\n Andrew Morton <akpm@linux-foundation.org>,\n Guenter Roeck <linux@roeck-us.net>, Kefeng Wang <wangkefeng.wang@huawei.com>,\n Stephen Rothwell <sfr@canb.auug.org.au>,\n Azeem Shaikh <azeemshaikh38@gmail.com>, Guo Ren <guoren@kernel.org>,\n Max Filippov <jcmvbkbc@gmail.com>, Jernej Skrabec <jernej.skrabec@gmail.com>,\n Herve Codina <herve.codina@bootlin.com>,\n Andy Shevchenko <andriy.shevchenko@linux.intel.com>,\n Anup Patel <apatel@ventanamicro.com>, Jacky Huang <ychuang3@nuvoton.com>,\n Hugo Villeneuve <hvilleneuve@dimonoff.com>, Jonathan Corbet <corbet@lwn.net>,\n Wolfram Sang <wsa+renesas@sang-engineering.com>, =?utf-8?q?Uwe_Kleine-K?=\n\t=?utf-8?q?=C3=B6nig?= <u.kleine-koenig@pengutronix.de>,\n Christophe JAILLET <christophe.jaillet@wanadoo.fr>,\n Sam Ravnborg <sam@ravnborg.org>,\n Javier Martinez Canillas <javierm@redhat.com>,\n Sergey Shtylyov <s.shtylyov@omp.ru>,\n Laurent Pinchart <laurent.pinchart+renesas@ideasonboard.com>,\n linux-ide@vger.kernel.org, devicetree@vger.kernel.org,\n linux-kernel@vger.kernel.org, linux-renesas-soc@vger.kernel.org,\n linux-clk@vger.kernel.org, dri-devel@lists.freedesktop.org,\n linux-pci@vger.kernel.org, linux-serial@vger.kernel.org,\n linux-fbdev@vger.kernel.org","Subject":"[DO NOT MERGE v8 05/36] sh: GENERIC_IRQ_CHIP support for CONFIG_OF=y","Date":"Wed, 29 May 2024 17:00:51 +0900","Message-Id":"\n <adbcde9034d752dcdbf90e995aaa14f85c33c9c3.1716965617.git.ysato@users.sourceforge.jp>","X-Mailer":"git-send-email 2.39.2","In-Reply-To":"<cover.1716965617.git.ysato@users.sourceforge.jp>","References":"<cover.1716965617.git.ysato@users.sourceforge.jp>","Precedence":"bulk","X-Mailing-List":"linux-pci@vger.kernel.org","List-Id":"<linux-pci.vger.kernel.org>","List-Subscribe":"<mailto:linux-pci+subscribe@vger.kernel.org>","List-Unsubscribe":"<mailto:linux-pci+unsubscribe@vger.kernel.org>","MIME-Version":"1.0","Content-Transfer-Encoding":"8bit"},"content":"Remove unused function prototype.\nAdd helper update_sr_imask. use for SH7751 irq driver.\nAdd stub intc_finalize.\n\nSigned-off-by: Yoshinori Sato <ysato@users.sourceforge.jp>\n---\n arch/sh/include/asm/io.h       |  2 ++\n arch/sh/include/asm/irq.h      | 10 ++++++++--\n arch/sh/kernel/cpu/Makefile    |  5 +----\n arch/sh/kernel/cpu/irq/imask.c | 17 +++++++++++++++++\n include/linux/sh_intc.h        |  7 ++++++-\n 5 files changed, 34 insertions(+), 7 deletions(-)","diff":"diff --git a/arch/sh/include/asm/io.h b/arch/sh/include/asm/io.h\nindex cf5eab840d57..5c544cf5201b 100644\n--- a/arch/sh/include/asm/io.h\n+++ b/arch/sh/include/asm/io.h\n@@ -121,7 +121,9 @@ __BUILD_MEMORY_STRING(__raw_, q, u64)\n \n #define ioport_map ioport_map\n #define ioport_unmap ioport_unmap\n+#ifndef CONFIG_SH_DEVICE_TREE\n #define pci_iounmap pci_iounmap\n+#endif\n \n #define ioread8 ioread8\n #define ioread16 ioread16\ndiff --git a/arch/sh/include/asm/irq.h b/arch/sh/include/asm/irq.h\nindex 0f384b1f45ca..3d897229dcc4 100644\n--- a/arch/sh/include/asm/irq.h\n+++ b/arch/sh/include/asm/irq.h\n@@ -16,8 +16,8 @@\n /*\n  * Simple Mask Register Support\n  */\n-extern void make_maskreg_irq(unsigned int irq);\n-extern unsigned short *irq_mask_register;\n+\n+void update_sr_imask(unsigned int irq, bool enable);\n \n /*\n  * PINT IRQs\n@@ -54,4 +54,10 @@ extern void irq_finish(unsigned int irq);\n \n #include <asm-generic/irq.h>\n \n+/* SH3/4 INTC stuff */\n+/* IRL level 0 - 15 */\n+#define NR_IRL 15\n+/* IRL0 -> IRQ16 */\n+#define IRL_BASE_IRQ\t16\n+\n #endif /* __ASM_SH_IRQ_H */\ndiff --git a/arch/sh/kernel/cpu/Makefile b/arch/sh/kernel/cpu/Makefile\nindex e00ebf134985..ad12807fae9c 100644\n--- a/arch/sh/kernel/cpu/Makefile\n+++ b/arch/sh/kernel/cpu/Makefile\n@@ -20,7 +20,4 @@ ifndef CONFIG_COMMON_CLK\n obj-y += clock.o\n obj-$(CONFIG_SH_CLK_CPG_LEGACY)\t+= clock-cpg.o\n endif\n-ifndef CONFIG_GENERIC_IRQ_CHIP\n-obj-y\t+= irq/\n-endif\n-obj-y\t+= init.o fpu.o pfc.o proc.o\n+obj-y\t+= init.o fpu.o pfc.o proc.o irq/\ndiff --git a/arch/sh/kernel/cpu/irq/imask.c b/arch/sh/kernel/cpu/irq/imask.c\nindex 572585c3f2fd..7589ca7c506c 100644\n--- a/arch/sh/kernel/cpu/irq/imask.c\n+++ b/arch/sh/kernel/cpu/irq/imask.c\n@@ -51,6 +51,7 @@ static inline void set_interrupt_registers(int ip)\n \t\t     : \"t\");\n }\n \n+#ifndef CONFIG_GENERIC_IRQ_CHIP\n static void mask_imask_irq(struct irq_data *data)\n {\n \tunsigned int irq = data->irq;\n@@ -83,3 +84,19 @@ void make_imask_irq(unsigned int irq)\n \tirq_set_chip_and_handler_name(irq, &imask_irq_chip, handle_level_irq,\n \t\t\t\t      \"level\");\n }\n+#else\n+void update_sr_imask(unsigned int irq, bool enable)\n+{\n+\tif (enable) {\n+\t\tset_bit(irq, imask_mask);\n+\t\tinterrupt_priority = IMASK_PRIORITY -\n+\t\t  find_first_bit(imask_mask, IMASK_PRIORITY);\n+\t} else {\n+\t\tclear_bit(irq, imask_mask);\n+\t\tif (interrupt_priority < IMASK_PRIORITY - irq)\n+\t\t\tinterrupt_priority = IMASK_PRIORITY - irq;\n+\t}\n+\tset_interrupt_registers(interrupt_priority);\n+}\n+EXPORT_SYMBOL(update_sr_imask);\n+#endif\ndiff --git a/include/linux/sh_intc.h b/include/linux/sh_intc.h\nindex 27ae79191bdc..994b5b05a0d7 100644\n--- a/include/linux/sh_intc.h\n+++ b/include/linux/sh_intc.h\n@@ -139,8 +139,13 @@ struct intc_desc symbol __initdata = {\t\t\t\t\t\\\n int register_intc_controller(struct intc_desc *desc);\n int intc_set_priority(unsigned int irq, unsigned int prio);\n int intc_irq_lookup(const char *chipname, intc_enum enum_id);\n+#ifndef CONFIG_SH_DEVICE_TREE\n void intc_finalize(void);\n-\n+#else\n+static inline void intc_finalize(void)\n+{\n+}\n+#endif\n #ifdef CONFIG_INTC_USERIMASK\n int register_intc_userimask(unsigned long addr);\n #else\n","prefixes":["DO","NOT","MERGE","v8","05/36"]}