Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch --- drivers/video/fbdev/core/fbmem.c | 29 +++++++++++++++++++++++++---- 1 file changed, 25 insertions(+), 4 deletions(-)
diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index cb43a2258c51..e4e5c129a0f5 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1879,14 +1879,35 @@ int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const { struct apertures_struct *ap; bool primary = false; - int err; + int err, idx, bar; + bool res_id_found = false;
- ap = alloc_apertures(1); + for (idx = 0, bar = 0; bar < PCI_ROM_RESOURCE; bar++) { + if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM)) + continue; + idx++; + } + + ap = alloc_apertures(idx); if (!ap) return -ENOMEM;
- ap->ranges[0].base = pci_resource_start(pdev, res_id); - ap->ranges[0].size = pci_resource_len(pdev, res_id); + for (idx = 0, bar = 0; bar < PCI_ROM_RESOURCE; bar++) { + if (!(pci_resource_flags(pdev, bar) & IORESOURCE_MEM)) + continue; + ap->ranges[idx].base = pci_resource_start(pdev, bar); + ap->ranges[idx].size = pci_resource_len(pdev, bar); + pci_info(pdev, "%s: bar %d: 0x%lx -> 0x%lx\n", __func__, bar, + (unsigned long)pci_resource_start(pdev, bar), + (unsigned long)pci_resource_end(pdev, bar)); + idx++; + if (res_id == bar) + res_id_found = true; + } + if (!res_id_found) + pci_warn(pdev, "%s: passed res_id (%d) is not a memory bar\n", + __func__, res_id); + #ifdef CONFIG_X86 primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW;
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics
On Mon, Apr 1, 2019 at 4:00 PM Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com wrote:
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Might be good to also stuff this into drm (double merge or topic branch, whatever you prefer), since that's where all the users are. Gerd also has some follow-up patches to apply on top of this one iirc. -Daniel
On Tue, Apr 02, 2019 at 02:09:45PM +0200, Daniel Vetter wrote:
On Mon, Apr 1, 2019 at 4:00 PM Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com wrote:
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Might be good to also stuff this into drm (double merge or topic branch, whatever you prefer), since that's where all the users are. Gerd also has some follow-up patches to apply on top of this one iirc.
No follow-up patches yet. Plan is to wait a bit, see if the sanity-checks trigger, and if all goes well go drop the res_id parameter in 5.3 ...
cheers, Gerd
On Tue, Apr 2, 2019 at 10:43 PM Gerd Hoffmann kraxel@redhat.com wrote:
On Tue, Apr 02, 2019 at 02:09:45PM +0200, Daniel Vetter wrote:
On Mon, Apr 1, 2019 at 4:00 PM Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com wrote:
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Might be good to also stuff this into drm (double merge or topic branch, whatever you prefer), since that's where all the users are. Gerd also has some follow-up patches to apply on top of this one iirc.
No follow-up patches yet. Plan is to wait a bit, see if the sanity-checks trigger, and if all goes well go drop the res_id parameter in 5.3 ...
Hm I thought you had a patch to convert i915 over. Or did that land already? -Daniel
On Wed, Apr 03, 2019 at 08:48:16AM +0200, Daniel Vetter wrote:
On Tue, Apr 2, 2019 at 10:43 PM Gerd Hoffmann kraxel@redhat.com wrote:
On Tue, Apr 02, 2019 at 02:09:45PM +0200, Daniel Vetter wrote:
On Mon, Apr 1, 2019 at 4:00 PM Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com wrote:
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Might be good to also stuff this into drm (double merge or topic branch, whatever you prefer), since that's where all the users are. Gerd also has some follow-up patches to apply on top of this one iirc.
No follow-up patches yet. Plan is to wait a bit, see if the sanity-checks trigger, and if all goes well go drop the res_id parameter in 5.3 ...
Hm I thought you had a patch to convert i915 over. Or did that land already?
Ah, *that* one. Yep, that is still sitting in a branch here. Didn't rebase it yet. But I suspect it will be easier to first drop res_id and then rebase the i915 patch on top of *that*, so I don't have to figure which i915 revision needs which res_id ...
cheers, Gerd
On Wed, Apr 3, 2019 at 9:22 AM Gerd Hoffmann kraxel@redhat.com wrote:
On Wed, Apr 03, 2019 at 08:48:16AM +0200, Daniel Vetter wrote:
On Tue, Apr 2, 2019 at 10:43 PM Gerd Hoffmann kraxel@redhat.com wrote:
On Tue, Apr 02, 2019 at 02:09:45PM +0200, Daniel Vetter wrote:
On Mon, Apr 1, 2019 at 4:00 PM Bartlomiej Zolnierkiewicz b.zolnierkie@samsung.com wrote:
On 03/14/2019 12:45 PM, Gerd Hoffmann wrote:
Simply add all pci memory bars to struct apertures_struct in remove_conflicting_pci_framebuffers(), without depending on the res_id parameter.
The plan is to drop the res_id parameter later on. For now keep the parameter, use it for sanity-checking and warn on inconsistencies.
Signed-off-by: Gerd Hoffmann kraxel@redhat.com Reviewed-by: Daniel Vetter daniel.vetter@ffwll.ch
Patch queued for v5.2, thanks.
Might be good to also stuff this into drm (double merge or topic branch, whatever you prefer), since that's where all the users are. Gerd also has some follow-up patches to apply on top of this one iirc.
No follow-up patches yet. Plan is to wait a bit, see if the sanity-checks trigger, and if all goes well go drop the res_id parameter in 5.3 ...
Hm I thought you had a patch to convert i915 over. Or did that land already?
Ah, *that* one. Yep, that is still sitting in a branch here. Didn't rebase it yet. But I suspect it will be easier to first drop res_id and then rebase the i915 patch on top of *that*, so I don't have to figure which i915 revision needs which res_id ...
Ok, sounds like a plan for 5.3 somewhen. -Daniel
dri-devel@lists.freedesktop.org