On Thu, 11 Jan 2024 at 00:52, Jeremy Linton <[email protected]> wrote:
>
> Since we are updating the DT memory map and telling it how
> we have configured the PCIe, there isn't a reason for moving the
> MMIO window. In fact this appears to fix OpenBSD+DT as well as
> it makes the linux XHCI reset sequence happier.
>
> Signed-off-by: Jeremy Linton <[email protected]>
> ---
> Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c | 24 ++++++++++++++++++++
> 1 file changed, 24 insertions(+)
>
> diff --git a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> index dd4fc0a05e..e6942df6a3 100644
> --- a/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> +++ b/Platform/RaspberryPi/Drivers/FdtDxe/FdtDxe.c
> @@ -375,6 +375,30 @@ SyncPcie (
> return EFI_NOT_FOUND;
> }
>
> + // move the MMIO window too
> + DmaRanges[0] = cpu_to_fdt32 (0x02000000); //non prefech 32-bit
> + DmaRanges[1] = cpu_to_fdt32 (0x00000000); //bus addr @ 0x0f8000000
> + DmaRanges[2] = cpu_to_fdt32 (0xf8000000);
> + DmaRanges[3] = cpu_to_fdt32 (0x00000006); //cpu addr @ 0x600000000
> + DmaRanges[4] = cpu_to_fdt32 (0x00000000);
> + DmaRanges[5] = cpu_to_fdt32 (0x00000000);
> + DmaRanges[6] = cpu_to_fdt32 (0x04000000); // len = 0x4000 0000
> +
Is there any way we can use symbolic constants here?
> + DEBUG ((DEBUG_INFO, "%a: Updating PCIe ranges\n", __func__));
> +
> + /*
> + * Match dma-ranges with the EDK2+ACPI setup we are using. This works
> + * around a failure in Linux and OpenBSD to reset the PCIe/XHCI correctly
> + * when in DT mode.
> + */
Please sync the comment with the code.
> + Retval = fdt_setprop (mFdtImage, Node, "ranges",
> + DmaRanges, sizeof DmaRanges);
> + if (Retval != 0) {
> + DEBUG ((DEBUG_ERROR, "%a: failed to locate PCIe MMIO 'ranges' property
> (%d)\n",
> + __func__, Retval));
> + return EFI_NOT_FOUND;
> + }
> +
> if (PcdGet32 (PcdXhciReload) != 1) {
> return EFI_SUCCESS;
> }
> --
> 2.43.0
>
-=-=-=-=-=-=-=-=-=-=-=-
Groups.io Links: You receive all messages sent to this group.
View/Reply Online (#113591): https://edk2.groups.io/g/devel/message/113591
Mute This Topic: https://groups.io/mt/103652857/21656
Group Owner: [email protected]
Unsubscribe: https://edk2.groups.io/g/devel/unsub [[email protected]]
-=-=-=-=-=-=-=-=-=-=-=-