From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: linux-fbdev@vger.kernel.org,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Javier Martinez Canillas <javierm@redhat.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
Daniel Vetter <daniel.vetter@intel.com>,
Helge Deller <deller@gmx.de>
Subject: [Intel-gfx] [PATCH 2/8] video/aperture: use generic code to figure out the vga default device
Date: Tue, 4 Apr 2023 22:18:36 +0200 [thread overview]
Message-ID: <20230404201842.567344-2-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20230404201842.567344-1-daniel.vetter@ffwll.ch>
Since vgaarb has been promoted to be a core piece of the pci subsystem
we don't have to open code random guesses anymore, we actually know
this in a platform agnostic way, and there's no need for an x86
specific hack. See also 1d38fe6ee6a8 ("PCI/VGA: Move vgaarb to
drivers/pci")
This should not result in any functional change, and the non-x86
multi-gpu pci systems are probably rare enough to not matter (I don't
know of any tbh). But it's a nice cleanup, so let's do it.
There's been a few questions on previous iterations on dri-devel and
irc:
- fb_is_primary_device() seems to be yet another implementation of
this theme, and at least on x86 it checks for both
vga_default_device OR rom shadowing. There shouldn't ever be a case
where rom shadowing gives any additional hints about the boot vga
device, but if there is then the default vga selection in vgaarb
should probably be fixed. And not special-case checks replicated all
over.
- Thomas also brought up that on most !x86 systems
fb_is_primary_device() returns 0, except on sparc/parisc. But these
2 special cases are about platform specific devices and not pci, so
shouldn't have any interactions.
- Furthermore fb_is_primary_device() is a bit a red herring since it's
only used to select the right fbdev driver for fbcon, and not for
the fw handover dance which the aperture helpers handle. At least
for x86 we might want to look into unifying them, but that's a
separate thing.
v2: Extend commit message trying to summarize various discussions.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/video/aperture.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index b009468ffdff..8835d3bc39bf 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -324,13 +324,11 @@ EXPORT_SYMBOL(aperture_remove_conflicting_devices);
*/
int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name)
{
- bool primary = false;
+ bool primary;
resource_size_t base, size;
int bar, ret;
-#ifdef CONFIG_X86
- primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
-#endif
+ primary = pdev == vga_default_device();
for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
--
2.40.0
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Daniel Vetter <daniel.vetter@intel.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
Javier Martinez Canillas <javierm@redhat.com>,
Helge Deller <deller@gmx.de>,
linux-fbdev@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
linux-pci@vger.kernel.org
Subject: [PATCH 2/8] video/aperture: use generic code to figure out the vga default device
Date: Tue, 4 Apr 2023 22:18:36 +0200 [thread overview]
Message-ID: <20230404201842.567344-2-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20230404201842.567344-1-daniel.vetter@ffwll.ch>
Since vgaarb has been promoted to be a core piece of the pci subsystem
we don't have to open code random guesses anymore, we actually know
this in a platform agnostic way, and there's no need for an x86
specific hack. See also 1d38fe6ee6a8 ("PCI/VGA: Move vgaarb to
drivers/pci")
This should not result in any functional change, and the non-x86
multi-gpu pci systems are probably rare enough to not matter (I don't
know of any tbh). But it's a nice cleanup, so let's do it.
There's been a few questions on previous iterations on dri-devel and
irc:
- fb_is_primary_device() seems to be yet another implementation of
this theme, and at least on x86 it checks for both
vga_default_device OR rom shadowing. There shouldn't ever be a case
where rom shadowing gives any additional hints about the boot vga
device, but if there is then the default vga selection in vgaarb
should probably be fixed. And not special-case checks replicated all
over.
- Thomas also brought up that on most !x86 systems
fb_is_primary_device() returns 0, except on sparc/parisc. But these
2 special cases are about platform specific devices and not pci, so
shouldn't have any interactions.
- Furthermore fb_is_primary_device() is a bit a red herring since it's
only used to select the right fbdev driver for fbcon, and not for
the fw handover dance which the aperture helpers handle. At least
for x86 we might want to look into unifying them, but that's a
separate thing.
v2: Extend commit message trying to summarize various discussions.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/video/aperture.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index b009468ffdff..8835d3bc39bf 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -324,13 +324,11 @@ EXPORT_SYMBOL(aperture_remove_conflicting_devices);
*/
int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name)
{
- bool primary = false;
+ bool primary;
resource_size_t base, size;
int bar, ret;
-#ifdef CONFIG_X86
- primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
-#endif
+ primary = pdev == vga_default_device();
for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
--
2.40.0
WARNING: multiple messages have this Message-ID (diff)
From: Daniel Vetter <daniel.vetter@ffwll.ch>
To: DRI Development <dri-devel@lists.freedesktop.org>
Cc: linux-fbdev@vger.kernel.org,
Daniel Vetter <daniel.vetter@ffwll.ch>,
Intel Graphics Development <intel-gfx@lists.freedesktop.org>,
Javier Martinez Canillas <javierm@redhat.com>,
Thomas Zimmermann <tzimmermann@suse.de>,
linux-pci@vger.kernel.org, Bjorn Helgaas <bhelgaas@google.com>,
Daniel Vetter <daniel.vetter@intel.com>,
Helge Deller <deller@gmx.de>
Subject: [PATCH 2/8] video/aperture: use generic code to figure out the vga default device
Date: Tue, 4 Apr 2023 22:18:36 +0200 [thread overview]
Message-ID: <20230404201842.567344-2-daniel.vetter@ffwll.ch> (raw)
In-Reply-To: <20230404201842.567344-1-daniel.vetter@ffwll.ch>
Since vgaarb has been promoted to be a core piece of the pci subsystem
we don't have to open code random guesses anymore, we actually know
this in a platform agnostic way, and there's no need for an x86
specific hack. See also 1d38fe6ee6a8 ("PCI/VGA: Move vgaarb to
drivers/pci")
This should not result in any functional change, and the non-x86
multi-gpu pci systems are probably rare enough to not matter (I don't
know of any tbh). But it's a nice cleanup, so let's do it.
There's been a few questions on previous iterations on dri-devel and
irc:
- fb_is_primary_device() seems to be yet another implementation of
this theme, and at least on x86 it checks for both
vga_default_device OR rom shadowing. There shouldn't ever be a case
where rom shadowing gives any additional hints about the boot vga
device, but if there is then the default vga selection in vgaarb
should probably be fixed. And not special-case checks replicated all
over.
- Thomas also brought up that on most !x86 systems
fb_is_primary_device() returns 0, except on sparc/parisc. But these
2 special cases are about platform specific devices and not pci, so
shouldn't have any interactions.
- Furthermore fb_is_primary_device() is a bit a red herring since it's
only used to select the right fbdev driver for fbcon, and not for
the fw handover dance which the aperture helpers handle. At least
for x86 we might want to look into unifying them, but that's a
separate thing.
v2: Extend commit message trying to summarize various discussions.
Signed-off-by: Daniel Vetter <daniel.vetter@intel.com>
Cc: Thomas Zimmermann <tzimmermann@suse.de>
Cc: Javier Martinez Canillas <javierm@redhat.com>
Cc: Helge Deller <deller@gmx.de>
Cc: linux-fbdev@vger.kernel.org
Cc: Bjorn Helgaas <bhelgaas@google.com>
Cc: linux-pci@vger.kernel.org
---
drivers/video/aperture.c | 6 ++----
1 file changed, 2 insertions(+), 4 deletions(-)
diff --git a/drivers/video/aperture.c b/drivers/video/aperture.c
index b009468ffdff..8835d3bc39bf 100644
--- a/drivers/video/aperture.c
+++ b/drivers/video/aperture.c
@@ -324,13 +324,11 @@ EXPORT_SYMBOL(aperture_remove_conflicting_devices);
*/
int aperture_remove_conflicting_pci_devices(struct pci_dev *pdev, const char *name)
{
- bool primary = false;
+ bool primary;
resource_size_t base, size;
int bar, ret;
-#ifdef CONFIG_X86
- primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
-#endif
+ primary = pdev == vga_default_device();
for (bar = 0; bar < PCI_STD_NUM_BARS; ++bar) {
if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM))
--
2.40.0
next prev parent reply other threads:[~2023-04-04 20:18 UTC|newest]
Thread overview: 112+ messages / expand[flat|nested] mbox.gz Atom feed top
2023-04-04 20:18 [Intel-gfx] [PATCH 1/8] drm/gma500: Use drm_aperture_remove_conflicting_pci_framebuffers Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter [this message]
2023-04-04 20:18 ` [PATCH 2/8] video/aperture: use generic code to figure out the vga default device Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-05 11:27 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:27 ` Javier Martinez Canillas
2023-04-05 11:27 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 3/8] drm/aperture: Remove primary argument Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 21:20 ` [Intel-gfx] " Martin Blumenstingl
2023-04-04 21:20 ` Martin Blumenstingl
2023-04-04 21:20 ` Martin Blumenstingl
2023-04-04 21:20 ` Martin Blumenstingl
2023-04-04 21:20 ` Martin Blumenstingl
2023-04-05 9:25 ` [Intel-gfx] " Thierry Reding
2023-04-05 9:25 ` Thierry Reding
2023-04-05 9:25 ` Thierry Reding
2023-04-05 9:25 ` Thierry Reding
2023-04-05 9:25 ` Thierry Reding
2023-04-05 11:30 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:30 ` Javier Martinez Canillas
2023-04-05 11:30 ` Javier Martinez Canillas
2023-04-05 11:30 ` Javier Martinez Canillas
2023-04-05 11:30 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 4/8] video/aperture: Only kick vgacon when the pdev is decoding vga Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-05 11:31 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:31 ` Javier Martinez Canillas
2023-04-05 11:31 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 5/8] video/aperture: Move vga handling to pci function Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-05 11:34 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:34 ` Javier Martinez Canillas
2023-04-05 11:34 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 6/8] video/aperture: Drop primary argument Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-05 11:36 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:36 ` Javier Martinez Canillas
2023-04-05 11:36 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 7/8] video/aperture: Only remove sysfb on the default vga pci device Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-04 20:59 ` [Intel-gfx] " Aaron Plattner
2023-04-04 20:59 ` Aaron Plattner
2023-04-04 20:59 ` Aaron Plattner
2023-04-05 8:48 ` [Intel-gfx] " Daniel Vetter
2023-04-05 8:48 ` Daniel Vetter
2023-04-05 8:48 ` Daniel Vetter
2023-04-05 11:37 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:37 ` Javier Martinez Canillas
2023-04-05 11:37 ` Javier Martinez Canillas
2023-04-04 20:18 ` [Intel-gfx] [PATCH 8/8] fbdev: Simplify fb_is_primary_device for x86 Daniel Vetter
2023-04-04 20:18 ` Daniel Vetter
2023-04-05 11:40 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:40 ` Javier Martinez Canillas
2023-04-04 23:44 ` [Intel-gfx] ✗ Fi.CI.CHECKPATCH: warning for series starting with [1/8] drm/gma500: Use drm_aperture_remove_conflicting_pci_framebuffers Patchwork
2023-04-04 23:44 ` [Intel-gfx] ✗ Fi.CI.SPARSE: " Patchwork
2023-04-04 23:51 ` [Intel-gfx] ✓ Fi.CI.BAT: success " Patchwork
2023-04-05 7:49 ` [Intel-gfx] [PATCH 1/8] " Thomas Zimmermann
2023-04-05 7:49 ` Thomas Zimmermann
2023-04-05 8:05 ` [Intel-gfx] " Patrik Jakobsson
2023-04-05 8:05 ` Patrik Jakobsson
2023-04-05 8:15 ` [Intel-gfx] " Thomas Zimmermann
2023-04-05 8:15 ` Thomas Zimmermann
2023-04-05 8:07 ` [Intel-gfx] " Thomas Zimmermann
2023-04-05 8:07 ` Thomas Zimmermann
2023-04-05 8:59 ` [Intel-gfx] " Daniel Vetter
2023-04-05 8:59 ` Daniel Vetter
2023-04-05 9:26 ` [Intel-gfx] " Thomas Zimmermann
2023-04-05 9:26 ` Thomas Zimmermann
2023-04-05 9:38 ` [Intel-gfx] " Daniel Vetter
2023-04-05 9:38 ` Daniel Vetter
2023-04-05 11:00 ` [Intel-gfx] " Thomas Zimmermann
2023-04-05 11:00 ` Thomas Zimmermann
2023-04-05 11:16 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 11:16 ` Javier Martinez Canillas
2023-04-05 13:18 ` [Intel-gfx] " Daniel Vetter
2023-04-05 13:18 ` Daniel Vetter
2023-04-05 14:32 ` [Intel-gfx] " Thomas Zimmermann
2023-04-05 14:32 ` Thomas Zimmermann
2023-04-05 16:02 ` [Intel-gfx] " Daniel Vetter
2023-04-05 16:02 ` Daniel Vetter
2023-04-05 16:54 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 16:54 ` Javier Martinez Canillas
2023-04-05 17:14 ` [Intel-gfx] " Daniel Vetter
2023-04-05 17:14 ` Daniel Vetter
2023-04-05 17:43 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-05 17:43 ` Javier Martinez Canillas
2023-04-05 17:46 ` [Intel-gfx] " Patrik Jakobsson
2023-04-06 7:31 ` Daniel Vetter
2023-04-06 11:16 ` Patrik Jakobsson
2023-04-05 8:19 ` Thomas Zimmermann
2023-04-05 8:19 ` Thomas Zimmermann
2023-04-05 9:09 ` [Intel-gfx] " Daniel Vetter
2023-04-05 9:09 ` Daniel Vetter
2023-04-05 10:10 ` [Intel-gfx] ✓ Fi.CI.IGT: success for series starting with [1/8] " Patchwork
2023-04-06 7:14 ` [Intel-gfx] [PATCH 1/8] " Thomas Zimmermann
2023-04-06 7:14 ` Thomas Zimmermann
2023-04-06 8:38 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-06 8:38 ` Javier Martinez Canillas
2023-04-06 8:49 ` [Intel-gfx] " Thomas Zimmermann
2023-04-06 8:49 ` Thomas Zimmermann
2023-04-06 9:05 ` [Intel-gfx] " Javier Martinez Canillas
2023-04-06 9:05 ` Javier Martinez Canillas
2023-04-06 9:05 ` [Intel-gfx] ✗ Fi.CI.BUILD: failure for series starting with [1/8] drm/gma500: Use drm_aperture_remove_conflicting_pci_framebuffers (rev2) Patchwork
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=20230404201842.567344-2-daniel.vetter@ffwll.ch \
--to=daniel.vetter@ffwll.ch \
--cc=bhelgaas@google.com \
--cc=daniel.vetter@intel.com \
--cc=deller@gmx.de \
--cc=dri-devel@lists.freedesktop.org \
--cc=intel-gfx@lists.freedesktop.org \
--cc=javierm@redhat.com \
--cc=linux-fbdev@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=tzimmermann@suse.de \
/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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.