2013-05-02 20:54:52 +00:00
|
|
|
From 6054ac4ca1ce5f3e4589bfead3c9c05af89f9ace Mon Sep 17 00:00:00 2001
|
|
|
|
From: starous <starous@pracovna>
|
|
|
|
Date: Sun, 22 Jul 2012 21:09:30 +0200
|
2013-06-12 19:24:37 +00:00
|
|
|
Subject: [PATCH 017/482] EHCI and OHCI PCI bus master
|
2013-05-02 20:54:52 +00:00
|
|
|
|
|
|
|
---
|
|
|
|
ChangeLog | 5 +++++
|
|
|
|
grub-core/bus/usb/ehci.c | 5 +++++
|
|
|
|
grub-core/bus/usb/ohci.c | 5 +++++
|
|
|
|
3 files changed, 15 insertions(+)
|
|
|
|
|
|
|
|
diff --git a/ChangeLog b/ChangeLog
|
|
|
|
index 0db6239..01d4f92 100644
|
|
|
|
--- a/ChangeLog
|
|
|
|
+++ b/ChangeLog
|
|
|
|
@@ -1,3 +1,8 @@
|
|
|
|
+2012-07-22 Ales Nesrsta <starous@volny.cz>
|
|
|
|
+
|
|
|
|
+ * grub-core/bus/usb/ehci.c: PCI iter. - added PCI bus master setting.
|
|
|
|
+ * grub-core/bus/usb/ohci.c: PCI iter. - added PCI bus master setting.
|
|
|
|
+
|
|
|
|
2012-07-22 Vladimir Serbinenko <phcoder@gmail.com>
|
|
|
|
|
|
|
|
* util/grub-mkconfig_lib.in (grub_quote): Remove extra layer of escape.
|
|
|
|
diff --git a/grub-core/bus/usb/ehci.c b/grub-core/bus/usb/ehci.c
|
|
|
|
index b700519..d99a4be 100644
|
|
|
|
--- a/grub-core/bus/usb/ehci.c
|
|
|
|
+++ b/grub-core/bus/usb/ehci.c
|
|
|
|
@@ -533,6 +533,11 @@ grub_ehci_pci_iter (grub_pci_device_t dev,
|
|
|
|
"EHCI grub_ehci_pci_iter: registers above 4G are not supported\n");
|
|
|
|
return 0;
|
|
|
|
}
|
|
|
|
+
|
|
|
|
+ /* Set bus master - needed for coreboot, VMware, broken BIOSes etc. */
|
|
|
|
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_COMMAND);
|
|
|
|
+ grub_pci_write_word(addr,
|
|
|
|
+ GRUB_PCI_COMMAND_BUS_MASTER | grub_pci_read_word(addr));
|
|
|
|
|
|
|
|
grub_dprintf ("ehci", "EHCI grub_ehci_pci_iter: 32-bit EHCI OK\n");
|
|
|
|
}
|
|
|
|
diff --git a/grub-core/bus/usb/ohci.c b/grub-core/bus/usb/ohci.c
|
|
|
|
index 23cf631..6fabb4b 100644
|
|
|
|
--- a/grub-core/bus/usb/ohci.c
|
|
|
|
+++ b/grub-core/bus/usb/ohci.c
|
|
|
|
@@ -270,6 +270,11 @@ grub_ohci_pci_iter (grub_pci_device_t dev,
|
|
|
|
return 0;
|
|
|
|
#endif
|
|
|
|
|
|
|
|
+ /* Set bus master - needed for coreboot, VMware, broken BIOSes etc. */
|
|
|
|
+ addr = grub_pci_make_address (dev, GRUB_PCI_REG_COMMAND);
|
|
|
|
+ grub_pci_write_word(addr,
|
|
|
|
+ GRUB_PCI_COMMAND_BUS_MASTER | grub_pci_read_word(addr));
|
|
|
|
+
|
|
|
|
grub_dprintf ("ohci", "class=0x%02x 0x%02x interface 0x%02x\n",
|
|
|
|
class, subclass, interf);
|
|
|
|
}
|
|
|
|
--
|
2013-06-07 18:03:56 +00:00
|
|
|
1.8.2.1
|
2013-05-02 20:54:52 +00:00
|
|
|
|