Fix U-Boot crash seen on RPi400 (#1057) (#1058)

This commit is contained in:
Stefan Agner 2020-12-04 20:54:49 +01:00 committed by GitHub
parent 2cc78abe56
commit 78b456d05c
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
16 changed files with 110 additions and 70 deletions

View File

@ -1,8 +1,8 @@
From a04331a6ba7334282836bbaa76e979c4e6be3900 Mon Sep 17 00:00:00 2001
Message-Id: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
Message-Id: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Pascal Vizeli <pvizeli@syshack.ch>
Date: Tue, 10 Dec 2019 09:48:46 +0000
Subject: [PATCH 01/15] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED
Subject: [PATCH 01/16] rpi: Use CONFIG_OF_BOARD instead of CONFIG_EMBED
Signed-off-by: Pascal Vizeli <pvizeli@syshack.ch>
---

View File

@ -1,10 +1,10 @@
From cc40a554b003df9b07f8a55f69a94d7393d81cbc Mon Sep 17 00:00:00 2001
Message-Id: <cc40a554b003df9b07f8a55f69a94d7393d81cbc.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
Message-Id: <cc40a554b003df9b07f8a55f69a94d7393d81cbc.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Florin Sarbu <florin@balena.io>
Date: Thu, 12 Sep 2019 12:31:31 +0200
Subject: [PATCH 02/15] raspberrypi: Disable simple framebuffer support
Subject: [PATCH 02/16] raspberrypi: Disable simple framebuffer support
On 4.19 kernels this u-boot driver clashes with bcm2708_fb.
So let's disable it from here so that we have bcm2708_fb

View File

@ -1,10 +1,10 @@
From b0895f2384712f3d0d89405c06519da195e9ccc9 Mon Sep 17 00:00:00 2001
Message-Id: <b0895f2384712f3d0d89405c06519da195e9ccc9.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
Message-Id: <b0895f2384712f3d0d89405c06519da195e9ccc9.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Stefan Agner <stefan@agner.ch>
Date: Thu, 26 Nov 2020 17:56:01 +0100
Subject: [PATCH 03/15] rpi: force a smaller amount of memory
Subject: [PATCH 03/16] rpi: force a smaller amount of memory
This fixes booting from USB on 32-bit installations. It seems not to
affect the detected memory or SD card boot negatively.

View File

@ -1,10 +1,10 @@
From 000f636c9ea4909a23119ba65d3a3847687c8c6b Mon Sep 17 00:00:00 2001
Message-Id: <000f636c9ea4909a23119ba65d3a3847687c8c6b.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
Message-Id: <000f636c9ea4909a23119ba65d3a3847687c8c6b.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date: Tue, 8 Sep 2020 18:59:59 +0200
Subject: [PATCH 04/15] usb: xhci: convert to TRB_TYPE()
Subject: [PATCH 04/16] usb: xhci: convert to TRB_TYPE()
Use TRB_TYPE(p) instead of ((p) << TRB_TYPE_SHIFT)

View File

@ -1,10 +1,10 @@
From bab3fd38c8eec5f3d12e41e706c02c79b4c4a21e Mon Sep 17 00:00:00 2001
Message-Id: <bab3fd38c8eec5f3d12e41e706c02c79b4c4a21e.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
Message-Id: <bab3fd38c8eec5f3d12e41e706c02c79b4c4a21e.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Chunfeng Yun <chunfeng.yun@mediatek.com>
Date: Tue, 8 Sep 2020 19:00:02 +0200
Subject: [PATCH 05/15] usb: xhci: use macros with parameter to fill ep_info2
Subject: [PATCH 05/16] usb: xhci: use macros with parameter to fill ep_info2
Use macros with parameter to fill ep_info2, then some macros
for MASK and SHIFT can be removed

View File

@ -0,0 +1,40 @@
From 0c4bf0c18097807364ee302effc0d0c7a32e4364 Mon Sep 17 00:00:00 2001
Message-Id: <0c4bf0c18097807364ee302effc0d0c7a32e4364.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Stefan Roese <sr@denx.de>
Date: Mon, 24 Aug 2020 13:04:37 +0200
Subject: [PATCH 06/16] usb: xhci: xhci_bulk_tx: Don't "BUG" when comparing
addresses
Octeon uses mapped addresses for virtual and physical memory. It's not
that easy to calculate the resulting addresses here. So let's remove
this BUG_ON() completely, as it's not really helpful.
Please also note, that BUG_ON() is not recommended any more in the Linux
kernel.
Signed-off-by: Stefan Roese <sr@denx.de>
Reviewed-by: Bin Meng <bmeng.cn@gmail.com>
Cc: Bin Meng <bmeng.cn@gmail.com>
Cc: Marek Vasut <marex@denx.de>
---
drivers/usb/host/xhci-ring.c | 2 --
1 file changed, 2 deletions(-)
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index a893277c75..d912cba2f4 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -726,8 +726,6 @@ int xhci_bulk_tx(struct usb_device *udev, unsigned long pipe,
BUG_ON(TRB_TO_SLOT_ID(field) != slot_id);
BUG_ON(TRB_TO_EP_INDEX(field) != ep_index);
- BUG_ON(*(void **)(uintptr_t)le64_to_cpu(event->trans_event.buffer) -
- buffer > (size_t)length);
record_transfer_result(udev, event, length);
xhci_acknowledge_event(ctrl);
--
2.29.2

View File

@ -1,10 +1,10 @@
From 8591faf0da31be68ea45fdc8a0485c0163a3eb52 Mon Sep 17 00:00:00 2001
Message-Id: <8591faf0da31be68ea45fdc8a0485c0163a3eb52.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From 99d6472fd9105c821582f069dfd151466bb5d263 Mon Sep 17 00:00:00 2001
Message-Id: <99d6472fd9105c821582f069dfd151466bb5d263.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Heinrich Schuchardt <xypron.glpk@gmx.de>
Date: Tue, 29 Sep 2020 22:03:01 +0200
Subject: [PATCH 06/15] usb: xhci: avoid type conversion of void *
Subject: [PATCH 07/16] usb: xhci: avoid type conversion of void *
void * can be assigned to any pointer variable. Avoid unnecessary
conversions.

View File

@ -1,10 +1,10 @@
From f12d0a67a79679641299b1b923883e62332ee6d4 Mon Sep 17 00:00:00 2001
Message-Id: <f12d0a67a79679641299b1b923883e62332ee6d4.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From 361a81dd4eb8c508c882484a69bf85c00570cfe8 Mon Sep 17 00:00:00 2001
Message-Id: <361a81dd4eb8c508c882484a69bf85c00570cfe8.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Michael Walle <michael@walle.cc>
Date: Wed, 23 Sep 2020 12:42:51 +0200
Subject: [PATCH 07/15] mmc: sdhci: move the ADMA2 table handling into own
Subject: [PATCH 08/16] mmc: sdhci: move the ADMA2 table handling into own
module
There are other (non-SDHCI) controllers which supports ADMA2 descriptor

View File

@ -1,10 +1,10 @@
From 0ad1fdab7a52554d1da758b36917c09965495dd9 Mon Sep 17 00:00:00 2001
Message-Id: <0ad1fdab7a52554d1da758b36917c09965495dd9.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From 47206784cfd0100ea48b8ede65119687a4af8f09 Mon Sep 17 00:00:00 2001
Message-Id: <47206784cfd0100ea48b8ede65119687a4af8f09.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:15 +0100
Subject: [PATCH 08/15] rpi: Add identifier for the new RPi400
Subject: [PATCH 09/16] rpi: Add identifier for the new RPi400
The Raspberry Pi Foundation released the new RPi400 which we want to
detect, so we can enable Ethernet on it and know the correct device tree

View File

@ -1,10 +1,10 @@
From f9cb12f4cf902797987fea885fa186ba7d676aa0 Mon Sep 17 00:00:00 2001
Message-Id: <f9cb12f4cf902797987fea885fa186ba7d676aa0.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From aad1a59f4c8929f46b715e023aa19a224844c3a0 Mon Sep 17 00:00:00 2001
Message-Id: <aad1a59f4c8929f46b715e023aa19a224844c3a0.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:16 +0100
Subject: [PATCH 09/15] rpi: Add identifier for the new CM4
Subject: [PATCH 10/16] rpi: Add identifier for the new CM4
The Raspberry Pi Foundation released the new Compute Module 4which we
want to detect, so we can enable Ethernet on it and know the correct

View File

@ -1,10 +1,10 @@
From c576988161912dfcb1bcd8b87640f5f998a87bf3 Mon Sep 17 00:00:00 2001
Message-Id: <c576988161912dfcb1bcd8b87640f5f998a87bf3.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From ed5a66c3f22d0f01c4f71371714af4180e65b37d Mon Sep 17 00:00:00 2001
Message-Id: <ed5a66c3f22d0f01c4f71371714af4180e65b37d.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:17 +0100
Subject: [PATCH 10/15] pci: pcie-brcmstb: Fix inbound window configurations
Subject: [PATCH 11/16] pci: pcie-brcmstb: Fix inbound window configurations
So far we've assumed a fixed configuration for inbound windows as we had
a single user for this controller. But the controller's DMA constraints

View File

@ -1,10 +1,10 @@
From a2052b8361818ec5acb04e5d0c1d229083dfbeb6 Mon Sep 17 00:00:00 2001
Message-Id: <a2052b8361818ec5acb04e5d0c1d229083dfbeb6.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From 754d53fbedf5f97384f473f6f5a831aecae687f6 Mon Sep 17 00:00:00 2001
Message-Id: <754d53fbedf5f97384f473f6f5a831aecae687f6.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:18 +0100
Subject: [PATCH 11/15] dm: Introduce xxx_get_dma_range()
Subject: [PATCH 12/16] dm: Introduce xxx_get_dma_range()
Add the follwing functions to get a specific device's DMA ranges:
- dev_get_dma_range()

View File

@ -1,10 +1,10 @@
From ea24a497a84cf0d1efb9c4f285d4d29bd69f3ebb Mon Sep 17 00:00:00 2001
Message-Id: <ea24a497a84cf0d1efb9c4f285d4d29bd69f3ebb.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From e286d6acbf158bc385d702aafcf1caa8da9ab8ee Mon Sep 17 00:00:00 2001
Message-Id: <e286d6acbf158bc385d702aafcf1caa8da9ab8ee.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:19 +0100
Subject: [PATCH 12/15] dm: Introduce DMA constraints into the core device
Subject: [PATCH 13/16] dm: Introduce DMA constraints into the core device
model
Calculating the DMA offset between a bus address space and CPU's every

View File

@ -1,10 +1,10 @@
From 3f75e2303ddb7fa6eed6dc288880f613329ce3bb Mon Sep 17 00:00:00 2001
Message-Id: <3f75e2303ddb7fa6eed6dc288880f613329ce3bb.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From c5d66c3defc09d5dba273f430d871dd8f7ab6352 Mon Sep 17 00:00:00 2001
Message-Id: <c5d66c3defc09d5dba273f430d871dd8f7ab6352.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:20 +0100
Subject: [PATCH 13/15] dm: Introduce dev_phys_to_bus()/dev_bus_to_phys()
Subject: [PATCH 14/16] dm: Introduce dev_phys_to_bus()/dev_bus_to_phys()
These functions, instead of relying on hard-coded platform-specific
address translations, make use of the DMA constraints provided by the DM

View File

@ -1,10 +1,10 @@
From e3c96fd50787aa9ea2e5136593166cc49696d7ea Mon Sep 17 00:00:00 2001
Message-Id: <e3c96fd50787aa9ea2e5136593166cc49696d7ea.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From edbdacb93fb0372ba456d84dc760314ed7757f86 Mon Sep 17 00:00:00 2001
Message-Id: <edbdacb93fb0372ba456d84dc760314ed7757f86.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:21 +0100
Subject: [PATCH 14/15] xhci: translate virtual addresses into the bus's
Subject: [PATCH 15/16] xhci: translate virtual addresses into the bus's
address space
So far we've been content with passing physical addresses when
@ -191,7 +191,7 @@ index b002d6f166..e8d435d644 100644
/*
diff --git a/drivers/usb/host/xhci-ring.c b/drivers/usb/host/xhci-ring.c
index a893277c75..74deaabb9b 100644
index d912cba2f4..3d4b84f9a1 100644
--- a/drivers/usb/host/xhci-ring.c
+++ b/drivers/usb/host/xhci-ring.c
@@ -275,10 +275,13 @@ void xhci_queue_command(struct xhci_ctrl *ctrl, u8 *ptr, u32 slot_id,
@ -227,7 +227,7 @@ index a893277c75..74deaabb9b 100644
debug("dev=%p, pipe=%lx, buffer=%p, length=%d\n",
udev, pipe, buffer, length);
@@ -876,7 +879,7 @@ int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
@@ -874,7 +877,7 @@ int xhci_ctrl_tx(struct usb_device *udev, unsigned long pipe,
if (length > 0) {
if (req->requesttype & USB_DIR_IN)
field |= TRB_DIR_IN;

View File

@ -1,10 +1,10 @@
From de9f878b9cc4ab665c6aa4e6bb14193c66f78816 Mon Sep 17 00:00:00 2001
Message-Id: <de9f878b9cc4ab665c6aa4e6bb14193c66f78816.1606428503.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1606428503.git.stefan@agner.ch>
From a92d8e7740d65859f5e08abe110fd9d37aebf4cd Mon Sep 17 00:00:00 2001
Message-Id: <a92d8e7740d65859f5e08abe110fd9d37aebf4cd.1607085588.git.stefan@agner.ch>
In-Reply-To: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
References: <a04331a6ba7334282836bbaa76e979c4e6be3900.1607085588.git.stefan@agner.ch>
From: Nicolas Saenz Julienne <nsaenzjulienne@suse.de>
Date: Thu, 19 Nov 2020 18:48:22 +0100
Subject: [PATCH 15/15] mmc: Introduce mmc_phys_to_bus()/mmc_bus_to_phys()
Subject: [PATCH 16/16] mmc: Introduce mmc_phys_to_bus()/mmc_bus_to_phys()
This will allow us to use DM variants of phys_to_bus()/bus_to_phys()
when relevant.