[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from
From: |
Mike Travis |
Subject: |
[PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA |
Date: |
Fri, 23 Mar 2018 14:11:33 -0500 |
User-agent: |
quilt/0.46-1 |
A GPU inserted into a PCIe I/O slot disappears during system startup.
The problem centers around GRUB and a specific VGA init function in
efi_uga.c. This causes an LER (link error recorvery) because the MMIO
memory has not been enabled before attempting access.
The fix is to add the same coding used in other VGA drivers, specifically
to add a check to insure that it is indeed a VGA controller. And then
enable the MMIO address space with the specific bits.
Signed-off-by: Mike Travis <address@hidden>
Reviewed-by: Michael Chang <address@hidden>
---
grub-2.02/grub-core/video/efi_uga.c | 15 ++++++++++++---
1 file changed, 12 insertions(+), 3 deletions(-)
Index: grub-2.02/grub-core/video/efi_uga.c
===================================================================
--- grub-2.02/grub-core/video/efi_uga.c.orig
+++ grub-2.02/grub-core/video/efi_uga.c
@@ -95,9 +95,19 @@ find_card (grub_pci_device_t dev, grub_p
{
struct find_framebuf_ctx *ctx = data;
grub_pci_address_t addr;
+ grub_uint32_t class;
addr = grub_pci_make_address (dev, GRUB_PCI_REG_CLASS);
- if (grub_pci_read (addr) >> 24 == 0x3)
+ class = grub_pci_read (addr);
+ if (((class >> 16) & 0xffff) != GRUB_PCI_CLASS_SUBCLASS_VGA)
+ return 0;
+
+ /* Enable MEM address spaces */
+ {
+ grub_pci_address_t rcaddr = grub_pci_make_address (dev,
GRUB_PCI_REG_COMMAND);
+ grub_pci_write_word (rcaddr, grub_pci_read_word (rcaddr) |
GRUB_PCI_COMMAND_MEM_ENABLED);
+ }
+
{
int i;
--
- [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA,
Mike Travis <=
- [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, mike.travis, 2018/03/28
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Daniel Kiper, 2018/03/29
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Michael Chang, 2018/03/29
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Daniel Kiper, 2018/03/29
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Mike Travis, 2018/03/29
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Hans de Goede, 2018/03/29
- Re: [PATCH 1/1] Fix PCIe LER when GRUB2 accesses non-enabled MMIO data from VGA, Daniel Kiper, 2018/03/29