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=-16.6 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER,INCLUDES_PATCH, MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS,URIBL_BLOCKED, USER_AGENT_SANE_1 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 0E957C4338F for ; Tue, 24 Aug 2021 21:39:24 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id D646E61374 for ; Tue, 24 Aug 2021 21:39:23 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235104AbhHXVkH (ORCPT ); Tue, 24 Aug 2021 17:40:07 -0400 Received: from foss.arm.com ([217.140.110.172]:41126 "EHLO foss.arm.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S234442AbhHXVkH (ORCPT ); Tue, 24 Aug 2021 17:40:07 -0400 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 41BB0D6E; Tue, 24 Aug 2021 14:39:22 -0700 (PDT) Received: from [192.168.122.166] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A06533F5A1; Tue, 24 Aug 2021 14:39:21 -0700 (PDT) Subject: Re: [PATCH v2 3/4] PCI/ACPI: Add Broadcom bcm2711 MCFG quirk To: Florian Fainelli , linux-pci@vger.kernel.org Cc: lorenzo.pieralisi@arm.com, nsaenz@kernel.org, bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org, robh@kernel.org, kw@linux.com, sdonthineni@nvidia.com, stefan.wahren@i2se.com, bcm-kernel-feedback-list@broadcom.com, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20210819215655.84866-1-jeremy.linton@arm.com> <20210819215655.84866-4-jeremy.linton@arm.com> <9796674a-5870-135c-2fdc-fb0d5347d7c7@gmail.com> From: Jeremy Linton Message-ID: Date: Tue, 24 Aug 2021 16:39:20 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <9796674a-5870-135c-2fdc-fb0d5347d7c7@gmail.com> Content-Type: text/plain; charset=utf-8; format=flowed Content-Language: en-US Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-acpi@vger.kernel.org Hi, On 8/22/21 3:53 AM, Florian Fainelli wrote: > > > On 8/19/2021 11:56 PM, Jeremy Linton wrote: >> Now that there is a bcm2711 quirk, it needs to be enabled when the >> MCFG is missing. Use an ACPI namespace _DSD property >> "linux-ecam-quirk-id" as an alternative to the MCFG OEM. >> >> Signed-off-by: Jeremy Linton >> --- >>   drivers/acpi/pci_mcfg.c | 13 +++++++++++++ >>   1 file changed, 13 insertions(+) >> >> diff --git a/drivers/acpi/pci_mcfg.c b/drivers/acpi/pci_mcfg.c >> index 53cab975f612..4b991ee5c66c 100644 >> --- a/drivers/acpi/pci_mcfg.c >> +++ b/drivers/acpi/pci_mcfg.c >> @@ -169,6 +169,9 @@ static struct mcfg_fixup mcfg_quirks[] = { >>       ALTRA_ECAM_QUIRK(1, 13), >>       ALTRA_ECAM_QUIRK(1, 14), >>       ALTRA_ECAM_QUIRK(1, 15), >> + >> +    { "bcm2711", "", 0, 0, MCFG_BUS_ANY, &bcm2711_pcie_ops, >> +      DEFINE_RES_MEM(0xFD500000, 0xA000) }, >>   }; >>   static char mcfg_oem_id[ACPI_OEM_ID_SIZE]; >> @@ -198,8 +201,18 @@ static void pci_mcfg_apply_quirks(struct >> acpi_pci_root *root, >>       u16 segment = root->segment; >>       struct resource *bus_range = &root->secondary; >>       struct mcfg_fixup *f; >> +    const char *soc; >>       int i; >> +    /* >> +     * This may be a machine with a PCI/SMC conduit, which means it >> doesn't >> +     * have an MCFG. Use an ACPI namespace definition instead. >> +     */ >> +    if (!fwnode_property_read_string(acpi_fwnode_handle(root->device), >> +                     "linux-ecam-quirk-id", &soc)) { >> +        memcpy(mcfg_oem_id, soc, ACPI_OEM_ID_SIZE); > > Being super paranoid here, can we use one of the "safe" string copy > routines here just in case? Hmm, I went around with this a bit when I first wrote it, because the OEM fields in the ACPI tables are fixed len and don't have null termination. Maybe the right thing to do here is verify the string size is at least as long as the OEM_ID_SIZE and then continue to use the memcpy. > >> +    } >> + >>       for (i = 0, f = mcfg_quirks; i < ARRAY_SIZE(mcfg_quirks); i++, >> f++) { >>           if (pci_mcfg_quirk_matches(f, segment, bus_range)) { >>               if (f->cfgres.start) >> > 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=-17.3 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_CR_TRAILER, INCLUDES_PATCH,MAILING_LIST_MULTI,NICE_REPLY_A,SPF_HELO_NONE,SPF_PASS, URIBL_BLOCKED,USER_AGENT_SANE_1 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 46280C4338F for ; Tue, 24 Aug 2021 21:41:41 +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 0D5DA61151 for ; Tue, 24 Aug 2021 21:41:41 +0000 (UTC) DMARC-Filter: OpenDMARC Filter v1.4.1 mail.kernel.org 0D5DA61151 Authentication-Results: mail.kernel.org; dmarc=fail (p=none dis=none) header.from=arm.com Authentication-Results: mail.kernel.org; spf=none smtp.mailfrom=lists.infradead.org DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Content-Type: Content-Transfer-Encoding:List-Subscribe:List-Help:List-Post:List-Archive: List-Unsubscribe:List-Id:In-Reply-To:MIME-Version:Date:Message-ID:From: References:Cc:To:Subject:Reply-To:Content-ID:Content-Description:Resent-Date: Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=wDunOfsc7nfXCoI/Nd+vAVageQc7WxIQuPFzCA6ZrmQ=; b=2x2BTu5OVCVE/cmsEx+0I8QC/+ JS7zg/eYu1BXvHyL53HKsLl1+Z+sNPqXh6NfGoX+pfJrdZn9x1aTNV0+/9FzbjDjISsLvp3kmrg+0 +L4DdRDwvYMah+8ArjO9byOTS/kEwBUPEHo8smsTQBrIvw6eT+2brQDSJ73Z8JLCO0g0yQwKEhQqt uerWUGBFU6zQVbisPe5+ElndIOjyDWzizNPTqa9hddQ9wvVkVu44zacbdOIM2/VGHm4LqsRl7EGyf JktkhPfDOFOXvexOrUVQ55Ev8kMKjt6oh/RT4Ip97MyH88dglRIvC9aXBkpBIc8T90GX9Eh5BKMgx nOvYfXqw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIe8p-004kVj-7g; Tue, 24 Aug 2021 21:39:31 +0000 Received: from foss.arm.com ([217.140.110.172]) by bombadil.infradead.org with esmtp (Exim 4.94.2 #2 (Red Hat Linux)) id 1mIe8l-004kUz-Al; Tue, 24 Aug 2021 21:39:28 +0000 Received: from usa-sjc-imap-foss1.foss.arm.com (unknown [10.121.207.14]) by usa-sjc-mx-foss1.foss.arm.com (Postfix) with ESMTP id 41BB0D6E; Tue, 24 Aug 2021 14:39:22 -0700 (PDT) Received: from [192.168.122.166] (unknown [172.31.20.19]) by usa-sjc-imap-foss1.foss.arm.com (Postfix) with ESMTPSA id A06533F5A1; Tue, 24 Aug 2021 14:39:21 -0700 (PDT) Subject: Re: [PATCH v2 3/4] PCI/ACPI: Add Broadcom bcm2711 MCFG quirk To: Florian Fainelli , linux-pci@vger.kernel.org Cc: lorenzo.pieralisi@arm.com, nsaenz@kernel.org, bhelgaas@google.com, rjw@rjwysocki.net, lenb@kernel.org, robh@kernel.org, kw@linux.com, sdonthineni@nvidia.com, stefan.wahren@i2se.com, bcm-kernel-feedback-list@broadcom.com, linux-acpi@vger.kernel.org, linux-arm-kernel@lists.infradead.org, linux-rpi-kernel@lists.infradead.org, linux-kernel@vger.kernel.org References: <20210819215655.84866-1-jeremy.linton@arm.com> <20210819215655.84866-4-jeremy.linton@arm.com> <9796674a-5870-135c-2fdc-fb0d5347d7c7@gmail.com> From: Jeremy Linton Message-ID: Date: Tue, 24 Aug 2021 16:39:20 -0500 User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:78.0) Gecko/20100101 Thunderbird/78.10.1 MIME-Version: 1.0 In-Reply-To: <9796674a-5870-135c-2fdc-fb0d5347d7c7@gmail.com> Content-Language: en-US X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20210824_143927_462548_0A138CE6 X-CRM114-Status: GOOD ( 20.73 ) 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-Transfer-Encoding: base64 Content-Type: text/plain; charset="utf-8"; Format="flowed" Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org SGksCgpPbiA4LzIyLzIxIDM6NTMgQU0sIEZsb3JpYW4gRmFpbmVsbGkgd3JvdGU6Cj4gCj4gCj4g T24gOC8xOS8yMDIxIDExOjU2IFBNLCBKZXJlbXkgTGludG9uIHdyb3RlOgo+PiBOb3cgdGhhdCB0 aGVyZSBpcyBhIGJjbTI3MTEgcXVpcmssIGl0IG5lZWRzIHRvIGJlIGVuYWJsZWQgd2hlbiB0aGUK Pj4gTUNGRyBpcyBtaXNzaW5nLiBVc2UgYW4gQUNQSSBuYW1lc3BhY2UgX0RTRCBwcm9wZXJ0eQo+ PiAibGludXgtZWNhbS1xdWlyay1pZCIgYXMgYW4gYWx0ZXJuYXRpdmUgdG8gdGhlIE1DRkcgT0VN Lgo+Pgo+PiBTaWduZWQtb2ZmLWJ5OiBKZXJlbXkgTGludG9uIDxqZXJlbXkubGludG9uQGFybS5j b20+Cj4+IC0tLQo+PiDCoCBkcml2ZXJzL2FjcGkvcGNpX21jZmcuYyB8IDEzICsrKysrKysrKysr KysKPj4gwqAgMSBmaWxlIGNoYW5nZWQsIDEzIGluc2VydGlvbnMoKykKPj4KPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvYWNwaS9wY2lfbWNmZy5jIGIvZHJpdmVycy9hY3BpL3BjaV9tY2ZnLmMKPj4g aW5kZXggNTNjYWI5NzVmNjEyLi40Yjk5MWVlNWM2NmMgMTAwNjQ0Cj4+IC0tLSBhL2RyaXZlcnMv YWNwaS9wY2lfbWNmZy5jCj4+ICsrKyBiL2RyaXZlcnMvYWNwaS9wY2lfbWNmZy5jCj4+IEBAIC0x NjksNiArMTY5LDkgQEAgc3RhdGljIHN0cnVjdCBtY2ZnX2ZpeHVwIG1jZmdfcXVpcmtzW10gPSB7 Cj4+IMKgwqDCoMKgwqAgQUxUUkFfRUNBTV9RVUlSSygxLCAxMyksCj4+IMKgwqDCoMKgwqAgQUxU UkFfRUNBTV9RVUlSSygxLCAxNCksCj4+IMKgwqDCoMKgwqAgQUxUUkFfRUNBTV9RVUlSSygxLCAx NSksCj4+ICsKPj4gK8KgwqDCoCB7ICJiY20yNzExIiwgIiIsIDAsIDAsIE1DRkdfQlVTX0FOWSwg JmJjbTI3MTFfcGNpZV9vcHMsCj4+ICvCoMKgwqDCoMKgIERFRklORV9SRVNfTUVNKDB4RkQ1MDAw MDAsIDB4QTAwMCkgfSwKPj4gwqAgfTsKPj4gwqAgc3RhdGljIGNoYXIgbWNmZ19vZW1faWRbQUNQ SV9PRU1fSURfU0laRV07Cj4+IEBAIC0xOTgsOCArMjAxLDE4IEBAIHN0YXRpYyB2b2lkIHBjaV9t Y2ZnX2FwcGx5X3F1aXJrcyhzdHJ1Y3QgCj4+IGFjcGlfcGNpX3Jvb3QgKnJvb3QsCj4+IMKgwqDC oMKgwqAgdTE2IHNlZ21lbnQgPSByb290LT5zZWdtZW50Owo+PiDCoMKgwqDCoMKgIHN0cnVjdCBy ZXNvdXJjZSAqYnVzX3JhbmdlID0gJnJvb3QtPnNlY29uZGFyeTsKPj4gwqDCoMKgwqDCoCBzdHJ1 Y3QgbWNmZ19maXh1cCAqZjsKPj4gK8KgwqDCoCBjb25zdCBjaGFyICpzb2M7Cj4+IMKgwqDCoMKg wqAgaW50IGk7Cj4+ICvCoMKgwqAgLyoKPj4gK8KgwqDCoMKgICogVGhpcyBtYXkgYmUgYSBtYWNo aW5lIHdpdGggYSBQQ0kvU01DIGNvbmR1aXQsIHdoaWNoIG1lYW5zIGl0IAo+PiBkb2Vzbid0Cj4+ ICvCoMKgwqDCoCAqIGhhdmUgYW4gTUNGRy4gVXNlIGFuIEFDUEkgbmFtZXNwYWNlIGRlZmluaXRp b24gaW5zdGVhZC4KPj4gK8KgwqDCoMKgICovCj4+ICvCoMKgwqAgaWYgKCFmd25vZGVfcHJvcGVy dHlfcmVhZF9zdHJpbmcoYWNwaV9md25vZGVfaGFuZGxlKHJvb3QtPmRldmljZSksCj4+ICvCoMKg wqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgICJsaW51eC1lY2FtLXF1aXJrLWlk IiwgJnNvYykpIHsKPj4gK8KgwqDCoMKgwqDCoMKgIG1lbWNweShtY2ZnX29lbV9pZCwgc29jLCBB Q1BJX09FTV9JRF9TSVpFKTsKPiAKPiBCZWluZyBzdXBlciBwYXJhbm9pZCBoZXJlLCBjYW4gd2Ug dXNlIG9uZSBvZiB0aGUgInNhZmUiIHN0cmluZyBjb3B5IAo+IHJvdXRpbmVzIGhlcmUganVzdCBp biBjYXNlPwoKSG1tLCBJIHdlbnQgYXJvdW5kIHdpdGggdGhpcyBhIGJpdCB3aGVuIEkgZmlyc3Qg d3JvdGUgaXQsIGJlY2F1c2UgdGhlIApPRU0gZmllbGRzIGluIHRoZSBBQ1BJIHRhYmxlcyBhcmUg Zml4ZWQgbGVuIGFuZCBkb24ndCBoYXZlIG51bGwgCnRlcm1pbmF0aW9uLiBNYXliZSB0aGUgcmln aHQgdGhpbmcgdG8gZG8gaGVyZSBpcyB2ZXJpZnkgdGhlIHN0cmluZyBzaXplIAppcyBhdCBsZWFz dCBhcyBsb25nIGFzIHRoZSBPRU1fSURfU0laRSBhbmQgdGhlbiBjb250aW51ZSB0byB1c2UgdGhl IG1lbWNweS4KCj4gCj4+ICvCoMKgwqAgfQo+PiArCj4+IMKgwqDCoMKgwqAgZm9yIChpID0gMCwg ZiA9IG1jZmdfcXVpcmtzOyBpIDwgQVJSQVlfU0laRShtY2ZnX3F1aXJrcyk7IGkrKywgCj4+IGYr Kykgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqAgaWYgKHBjaV9tY2ZnX3F1aXJrX21hdGNoZXMoZiwg c2VnbWVudCwgYnVzX3JhbmdlKSkgewo+PiDCoMKgwqDCoMKgwqDCoMKgwqDCoMKgwqDCoCBpZiAo Zi0+Y2ZncmVzLnN0YXJ0KQo+Pgo+IAoKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fCmxpbnV4LWFybS1rZXJuZWwgbWFpbGluZyBsaXN0CmxpbnV4LWFybS1r ZXJuZWxAbGlzdHMuaW5mcmFkZWFkLm9yZwpodHRwOi8vbGlzdHMuaW5mcmFkZWFkLm9yZy9tYWls bWFuL2xpc3RpbmZvL2xpbnV4LWFybS1rZXJuZWwK