summaryrefslogtreecommitdiffstats
path: root/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
diff options
context:
space:
mode:
Diffstat (limited to 'USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch')
-rw-r--r--USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch714
1 files changed, 0 insertions, 714 deletions
diff --git a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch b/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
deleted file mode 100644
index b1f4e7942..000000000
--- a/USB-pci-quirks-Add-Raspberry-Pi-4-quirk.patch
+++ /dev/null
@@ -1,714 +0,0 @@
-From patchwork Tue May 5 16:13:14 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529601
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 1BF82139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:13:46 +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 ED4E0206A4
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:13:45 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="u/J7plS1"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org ED4E0206A4
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=bGQLzaoeWIDpTINYetpnA2L/vb7OmdXvhp2NJuW0F3A=; b=u/J7plS1Bwu25p
- 31YlPyAxNHzkNz73OdF7ft5uhn9vS8dF3TEBhhmSu83IWYwAhsjyqTB+Hn8104w1KT17o0ihuNG++
- UIf6ftYyM8/v9W57OPJcwcWqPpKyFVB7fs9hgR9IE1/Qm8Ur/aUjmD1HK272ZJYsgrFqyFO4PP7DD
- 1LwVH20tWs3UvX317QDIn5VIq8EAX5ImabSfeYHw1LlyhQUYF10UPX5zw4I2TlLRd2hFvfyUy7s8b
- 1uMZFqLeqfTHrauQ43p5IBZs/wNGKGJbQlZvuENJxPcbBharqHBVDZrFvtV2MLnvrDOnv6A2QSfpt
- vv++WCa+crrbmyL2v/pw==;
-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 1jW0CU-00035T-KT; Tue, 05 May 2020 16:13:42 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CF-0002rM-7U; Tue, 05 May 2020 16:13:28 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 0992CAF4F;
- Tue, 5 May 2020 16:13:28 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Subject: [PATCH v8 1/4] soc: bcm2835: Add notify xHCI reset property
-Date: Tue, 5 May 2020 18:13:14 +0200
-Message-Id: <20200505161318.26200-2-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091327_410061_22E5BD39
-X-CRM114-Status: GOOD ( 13.67 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-pci@vger.kernel.org, tim.gover@raspberrypi.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The property is needed in order to trigger VL805's firmware load. Note
-that gap between the property introduced and the previous one is due to
-the properties not being defined.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
----
- include/soc/bcm2835/raspberrypi-firmware.h | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
-index 7800e12ee042..cc9cdbc66403 100644
---- a/include/soc/bcm2835/raspberrypi-firmware.h
-+++ b/include/soc/bcm2835/raspberrypi-firmware.h
-@@ -90,7 +90,7 @@ enum rpi_firmware_property_tag {
- RPI_FIRMWARE_SET_PERIPH_REG = 0x00038045,
- RPI_FIRMWARE_GET_POE_HAT_VAL = 0x00030049,
- RPI_FIRMWARE_SET_POE_HAT_VAL = 0x00030050,
--
-+ RPI_FIRMWARE_NOTIFY_XHCI_RESET = 0x00030058,
-
- /* Dispmanx TAGS */
- RPI_FIRMWARE_FRAMEBUFFER_ALLOCATE = 0x00040001,
-
-From patchwork Tue May 5 16:13:15 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529609
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 337F6139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:02 +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 062432084D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:02 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="SDl3WXtu"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 062432084D
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=Zr8RX4pUFuT9LYq/WsMx8aWZosDB52n4Q59lcyexfbE=; b=SDl3WXtuTc/nTE
- liOc14IJBVmzylTRvqtl7RNlIur09j/+2VWz/L9i6UGqjG6N3L8XsQ0hQjdunHpod9jj3p3Az+4sq
- FgwzoSdghy8rfnfxhcqJSbvMvX34yzGnoQBS46jClcjky9iNoijO+nBo3SE9wC8vSKKIafCzmVqHw
- P7p44IgFrwgnBKbAgdUWCjUVQqolk2pLJr7jw/TG8pvfv0R6XJGmz3Lbl8gP14FyWfkkqsKqC+0g1
- Jq6JPtdl+W0AfEWVrFr6/74LhLTpnhsPqXGEPJjrLqtkbZ2c9pulOQ3f85qAed9slCbkVxe5fHetC
- bwaYOp++AlOj7kNN25Qw==;
-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 1jW0Ch-0003KV-Mk; Tue, 05 May 2020 16:13:55 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CG-0002rw-Mm; Tue, 05 May 2020 16:13:30 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 4B6EDAF5D;
- Tue, 5 May 2020 16:13:29 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Ray Jui <rjui@broadcom.com>, Scott Branden <sbranden@broadcom.com>,
- bcm-kernel-feedback-list@broadcom.com
-Subject: [PATCH v8 2/4] firmware: raspberrypi: Introduce vl805 init routine
-Date: Tue, 5 May 2020 18:13:15 +0200
-Message-Id: <20200505161318.26200-3-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091329_063893_301DE39B
-X-CRM114-Status: GOOD ( 18.76 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: linux-pci@vger.kernel.org, tim.gover@raspberrypi.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip
-that implements xHCI. After a PCI reset, VL805's firmware may either be
-loaded directly from an EEPROM or, if not present, by the SoC's
-co-processor, VideoCore. RPi4's VideoCore OS contains both the non public
-firmware load logic and the VL805 firmware blob. The function this patch
-introduces triggers the aforementioned process.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Change since v7:
-- Use usleep_delay()
-- Add comment about PCI errors
-- Don't wait on error
-- Typos
-
-Change since v6:
-- Add test to avoid loading the firmware when not needed
-- Since we have it around, print VL805's firmware version, it'll make
-debugging easier in the future
-- Correct typos
-- Add a clearer view of HW topology in patch description
-
-Changes since v4:
-- Inline function definition when RASPBERRYPI_FIRMWARE is not defined
-
-Changes since v1:
-- Move include into .c file and add forward declaration to .h
-
- drivers/firmware/raspberrypi.c | 61 ++++++++++++++++++++++
- include/soc/bcm2835/raspberrypi-firmware.h | 7 +++
- 2 files changed, 68 insertions(+)
-
-diff --git a/drivers/firmware/raspberrypi.c b/drivers/firmware/raspberrypi.c
-index da26a584dca0..a166ad0cec2c 100644
---- a/drivers/firmware/raspberrypi.c
-+++ b/drivers/firmware/raspberrypi.c
-@@ -12,6 +12,8 @@
- #include <linux/of_platform.h>
- #include <linux/platform_device.h>
- #include <linux/slab.h>
-+#include <linux/pci.h>
-+#include <linux/delay.h>
- #include <soc/bcm2835/raspberrypi-firmware.h>
-
- #define MBOX_MSG(chan, data28) (((data28) & ~0xf) | ((chan) & 0xf))
-@@ -19,6 +21,8 @@
- #define MBOX_DATA28(msg) ((msg) & ~0xf)
- #define MBOX_CHAN_PROPERTY 8
-
-+#define VL805_PCI_CONFIG_VERSION_OFFSET 0x50
-+
- static struct platform_device *rpi_hwmon;
- static struct platform_device *rpi_clk;
-
-@@ -286,6 +290,63 @@ struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node)
- }
- EXPORT_SYMBOL_GPL(rpi_firmware_get);
-
-+/*
-+ * The Raspberry Pi 4 gets its USB functionality from VL805, a PCIe chip that
-+ * implements xHCI. After a PCI reset, VL805's firmware may either be loaded
-+ * directly from an EEPROM or, if not present, by the SoC's co-processor,
-+ * VideoCore. RPi4's VideoCore OS contains both the non public firmware load
-+ * logic and the VL805 firmware blob. This function triggers the aforementioned
-+ * process.
-+ */
-+int rpi_firmware_init_vl805(struct pci_dev *pdev)
-+{
-+ struct device_node *fw_np;
-+ struct rpi_firmware *fw;
-+ u32 dev_addr, version;
-+ int ret;
-+
-+ fw_np = of_find_compatible_node(NULL, NULL,
-+ "raspberrypi,bcm2835-firmware");
-+ if (!fw_np)
-+ return 0;
-+
-+ fw = rpi_firmware_get(fw_np);
-+ of_node_put(fw_np);
-+ if (!fw)
-+ return -ENODEV;
-+
-+ /*
-+ * Make sure we don't trigger a firmware load unnecessarily.
-+ *
-+ * If something went wrong with PCI, this whole exercise would be
-+ * futile as VideoCore expects from us a configured PCI bus. Just take
-+ * the faulty version (likely ~0) and let xHCI's registration fail
-+ * further down the line.
-+ */
-+ pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET, &version);
-+ if (version)
-+ goto exit;
-+
-+ dev_addr = pdev->bus->number << 20 | PCI_SLOT(pdev->devfn) << 15 |
-+ PCI_FUNC(pdev->devfn) << 12;
-+
-+ ret = rpi_firmware_property(fw, RPI_FIRMWARE_NOTIFY_XHCI_RESET,
-+ &dev_addr, sizeof(dev_addr));
-+ if (ret)
-+ return ret;
-+
-+ /* Wait for vl805 to startup */
-+ usleep_range(200, 1000);
-+
-+ pci_read_config_dword(pdev, VL805_PCI_CONFIG_VERSION_OFFSET,
-+ &version);
-+exit:
-+ pci_info(pdev, "VL805 firmware version %08x\n", version);
-+
-+ return 0;
-+}
-+EXPORT_SYMBOL_GPL(rpi_firmware_init_vl805);
-+
- static const struct of_device_id rpi_firmware_of_match[] = {
- { .compatible = "raspberrypi,bcm2835-firmware", },
- {},
-diff --git a/include/soc/bcm2835/raspberrypi-firmware.h b/include/soc/bcm2835/raspberrypi-firmware.h
-index cc9cdbc66403..3025aca3c358 100644
---- a/include/soc/bcm2835/raspberrypi-firmware.h
-+++ b/include/soc/bcm2835/raspberrypi-firmware.h
-@@ -10,6 +10,7 @@
- #include <linux/of_device.h>
-
- struct rpi_firmware;
-+struct pci_dev;
-
- enum rpi_firmware_property_status {
- RPI_FIRMWARE_STATUS_REQUEST = 0,
-@@ -141,6 +142,7 @@ int rpi_firmware_property(struct rpi_firmware *fw,
- int rpi_firmware_property_list(struct rpi_firmware *fw,
- void *data, size_t tag_size);
- struct rpi_firmware *rpi_firmware_get(struct device_node *firmware_node);
-+int rpi_firmware_init_vl805(struct pci_dev *pdev);
- #else
- static inline int rpi_firmware_property(struct rpi_firmware *fw, u32 tag,
- void *data, size_t len)
-@@ -158,6 +160,11 @@ static inline struct rpi_firmware *rpi_firmware_get(struct device_node *firmware
- {
- return NULL;
- }
-+
-+static inline int rpi_firmware_init_vl805(struct pci_dev *pdev)
-+{
-+ return 0;
-+}
- #endif
-
- #endif /* __SOC_RASPBERRY_FIRMWARE_H__ */
-
-From patchwork Tue May 5 16:13:16 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529613
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 09B41139A
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:12 +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 D0DF22078D
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:11 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="SAMPLJUW"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org D0DF22078D
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=KaAXr2YFGUN9aHABYMGoI6lDCplKLkueaLach3EcLIQ=; b=SAMPLJUWqAiuYn
- Ols6qNQTSsb2o1pxY1yuF4MaX8dUzqsSCkylXQf5SkLRki0hXDsY/eVzwcypdH60m5jdk31wU1MJD
- O88oZLgP0rvsSmG//a4xMHn/EpxntBmXZvNxlvZ9RuDATHjuA2w1+GKUOEvREG9jBi1M4+r5QZXrY
- nRQqxUi1CldsZHzGt3IJi1mXzlNIhZq+fi48xOWUdgCSXYfpJO4qsr3b3QhwJklPSO0c4jMAHKYTQ
- z3kKMMszvYgug/JraC4fZD2qDKGic3IxeOSxP2c8dLYBfxMxfBz7gya5rpBpjvFelYZMN2qXaQInv
- gND7kQ/fU/heR7N6g6Dg==;
-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 1jW0Cv-0003b2-3s; Tue, 05 May 2020 16:14:09 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CI-0002tA-MY; Tue, 05 May 2020 16:13:32 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 3372DAF7A;
- Tue, 5 May 2020 16:13:31 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>,
- Rob Herring <robh@kernel.org>, bcm-kernel-feedback-list@broadcom.com
-Subject: [PATCH v8 3/4] PCI: brcmstb: Wait for Raspberry Pi's firmware when
- present
-Date: Tue, 5 May 2020 18:13:16 +0200
-Message-Id: <20200505161318.26200-4-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091330_993258_A3A56727
-X-CRM114-Status: GOOD ( 11.90 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: tim.gover@raspberrypi.org, linux-pci@vger.kernel.org,
- linux-usb@vger.kernel.org, linux-rpi-kernel@lists.infradead.org,
- Bjorn Helgaas <bhelgaas@google.com>, linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-xHCI's PCI fixup, run at the end of pcie-brcmstb's probe, depends on
-RPi4's VideoCore firmware interface to be up and running. It's possible
-for both initializations to race, so make sure it's available prior to
-starting.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
----
-
-Changes since v6:
-- Add more complete comment
-
- drivers/pci/controller/pcie-brcmstb.c | 17 +++++++++++++++++
- 1 file changed, 17 insertions(+)
-
-diff --git a/drivers/pci/controller/pcie-brcmstb.c b/drivers/pci/controller/pcie-brcmstb.c
-index 6d79d14527a6..0b97b94c4a9a 100644
---- a/drivers/pci/controller/pcie-brcmstb.c
-+++ b/drivers/pci/controller/pcie-brcmstb.c
-@@ -28,6 +28,8 @@
- #include <linux/string.h>
- #include <linux/types.h>
-
-+#include <soc/bcm2835/raspberrypi-firmware.h>
-+
- #include "../pci.h"
-
- /* BRCM_PCIE_CAP_REGS - Offset for the mandatory capability config regs */
-@@ -917,11 +919,26 @@ static int brcm_pcie_probe(struct platform_device *pdev)
- {
- struct device_node *np = pdev->dev.of_node, *msi_np;
- struct pci_host_bridge *bridge;
-+ struct device_node *fw_np;
- struct brcm_pcie *pcie;
- struct pci_bus *child;
- struct resource *res;
- int ret;
-
-+ /*
-+ * We have to wait for Raspberry Pi's firmware interface to be up as a
-+ * PCI fixup, rpi_firmware_init_vl805(), depends on it. This driver's
-+ * probe can race with the firmware interface's (see
-+ * drivers/firmware/raspberrypi.c) and potentially break the PCI fixup.
-+ */
-+ fw_np = of_find_compatible_node(NULL, NULL,
-+ "raspberrypi,bcm2835-firmware");
-+ if (fw_np && !rpi_firmware_get(fw_np)) {
-+ of_node_put(fw_np);
-+ return -EPROBE_DEFER;
-+ }
-+ of_node_put(fw_np);
-+
- bridge = devm_pci_alloc_host_bridge(&pdev->dev, sizeof(*pcie));
- if (!bridge)
- return -ENOMEM;
-
-From patchwork Tue May 5 16:13:17 2020
-Content-Type: text/plain; charset="utf-8"
-MIME-Version: 1.0
-Content-Transfer-Encoding: 7bit
-X-Patchwork-Submitter: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-X-Patchwork-Id: 11529615
-Return-Path:
- <SRS0=eq5l=6T=lists.infradead.org=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@kernel.org>
-Received: from mail.kernel.org (pdx-korg-mail-1.web.codeaurora.org
- [172.30.200.123])
- by pdx-korg-patchwork-2.web.codeaurora.org (Postfix) with ESMTP id 9C85E1392
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:26 +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 75AD8206FA
- for <patchwork-linux-arm@patchwork.kernel.org>;
- Tue, 5 May 2020 16:14:26 +0000 (UTC)
-Authentication-Results: mail.kernel.org;
- dkim=pass (2048-bit key) header.d=lists.infradead.org
- header.i=@lists.infradead.org header.b="pXZpPhrT"
-DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 75AD8206FA
-Authentication-Results: mail.kernel.org;
- dmarc=none (p=none dis=none) header.from=suse.de
-Authentication-Results: mail.kernel.org;
- spf=none
- smtp.mailfrom=linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.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-Transfer-Encoding:Content-Type:Cc:List-Subscribe:List-Help:List-Post:
- List-Archive:List-Unsubscribe:List-Id:MIME-Version:References:In-Reply-To:
- Message-Id:Date:Subject:To:From:Reply-To:Content-ID:Content-Description:
- Resent-Date:Resent-From:Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:
- List-Owner; bh=/GYWkYF77JxYJ9PRLu3wczjjHT+GnXqD2IyzZ0uR8KY=; b=pXZpPhrTtgd1O0
- sy/khBh4MMWq9sIqFwH9HgDbPFDzQ5eCkfiS/YZoDGJPFFwsUcitnTfFX9VGMnYzLf7eCCLfm1hta
- f3X7UNpk1SvaeJKc59x7OvHTLVAwByuEPTqm4bmcqw+aRWdaYShUiv+105SG6JShQF5gjuBpEn3w0
- vzQNYGEl4BeHnlREFZU+Wi1qQ8sa1BwpU6Rx/NmGk8qLv1GOO4+UNf/ABycGTH6jZU101ck7/nvKL
- Da7jehxCo1CCUiqM69fvoKabrfI76uVP4OdJcCihqzOWzmkiVwhQAWB0qFa9LR2h4CObuPthIqmW7
- oaRbCgJg+N26f/dtw1mg==;
-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 1jW0D6-0003ov-Og; Tue, 05 May 2020 16:14:20 +0000
-Received: from mx2.suse.de ([195.135.220.15])
- by bombadil.infradead.org with esmtps (Exim 4.92.3 #3 (Red Hat Linux))
- id 1jW0CJ-0002ui-S6; Tue, 05 May 2020 16:13:33 +0000
-X-Virus-Scanned: by amavisd-new at test-mx.suse.de
-Received: from relay2.suse.de (unknown [195.135.220.254])
- by mx2.suse.de (Postfix) with ESMTP id 80D21AF4F;
- Tue, 5 May 2020 16:13:32 +0000 (UTC)
-From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
-To: f.fainelli@gmail.com, gregkh@linuxfoundation.org, wahrenst@gmx.net,
- helgaas@kernel.org, linux-kernel@vger.kernel.org,
- Mathias Nyman <mathias.nyman@intel.com>
-Subject: [PATCH v8 4/4] USB: pci-quirks: Add Raspberry Pi 4 quirk
-Date: Tue, 5 May 2020 18:13:17 +0200
-Message-Id: <20200505161318.26200-5-nsaenzjulienne@suse.de>
-X-Mailer: git-send-email 2.26.2
-In-Reply-To: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-References: <20200505161318.26200-1-nsaenzjulienne@suse.de>
-MIME-Version: 1.0
-X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3
-X-CRM114-CacheID: sfid-20200505_091332_068613_1A981780
-X-CRM114-Status: GOOD ( 16.37 )
-X-Spam-Score: -2.3 (--)
-X-Spam-Report: SpamAssassin version 3.4.4 on bombadil.infradead.org summary:
- Content analysis details: (-2.3 points)
- pts rule name description
- ---- ----------------------
- --------------------------------------------------
- -2.3 RCVD_IN_DNSWL_MED RBL: Sender listed at https://www.dnswl.org/,
- medium trust [195.135.220.15 listed in list.dnswl.org]
- 0.0 RCVD_IN_MSPIKE_H3 RBL: Good reputation (+3)
- [195.135.220.15 listed in wl.mailspike.net]
- 0.0 SPF_HELO_NONE SPF: HELO does not publish an SPF Record
- -0.0 SPF_PASS SPF: sender matches SPF record
- 0.0 RCVD_IN_MSPIKE_WL Mailspike good senders
-X-BeenThere: linux-arm-kernel@lists.infradead.org
-X-Mailman-Version: 2.1.29
-Precedence: list
-List-Id: <linux-arm-kernel.lists.infradead.org>
-List-Unsubscribe:
- <http://lists.infradead.org/mailman/options/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=unsubscribe>
-List-Archive: <http://lists.infradead.org/pipermail/linux-arm-kernel/>
-List-Post: <mailto:linux-arm-kernel@lists.infradead.org>
-List-Help: <mailto:linux-arm-kernel-request@lists.infradead.org?subject=help>
-List-Subscribe:
- <http://lists.infradead.org/mailman/listinfo/linux-arm-kernel>,
- <mailto:linux-arm-kernel-request@lists.infradead.org?subject=subscribe>
-Cc: tim.gover@raspberrypi.org, linux-pci@vger.kernel.org,
- linux-usb@vger.kernel.org, Nicolas Saenz Julienne <nsaenzjulienne@suse.de>,
- bcm-kernel-feedback-list@broadcom.com, linux-rpi-kernel@lists.infradead.org,
- linux-arm-kernel@lists.infradead.org
-Sender: "linux-arm-kernel" <linux-arm-kernel-bounces@lists.infradead.org>
-Errors-To:
- linux-arm-kernel-bounces+patchwork-linux-arm=patchwork.kernel.org@lists.infradead.org
-
-On the Raspberry Pi 4, after a PCI reset, VL805's firmware may either be
-loaded directly from an EEPROM or, if not present, by the SoC's
-VideoCore. Inform VideoCore that VL805 was just reset.
-
-Also, as this creates a dependency between USB_PCI and VideoCore's
-firmware interface, and since USB_PCI can't be set as a module neither
-this can. Reflect that on the firmware interface Kconfg.
-
-Signed-off-by: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
----
-
-Changes since v5:
- - Fix Kconfig issue with allmodconfig
-
-Changes since v4:
- - Do not split up error message
-
-Changes since v3:
- - Add more complete error message
-
-Changes since v1:
- - Make RASPBERRYPI_FIRMWARE dependent on this quirk to make sure it
- gets compiled when needed.
-
- drivers/firmware/Kconfig | 3 ++-
- drivers/usb/host/pci-quirks.c | 16 ++++++++++++++++
- 2 files changed, 18 insertions(+), 1 deletion(-)
-
-diff --git a/drivers/firmware/Kconfig b/drivers/firmware/Kconfig
-index 8007d4aa76dc..b42140cff8ac 100644
---- a/drivers/firmware/Kconfig
-+++ b/drivers/firmware/Kconfig
-@@ -178,8 +178,9 @@ config ISCSI_IBFT
- Otherwise, say N.
-
- config RASPBERRYPI_FIRMWARE
-- tristate "Raspberry Pi Firmware Driver"
-+ bool "Raspberry Pi Firmware Driver"
- depends on BCM2835_MBOX
-+ default USB_PCI
- help
- This option enables support for communicating with the firmware on the
- Raspberry Pi.
-diff --git a/drivers/usb/host/pci-quirks.c b/drivers/usb/host/pci-quirks.c
-index 92150ecdb036..0b949acfa258 100644
---- a/drivers/usb/host/pci-quirks.c
-+++ b/drivers/usb/host/pci-quirks.c
-@@ -16,6 +16,9 @@
- #include <linux/export.h>
- #include <linux/acpi.h>
- #include <linux/dmi.h>
-+
-+#include <soc/bcm2835/raspberrypi-firmware.h>
-+
- #include "pci-quirks.h"
- #include "xhci-ext-caps.h"
-
-@@ -1243,11 +1246,24 @@ static void quirk_usb_handoff_xhci(struct pci_dev *pdev)
-
- static void quirk_usb_early_handoff(struct pci_dev *pdev)
- {
-+ int ret;
-+
- /* Skip Netlogic mips SoC's internal PCI USB controller.
- * This device does not need/support EHCI/OHCI handoff
- */
- if (pdev->vendor == 0x184e) /* vendor Netlogic */
- return;
-+
-+ if (pdev->vendor == PCI_VENDOR_ID_VIA && pdev->device == 0x3483) {
-+ ret = rpi_firmware_init_vl805(pdev);
-+ if (ret) {
-+ /* Firmware might be outdated, or something failed */
-+ dev_warn(&pdev->dev,
-+ "Failed to load VL805's firmware: %d. Will continue to attempt to work, but bad things might happen. You should fix this...\n",
-+ ret);
-+ }
-+ }
-+
- if (pdev->class != PCI_CLASS_SERIAL_USB_UHCI &&
- pdev->class != PCI_CLASS_SERIAL_USB_OHCI &&
- pdev->class != PCI_CLASS_SERIAL_USB_EHCI &&