linux-pci.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: David Woodhouse <dwmw2@infradead.org>
To: Matthew Garrett <mjg@redhat.com>
Cc: matt.fleming@intel.com, linux-efi@vger.kernel.org,
	linux-kernel@vger.kernel.org, x86@kernel.org,
	linux-pci@vger.kernel.org, bhelgaas@google.com
Subject: [PATCH] Fix priority of non-BAR ROM data
Date: Sun, 29 Jul 2012 22:49:42 +0100	[thread overview]
Message-ID: <1343598582.15288.4.camel@shinybook.infradead.org> (raw)
In-Reply-To: <1343407934-459-3-git-send-email-mjg@redhat.com>

[-- Attachment #1: Type: text/plain, Size: 1595 bytes --]

If we've obtained the ROM data through other means (such as from EFI),
we don't want to ignore it just because the IORESOURCE_ROM_SHADOW bit has
got set. This fixes the Radeon ROM handling on my MacBookPro8,3 when booted
via grub1-efi.

Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
---
This fixes patch 3/4 'PCI: Add support for non-BAR ROMs' for me.

 drivers/pci/rom.c | 13 +++++++------
 1 file changed, 7 insertions(+), 6 deletions(-)

diff --git a/drivers/pci/rom.c b/drivers/pci/rom.c
index 7ebaab6..4d437b5 100644
--- a/drivers/pci/rom.c
+++ b/drivers/pci/rom.c
@@ -118,6 +118,13 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
 	void __iomem *rom;
 
 	/*
+	 * Some devices may provide ROMs via a source other than the BAR
+	 */
+	if (pdev->rom && pdev->romlen) {
+		*size = pdev->romlen;
+		return phys_to_virt(pdev->rom);
+	}
+	/*
 	 * IORESOURCE_ROM_SHADOW set on x86, x86_64 and IA64 supports legacy
 	 * memory map if the VGA enable bit of the Bridge Control register is
 	 * set for embedded VGA.
@@ -126,12 +133,6 @@ void __iomem *pci_map_rom(struct pci_dev *pdev, size_t *size)
 		/* primary video rom always starts here */
 		start = (loff_t)0xC0000;
 		*size = 0x20000; /* cover C000:0 through E000:0 */
-	/*
-	 * Some devices may provide ROMs via a source other than the BAR
-	 */
-	} else if (pdev->rom && pdev->romlen) {
-		*size = pdev->romlen;
-		return phys_to_virt(pdev->rom);
 	} else {
 		if (res->flags &
 			(IORESOURCE_ROM_COPY | IORESOURCE_ROM_BIOS_COPY)) {
-- 
1.7.11.2



-- 
dwmw2

[-- Attachment #2: smime.p7s --]
[-- Type: application/x-pkcs7-signature, Size: 6171 bytes --]

  reply	other threads:[~2012-07-29 21:49 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-07-27 16:52 [PATCH V2 1/4] EFI: Stash ROMs if they're not in the PCI BAR Matthew Garrett
2012-07-27 16:52 ` [PATCH V2 2/4] PCI: Add pcibios_add_device Matthew Garrett
2012-07-27 16:52 ` [PATCH V2 3/4] PCI: Add support for non-BAR ROMs Matthew Garrett
2012-07-29 21:49   ` David Woodhouse [this message]
2012-07-29 21:53     ` [PATCH] Fix priority of non-BAR ROM data Matthew Garrett
2012-08-01 14:20       ` Bjorn Helgaas
2012-08-01 14:26         ` Matthew Garrett
2012-07-27 16:52 ` [PATCH V2 4/4] X86: Use PCI setup data Matthew Garrett
2012-07-31 22:32 ` [PATCH V2 1/4] EFI: Stash ROMs if they're not in the PCI BAR Greg KH
2012-08-01 16:54   ` Matthew Garrett
2012-08-01 23:21     ` Greg KH
2012-08-02  4:02       ` Seth Forshee
2012-08-02 10:34         ` Greg KH
2012-08-02 14:57           ` Francois Rigaut
2012-08-02 16:12             ` Seth Forshee
2012-08-02 22:40               ` Francois Rigaut
2012-08-02 22:54                 ` Francois Rigaut
2012-08-03  4:53                   ` Seth Forshee
     [not found]                     ` <501BD1FC.9020601@mso.anu.edu.au>
     [not found]                       ` <20120803141421.GA8165@thinkpad-t410>
     [not found]                         ` <501C7C1D.5010903@mso.anu.edu.au>
     [not found]                           ` <20120804035844.GA31711@thinkpad-t410>
2012-08-04  5:44                             ` Francois Rigaut
2012-08-06 13:49                               ` Seth Forshee
2012-08-06 22:50                                 ` Francois Rigaut

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1343598582.15288.4.camel@shinybook.infradead.org \
    --to=dwmw2@infradead.org \
    --cc=bhelgaas@google.com \
    --cc=linux-efi@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=matt.fleming@intel.com \
    --cc=mjg@redhat.com \
    --cc=x86@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).