From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.1 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 88345C43331 for ; Wed, 25 Mar 2020 11:35:38 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 533B220775 for ; Wed, 25 Mar 2020 11:35:38 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585136138; bh=hDdH6NzW082kdtiNJh6NcBX/8zpFKDBtBCPyNFL3akc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:List-ID:From; b=of+gSdExll04A3I70sbrTBs59ysMELgKPGuQ2bWYh2g/nlvpkyOgDERs7IDXmFNFH w0ajQSeL2MAVFSczxlN9mvXmq9OrXf/L83nLHGrQpYHRmeI8q91ltCuCstZWbYvdzn HLhZz2I0c6PCyZbRmz5xKdo+y/Dp6SkOCSXALI58= Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727137AbgCYLfh (ORCPT ); Wed, 25 Mar 2020 07:35:37 -0400 Received: from mail.kernel.org ([198.145.29.99]:50462 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726805AbgCYLfh (ORCPT ); Wed, 25 Mar 2020 07:35:37 -0400 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EA7AF20722; Wed, 25 Mar 2020 11:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585136136; bh=hDdH6NzW082kdtiNJh6NcBX/8zpFKDBtBCPyNFL3akc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Q7GoJqppdtvNHQJdM0XE9y8P+ki1AutLvirfSEQTn6FrAdVzJZHPIwqIDKhFlg2Q0 Tkrvk1QDhThLTbgftm+MddcYEzlZs3PpQ+Y2cnZ+0BK9mRoxAcy45dF3s/9fBv6nq4 7736pvMud3vI8wyuEoiF/EqEkM+W6ffESuahi3Lw= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jH4Jq-00FYG3-87; Wed, 25 Mar 2020 11:35:34 +0000 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Wed, 25 Mar 2020 11:35:34 +0000 From: Marc Zyngier To: Paul Cercueil Cc: Jiaxun Yang , linux-mips@vger.kernel.org, Huacai Chen , Thomas Gleixner , Jason Cooper , Rob Herring , Mark Rutland , Thomas Bogendoerfer , Jonathan Corbet , John Crispin , Matthias Brugger , Jean Delvare , "David S. Miller" , Mauro Carvalho Chehab , Jonathan Cameron , Greg Kroah-Hartman , Andy Shevchenko , Geert Uytterhoeven , Krzysztof Kozlowski , Miquel Raynal , Andi Kleen , "H. Nikolaus Schaller" , "Eric W. Biederman" , Tiezhu Yang , Yinglu Yang , Allison Randal , Bartlomiej Zolnierkiewicz , Paul Burton , Manuel Lauss , Serge Semin , Matt Redfearn , linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-ide@vger.kernel.org Subject: Re: [PATCH v7 01/12] irqchip: Add driver for Loongson I/O Local Interrupt Controller In-Reply-To: References: <20200325022916.106641-1-jiaxun.yang@flygoat.com> <20200325022916.106641-2-jiaxun.yang@flygoat.com> Message-ID: <30bbde289a0cc4c1bfc0d3f6475f8f3e@kernel.org> X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/1.3.10 X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: paul@crapouillou.net, jiaxun.yang@flygoat.com, linux-mips@vger.kernel.org, chenhc@lemote.com, tglx@linutronix.de, jason@lakedaemon.net, robh+dt@kernel.org, mark.rutland@arm.com, tsbogend@alpha.franken.de, corbet@lwn.net, john@phrozen.org, matthias.bgg@gmail.com, jdelvare@suse.com, davem@davemloft.net, mchehab+samsung@kernel.org, Jonathan.Cameron@huawei.com, gregkh@linuxfoundation.org, andriy.shevchenko@linux.intel.com, geert+renesas@glider.be, krzk@kernel.org, miquel.raynal@bootlin.com, ak@linux.intel.com, hns@goldelico.com, ebiederm@xmission.com, yangtiezhu@loongson.cn, yangyinglu@loongson.cn, allison@lohutok.net, b.zolnierkie@samsung.com, paulburton@kernel.org, manuel.lauss@gmail.com, fancer.lancer@gmail.com, matt.redfearn@mips.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-ide@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Sender: linux-doc-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-doc@vger.kernel.org On 2020-03-25 11:25, Paul Cercueil wrote: > Hi Jiaxun, > > > Le mer. 25 mars 2020 à 10:28, Jiaxun Yang a > écrit : >> This controller appeared on Loongson family of chips as the primary >> package interrupt source. >> >> Signed-off-by: Jiaxun Yang >> Co-developed-by: Huacai Chen >> Signed-off-by: Huacai Chen >> Reviewed-by: Marc Zyngier >> --- >> v4-v5: >> Resolve suggestions from maz: >> - Remove DT validation >> - Simplify unnucessary functions & variables >> --- >> drivers/irqchip/Kconfig | 9 + >> drivers/irqchip/Makefile | 1 + >> drivers/irqchip/irq-loongson-liointc.c | 261 >> +++++++++++++++++++++++++ >> 3 files changed, 271 insertions(+) >> create mode 100644 drivers/irqchip/irq-loongson-liointc.c >> >> diff --git a/drivers/irqchip/Kconfig b/drivers/irqchip/Kconfig >> index 6d397732138d..c609eaa319d2 100644 >> --- a/drivers/irqchip/Kconfig >> +++ b/drivers/irqchip/Kconfig >> @@ -513,4 +513,13 @@ config EXYNOS_IRQ_COMBINER >> Say yes here to add support for the IRQ combiner devices embedded >> in Samsung Exynos chips. >> >> +config LOONGSON_LIOINTC >> + bool "Loongson Local I/O Interrupt Controller" >> + depends on MACH_LOONGSON64 >> + default y >> + select IRQ_DOMAIN >> + select GENERIC_IRQ_CHIP >> + help >> + Support for the Loongson Local I/O Interrupt Controller. >> + >> endmenu >> diff --git a/drivers/irqchip/Makefile b/drivers/irqchip/Makefile >> index eae0d78cbf22..5e7678efdfe6 100644 >> --- a/drivers/irqchip/Makefile >> +++ b/drivers/irqchip/Makefile >> @@ -105,3 +105,4 @@ obj-$(CONFIG_MADERA_IRQ) += irq-madera.o >> obj-$(CONFIG_LS1X_IRQ) += irq-ls1x.o >> obj-$(CONFIG_TI_SCI_INTR_IRQCHIP) += irq-ti-sci-intr.o >> obj-$(CONFIG_TI_SCI_INTA_IRQCHIP) += irq-ti-sci-inta.o >> +obj-$(CONFIG_LOONGSON_LIOINTC) += irq-loongson-liointc.o >> diff --git a/drivers/irqchip/irq-loongson-liointc.c >> b/drivers/irqchip/irq-loongson-liointc.c >> new file mode 100644 >> index 000000000000..18de2c09ece4 >> --- /dev/null >> +++ b/drivers/irqchip/irq-loongson-liointc.c >> @@ -0,0 +1,261 @@ >> +// SPDX-License-Identifier: GPL-2.0 >> +/* >> + * Copyright (C) 2020, Jiaxun Yang >> + * Loongson Local IO Interrupt Controller support >> + */ >> + >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> +#include >> + >> +#include >> + >> +#define LIOINTC_CHIP_IRQ 32 >> +#define LIOINTC_NUM_PARENT 4 >> + >> +#define LIOINTC_INTC_CHIP_START 0x20 >> + >> +#define LIOINTC_REG_INTC_STATUS (LIOINTC_INTC_CHIP_START + 0x20) >> +#define LIOINTC_REG_INTC_EN_STATUS (LIOINTC_INTC_CHIP_START + 0x04) >> +#define LIOINTC_REG_INTC_ENABLE (LIOINTC_INTC_CHIP_START + 0x08) >> +#define LIOINTC_REG_INTC_DISABLE (LIOINTC_INTC_CHIP_START + 0x0c) >> +#define LIOINTC_REG_INTC_POL (LIOINTC_INTC_CHIP_START + 0x10) >> +#define LIOINTC_REG_INTC_EDGE (LIOINTC_INTC_CHIP_START + 0x14) >> + >> +#define LIOINTC_SHIFT_INTx 4 >> + >> +struct liointc_handler_data { >> + struct liointc_priv *priv; >> + u32 parent_int_map; >> +}; >> + >> +struct liointc_priv { >> + struct irq_chip_generic *gc; >> + struct liointc_handler_data handler[LIOINTC_NUM_PARENT]; >> + u8 map_cache[LIOINTC_CHIP_IRQ]; >> +}; >> + >> +static void liointc_chained_handle_irq(struct irq_desc *desc) >> +{ >> + struct liointc_handler_data *handler = >> irq_desc_get_handler_data(desc); >> + struct irq_chip *chip = irq_desc_get_chip(desc); >> + struct irq_chip_generic *gc = handler->priv->gc; >> + u32 pending; >> + >> + chained_irq_enter(chip, desc); >> + >> + pending = readl(gc->reg_base + LIOINTC_REG_INTC_STATUS); >> + >> + if (!pending) >> + spurious_interrupt(); >> + >> + while (pending) { >> + int bit = __ffs(pending); >> + >> + generic_handle_irq(irq_find_mapping(gc->domain, bit)); >> + pending &= ~BIT(bit); >> + } > > Consider using the for_each_set_bit() macro from . > See drivers/irqchip/irq-ingenic-tcu.c for instance. which would require changing the pending type to be unsigned long. Open-coding these if fine if it helps keeping the type system consistent. M. -- Jazz is not dead. It just smells funny... From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id E74A9C43331 for ; Wed, 25 Mar 2020 11:35:55 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id B98FE20772 for ; Wed, 25 Mar 2020 11:35:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="MAJPGC9c"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="Q7GoJqpp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org B98FE20772 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=QU45YGoX6QMo/HsHw1QtWIf1CIaefxUR/MgmoLUtQCU=; b=MAJPGC9cfcYV7niQInzSGN/RU 5ZijV0AiNjZPGye7YGG1TPq5qwLUSAVSggyoOoZb+xO9hQh2njnGLQwl8D6XjZAkOQRRqyNQ/VTc3 kiLsccHAcZz+LkUCA+/ih7YYwybeMcy7c2GxdFiYpiZnULNOQwWk1kSEZLg7XqzNlChH7NRLFjg/R caY9sqByP5eH/kdexteH/bm0wBOC0b7XafRIS2IYzG9GmLLizTUlBwK5yLksP8ChxqmUM0xTdCXJH W8eKZm8b7jcVVOs+8H1tZgm9z0X8i9J5Wf3D/rpxZ+Lfyw4ZW9VMPzv9Vlb2pFXRQmMjSm6JtcT+Q GOVKA0d7w==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jH4K2-00085q-IT; Wed, 25 Mar 2020 11:35:46 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jH4Js-0007wP-Ep; Wed, 25 Mar 2020 11:35:37 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EA7AF20722; Wed, 25 Mar 2020 11:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585136136; bh=hDdH6NzW082kdtiNJh6NcBX/8zpFKDBtBCPyNFL3akc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Q7GoJqppdtvNHQJdM0XE9y8P+ki1AutLvirfSEQTn6FrAdVzJZHPIwqIDKhFlg2Q0 Tkrvk1QDhThLTbgftm+MddcYEzlZs3PpQ+Y2cnZ+0BK9mRoxAcy45dF3s/9fBv6nq4 7736pvMud3vI8wyuEoiF/EqEkM+W6ffESuahi3Lw= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jH4Jq-00FYG3-87; Wed, 25 Mar 2020 11:35:34 +0000 MIME-Version: 1.0 Date: Wed, 25 Mar 2020 11:35:34 +0000 From: Marc Zyngier To: Paul Cercueil Subject: Re: [PATCH v7 01/12] irqchip: Add driver for Loongson I/O Local Interrupt Controller In-Reply-To: References: <20200325022916.106641-1-jiaxun.yang@flygoat.com> <20200325022916.106641-2-jiaxun.yang@flygoat.com> Message-ID: <30bbde289a0cc4c1bfc0d3f6475f8f3e@kernel.org> X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/1.3.10 X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: paul@crapouillou.net, jiaxun.yang@flygoat.com, linux-mips@vger.kernel.org, chenhc@lemote.com, tglx@linutronix.de, jason@lakedaemon.net, robh+dt@kernel.org, mark.rutland@arm.com, tsbogend@alpha.franken.de, corbet@lwn.net, john@phrozen.org, matthias.bgg@gmail.com, jdelvare@suse.com, davem@davemloft.net, mchehab+samsung@kernel.org, Jonathan.Cameron@huawei.com, gregkh@linuxfoundation.org, andriy.shevchenko@linux.intel.com, geert+renesas@glider.be, krzk@kernel.org, miquel.raynal@bootlin.com, ak@linux.intel.com, hns@goldelico.com, ebiederm@xmission.com, yangtiezhu@loongson.cn, yangyinglu@loongson.cn, allison@lohutok.net, b.zolnierkie@samsung.com, paulburton@kernel.org, manuel.lauss@gmail.com, fancer.lancer@gmail.com, matt.redfearn@mips.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-ide@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200325_043536_536968_171077A2 X-CRM114-Status: GOOD ( 19.08 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Geert Uytterhoeven , linux-doc@vger.kernel.org, "H. Nikolaus Schaller" , John Crispin , Jiaxun Yang , linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, Miquel Raynal , Mauro Carvalho Chehab , Huacai Chen , Tiezhu Yang , Andi Kleen , Paul Burton , Jonathan Corbet , Krzysztof Kozlowski , Yinglu Yang , devicetree@vger.kernel.org, Jean Delvare , Jason Cooper , Bartlomiej Zolnierkiewicz , Rob Herring , linux-mediatek@lists.infradead.org, Jonathan Cameron , Matthias Brugger , Thomas Gleixner , Andy Shevchenko , Allison Randal , linux-arm-kernel@lists.infradead.org, Thomas Bogendoerfer , Matt Redfearn , Greg Kroah-Hartman , linux-mips@vger.kernel.org, Serge Semin , "Eric W. Biederman" , Manuel Lauss , "David S. Miller" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org T24gMjAyMC0wMy0yNSAxMToyNSwgUGF1bCBDZXJjdWVpbCB3cm90ZToKPiBIaSBKaWF4dW4sCj4g Cj4gCj4gTGUgbWVyLiAyNSBtYXJzIDIwMjAgw6AgMTA6MjgsIEppYXh1biBZYW5nIDxqaWF4dW4u eWFuZ0BmbHlnb2F0LmNvbT4gYSAKPiDDqWNyaXQgOgo+PiBUaGlzIGNvbnRyb2xsZXIgYXBwZWFy ZWQgb24gTG9vbmdzb24gZmFtaWx5IG9mIGNoaXBzIGFzIHRoZSBwcmltYXJ5Cj4+IHBhY2thZ2Ug aW50ZXJydXB0IHNvdXJjZS4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6IEppYXh1biBZYW5nIDxqaWF4 dW4ueWFuZ0BmbHlnb2F0LmNvbT4KPj4gQ28tZGV2ZWxvcGVkLWJ5OiBIdWFjYWkgQ2hlbiA8Y2hl bmhjQGxlbW90ZS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVt b3RlLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IE1hcmMgWnluZ2llciA8bWF6QGtlcm5lbC5vcmc+Cj4+ IC0tLQo+PiB2NC12NToKPj4gCVJlc29sdmUgc3VnZ2VzdGlvbnMgZnJvbSBtYXo6Cj4+IAkJLSBS ZW1vdmUgRFQgdmFsaWRhdGlvbgo+PiAJCS0gU2ltcGxpZnkgdW5udWNlc3NhcnkgZnVuY3Rpb25z ICYgdmFyaWFibGVzCj4+IC0tLQo+PiAgZHJpdmVycy9pcnFjaGlwL0tjb25maWcgICAgICAgICAg ICAgICAgfCAgIDkgKwo+PiAgZHJpdmVycy9pcnFjaGlwL01ha2VmaWxlICAgICAgICAgICAgICAg fCAgIDEgKwo+PiAgZHJpdmVycy9pcnFjaGlwL2lycS1sb29uZ3Nvbi1saW9pbnRjLmMgfCAyNjEg Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIDMgZmlsZXMgY2hhbmdlZCwgMjcxIGlu c2VydGlvbnMoKykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2lycWNoaXAvaXJxLWxv b25nc29uLWxpb2ludGMuYwo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9LY29u ZmlnIGIvZHJpdmVycy9pcnFjaGlwL0tjb25maWcKPj4gaW5kZXggNmQzOTc3MzIxMzhkLi5jNjA5 ZWFhMzE5ZDIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj4+ICsrKyBi L2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj4+IEBAIC01MTMsNCArNTEzLDEzIEBAIGNvbmZpZyBF WFlOT1NfSVJRX0NPTUJJTkVSCj4+ICAJICBTYXkgeWVzIGhlcmUgdG8gYWRkIHN1cHBvcnQgZm9y IHRoZSBJUlEgY29tYmluZXIgZGV2aWNlcyBlbWJlZGRlZAo+PiAgCSAgaW4gU2Ftc3VuZyBFeHlu b3MgY2hpcHMuCj4+IAo+PiArY29uZmlnIExPT05HU09OX0xJT0lOVEMKPj4gKwlib29sICJMb29u Z3NvbiBMb2NhbCBJL08gSW50ZXJydXB0IENvbnRyb2xsZXIiCj4+ICsJZGVwZW5kcyBvbiBNQUNI X0xPT05HU09ONjQKPj4gKwlkZWZhdWx0IHkKPj4gKwlzZWxlY3QgSVJRX0RPTUFJTgo+PiArCXNl bGVjdCBHRU5FUklDX0lSUV9DSElQCj4+ICsJaGVscAo+PiArCSAgU3VwcG9ydCBmb3IgdGhlIExv b25nc29uIExvY2FsIEkvTyBJbnRlcnJ1cHQgQ29udHJvbGxlci4KPj4gKwo+PiAgZW5kbWVudQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pcnFjaGlwL01ha2VmaWxlIGIvZHJpdmVycy9pcnFjaGlw L01ha2VmaWxlCj4+IGluZGV4IGVhZTBkNzhjYmYyMi4uNWU3Njc4ZWZkZmU2IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2lycWNoaXAvTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9pcnFjaGlwL01h a2VmaWxlCj4+IEBAIC0xMDUsMyArMTA1LDQgQEAgb2JqLSQoQ09ORklHX01BREVSQV9JUlEpCQkr PSBpcnEtbWFkZXJhLm8KPj4gIG9iai0kKENPTkZJR19MUzFYX0lSUSkJCQkrPSBpcnEtbHMxeC5v Cj4+ICBvYmotJChDT05GSUdfVElfU0NJX0lOVFJfSVJRQ0hJUCkJKz0gaXJxLXRpLXNjaS1pbnRy Lm8KPj4gIG9iai0kKENPTkZJR19USV9TQ0lfSU5UQV9JUlFDSElQKQkrPSBpcnEtdGktc2NpLWlu dGEubwo+PiArb2JqLSQoQ09ORklHX0xPT05HU09OX0xJT0lOVEMpCQkrPSBpcnEtbG9vbmdzb24t bGlvaW50Yy5vCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLWxvb25nc29uLWxp b2ludGMuYyAKPj4gYi9kcml2ZXJzL2lycWNoaXAvaXJxLWxvb25nc29uLWxpb2ludGMuYwo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjE4ZGUyYzA5ZWNlNAo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtbG9vbmdzb24tbGlv aW50Yy5jCj4+IEBAIC0wLDAgKzEsMjYxIEBACj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+PiArLyoKPj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMjAsIEppYXh1biBZYW5n IDxqaWF4dW4ueWFuZ0BmbHlnb2F0LmNvbT4KPj4gKyAqICBMb29uZ3NvbiBMb2NhbCBJTyBJbnRl cnJ1cHQgQ29udHJvbGxlciBzdXBwb3J0Cj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgPGxpbnV4 L2Vycm5vLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+PiArI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4+ICsjaW5jbHVkZSA8 bGludXgvaW9wb3J0Lmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaXJxY2hpcC5oPgo+PiArI2luY2x1 ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KPj4g KyNpbmNsdWRlIDxsaW51eC9pby5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgo+PiArI2lu Y2x1ZGUgPGxpbnV4L2lycWNoaXAvY2hhaW5lZF9pcnEuaD4KPj4gKwo+PiArI2luY2x1ZGUgPGJv b3RfcGFyYW0uaD4KPj4gKwo+PiArI2RlZmluZSBMSU9JTlRDX0NISVBfSVJRCTMyCj4+ICsjZGVm aW5lIExJT0lOVENfTlVNX1BBUkVOVCA0Cj4+ICsKPj4gKyNkZWZpbmUgTElPSU5UQ19JTlRDX0NI SVBfU1RBUlQJMHgyMAo+PiArCj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lOVENfU1RBVFVTCShM SU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MjApCj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lO VENfRU5fU1RBVFVTCShMSU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MDQpCj4+ICsjZGVmaW5l IExJT0lOVENfUkVHX0lOVENfRU5BQkxFCShMSU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MDgp Cj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lOVENfRElTQUJMRQkoTElPSU5UQ19JTlRDX0NISVBf U1RBUlQgKyAweDBjKQo+PiArI2RlZmluZSBMSU9JTlRDX1JFR19JTlRDX1BPTAkoTElPSU5UQ19J TlRDX0NISVBfU1RBUlQgKyAweDEwKQo+PiArI2RlZmluZSBMSU9JTlRDX1JFR19JTlRDX0VER0UJ KExJT0lOVENfSU5UQ19DSElQX1NUQVJUICsgMHgxNCkKPj4gKwo+PiArI2RlZmluZSBMSU9JTlRD X1NISUZUX0lOVHgJNAo+PiArCj4+ICtzdHJ1Y3QgbGlvaW50Y19oYW5kbGVyX2RhdGEgewo+PiAr CXN0cnVjdCBsaW9pbnRjX3ByaXYJKnByaXY7Cj4+ICsJdTMyCQkJcGFyZW50X2ludF9tYXA7Cj4+ ICt9Owo+PiArCj4+ICtzdHJ1Y3QgbGlvaW50Y19wcml2IHsKPj4gKwlzdHJ1Y3QgaXJxX2NoaXBf Z2VuZXJpYwkJKmdjOwo+PiArCXN0cnVjdCBsaW9pbnRjX2hhbmRsZXJfZGF0YQloYW5kbGVyW0xJ T0lOVENfTlVNX1BBUkVOVF07Cj4+ICsJdTgJCQkJbWFwX2NhY2hlW0xJT0lOVENfQ0hJUF9JUlFd Owo+PiArfTsKPj4gKwo+PiArc3RhdGljIHZvaWQgbGlvaW50Y19jaGFpbmVkX2hhbmRsZV9pcnEo c3RydWN0IGlycV9kZXNjICpkZXNjKQo+PiArewo+PiArCXN0cnVjdCBsaW9pbnRjX2hhbmRsZXJf ZGF0YSAqaGFuZGxlciA9IAo+PiBpcnFfZGVzY19nZXRfaGFuZGxlcl9kYXRhKGRlc2MpOwo+PiAr CXN0cnVjdCBpcnFfY2hpcCAqY2hpcCA9IGlycV9kZXNjX2dldF9jaGlwKGRlc2MpOwo+PiArCXN0 cnVjdCBpcnFfY2hpcF9nZW5lcmljICpnYyA9IGhhbmRsZXItPnByaXYtPmdjOwo+PiArCXUzMiBw ZW5kaW5nOwo+PiArCj4+ICsJY2hhaW5lZF9pcnFfZW50ZXIoY2hpcCwgZGVzYyk7Cj4+ICsKPj4g KwlwZW5kaW5nID0gcmVhZGwoZ2MtPnJlZ19iYXNlICsgTElPSU5UQ19SRUdfSU5UQ19TVEFUVVMp Owo+PiArCj4+ICsJaWYgKCFwZW5kaW5nKQo+PiArCQlzcHVyaW91c19pbnRlcnJ1cHQoKTsKPj4g Kwo+PiArCXdoaWxlIChwZW5kaW5nKSB7Cj4+ICsJCWludCBiaXQgPSBfX2ZmcyhwZW5kaW5nKTsK Pj4gKwo+PiArCQlnZW5lcmljX2hhbmRsZV9pcnEoaXJxX2ZpbmRfbWFwcGluZyhnYy0+ZG9tYWlu LCBiaXQpKTsKPj4gKwkJcGVuZGluZyAmPSB+QklUKGJpdCk7Cj4+ICsJfQo+IAo+IENvbnNpZGVy IHVzaW5nIHRoZSBmb3JfZWFjaF9zZXRfYml0KCkgbWFjcm8gZnJvbSA8bGludXgvYml0b3BzLmg+ Lgo+IFNlZSBkcml2ZXJzL2lycWNoaXAvaXJxLWluZ2VuaWMtdGN1LmMgZm9yIGluc3RhbmNlLgoK d2hpY2ggd291bGQgcmVxdWlyZSBjaGFuZ2luZyB0aGUgcGVuZGluZyB0eXBlIHRvIGJlIHVuc2ln bmVkIGxvbmcuCk9wZW4tY29kaW5nIHRoZXNlIGlmIGZpbmUgaWYgaXQgaGVscHMga2VlcGluZyB0 aGUgdHlwZSBzeXN0ZW0gCmNvbnNpc3RlbnQuCgogICAgICAgICBNLgotLSAKSmF6eiBpcyBub3Qg ZGVhZC4gSXQganVzdCBzbWVsbHMgZnVubnkuLi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCkxpbnV4LW1lZGlhdGVrIG1haWxpbmcgbGlzdApMaW51eC1t ZWRpYXRla0BsaXN0cy5pbmZyYWRlYWQub3JnCmh0dHA6Ly9saXN0cy5pbmZyYWRlYWQub3JnL21h aWxtYW4vbGlzdGluZm8vbGludXgtbWVkaWF0ZWsK From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-7.0 required=3.0 tests=DKIMWL_WL_HIGH,DKIM_SIGNED, DKIM_VALID,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE, SPF_PASS,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 84588C54FD0 for ; Wed, 25 Mar 2020 11:35:39 +0000 (UTC) Received: from bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPS id 5C2582078E for ; Wed, 25 Mar 2020 11:35:39 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=lists.infradead.org header.i=@lists.infradead.org header.b="jEJTIQ1h"; dkim=fail reason="signature verification failed" (1024-bit key) header.d=kernel.org header.i=@kernel.org header.b="Q7GoJqpp" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 5C2582078E Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=kernel.org Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20170209; h=Sender:Content-Type: Content-Transfer-Encoding:Cc:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:Message-ID:References:In-Reply-To:Subject:To:From: Date:MIME-Version:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=H7CYVPjvsLV/GnOSW9u5EJ6R6itB5FleJ8iVAg0VzUs=; b=jEJTIQ1hCgwptY+d50rtpbId8 yUSEWJckpBqAvPrjfCKVj70f8p19ZVmAd95m0JHdW1KVLvUhwOMWk0voCn5h1a/ZOmjFO/QutybtV J2SFXR841kqm3wwHQUscVISUUn6Q5DQE1MyjEnb9/BgX5BG5ferkoJ8w5hlm13jeFr3V+i7XukVA6 62bHc+P09F8NoTLyIcheT8B5X75Z35wDnhgC8EcQKtydslVwYL7VbamJku661u7Cx3Yv5m5BZ90rN 497+b5bmvdSUZsjrWiDW0JvT4YN3YS4zZMlU6zdx1L/Ak3Flrr4yEpEslmkL7UGmp7mHKXn6RlH11 Wosz+FIyw==; Received: from localhost ([127.0.0.1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.92.3 #3 (Red Hat Linux)) id 1jH4Ju-0007wo-RU; Wed, 25 Mar 2020 11:35:38 +0000 Received: from mail.kernel.org ([198.145.29.99]) by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux)) id 1jH4Js-0007wP-Ep; Wed, 25 Mar 2020 11:35:37 +0000 Received: from disco-boy.misterjones.org (disco-boy.misterjones.org [51.254.78.96]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id EA7AF20722; Wed, 25 Mar 2020 11:35:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1585136136; bh=hDdH6NzW082kdtiNJh6NcBX/8zpFKDBtBCPyNFL3akc=; h=Date:From:To:Cc:Subject:In-Reply-To:References:From; b=Q7GoJqppdtvNHQJdM0XE9y8P+ki1AutLvirfSEQTn6FrAdVzJZHPIwqIDKhFlg2Q0 Tkrvk1QDhThLTbgftm+MddcYEzlZs3PpQ+Y2cnZ+0BK9mRoxAcy45dF3s/9fBv6nq4 7736pvMud3vI8wyuEoiF/EqEkM+W6ffESuahi3Lw= Received: from disco-boy.misterjones.org ([51.254.78.96] helo=www.loen.fr) by disco-boy.misterjones.org with esmtpsa (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.92) (envelope-from ) id 1jH4Jq-00FYG3-87; Wed, 25 Mar 2020 11:35:34 +0000 MIME-Version: 1.0 Date: Wed, 25 Mar 2020 11:35:34 +0000 From: Marc Zyngier To: Paul Cercueil Subject: Re: [PATCH v7 01/12] irqchip: Add driver for Loongson I/O Local Interrupt Controller In-Reply-To: References: <20200325022916.106641-1-jiaxun.yang@flygoat.com> <20200325022916.106641-2-jiaxun.yang@flygoat.com> Message-ID: <30bbde289a0cc4c1bfc0d3f6475f8f3e@kernel.org> X-Sender: maz@kernel.org User-Agent: Roundcube Webmail/1.3.10 X-SA-Exim-Connect-IP: 51.254.78.96 X-SA-Exim-Rcpt-To: paul@crapouillou.net, jiaxun.yang@flygoat.com, linux-mips@vger.kernel.org, chenhc@lemote.com, tglx@linutronix.de, jason@lakedaemon.net, robh+dt@kernel.org, mark.rutland@arm.com, tsbogend@alpha.franken.de, corbet@lwn.net, john@phrozen.org, matthias.bgg@gmail.com, jdelvare@suse.com, davem@davemloft.net, mchehab+samsung@kernel.org, Jonathan.Cameron@huawei.com, gregkh@linuxfoundation.org, andriy.shevchenko@linux.intel.com, geert+renesas@glider.be, krzk@kernel.org, miquel.raynal@bootlin.com, ak@linux.intel.com, hns@goldelico.com, ebiederm@xmission.com, yangtiezhu@loongson.cn, yangyinglu@loongson.cn, allison@lohutok.net, b.zolnierkie@samsung.com, paulburton@kernel.org, manuel.lauss@gmail.com, fancer.lancer@gmail.com, matt.redfearn@mips.com, linux-kernel@vger.kernel.org, devicetree@vger.kernel.org, linux-doc@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-mediatek@lists.infradead.org, linux-ide@vger.kernel.org X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20200325_043536_536968_171077A2 X-CRM114-Status: GOOD ( 19.08 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.29 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Cc: Mark Rutland , Geert Uytterhoeven , linux-doc@vger.kernel.org, "H. Nikolaus Schaller" , John Crispin , Jiaxun Yang , linux-kernel@vger.kernel.org, linux-ide@vger.kernel.org, Miquel Raynal , Mauro Carvalho Chehab , Huacai Chen , Tiezhu Yang , Andi Kleen , Paul Burton , Jonathan Corbet , Krzysztof Kozlowski , Yinglu Yang , devicetree@vger.kernel.org, Jean Delvare , Jason Cooper , Bartlomiej Zolnierkiewicz , Rob Herring , linux-mediatek@lists.infradead.org, Jonathan Cameron , Matthias Brugger , Thomas Gleixner , Andy Shevchenko , Allison Randal , linux-arm-kernel@lists.infradead.org, Thomas Bogendoerfer , Matt Redfearn , Greg Kroah-Hartman , linux-mips@vger.kernel.org, Serge Semin , "Eric W. Biederman" , Manuel Lauss , "David S. Miller" Content-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+infradead-linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gMjAyMC0wMy0yNSAxMToyNSwgUGF1bCBDZXJjdWVpbCB3cm90ZToKPiBIaSBKaWF4dW4sCj4g Cj4gCj4gTGUgbWVyLiAyNSBtYXJzIDIwMjAgw6AgMTA6MjgsIEppYXh1biBZYW5nIDxqaWF4dW4u eWFuZ0BmbHlnb2F0LmNvbT4gYSAKPiDDqWNyaXQgOgo+PiBUaGlzIGNvbnRyb2xsZXIgYXBwZWFy ZWQgb24gTG9vbmdzb24gZmFtaWx5IG9mIGNoaXBzIGFzIHRoZSBwcmltYXJ5Cj4+IHBhY2thZ2Ug aW50ZXJydXB0IHNvdXJjZS4KPj4gCj4+IFNpZ25lZC1vZmYtYnk6IEppYXh1biBZYW5nIDxqaWF4 dW4ueWFuZ0BmbHlnb2F0LmNvbT4KPj4gQ28tZGV2ZWxvcGVkLWJ5OiBIdWFjYWkgQ2hlbiA8Y2hl bmhjQGxlbW90ZS5jb20+Cj4+IFNpZ25lZC1vZmYtYnk6IEh1YWNhaSBDaGVuIDxjaGVuaGNAbGVt b3RlLmNvbT4KPj4gUmV2aWV3ZWQtYnk6IE1hcmMgWnluZ2llciA8bWF6QGtlcm5lbC5vcmc+Cj4+ IC0tLQo+PiB2NC12NToKPj4gCVJlc29sdmUgc3VnZ2VzdGlvbnMgZnJvbSBtYXo6Cj4+IAkJLSBS ZW1vdmUgRFQgdmFsaWRhdGlvbgo+PiAJCS0gU2ltcGxpZnkgdW5udWNlc3NhcnkgZnVuY3Rpb25z ICYgdmFyaWFibGVzCj4+IC0tLQo+PiAgZHJpdmVycy9pcnFjaGlwL0tjb25maWcgICAgICAgICAg ICAgICAgfCAgIDkgKwo+PiAgZHJpdmVycy9pcnFjaGlwL01ha2VmaWxlICAgICAgICAgICAgICAg fCAgIDEgKwo+PiAgZHJpdmVycy9pcnFjaGlwL2lycS1sb29uZ3Nvbi1saW9pbnRjLmMgfCAyNjEg Cj4+ICsrKysrKysrKysrKysrKysrKysrKysrKysKPj4gIDMgZmlsZXMgY2hhbmdlZCwgMjcxIGlu c2VydGlvbnMoKykKPj4gIGNyZWF0ZSBtb2RlIDEwMDY0NCBkcml2ZXJzL2lycWNoaXAvaXJxLWxv b25nc29uLWxpb2ludGMuYwo+PiAKPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvaXJxY2hpcC9LY29u ZmlnIGIvZHJpdmVycy9pcnFjaGlwL0tjb25maWcKPj4gaW5kZXggNmQzOTc3MzIxMzhkLi5jNjA5 ZWFhMzE5ZDIgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj4+ICsrKyBi L2RyaXZlcnMvaXJxY2hpcC9LY29uZmlnCj4+IEBAIC01MTMsNCArNTEzLDEzIEBAIGNvbmZpZyBF WFlOT1NfSVJRX0NPTUJJTkVSCj4+ICAJICBTYXkgeWVzIGhlcmUgdG8gYWRkIHN1cHBvcnQgZm9y IHRoZSBJUlEgY29tYmluZXIgZGV2aWNlcyBlbWJlZGRlZAo+PiAgCSAgaW4gU2Ftc3VuZyBFeHlu b3MgY2hpcHMuCj4+IAo+PiArY29uZmlnIExPT05HU09OX0xJT0lOVEMKPj4gKwlib29sICJMb29u Z3NvbiBMb2NhbCBJL08gSW50ZXJydXB0IENvbnRyb2xsZXIiCj4+ICsJZGVwZW5kcyBvbiBNQUNI X0xPT05HU09ONjQKPj4gKwlkZWZhdWx0IHkKPj4gKwlzZWxlY3QgSVJRX0RPTUFJTgo+PiArCXNl bGVjdCBHRU5FUklDX0lSUV9DSElQCj4+ICsJaGVscAo+PiArCSAgU3VwcG9ydCBmb3IgdGhlIExv b25nc29uIExvY2FsIEkvTyBJbnRlcnJ1cHQgQ29udHJvbGxlci4KPj4gKwo+PiAgZW5kbWVudQo+ PiBkaWZmIC0tZ2l0IGEvZHJpdmVycy9pcnFjaGlwL01ha2VmaWxlIGIvZHJpdmVycy9pcnFjaGlw L01ha2VmaWxlCj4+IGluZGV4IGVhZTBkNzhjYmYyMi4uNWU3Njc4ZWZkZmU2IDEwMDY0NAo+PiAt LS0gYS9kcml2ZXJzL2lycWNoaXAvTWFrZWZpbGUKPj4gKysrIGIvZHJpdmVycy9pcnFjaGlwL01h a2VmaWxlCj4+IEBAIC0xMDUsMyArMTA1LDQgQEAgb2JqLSQoQ09ORklHX01BREVSQV9JUlEpCQkr PSBpcnEtbWFkZXJhLm8KPj4gIG9iai0kKENPTkZJR19MUzFYX0lSUSkJCQkrPSBpcnEtbHMxeC5v Cj4+ICBvYmotJChDT05GSUdfVElfU0NJX0lOVFJfSVJRQ0hJUCkJKz0gaXJxLXRpLXNjaS1pbnRy Lm8KPj4gIG9iai0kKENPTkZJR19USV9TQ0lfSU5UQV9JUlFDSElQKQkrPSBpcnEtdGktc2NpLWlu dGEubwo+PiArb2JqLSQoQ09ORklHX0xPT05HU09OX0xJT0lOVEMpCQkrPSBpcnEtbG9vbmdzb24t bGlvaW50Yy5vCj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2lycWNoaXAvaXJxLWxvb25nc29uLWxp b2ludGMuYyAKPj4gYi9kcml2ZXJzL2lycWNoaXAvaXJxLWxvb25nc29uLWxpb2ludGMuYwo+PiBu ZXcgZmlsZSBtb2RlIDEwMDY0NAo+PiBpbmRleCAwMDAwMDAwMDAwMDAuLjE4ZGUyYzA5ZWNlNAo+ PiAtLS0gL2Rldi9udWxsCj4+ICsrKyBiL2RyaXZlcnMvaXJxY2hpcC9pcnEtbG9vbmdzb24tbGlv aW50Yy5jCj4+IEBAIC0wLDAgKzEsMjYxIEBACj4+ICsvLyBTUERYLUxpY2Vuc2UtSWRlbnRpZmll cjogR1BMLTIuMAo+PiArLyoKPj4gKyAqICBDb3B5cmlnaHQgKEMpIDIwMjAsIEppYXh1biBZYW5n IDxqaWF4dW4ueWFuZ0BmbHlnb2F0LmNvbT4KPj4gKyAqICBMb29uZ3NvbiBMb2NhbCBJTyBJbnRl cnJ1cHQgQ29udHJvbGxlciBzdXBwb3J0Cj4+ICsgKi8KPj4gKwo+PiArI2luY2x1ZGUgPGxpbnV4 L2Vycm5vLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaW5pdC5oPgo+PiArI2luY2x1ZGUgPGxpbnV4 L3R5cGVzLmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaW50ZXJydXB0Lmg+Cj4+ICsjaW5jbHVkZSA8 bGludXgvaW9wb3J0Lmg+Cj4+ICsjaW5jbHVkZSA8bGludXgvaXJxY2hpcC5oPgo+PiArI2luY2x1 ZGUgPGxpbnV4L29mX2FkZHJlc3MuaD4KPj4gKyNpbmNsdWRlIDxsaW51eC9vZl9pcnEuaD4KPj4g KyNpbmNsdWRlIDxsaW51eC9pby5oPgo+PiArI2luY2x1ZGUgPGxpbnV4L3NtcC5oPgo+PiArI2lu Y2x1ZGUgPGxpbnV4L2lycWNoaXAvY2hhaW5lZF9pcnEuaD4KPj4gKwo+PiArI2luY2x1ZGUgPGJv b3RfcGFyYW0uaD4KPj4gKwo+PiArI2RlZmluZSBMSU9JTlRDX0NISVBfSVJRCTMyCj4+ICsjZGVm aW5lIExJT0lOVENfTlVNX1BBUkVOVCA0Cj4+ICsKPj4gKyNkZWZpbmUgTElPSU5UQ19JTlRDX0NI SVBfU1RBUlQJMHgyMAo+PiArCj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lOVENfU1RBVFVTCShM SU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MjApCj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lO VENfRU5fU1RBVFVTCShMSU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MDQpCj4+ICsjZGVmaW5l IExJT0lOVENfUkVHX0lOVENfRU5BQkxFCShMSU9JTlRDX0lOVENfQ0hJUF9TVEFSVCArIDB4MDgp Cj4+ICsjZGVmaW5lIExJT0lOVENfUkVHX0lOVENfRElTQUJMRQkoTElPSU5UQ19JTlRDX0NISVBf U1RBUlQgKyAweDBjKQo+PiArI2RlZmluZSBMSU9JTlRDX1JFR19JTlRDX1BPTAkoTElPSU5UQ19J TlRDX0NISVBfU1RBUlQgKyAweDEwKQo+PiArI2RlZmluZSBMSU9JTlRDX1JFR19JTlRDX0VER0UJ KExJT0lOVENfSU5UQ19DSElQX1NUQVJUICsgMHgxNCkKPj4gKwo+PiArI2RlZmluZSBMSU9JTlRD X1NISUZUX0lOVHgJNAo+PiArCj4+ICtzdHJ1Y3QgbGlvaW50Y19oYW5kbGVyX2RhdGEgewo+PiAr CXN0cnVjdCBsaW9pbnRjX3ByaXYJKnByaXY7Cj4+ICsJdTMyCQkJcGFyZW50X2ludF9tYXA7Cj4+ ICt9Owo+PiArCj4+ICtzdHJ1Y3QgbGlvaW50Y19wcml2IHsKPj4gKwlzdHJ1Y3QgaXJxX2NoaXBf Z2VuZXJpYwkJKmdjOwo+PiArCXN0cnVjdCBsaW9pbnRjX2hhbmRsZXJfZGF0YQloYW5kbGVyW0xJ T0lOVENfTlVNX1BBUkVOVF07Cj4+ICsJdTgJCQkJbWFwX2NhY2hlW0xJT0lOVENfQ0hJUF9JUlFd Owo+PiArfTsKPj4gKwo+PiArc3RhdGljIHZvaWQgbGlvaW50Y19jaGFpbmVkX2hhbmRsZV9pcnEo c3RydWN0IGlycV9kZXNjICpkZXNjKQo+PiArewo+PiArCXN0cnVjdCBsaW9pbnRjX2hhbmRsZXJf ZGF0YSAqaGFuZGxlciA9IAo+PiBpcnFfZGVzY19nZXRfaGFuZGxlcl9kYXRhKGRlc2MpOwo+PiAr CXN0cnVjdCBpcnFfY2hpcCAqY2hpcCA9IGlycV9kZXNjX2dldF9jaGlwKGRlc2MpOwo+PiArCXN0 cnVjdCBpcnFfY2hpcF9nZW5lcmljICpnYyA9IGhhbmRsZXItPnByaXYtPmdjOwo+PiArCXUzMiBw ZW5kaW5nOwo+PiArCj4+ICsJY2hhaW5lZF9pcnFfZW50ZXIoY2hpcCwgZGVzYyk7Cj4+ICsKPj4g KwlwZW5kaW5nID0gcmVhZGwoZ2MtPnJlZ19iYXNlICsgTElPSU5UQ19SRUdfSU5UQ19TVEFUVVMp Owo+PiArCj4+ICsJaWYgKCFwZW5kaW5nKQo+PiArCQlzcHVyaW91c19pbnRlcnJ1cHQoKTsKPj4g Kwo+PiArCXdoaWxlIChwZW5kaW5nKSB7Cj4+ICsJCWludCBiaXQgPSBfX2ZmcyhwZW5kaW5nKTsK Pj4gKwo+PiArCQlnZW5lcmljX2hhbmRsZV9pcnEoaXJxX2ZpbmRfbWFwcGluZyhnYy0+ZG9tYWlu LCBiaXQpKTsKPj4gKwkJcGVuZGluZyAmPSB+QklUKGJpdCk7Cj4+ICsJfQo+IAo+IENvbnNpZGVy IHVzaW5nIHRoZSBmb3JfZWFjaF9zZXRfYml0KCkgbWFjcm8gZnJvbSA8bGludXgvYml0b3BzLmg+ Lgo+IFNlZSBkcml2ZXJzL2lycWNoaXAvaXJxLWluZ2VuaWMtdGN1LmMgZm9yIGluc3RhbmNlLgoK d2hpY2ggd291bGQgcmVxdWlyZSBjaGFuZ2luZyB0aGUgcGVuZGluZyB0eXBlIHRvIGJlIHVuc2ln bmVkIGxvbmcuCk9wZW4tY29kaW5nIHRoZXNlIGlmIGZpbmUgaWYgaXQgaGVscHMga2VlcGluZyB0 aGUgdHlwZSBzeXN0ZW0gCmNvbnNpc3RlbnQuCgogICAgICAgICBNLgotLSAKSmF6eiBpcyBub3Qg ZGVhZC4gSXQganVzdCBzbWVsbHMgZnVubnkuLi4KCl9fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4 LWFybS1rZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK