[PATCH v2 0/5] Platform/Rpi: Various cleanups + DT booting


Jeremy Linton
 

From: Jeremy Linton <lintonrjeremy@gmail.com>

This set is a few patches I've been collecting to fix minor issues I've seen
while debugging other problems, or just various things I think should probably
be changed. It also includes the patch to adjust the PCIe/XHCI dma-attributes
which fixes DT booting on recent Linux kernels as well as OpenBSD.

I've been running all of them in some form or another for a while and
generally nothing has broken because of them AFAIK. So its probably time to
start getting a few of them out of my private tree.

The first patch syncs the DT/PCIe translation to the way its being used in
UEFI, and removes the XHCI reset node. The second is just a compiler
warning. The third is mostly expanding the mailbox lock to cover the return
data. Number 4 is an odd one because it just looks wrong, and I'm worried its
causing random bugs. The final is a corrected shutdown sequence that was
discussed months ago. It looks right. but didn't actually fix the data
persistence problems that resulted in the couple second reboot delay that is
currently in place.

v1->v2:
Include the DT patch to sync the PCIe/XHCI values
Now that it also fixes a problem with OpenBSD.
Rework the error handling in the DisconnectAll code
borrowed from the UEFI spec.
Adjust some DEBUG_XXX values so they make more sense.
Some comment/changelog grammar.

Jeremy Linton (5):
Platform/RaspberryPi: Always use non translating DMA in DT mode
Platform/RaspberryPi: Fix vfr warning caused by two defaults
Platform/RaspberryPi: Expand locking to cover return data
Platform/RaspberryPi: Normal memory should not be marked as uncached
Platform/RaspberryPi: Disconnect/shutdown all drivers before reboot

Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 4 +-
.../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr | 2 +-
Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 75 +++++++++++++++
.../Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c | 102 ++++++++++++---------
Platform/RaspberryPi/Library/ResetLib/ResetLib.c | 42 +++++++++
5 files changed, 179 insertions(+), 46 deletions(-)

--
2.13.7


Ard Biesheuvel
 

On Mon, 18 Oct 2021 at 22:51, Jeremy Linton <jeremy.linton@arm.com> wrote:

From: Jeremy Linton <lintonrjeremy@gmail.com>

This set is a few patches I've been collecting to fix minor issues I've seen
while debugging other problems, or just various things I think should probably
be changed. It also includes the patch to adjust the PCIe/XHCI dma-attributes
which fixes DT booting on recent Linux kernels as well as OpenBSD.

I've been running all of them in some form or another for a while and
generally nothing has broken because of them AFAIK. So its probably time to
start getting a few of them out of my private tree.

The first patch syncs the DT/PCIe translation to the way its being used in
UEFI, and removes the XHCI reset node. The second is just a compiler
warning. The third is mostly expanding the mailbox lock to cover the return
data. Number 4 is an odd one because it just looks wrong, and I'm worried its
causing random bugs. The final is a corrected shutdown sequence that was
discussed months ago. It looks right. but didn't actually fix the data
persistence problems that resulted in the couple second reboot delay that is
currently in place.

v1->v2:
Include the DT patch to sync the PCIe/XHCI values
Now that it also fixes a problem with OpenBSD.
Rework the error handling in the DisconnectAll code
borrowed from the UEFI spec.
Adjust some DEBUG_XXX values so they make more sense.
Some comment/changelog grammar.

Jeremy Linton (5):
Platform/RaspberryPi: Always use non translating DMA in DT mode
Platform/RaspberryPi: Fix vfr warning caused by two defaults
Platform/RaspberryPi: Expand locking to cover return data
Platform/RaspberryPi: Normal memory should not be marked as uncached
Platform/RaspberryPi: Disconnect/shutdown all drivers before reboot
Pushed as dc7fe2ac2b74..63d520f9431a

Thanks!



Platform/RaspberryPi/Drivers/ConfigDxe/ConfigDxe.c | 4 +-
.../RaspberryPi/Drivers/ConfigDxe/ConfigDxeHii.vfr | 2 +-
Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 75 +++++++++++++++
.../Drivers/RpiFirmwareDxe/RpiFirmwareDxe.c | 102 ++++++++++++---------
Platform/RaspberryPi/Library/ResetLib/ResetLib.c | 42 +++++++++
5 files changed, 179 insertions(+), 46 deletions(-)

--
2.13.7