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=-4.0 required=3.0 tests=BAYES_00,MAILING_LIST_MULTI, SPF_HELO_NONE,SPF_PASS autolearn=no 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 3582DC433E2 for ; Sat, 27 Mar 2021 19:45:31 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 0110861981 for ; Sat, 27 Mar 2021 19:45:30 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230416AbhC0TpA convert rfc822-to-8bit (ORCPT ); Sat, 27 Mar 2021 15:45:00 -0400 Received: from mail.kernel.org ([198.145.29.99]:54546 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230002AbhC0Toe (ORCPT ); Sat, 27 Mar 2021 15:44:34 -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 0C6D86198D; Sat, 27 Mar 2021 19:44:34 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lQErH-004BIN-UC; Sat, 27 Mar 2021 19:44:32 +0000 Date: Sat, 27 Mar 2021 19:44:30 +0000 Message-ID: <87o8f4fkkh.wl-maz@kernel.org> From: Marc Zyngier To: Pali =?UTF-8?B?Um9ow6Fy?= Cc: Jianjun Wang , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Ryder Lee , Philipp Zabel , Matthias Brugger , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, Krzysztof Wilczyski Subject: Re: [v9,5/7] PCI: mediatek-gen3: Add MSI support In-Reply-To: <20210327192837.4rr46oeiuokritlc@pali> References: <20210324030510.29177-1-jianjun.wang@mediatek.com> <20210324030510.29177-6-jianjun.wang@mediatek.com> <20210327192837.4rr46oeiuokritlc@pali> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8BIT X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: pali@kernel.org, jianjun.wang@mediatek.com, bhelgaas@google.com, robh+dt@kernel.org, lorenzo.pieralisi@arm.com, ryder.lee@mediatek.com, p.zabel@pengutronix.de, matthias.bgg@gmail.com, linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, kw@linux.com X-SA-Exim-Mail-From: maz@kernel.org X-SA-Exim-Scanned: No (on disco-boy.misterjones.org); SAEximRunCond expanded to false Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, 27 Mar 2021 19:28:37 +0000, Pali Rohár wrote: > > On Wednesday 24 March 2021 11:05:08 Jianjun Wang wrote: > > +static void mtk_pcie_msi_handler(struct mtk_pcie_port *port, int set_idx) > > +{ > > + struct mtk_msi_set *msi_set = &port->msi_sets[set_idx]; > > + unsigned long msi_enable, msi_status; > > + unsigned int virq; > > + irq_hw_number_t bit, hwirq; > > + > > + msi_enable = readl_relaxed(msi_set->base + PCIE_MSI_SET_ENABLE_OFFSET); > > + > > + do { > > + msi_status = readl_relaxed(msi_set->base + > > + PCIE_MSI_SET_STATUS_OFFSET); > > + msi_status &= msi_enable; > > + if (!msi_status) > > + break; > > + > > + for_each_set_bit(bit, &msi_status, PCIE_MSI_IRQS_PER_SET) { > > + hwirq = bit + set_idx * PCIE_MSI_IRQS_PER_SET; > > + virq = irq_find_mapping(port->msi_bottom_domain, hwirq); > > + generic_handle_irq(virq); > > + } > > + } while (true); > > Hello! > > Just a question, cannot this while-loop cause block of processing other > interrupts? This is a level interrupt. You don't have much choice but to handle it immediately, although an alternative would be to mask it and deal with it in a thread. And since Linux doesn't deal with interrupt priority, a screaming interrupt is never a good thing. > I have done tests with different HW (aardvark) but with same while(true) > loop logic. One XHCI PCIe controller was sending MSI interrupts too fast > and interrupt handler with this while(true) logic was in infinite loop. > During one IRQ it was calling infinite many times generic_handle_irq() > as HW was feeding new and new MSI hwirq into status register. Define "too fast". If something in the system is able to program the XHCI device in such a way that it causes a screaming interrupt, that's the place to look for problems, and probably not in the interrupt handling itself, which does what it is supposed to do. > But this is different HW, so it can have different behavior and does not > have to cause above issue. > > I have just spotted same code pattern for processing MSI interrupts... This is a common pattern that you will find in pretty much any interrupt handling/demuxing, and is done this way when the cost of taking the exception is high compared to that of handling it. Which is pretty much any of the badly designed, level-driving, DW-inspired, sorry excuse for MSI implementations that are popular on low-end ARM SoCs. Thanks, M. -- Without deviation from the norm, progress is not possible. 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=-4.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 3723AC433C1 for ; Sat, 27 Mar 2021 19:44:59 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 DBF826198D for ; Sat, 27 Mar 2021 19:44:58 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org DBF826198D 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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Subject:Cc:To: From:Message-ID:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=KdB1UQCjXYZutTOjJ0yd+jPKEwvl4WfHVxlH7eN7i98=; b=FQjdu5tqPltai+Gbxr3t2Usfu GlfxeRj5abqyrKMbkkcqaHvk2pEF0eFkwSGXympB6EDAXdVHdt0aZQywCVkeloArqHrSwe8mllWbO s2VNRLfLSXOJaLLtAHfTHntNlejCBL8SWQ4GrI3JXckWr1D1I8O23dcHkbCMIypkTjOkWwVLDTeit +mG89kJddxjoJWi05YHY+EopF+Efltw9oMv83mn7hLbq5hSaxi7GM+h9piBY5R73LM1Vb8uZMxXf7 c3G67O4byPvNOT6olKZ+m7he9I2GlNQGGlwSpr0H6oMFbIna278QBTkHCwPUzAg6XN7pttSQjY4KB 7McyJm0MA==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lQErY-005Sq7-9o; Sat, 27 Mar 2021 19:44:48 +0000 Received: from mail.kernel.org ([198.145.29.99]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lQErN-005SpN-FB; Sat, 27 Mar 2021 19:44:39 +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 0C6D86198D; Sat, 27 Mar 2021 19:44:34 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lQErH-004BIN-UC; Sat, 27 Mar 2021 19:44:32 +0000 Date: Sat, 27 Mar 2021 19:44:30 +0000 Message-ID: <87o8f4fkkh.wl-maz@kernel.org> From: Marc Zyngier To: Pali =?UTF-8?B?Um9ow6Fy?= Cc: Jianjun Wang , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Ryder Lee , Philipp Zabel , Matthias Brugger , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, Krzysztof Wilczyski Subject: Re: [v9,5/7] PCI: mediatek-gen3: Add MSI support In-Reply-To: <20210327192837.4rr46oeiuokritlc@pali> References: <20210324030510.29177-1-jianjun.wang@mediatek.com> <20210324030510.29177-6-jianjun.wang@mediatek.com> <20210327192837.4rr46oeiuokritlc@pali> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: pali@kernel.org, jianjun.wang@mediatek.com, bhelgaas@google.com, robh+dt@kernel.org, lorenzo.pieralisi@arm.com, ryder.lee@mediatek.com, p.zabel@pengutronix.de, matthias.bgg@gmail.com, linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, kw@linux.com 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-20210327_194437_895459_35ACE932 X-CRM114-Status: GOOD ( 26.21 ) X-BeenThere: linux-mediatek@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "Linux-mediatek" Errors-To: linux-mediatek-bounces+linux-mediatek=archiver.kernel.org@lists.infradead.org T24gU2F0LCAyNyBNYXIgMjAyMSAxOToyODozNyArMDAwMCwKUGFsaSBSb2jDoXIgPHBhbGlAa2Vy bmVsLm9yZz4gd3JvdGU6Cj4gCj4gT24gV2VkbmVzZGF5IDI0IE1hcmNoIDIwMjEgMTE6MDU6MDgg Smlhbmp1biBXYW5nIHdyb3RlOgo+ID4gK3N0YXRpYyB2b2lkIG10a19wY2llX21zaV9oYW5kbGVy KHN0cnVjdCBtdGtfcGNpZV9wb3J0ICpwb3J0LCBpbnQgc2V0X2lkeCkKPiA+ICt7Cj4gPiArCXN0 cnVjdCBtdGtfbXNpX3NldCAqbXNpX3NldCA9ICZwb3J0LT5tc2lfc2V0c1tzZXRfaWR4XTsKPiA+ ICsJdW5zaWduZWQgbG9uZyBtc2lfZW5hYmxlLCBtc2lfc3RhdHVzOwo+ID4gKwl1bnNpZ25lZCBp bnQgdmlycTsKPiA+ICsJaXJxX2h3X251bWJlcl90IGJpdCwgaHdpcnE7Cj4gPiArCj4gPiArCW1z aV9lbmFibGUgPSByZWFkbF9yZWxheGVkKG1zaV9zZXQtPmJhc2UgKyBQQ0lFX01TSV9TRVRfRU5B QkxFX09GRlNFVCk7Cj4gPiArCj4gPiArCWRvIHsKPiA+ICsJCW1zaV9zdGF0dXMgPSByZWFkbF9y ZWxheGVkKG1zaV9zZXQtPmJhc2UgKwo+ID4gKwkJCQkJICAgUENJRV9NU0lfU0VUX1NUQVRVU19P RkZTRVQpOwo+ID4gKwkJbXNpX3N0YXR1cyAmPSBtc2lfZW5hYmxlOwo+ID4gKwkJaWYgKCFtc2lf c3RhdHVzKQo+ID4gKwkJCWJyZWFrOwo+ID4gKwo+ID4gKwkJZm9yX2VhY2hfc2V0X2JpdChiaXQs ICZtc2lfc3RhdHVzLCBQQ0lFX01TSV9JUlFTX1BFUl9TRVQpIHsKPiA+ICsJCQlod2lycSA9IGJp dCArIHNldF9pZHggKiBQQ0lFX01TSV9JUlFTX1BFUl9TRVQ7Cj4gPiArCQkJdmlycSA9IGlycV9m aW5kX21hcHBpbmcocG9ydC0+bXNpX2JvdHRvbV9kb21haW4sIGh3aXJxKTsKPiA+ICsJCQlnZW5l cmljX2hhbmRsZV9pcnEodmlycSk7Cj4gPiArCQl9Cj4gPiArCX0gd2hpbGUgKHRydWUpOwo+IAo+ IEhlbGxvIQo+IAo+IEp1c3QgYSBxdWVzdGlvbiwgY2Fubm90IHRoaXMgd2hpbGUtbG9vcCBjYXVz ZSBibG9jayBvZiBwcm9jZXNzaW5nIG90aGVyCj4gaW50ZXJydXB0cz8KClRoaXMgaXMgYSBsZXZl bCBpbnRlcnJ1cHQuIFlvdSBkb24ndCBoYXZlIG11Y2ggY2hvaWNlIGJ1dCB0byBoYW5kbGUgaXQK aW1tZWRpYXRlbHksIGFsdGhvdWdoIGFuIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIG1hc2sgaXQg YW5kIGRlYWwgd2l0aAppdCBpbiBhIHRocmVhZC4gQW5kIHNpbmNlIExpbnV4IGRvZXNuJ3QgZGVh bCB3aXRoIGludGVycnVwdCBwcmlvcml0eSwKYSBzY3JlYW1pbmcgaW50ZXJydXB0IGlzIG5ldmVy IGEgZ29vZCB0aGluZy4KCj4gSSBoYXZlIGRvbmUgdGVzdHMgd2l0aCBkaWZmZXJlbnQgSFcgKGFh cmR2YXJrKSBidXQgd2l0aCBzYW1lIHdoaWxlKHRydWUpCj4gbG9vcCBsb2dpYy4gT25lIFhIQ0kg UENJZSBjb250cm9sbGVyIHdhcyBzZW5kaW5nIE1TSSBpbnRlcnJ1cHRzIHRvbyBmYXN0Cj4gYW5k IGludGVycnVwdCBoYW5kbGVyIHdpdGggdGhpcyB3aGlsZSh0cnVlKSBsb2dpYyB3YXMgaW4gaW5m aW5pdGUgbG9vcC4KPiBEdXJpbmcgb25lIElSUSBpdCB3YXMgY2FsbGluZyBpbmZpbml0ZSBtYW55 IHRpbWVzIGdlbmVyaWNfaGFuZGxlX2lycSgpCj4gYXMgSFcgd2FzIGZlZWRpbmcgbmV3IGFuZCBu ZXcgTVNJIGh3aXJxIGludG8gc3RhdHVzIHJlZ2lzdGVyLgoKRGVmaW5lICJ0b28gZmFzdCIuIElm IHNvbWV0aGluZyBpbiB0aGUgc3lzdGVtIGlzIGFibGUgdG8gcHJvZ3JhbSB0aGUKWEhDSSBkZXZp Y2UgaW4gc3VjaCBhIHdheSB0aGF0IGl0IGNhdXNlcyBhIHNjcmVhbWluZyBpbnRlcnJ1cHQsIHRo YXQncwp0aGUgcGxhY2UgdG8gbG9vayBmb3IgcHJvYmxlbXMsIGFuZCBwcm9iYWJseSBub3QgaW4g dGhlIGludGVycnVwdApoYW5kbGluZyBpdHNlbGYsIHdoaWNoIGRvZXMgd2hhdCBpdCBpcyBzdXBw b3NlZCB0byBkby4KCj4gQnV0IHRoaXMgaXMgZGlmZmVyZW50IEhXLCBzbyBpdCBjYW4gaGF2ZSBk aWZmZXJlbnQgYmVoYXZpb3IgYW5kIGRvZXMgbm90Cj4gaGF2ZSB0byBjYXVzZSBhYm92ZSBpc3N1 ZS4KPiAKPiBJIGhhdmUganVzdCBzcG90dGVkIHNhbWUgY29kZSBwYXR0ZXJuIGZvciBwcm9jZXNz aW5nIE1TSSBpbnRlcnJ1cHRzLi4uCgpUaGlzIGlzIGEgY29tbW9uIHBhdHRlcm4gdGhhdCB5b3Ug d2lsbCBmaW5kIGluIHByZXR0eSBtdWNoIGFueQppbnRlcnJ1cHQgaGFuZGxpbmcvZGVtdXhpbmcs IGFuZCBpcyBkb25lIHRoaXMgd2F5IHdoZW4gdGhlIGNvc3Qgb2YKdGFraW5nIHRoZSBleGNlcHRp b24gaXMgaGlnaCBjb21wYXJlZCB0byB0aGF0IG9mIGhhbmRsaW5nIGl0LgoKV2hpY2ggaXMgcHJl dHR5IG11Y2ggYW55IG9mIHRoZSBiYWRseSBkZXNpZ25lZCwgbGV2ZWwtZHJpdmluZywKRFctaW5z cGlyZWQsIHNvcnJ5IGV4Y3VzZSBmb3IgTVNJIGltcGxlbWVudGF0aW9ucyB0aGF0IGFyZSBwb3B1 bGFyIG9uCmxvdy1lbmQgQVJNIFNvQ3MuCgpUaGFua3MsCgoJTS4KCi0tIApXaXRob3V0IGRldmlh dGlvbiBmcm9tIHRoZSBub3JtLCBwcm9ncmVzcyBpcyBub3QgcG9zc2libGUuCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpMaW51eC1tZWRpYXRlayBtYWls aW5nIGxpc3QKTGludXgtbWVkaWF0ZWtAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMu aW5mcmFkZWFkLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2xpbnV4LW1lZGlhdGVrCg== 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=-4.2 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no 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 A043EC433DB for ; Sat, 27 Mar 2021 19:46:18 +0000 (UTC) Received: from desiato.infradead.org (desiato.infradead.org [90.155.92.199]) (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 304DE61981 for ; Sat, 27 Mar 2021 19:46:18 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 304DE61981 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+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=desiato.20200630; h=Sender:Content-Transfer-Encoding :Content-Type:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:Subject:Cc:To: From:Message-ID:Date:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=X4nyuhxdqKuSS04DdehqxzyhnWXIBBZu/xLDOT44JH8=; b=LQJMm2bkQFSSB4MyXiv7j+iaM LDAX8ivsIuv8J6Oq6eAqy71qKaubS4EiNRrf8ZDDvd+mhfWk9nnvu48vzB4tnbp8/+So7JkF8/YFQ n3wgKlOeAu4bMFfoqJIhBj9X2C/Qsbxlw2v2TFj2cY7A+kdx/Js2oCvM2H1YhfIQlmbmfP2+9wJpH y8NaP1mky+bhdswWdQoLGMf6R+Kdt6aFKsokGvOEzPdCVO2yMJyrSSvlWWdDH0EGOnTjOJFmmP0qr FXlAWiuRQXmYWfB0yxrYjJcz1v/dRCjcURvPRpI3yHanfi+y8WVLGQH4nfaH/YhW3s7+hmG32WneX j/aKLJQlg==; Received: from localhost ([::1] helo=desiato.infradead.org) by desiato.infradead.org with esmtp (Exim 4.94 #2 (Red Hat Linux)) id 1lQErS-005Spx-Ex; Sat, 27 Mar 2021 19:44:42 +0000 Received: from mail.kernel.org ([198.145.29.99]) by desiato.infradead.org with esmtps (Exim 4.94 #2 (Red Hat Linux)) id 1lQErN-005SpN-FB; Sat, 27 Mar 2021 19:44:39 +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 0C6D86198D; Sat, 27 Mar 2021 19:44:34 +0000 (UTC) Received: from 78.163-31-62.static.virginmediabusiness.co.uk ([62.31.163.78] helo=wait-a-minute.misterjones.org) by disco-boy.misterjones.org with esmtpsa (TLS1.3) tls TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384 (Exim 4.94) (envelope-from ) id 1lQErH-004BIN-UC; Sat, 27 Mar 2021 19:44:32 +0000 Date: Sat, 27 Mar 2021 19:44:30 +0000 Message-ID: <87o8f4fkkh.wl-maz@kernel.org> From: Marc Zyngier To: Pali =?UTF-8?B?Um9ow6Fy?= Cc: Jianjun Wang , Bjorn Helgaas , Rob Herring , Lorenzo Pieralisi , Ryder Lee , Philipp Zabel , Matthias Brugger , linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, Krzysztof Wilczyski Subject: Re: [v9,5/7] PCI: mediatek-gen3: Add MSI support In-Reply-To: <20210327192837.4rr46oeiuokritlc@pali> References: <20210324030510.29177-1-jianjun.wang@mediatek.com> <20210324030510.29177-6-jianjun.wang@mediatek.com> <20210327192837.4rr46oeiuokritlc@pali> User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI-EPG/1.14.7 (Harue) FLIM-LB/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL-LB/10.8 EasyPG/1.0.0 Emacs/27.1 (x86_64-pc-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") X-SA-Exim-Connect-IP: 62.31.163.78 X-SA-Exim-Rcpt-To: pali@kernel.org, jianjun.wang@mediatek.com, bhelgaas@google.com, robh+dt@kernel.org, lorenzo.pieralisi@arm.com, ryder.lee@mediatek.com, p.zabel@pengutronix.de, matthias.bgg@gmail.com, linux-pci@vger.kernel.org, linux-mediatek@lists.infradead.org, devicetree@vger.kernel.org, linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org, youlin.pei@mediatek.com, chuanjia.liu@mediatek.com, qizhong.cheng@mediatek.com, sin_jieyang@mediatek.com, drinkcat@chromium.org, Rex-BC.Chen@mediatek.com, anson.chuang@mediatek.com, kw@linux.com 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-20210327_194437_895459_35ACE932 X-CRM114-Status: GOOD ( 26.21 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org T24gU2F0LCAyNyBNYXIgMjAyMSAxOToyODozNyArMDAwMCwKUGFsaSBSb2jDoXIgPHBhbGlAa2Vy bmVsLm9yZz4gd3JvdGU6Cj4gCj4gT24gV2VkbmVzZGF5IDI0IE1hcmNoIDIwMjEgMTE6MDU6MDgg Smlhbmp1biBXYW5nIHdyb3RlOgo+ID4gK3N0YXRpYyB2b2lkIG10a19wY2llX21zaV9oYW5kbGVy KHN0cnVjdCBtdGtfcGNpZV9wb3J0ICpwb3J0LCBpbnQgc2V0X2lkeCkKPiA+ICt7Cj4gPiArCXN0 cnVjdCBtdGtfbXNpX3NldCAqbXNpX3NldCA9ICZwb3J0LT5tc2lfc2V0c1tzZXRfaWR4XTsKPiA+ ICsJdW5zaWduZWQgbG9uZyBtc2lfZW5hYmxlLCBtc2lfc3RhdHVzOwo+ID4gKwl1bnNpZ25lZCBp bnQgdmlycTsKPiA+ICsJaXJxX2h3X251bWJlcl90IGJpdCwgaHdpcnE7Cj4gPiArCj4gPiArCW1z aV9lbmFibGUgPSByZWFkbF9yZWxheGVkKG1zaV9zZXQtPmJhc2UgKyBQQ0lFX01TSV9TRVRfRU5B QkxFX09GRlNFVCk7Cj4gPiArCj4gPiArCWRvIHsKPiA+ICsJCW1zaV9zdGF0dXMgPSByZWFkbF9y ZWxheGVkKG1zaV9zZXQtPmJhc2UgKwo+ID4gKwkJCQkJICAgUENJRV9NU0lfU0VUX1NUQVRVU19P RkZTRVQpOwo+ID4gKwkJbXNpX3N0YXR1cyAmPSBtc2lfZW5hYmxlOwo+ID4gKwkJaWYgKCFtc2lf c3RhdHVzKQo+ID4gKwkJCWJyZWFrOwo+ID4gKwo+ID4gKwkJZm9yX2VhY2hfc2V0X2JpdChiaXQs ICZtc2lfc3RhdHVzLCBQQ0lFX01TSV9JUlFTX1BFUl9TRVQpIHsKPiA+ICsJCQlod2lycSA9IGJp dCArIHNldF9pZHggKiBQQ0lFX01TSV9JUlFTX1BFUl9TRVQ7Cj4gPiArCQkJdmlycSA9IGlycV9m aW5kX21hcHBpbmcocG9ydC0+bXNpX2JvdHRvbV9kb21haW4sIGh3aXJxKTsKPiA+ICsJCQlnZW5l cmljX2hhbmRsZV9pcnEodmlycSk7Cj4gPiArCQl9Cj4gPiArCX0gd2hpbGUgKHRydWUpOwo+IAo+ IEhlbGxvIQo+IAo+IEp1c3QgYSBxdWVzdGlvbiwgY2Fubm90IHRoaXMgd2hpbGUtbG9vcCBjYXVz ZSBibG9jayBvZiBwcm9jZXNzaW5nIG90aGVyCj4gaW50ZXJydXB0cz8KClRoaXMgaXMgYSBsZXZl bCBpbnRlcnJ1cHQuIFlvdSBkb24ndCBoYXZlIG11Y2ggY2hvaWNlIGJ1dCB0byBoYW5kbGUgaXQK aW1tZWRpYXRlbHksIGFsdGhvdWdoIGFuIGFsdGVybmF0aXZlIHdvdWxkIGJlIHRvIG1hc2sgaXQg YW5kIGRlYWwgd2l0aAppdCBpbiBhIHRocmVhZC4gQW5kIHNpbmNlIExpbnV4IGRvZXNuJ3QgZGVh bCB3aXRoIGludGVycnVwdCBwcmlvcml0eSwKYSBzY3JlYW1pbmcgaW50ZXJydXB0IGlzIG5ldmVy IGEgZ29vZCB0aGluZy4KCj4gSSBoYXZlIGRvbmUgdGVzdHMgd2l0aCBkaWZmZXJlbnQgSFcgKGFh cmR2YXJrKSBidXQgd2l0aCBzYW1lIHdoaWxlKHRydWUpCj4gbG9vcCBsb2dpYy4gT25lIFhIQ0kg UENJZSBjb250cm9sbGVyIHdhcyBzZW5kaW5nIE1TSSBpbnRlcnJ1cHRzIHRvbyBmYXN0Cj4gYW5k IGludGVycnVwdCBoYW5kbGVyIHdpdGggdGhpcyB3aGlsZSh0cnVlKSBsb2dpYyB3YXMgaW4gaW5m aW5pdGUgbG9vcC4KPiBEdXJpbmcgb25lIElSUSBpdCB3YXMgY2FsbGluZyBpbmZpbml0ZSBtYW55 IHRpbWVzIGdlbmVyaWNfaGFuZGxlX2lycSgpCj4gYXMgSFcgd2FzIGZlZWRpbmcgbmV3IGFuZCBu ZXcgTVNJIGh3aXJxIGludG8gc3RhdHVzIHJlZ2lzdGVyLgoKRGVmaW5lICJ0b28gZmFzdCIuIElm IHNvbWV0aGluZyBpbiB0aGUgc3lzdGVtIGlzIGFibGUgdG8gcHJvZ3JhbSB0aGUKWEhDSSBkZXZp Y2UgaW4gc3VjaCBhIHdheSB0aGF0IGl0IGNhdXNlcyBhIHNjcmVhbWluZyBpbnRlcnJ1cHQsIHRo YXQncwp0aGUgcGxhY2UgdG8gbG9vayBmb3IgcHJvYmxlbXMsIGFuZCBwcm9iYWJseSBub3QgaW4g dGhlIGludGVycnVwdApoYW5kbGluZyBpdHNlbGYsIHdoaWNoIGRvZXMgd2hhdCBpdCBpcyBzdXBw b3NlZCB0byBkby4KCj4gQnV0IHRoaXMgaXMgZGlmZmVyZW50IEhXLCBzbyBpdCBjYW4gaGF2ZSBk aWZmZXJlbnQgYmVoYXZpb3IgYW5kIGRvZXMgbm90Cj4gaGF2ZSB0byBjYXVzZSBhYm92ZSBpc3N1 ZS4KPiAKPiBJIGhhdmUganVzdCBzcG90dGVkIHNhbWUgY29kZSBwYXR0ZXJuIGZvciBwcm9jZXNz aW5nIE1TSSBpbnRlcnJ1cHRzLi4uCgpUaGlzIGlzIGEgY29tbW9uIHBhdHRlcm4gdGhhdCB5b3Ug d2lsbCBmaW5kIGluIHByZXR0eSBtdWNoIGFueQppbnRlcnJ1cHQgaGFuZGxpbmcvZGVtdXhpbmcs IGFuZCBpcyBkb25lIHRoaXMgd2F5IHdoZW4gdGhlIGNvc3Qgb2YKdGFraW5nIHRoZSBleGNlcHRp b24gaXMgaGlnaCBjb21wYXJlZCB0byB0aGF0IG9mIGhhbmRsaW5nIGl0LgoKV2hpY2ggaXMgcHJl dHR5IG11Y2ggYW55IG9mIHRoZSBiYWRseSBkZXNpZ25lZCwgbGV2ZWwtZHJpdmluZywKRFctaW5z cGlyZWQsIHNvcnJ5IGV4Y3VzZSBmb3IgTVNJIGltcGxlbWVudGF0aW9ucyB0aGF0IGFyZSBwb3B1 bGFyIG9uCmxvdy1lbmQgQVJNIFNvQ3MuCgpUaGFua3MsCgoJTS4KCi0tIApXaXRob3V0IGRldmlh dGlvbiBmcm9tIHRoZSBub3JtLCBwcm9ncmVzcyBpcyBub3QgcG9zc2libGUuCgpfX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpsaW51eC1hcm0ta2VybmVsIG1h aWxpbmcgbGlzdApsaW51eC1hcm0ta2VybmVsQGxpc3RzLmluZnJhZGVhZC5vcmcKaHR0cDovL2xp c3RzLmluZnJhZGVhZC5vcmcvbWFpbG1hbi9saXN0aW5mby9saW51eC1hcm0ta2VybmVsCg==