From c94cecd83751d2df26314a90852f7df306256fb0 Mon Sep 17 00:00:00 2001 From: Leah Rowe Date: Mon, 27 May 2024 15:36:27 +0100 Subject: GRUB: remove XHCI patches for now (will re-add) Fixes this bug: https://codeberg.org/libreboot/lbmk/issues/216 Well, fix is the wrong word. We want xHCI ideally. Mate is working on it as I write this. I've also: * Disabled CONFIG_FINALIZE_USB_ROUTE_XHCI on Haswell boards (coreboot) * Disabled the GRUB payload on HP 820 G2 for now We will need to re-add the xHCI patches once fixed. If Mate/we can't fix it, I'll contact Patrick Rudolph who originally wrote the xHCI patches. Signed-off-by: Leah Rowe --- ...us-usb-usbhub-Add-new-private-fields-for-.patch | 77 ---------------------- 1 file changed, 77 deletions(-) delete mode 100644 config/grub/patches/0005-xhci/0005-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch (limited to 'config/grub/patches/0005-xhci/0005-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch') diff --git a/config/grub/patches/0005-xhci/0005-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch b/config/grub/patches/0005-xhci/0005-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch deleted file mode 100644 index 7d69c3a6..00000000 --- a/config/grub/patches/0005-xhci/0005-grub-core-bus-usb-usbhub-Add-new-private-fields-for-.patch +++ /dev/null @@ -1,77 +0,0 @@ -From 5e5d74a4531770258e21dedd45c33f1a9d3afa6b Mon Sep 17 00:00:00 2001 -From: Patrick Rudolph -Date: Sun, 15 Nov 2020 19:54:40 +0100 -Subject: [PATCH 5/8] grub-core/bus/usb/usbhub: Add new private fields for xHCI - controller - -Store the root port number, the route, consisting out of the port ID -in each nibble, and a pointer to driver private data. - -Signed-off-by: Patrick Rudolph ---- - grub-core/bus/usb/usbhub.c | 11 ++++++++--- - include/grub/usb.h | 5 +++++ - 2 files changed, 13 insertions(+), 3 deletions(-) - -diff --git a/grub-core/bus/usb/usbhub.c b/grub-core/bus/usb/usbhub.c -index 8e963e84b..b4b3a1a61 100644 ---- a/grub-core/bus/usb/usbhub.c -+++ b/grub-core/bus/usb/usbhub.c -@@ -49,7 +49,9 @@ static grub_usb_controller_dev_t grub_usb_list; - static grub_usb_device_t - grub_usb_hub_add_dev (grub_usb_controller_t controller, - grub_usb_speed_t speed, -- int split_hubport, int split_hubaddr) -+ int split_hubport, int split_hubaddr, -+ int root_portno, -+ grub_uint32_t route) - { - grub_usb_device_t dev; - int i; -@@ -65,6 +67,8 @@ grub_usb_hub_add_dev (grub_usb_controller_t controller, - dev->speed = speed; - dev->split_hubport = split_hubport; - dev->split_hubaddr = split_hubaddr; -+ dev->root_port = root_portno; -+ dev->route = route; - - if (controller->dev->attach_dev) { - err = controller->dev->attach_dev (controller, dev); -@@ -245,7 +249,7 @@ attach_root_port (struct grub_usb_hub *hub, int portno, - and full/low speed device connected to OHCI/UHCI needs not - transaction translation - e.g. hubport and hubaddr should be - always none (zero) for any device connected to any root hub. */ -- dev = grub_usb_hub_add_dev (hub->controller, speed, 0, 0); -+ dev = grub_usb_hub_add_dev (hub->controller, speed, 0, 0, portno, 0); - hub->controller->dev->pending_reset = 0; - npending--; - if (! dev) -@@ -676,7 +680,8 @@ poll_nonroot_hub (grub_usb_device_t dev) - - /* Add the device and assign a device address to it. */ - next_dev = grub_usb_hub_add_dev (&dev->controller, speed, -- split_hubport, split_hubaddr); -+ split_hubport, split_hubaddr, dev->root_port, -+ dev->route << 4 | (i & 0xf)); - if (dev->controller.dev->pending_reset) - { - dev->controller.dev->pending_reset = 0; -diff --git a/include/grub/usb.h b/include/grub/usb.h -index 4dd179db2..609faf7d0 100644 ---- a/include/grub/usb.h -+++ b/include/grub/usb.h -@@ -237,6 +237,11 @@ struct grub_usb_device - int split_hubport; - - int split_hubaddr; -+ -+ /* xHCI specific information */ -+ int root_port; -+ grub_uint32_t route; -+ void *xhci_priv; - }; - - --- -2.39.2 - -- cgit v1.2.1