* [PATCH 00/13] remove_conflicting_framebuffers() cleanup @ 2017-11-24 17:53 Michał Mirosław 2017-11-24 17:53 ` [PATCH 01/13] fbdev: show fbdev number for debugging Michał Mirosław ` (13 more replies) 0 siblings, 14 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel Cc: linux-tegra, Teddy Wang, Sudip Mukherjee, David Airlie, Bartlomiej Zolnierkiewicz, amd-gfx, virtualization, Eric Anholt, Chen-Yu Tsai, Thierry Reding, Alex Deucher, Maxime Ripard, Jonathan Hunter This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. The last patch is here because it uses new semantics of remove_conflicting_framebuffers() from this series. This can be considered independently, though. --- Michał Mirosław (13): fbdev: show fbdev number for debugging fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() fbdev: allow apertures == NULL in remove_conflicting_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 23 +----------------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +------------- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +----------------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +---------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------- drivers/gpu/drm/radeon/radeon_drv.c | 23 +----------------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------------- drivers/gpu/drm/tegra/drm.c | 4 ++++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +--------------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++---------------- drivers/staging/sm750fb/sm750.c | 22 +----------------- drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++++++++++-- include/drm/drm_fb_helper.h | 12 ++++++++++ include/linux/fb.h | 2 ++ 14 files changed, 67 insertions(+), 192 deletions(-) -- 2.11.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 01/13] fbdev: show fbdev number for debugging 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław ` (12 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław 2017-11-24 17:53 ` [PATCH 01/13] fbdev: show fbdev number for debugging Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław [not found] ` <1738dbed0239bffc886f126fd3091daa39cd14c9.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-27 10:27 ` Daniel Vetter 2017-11-24 17:53 ` [PATCH 06/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław ` (11 subsequent siblings) 13 siblings, 2 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel Cc: Teddy Wang, Sudip Mukherjee, David Airlie, amd-gfx, virtualization, Alex Deucher Almost all drivers using remove_conflicting_framebuffers() wrap it with the same code. Extract common part from PCI drivers into separate remove_conflicting_pci_framebuffers(). Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ include/drm/drm_fb_helper.h | 12 ++++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 36 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..5ea980e5d3b7 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1788,6 +1789,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return 0; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 33fe95927742..ac3412290289 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -520,4 +520,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index f4386b0ccf40..4196cb09e58e 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -624,6 +624,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.11.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
[parent not found: <1738dbed0239bffc886f126fd3091daa39cd14c9.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() [not found] ` <1738dbed0239bffc886f126fd3091daa39cd14c9.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-27 10:27 ` Daniel Vetter 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-27 20:52 ` Sudip Mukherjee 0 siblings, 2 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:27 UTC (permalink / raw) To: Michał Mirosław Cc: Teddy Wang, Christian König, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Alex Deucher, Sudip Mukherjee, Gerd Hoffmann On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > Almost all drivers using remove_conflicting_framebuffers() wrap it with > the same code. Extract common part from PCI drivers into separate > remove_conflicting_pci_framebuffers(). > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Since the only driver that seems to use this is the staging one, which imo is a DOA project, not sure it's worth to bother with this here. -Daniel > --- > drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ > include/drm/drm_fb_helper.h | 12 ++++++++++++ > include/linux/fb.h | 2 ++ > 3 files changed, 36 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 30a18d4c9de4..5ea980e5d3b7 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -34,6 +34,7 @@ > #include <linux/fb.h> > #include <linux/fbcon.h> > #include <linux/mem_encrypt.h> > +#include <linux/pci.h> > > #include <asm/fb.h> > > @@ -1788,6 +1789,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + > + ap = alloc_apertures(1); > + if (!ap) > + return -ENOMEM; > + > + ap->ranges[0].base = pci_resource_start(pdev, res_id); > + ap->ranges[0].size = pci_resource_len(pdev, res_id); > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & > + IORESOURCE_ROM_SHADOW; > +#endif > + remove_conflicting_framebuffers(ap, name, primary); > + kfree(ap); > + return 0; > +} > +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); > + > /** > * register_framebuffer - registers a frame buffer device > * @fb_info: frame buffer info structure > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index 33fe95927742..ac3412290289 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -520,4 +520,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > #endif > } > > +static inline int > +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, > + int resource_id, > + const char *name) > +{ > +#if IS_REACHABLE(CONFIG_FB) > + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); > +#else > + return 0; > +#endif > +} > + > #endif > diff --git a/include/linux/fb.h b/include/linux/fb.h > index f4386b0ccf40..4196cb09e58e 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -624,6 +624,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, > extern int register_framebuffer(struct fb_info *fb_info); > extern int unregister_framebuffer(struct fb_info *fb_info); > extern int unlink_framebuffer(struct fb_info *fb_info); > +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, > + const char *name); > extern int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary); > extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-27 10:27 ` Daniel Vetter @ 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-27 20:52 ` Sudip Mukherjee 1 sibling, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-27 20:52 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, David Airlie, amd-gfx, virtualization, dri-devel, Alex Deucher, Michał Mirosław, Christian König On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > the same code. Extract common part from PCI drivers into separate > > remove_conflicting_pci_framebuffers(). > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > Since the only driver that seems to use this is the staging one, which imo > is a DOA project, not sure it's worth to bother with this here. afaik, this device is used in production by few manufacturers and it is usefull for them to have it in the tree and the only reason it is still in staging is because Tomi announced he will not take any new drivers in fbdev. And, so I have not taken the initiative to properly move it out of staging. I think Bartlomiej will also not accept new drivers in fbdev. -- Regards Sudip _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-27 10:27 ` Daniel Vetter 2017-11-27 20:52 ` Sudip Mukherjee @ 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-28 10:22 ` Daniel Vetter 2017-11-28 10:22 ` Daniel Vetter 1 sibling, 2 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-27 20:52 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, David Airlie, amd-gfx, virtualization, dri-devel, Alex Deucher, Michał Mirosław, Christian König, Gerd Hoffmann On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > the same code. Extract common part from PCI drivers into separate > > remove_conflicting_pci_framebuffers(). > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > Since the only driver that seems to use this is the staging one, which imo > is a DOA project, not sure it's worth to bother with this here. afaik, this device is used in production by few manufacturers and it is usefull for them to have it in the tree and the only reason it is still in staging is because Tomi announced he will not take any new drivers in fbdev. And, so I have not taken the initiative to properly move it out of staging. I think Bartlomiej will also not accept new drivers in fbdev. -- Regards Sudip _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-27 20:52 ` Sudip Mukherjee @ 2017-11-28 10:22 ` Daniel Vetter 2017-11-28 11:32 ` Greg KH 2017-11-28 11:32 ` Greg KH 2017-11-28 10:22 ` Daniel Vetter 1 sibling, 2 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-28 10:22 UTC (permalink / raw) To: Sudip Mukherjee, Greg KH Cc: Teddy Wang, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Christian König, Gerd Hoffmann On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > the same code. Extract common part from PCI drivers into separate > > > remove_conflicting_pci_framebuffers(). > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > Since the only driver that seems to use this is the staging one, which imo > > is a DOA project, not sure it's worth to bother with this here. > > afaik, this device is used in production by few manufacturers and it is > usefull for them to have it in the tree and the only reason it is still > in staging is because Tomi announced he will not take any new drivers in > fbdev. And, so I have not taken the initiative to properly move it out > of staging. I think Bartlomiej will also not accept new drivers in fbdev. Imo, if no one cares about porting it to kms (which will give you an fbdev driver for free), then we should throw it out. At least I thought staging was only for stuff that had a reasonable chance to get mainlined. Not as a dumping ground for drivers that people use, but don't bother to get ready for mainline. Greg? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 10:22 ` Daniel Vetter @ 2017-11-28 11:32 ` Greg KH 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 11:32 ` Greg KH 1 sibling, 2 replies; 191+ messages in thread From: Greg KH @ 2017-11-28 11:32 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, Christian König, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Sudip Mukherjee, Gerd Hoffmann On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > the same code. Extract common part from PCI drivers into separate > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > is a DOA project, not sure it's worth to bother with this here. > > > > afaik, this device is used in production by few manufacturers and it is > > usefull for them to have it in the tree and the only reason it is still > > in staging is because Tomi announced he will not take any new drivers in > > fbdev. And, so I have not taken the initiative to properly move it out > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > Imo, if no one cares about porting it to kms (which will give you an fbdev > driver for free), then we should throw it out. At least I thought staging > was only for stuff that had a reasonable chance to get mainlined. Not as a > dumping ground for drivers that people use, but don't bother to get ready > for mainline. > > Greg? Yes, if no one is working to get it out of staging, that means no one cares about it, and it needs to be removed from the tree. thanks, greg k-h _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 11:32 ` Greg KH @ 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 13:06 ` Greg KH ` (2 more replies) 2017-11-28 12:30 ` Sudip Mukherjee 1 sibling, 3 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-28 12:30 UTC (permalink / raw) To: Greg KH Cc: Teddy Wang, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Christian König, Gerd Hoffmann On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > the same code. Extract common part from PCI drivers into separate > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > > is a DOA project, not sure it's worth to bother with this here. > > > > > > afaik, this device is used in production by few manufacturers and it is > > > usefull for them to have it in the tree and the only reason it is still > > > in staging is because Tomi announced he will not take any new drivers in > > > fbdev. And, so I have not taken the initiative to properly move it out > > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > > > Imo, if no one cares about porting it to kms (which will give you an fbdev > > driver for free), then we should throw it out. At least I thought staging > > was only for stuff that had a reasonable chance to get mainlined. Not as a > > dumping ground for drivers that people use, but don't bother to get ready > > for mainline. > > > > Greg? > > Yes, if no one is working to get it out of staging, that means no one > cares about it, and it needs to be removed from the tree. Agreed. I was not working on getting it out of staging as there is no place for it to go. But, Teddy Wang told me that they have a working drm driver for it, but it is not atomic like Daniel was asking for. If it is ok, then I can send in a patch to remove the existing sm750 from staging and add the new sm750 drm driver to staging. And after it is ready, we can go ahead with moving it out of staging to drm. Greg? Daniel? -- Regards Sudip _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 12:30 ` Sudip Mukherjee @ 2017-11-28 13:06 ` Greg KH 2017-11-29 9:56 ` Daniel Vetter 2017-11-29 9:56 ` Daniel Vetter 2 siblings, 0 replies; 191+ messages in thread From: Greg KH @ 2017-11-28 13:06 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Daniel Vetter, Alex Deucher, virtualization, Christian König On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > > > is a DOA project, not sure it's worth to bother with this here. > > > > > > > > afaik, this device is used in production by few manufacturers and it is > > > > usefull for them to have it in the tree and the only reason it is still > > > > in staging is because Tomi announced he will not take any new drivers in > > > > fbdev. And, so I have not taken the initiative to properly move it out > > > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > > > > > Imo, if no one cares about porting it to kms (which will give you an fbdev > > > driver for free), then we should throw it out. At least I thought staging > > > was only for stuff that had a reasonable chance to get mainlined. Not as a > > > dumping ground for drivers that people use, but don't bother to get ready > > > for mainline. > > > > > > Greg? > > > > Yes, if no one is working to get it out of staging, that means no one > > cares about it, and it needs to be removed from the tree. > > Agreed. I was not working on getting it out of staging as there is no > place for it to go. > But, Teddy Wang told me that they have a working drm driver for it, but > it is not atomic like Daniel was asking for. If it is ok, then I can send > in a patch to remove the existing sm750 from staging and add the new sm750 > drm driver to staging. And after it is ready, we can go ahead with moving > it out of staging to drm. > > Greg? Daniel? I'll always take patches that delete code from staging :) _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 13:06 ` Greg KH @ 2017-11-29 9:56 ` Daniel Vetter 2017-11-30 23:49 ` Sudip Mukherjee 2017-11-30 23:49 ` Sudip Mukherjee 2017-11-29 9:56 ` Daniel Vetter 2 siblings, 2 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-29 9:56 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daniel Vetter, Alex Deucher, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Christian König, Gerd Hoffmann On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > > > is a DOA project, not sure it's worth to bother with this here. > > > > > > > > afaik, this device is used in production by few manufacturers and it is > > > > usefull for them to have it in the tree and the only reason it is still > > > > in staging is because Tomi announced he will not take any new drivers in > > > > fbdev. And, so I have not taken the initiative to properly move it out > > > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > > > > > Imo, if no one cares about porting it to kms (which will give you an fbdev > > > driver for free), then we should throw it out. At least I thought staging > > > was only for stuff that had a reasonable chance to get mainlined. Not as a > > > dumping ground for drivers that people use, but don't bother to get ready > > > for mainline. > > > > > > Greg? > > > > Yes, if no one is working to get it out of staging, that means no one > > cares about it, and it needs to be removed from the tree. > > Agreed. I was not working on getting it out of staging as there is no > place for it to go. > But, Teddy Wang told me that they have a working drm driver for it, but > it is not atomic like Daniel was asking for. If it is ok, then I can send > in a patch to remove the existing sm750 from staging and add the new sm750 > drm driver to staging. And after it is ready, we can go ahead with moving > it out of staging to drm. Please keep the todo item that it needs to be converted to atomic. And tbh, it's probably faster if you just submit it to dri-devel, assuming you have time to work on it. For small drivers we tend to be fairly quick in getting them into good enough shape. Staging is also a major pain for drm subsystem refactorings, I really, really, really prefer we don't add more than the vbox pain we have already. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-29 9:56 ` Daniel Vetter @ 2017-11-30 23:49 ` Sudip Mukherjee 2017-11-30 23:49 ` Sudip Mukherjee 1 sibling, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-30 23:49 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Christian König Hi Daniel, On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: > On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > <snip> > > > > > > > > Greg? > > > > > > Yes, if no one is working to get it out of staging, that means no one > > > cares about it, and it needs to be removed from the tree. > > > > Agreed. I was not working on getting it out of staging as there is no > > place for it to go. > > But, Teddy Wang told me that they have a working drm driver for it, but > > it is not atomic like Daniel was asking for. If it is ok, then I can send > > in a patch to remove the existing sm750 from staging and add the new sm750 > > drm driver to staging. And after it is ready, we can go ahead with moving > > it out of staging to drm. > > Please keep the todo item that it needs to be converted to atomic. And > tbh, it's probably faster if you just submit it to dri-devel, assuming you > have time to work on it. For small drivers we tend to be fairly quick in > getting them into good enough shape. I have received the driver from Teddy and pushed it to https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first look into it. It is not even building with next-20171130 and has lots of build warnings. I will have to do a lot of work on it before I can even submit it to dri-devel. Time will be the problem, as this is not part of my day job. > > Staging is also a major pain for drm subsystem refactorings, I really, > really, really prefer we don't add more than the vbox pain we have > already. I am hoping that after seeing it, you will agree to have it in staging. :) -- Regards Sudip _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-29 9:56 ` Daniel Vetter 2017-11-30 23:49 ` Sudip Mukherjee @ 2017-11-30 23:49 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter ` (3 more replies) 1 sibling, 4 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-30 23:49 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Christian König, Gerd Hoffmann Hi Daniel, On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: > On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > <snip> > > > > > > > > Greg? > > > > > > Yes, if no one is working to get it out of staging, that means no one > > > cares about it, and it needs to be removed from the tree. > > > > Agreed. I was not working on getting it out of staging as there is no > > place for it to go. > > But, Teddy Wang told me that they have a working drm driver for it, but > > it is not atomic like Daniel was asking for. If it is ok, then I can send > > in a patch to remove the existing sm750 from staging and add the new sm750 > > drm driver to staging. And after it is ready, we can go ahead with moving > > it out of staging to drm. > > Please keep the todo item that it needs to be converted to atomic. And > tbh, it's probably faster if you just submit it to dri-devel, assuming you > have time to work on it. For small drivers we tend to be fairly quick in > getting them into good enough shape. I have received the driver from Teddy and pushed it to https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first look into it. It is not even building with next-20171130 and has lots of build warnings. I will have to do a lot of work on it before I can even submit it to dri-devel. Time will be the problem, as this is not part of my day job. > > Staging is also a major pain for drm subsystem refactorings, I really, > really, really prefer we don't add more than the vbox pain we have > already. I am hoping that after seeing it, you will agree to have it in staging. :) -- Regards Sudip _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-30 23:49 ` Sudip Mukherjee @ 2017-12-01 7:19 ` Daniel Vetter 2017-12-01 14:10 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter ` (2 subsequent siblings) 3 siblings, 1 reply; 191+ messages in thread From: Daniel Vetter @ 2017-12-01 7:19 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daniel Vetter, Alex Deucher, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Christian König, Gerd Hoffmann On Thu, Nov 30, 2017 at 11:49:53PM +0000, Sudip Mukherjee wrote: > Hi Daniel, > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: > > On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > > > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > <snip> > > > > > > > > > > > Greg? > > > > > > > > Yes, if no one is working to get it out of staging, that means no one > > > > cares about it, and it needs to be removed from the tree. > > > > > > Agreed. I was not working on getting it out of staging as there is no > > > place for it to go. > > > But, Teddy Wang told me that they have a working drm driver for it, but > > > it is not atomic like Daniel was asking for. If it is ok, then I can send > > > in a patch to remove the existing sm750 from staging and add the new sm750 > > > drm driver to staging. And after it is ready, we can go ahead with moving > > > it out of staging to drm. > > > > Please keep the todo item that it needs to be converted to atomic. And > > tbh, it's probably faster if you just submit it to dri-devel, assuming you > > have time to work on it. For small drivers we tend to be fairly quick in > > getting them into good enough shape. > > I have received the driver from Teddy and pushed it to > https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first > look into it. It is not even building with next-20171130 and has lots of > build warnings. I will have to do a lot of work on it before I can even > submit it to dri-devel. > > Time will be the problem, as this is not part of my day job. > > > > > Staging is also a major pain for drm subsystem refactorings, I really, > > really, really prefer we don't add more than the vbox pain we have > > already. > > I am hoping that after seeing it, you will agree to have it in staging. :) So I know Greg is willing to take anything into staging, but I'm no fan. We refactor and improve drm a lot, with a lot of cross-driver changes necessary to move things forward. We can do that since we have a generally rather active development community, and we try hard to keep most drivers in reasonable good shape and so easy to maintain. If you know throw a pile of unmaintainable stuff into staging, but without working on it, then that's just cost, no benefit to the dri-devel community. On top, staging tree is separate from drm trees, so more pain to synchronize trees (and we have to do that a few times per release cycle or drivers simply stop compiling). Where's the upside of taking this driver into staging? One is users, but ime for soc display drivers usually everything else is in worse shape (e.g. even great drivers like the one for qualcom must be tested on some vendor tree because critical core bits are missing in upstream), so "more users" is not the good reason. And it's clearly not "more developers", because no time to clean things up. So what exactly is the good reason to put this into staging instead of just waiting until someone has the time to clean it up quickly? Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-12-01 7:19 ` Daniel Vetter @ 2017-12-01 14:10 ` Sudip Mukherjee 0 siblings, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-12-01 14:10 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Christian König On Fri, Dec 01, 2017 at 08:19:16AM +0100, Daniel Vetter wrote: > On Thu, Nov 30, 2017 at 11:49:53PM +0000, Sudip Mukherjee wrote: > > Hi Daniel, > > > > <snip> > > > > > > > > > > > > > > Greg? > > > > > > > > > > Yes, if no one is working to get it out of staging, that means no one > > > > > cares about it, and it needs to be removed from the tree. > > > > > > > > Agreed. I was not working on getting it out of staging as there is no > > > > place for it to go. > > > > But, Teddy Wang told me that they have a working drm driver for it, but > > > > it is not atomic like Daniel was asking for. If it is ok, then I can send > > > > in a patch to remove the existing sm750 from staging and add the new sm750 > > > > drm driver to staging. And after it is ready, we can go ahead with moving > > > > it out of staging to drm. > > > > > > Please keep the todo item that it needs to be converted to atomic. And > > > tbh, it's probably faster if you just submit it to dri-devel, assuming you > > > have time to work on it. For small drivers we tend to be fairly quick in > > > getting them into good enough shape. > > > > I have received the driver from Teddy and pushed it to > > https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first > > look into it. It is not even building with next-20171130 and has lots of > > build warnings. I will have to do a lot of work on it before I can even > > submit it to dri-devel. > > > > Time will be the problem, as this is not part of my day job. > > > > > > > > Staging is also a major pain for drm subsystem refactorings, I really, > > > really, really prefer we don't add more than the vbox pain we have > > > already. > > > > I am hoping that after seeing it, you will agree to have it in staging. :) > > So I know Greg is willing to take anything into staging, but I'm no fan. > We refactor and improve drm a lot, with a lot of cross-driver changes > necessary to move things forward. We can do that since we have a generally > rather active development community, and we try hard to keep most drivers > in reasonable good shape and so easy to maintain. > > If you know throw a pile of unmaintainable stuff into staging, but without > working on it, then that's just cost, no benefit to the dri-devel > community. On top, staging tree is separate from drm trees, so more pain > to synchronize trees (and we have to do that a few times per release cycle > or drivers simply stop compiling). Where's the upside of taking this > driver into staging? > > One is users, but ime for soc display drivers usually everything else is > in worse shape (e.g. even great drivers like the one for qualcom must be > tested on some vendor tree because critical core bits are missing in > upstream), so "more users" is not the good reason. And it's clearly not > "more developers", because no time to clean things up. So what exactly is > the good reason to put this into staging instead of just waiting until > someone has the time to clean it up quickly? Ok, I will not try to give any more reasons now. :) I will cleanup the basic things I can and then submit it to dri-devel. Greg - Please keep the SM750 driver in staging for now. I will send a patch later to add in TODO the git location where the drm driver is being developed. And when that drm driver is ready, I will send a patch to remove the sm750fb driver from staging. -- Regards Sudip ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-30 23:49 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter @ 2017-12-01 7:19 ` Daniel Vetter 2017-12-01 14:40 ` Emil Velikov 2017-12-01 14:40 ` Emil Velikov 3 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-12-01 7:19 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, dri-devel, Michał Mirosław, amd-gfx, Daniel Vetter, Alex Deucher, virtualization, Christian König On Thu, Nov 30, 2017 at 11:49:53PM +0000, Sudip Mukherjee wrote: > Hi Daniel, > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: > > On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > > > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > <snip> > > > > > > > > > > > Greg? > > > > > > > > Yes, if no one is working to get it out of staging, that means no one > > > > cares about it, and it needs to be removed from the tree. > > > > > > Agreed. I was not working on getting it out of staging as there is no > > > place for it to go. > > > But, Teddy Wang told me that they have a working drm driver for it, but > > > it is not atomic like Daniel was asking for. If it is ok, then I can send > > > in a patch to remove the existing sm750 from staging and add the new sm750 > > > drm driver to staging. And after it is ready, we can go ahead with moving > > > it out of staging to drm. > > > > Please keep the todo item that it needs to be converted to atomic. And > > tbh, it's probably faster if you just submit it to dri-devel, assuming you > > have time to work on it. For small drivers we tend to be fairly quick in > > getting them into good enough shape. > > I have received the driver from Teddy and pushed it to > https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first > look into it. It is not even building with next-20171130 and has lots of > build warnings. I will have to do a lot of work on it before I can even > submit it to dri-devel. > > Time will be the problem, as this is not part of my day job. > > > > > Staging is also a major pain for drm subsystem refactorings, I really, > > really, really prefer we don't add more than the vbox pain we have > > already. > > I am hoping that after seeing it, you will agree to have it in staging. :) So I know Greg is willing to take anything into staging, but I'm no fan. We refactor and improve drm a lot, with a lot of cross-driver changes necessary to move things forward. We can do that since we have a generally rather active development community, and we try hard to keep most drivers in reasonable good shape and so easy to maintain. If you know throw a pile of unmaintainable stuff into staging, but without working on it, then that's just cost, no benefit to the dri-devel community. On top, staging tree is separate from drm trees, so more pain to synchronize trees (and we have to do that a few times per release cycle or drivers simply stop compiling). Where's the upside of taking this driver into staging? One is users, but ime for soc display drivers usually everything else is in worse shape (e.g. even great drivers like the one for qualcom must be tested on some vendor tree because critical core bits are missing in upstream), so "more users" is not the good reason. And it's clearly not "more developers", because no time to clean things up. So what exactly is the good reason to put this into staging instead of just waiting until someone has the time to clean it up quickly? Thanks, Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-30 23:49 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter 2017-12-01 7:19 ` Daniel Vetter @ 2017-12-01 14:40 ` Emil Velikov 2017-12-01 14:40 ` Emil Velikov 3 siblings, 0 replies; 191+ messages in thread From: Emil Velikov @ 2017-12-01 14:40 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx mailing list, Michał Mirosław, ML dri-devel, Daniel Vetter, Alex Deucher, open list:VIRTIO GPU DRIVER, Christian König On 30 November 2017 at 23:49, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote: > Hi Daniel, > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: >> On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: >> > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: >> > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: >> > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: >> > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: >> > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: >> > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with >> > > > > > > the same code. Extract common part from PCI drivers into separate >> > > > > > > remove_conflicting_pci_framebuffers(). >> > > > > > > > > <snip> > >> > > > >> > > > Greg? >> > > >> > > Yes, if no one is working to get it out of staging, that means no one >> > > cares about it, and it needs to be removed from the tree. >> > >> > Agreed. I was not working on getting it out of staging as there is no >> > place for it to go. >> > But, Teddy Wang told me that they have a working drm driver for it, but >> > it is not atomic like Daniel was asking for. If it is ok, then I can send >> > in a patch to remove the existing sm750 from staging and add the new sm750 >> > drm driver to staging. And after it is ready, we can go ahead with moving >> > it out of staging to drm. >> >> Please keep the todo item that it needs to be converted to atomic. And >> tbh, it's probably faster if you just submit it to dri-devel, assuming you >> have time to work on it. For small drivers we tend to be fairly quick in >> getting them into good enough shape. > > I have received the driver from Teddy and pushed it to > https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first > look into it. It is not even building with next-20171130 and has lots of > build warnings. I will have to do a lot of work on it before I can even > submit it to dri-devel. > A crazy idea, mostly towards Tedd and Sudip: Start small and build gradually. An example split for separate patch series: - one HW, basic setup + atomic KMS - add second HW - more KMS features - fancy memory management - 2D/3D/other acceleration The driver as seen above tries to do all of the above (almost, it's not atomic) at once - 40k loc. Someone familiar with the code can quickly split it up and while doing so, feed it through checkpatch. Current code is _very_ far from kernel coding style, plus the copyright blurp is very disturbing: * All rights are reserved. Reproduction or in part is prohibited * without the written consent of the copyright owner. HTH Emil _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-30 23:49 ` Sudip Mukherjee ` (2 preceding siblings ...) 2017-12-01 14:40 ` Emil Velikov @ 2017-12-01 14:40 ` Emil Velikov 2017-12-11 21:57 ` Sudip Mukherjee 2017-12-11 21:57 ` Sudip Mukherjee 3 siblings, 2 replies; 191+ messages in thread From: Emil Velikov @ 2017-12-01 14:40 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx mailing list, Michał Mirosław, ML dri-devel, Daniel Vetter, Alex Deucher, open list:VIRTIO GPU DRIVER, Christian König, Gerd Hoffmann On 30 November 2017 at 23:49, Sudip Mukherjee <sudipm.mukherjee@gmail.com> wrote: > Hi Daniel, > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: >> On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: >> > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: >> > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: >> > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: >> > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: >> > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: >> > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with >> > > > > > > the same code. Extract common part from PCI drivers into separate >> > > > > > > remove_conflicting_pci_framebuffers(). >> > > > > > > > > <snip> > >> > > > >> > > > Greg? >> > > >> > > Yes, if no one is working to get it out of staging, that means no one >> > > cares about it, and it needs to be removed from the tree. >> > >> > Agreed. I was not working on getting it out of staging as there is no >> > place for it to go. >> > But, Teddy Wang told me that they have a working drm driver for it, but >> > it is not atomic like Daniel was asking for. If it is ok, then I can send >> > in a patch to remove the existing sm750 from staging and add the new sm750 >> > drm driver to staging. And after it is ready, we can go ahead with moving >> > it out of staging to drm. >> >> Please keep the todo item that it needs to be converted to atomic. And >> tbh, it's probably faster if you just submit it to dri-devel, assuming you >> have time to work on it. For small drivers we tend to be fairly quick in >> getting them into good enough shape. > > I have received the driver from Teddy and pushed it to > https://github.com/sudipm-mukherjee/parport/tree/drm_smi for your first > look into it. It is not even building with next-20171130 and has lots of > build warnings. I will have to do a lot of work on it before I can even > submit it to dri-devel. > A crazy idea, mostly towards Tedd and Sudip: Start small and build gradually. An example split for separate patch series: - one HW, basic setup + atomic KMS - add second HW - more KMS features - fancy memory management - 2D/3D/other acceleration The driver as seen above tries to do all of the above (almost, it's not atomic) at once - 40k loc. Someone familiar with the code can quickly split it up and while doing so, feed it through checkpatch. Current code is _very_ far from kernel coding style, plus the copyright blurp is very disturbing: * All rights are reserved. Reproduction or in part is prohibited * without the written consent of the copyright owner. HTH Emil _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-12-01 14:40 ` Emil Velikov @ 2017-12-11 21:57 ` Sudip Mukherjee 2017-12-11 21:57 ` Sudip Mukherjee 1 sibling, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-12-11 21:57 UTC (permalink / raw) To: Emil Velikov Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx mailing list, Michał Mirosław, ML dri-devel, Daniel Vetter, Alex Deucher, open list:VIRTIO GPU DRIVER, Christian König Hi Emil, On Fri, Dec 01, 2017 at 02:40:11PM +0000, Emil Velikov wrote: > On 30 November 2017 at 23:49, Sudip Mukherjee > <sudipm.mukherjee@gmail.com> wrote: > > Hi Daniel, > > > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: <snip> > > submit it to dri-devel. > > > A crazy idea, mostly towards Tedd and Sudip: > > Start small and build gradually. An example split for separate patch series: > > - one HW, basic setup + atomic KMS > - add second HW > - more KMS features > - fancy memory management > - 2D/3D/other acceleration > > The driver as seen above tries to do all of the above (almost, it's not atomic) > at once - 40k loc. > > Someone familiar with the code can quickly split it up and while doing > so, feed it through checkpatch. I can try but will be very tough since I have to go through the code to get familiar with it and, as mentioned before, its not part of my dayjob, so time will be a problem. Developing from scratch takes much more time than fixing something. > Current code is _very_ far from kernel coding style, plus the > copyright blurp is very disturbing: I will fix the coding style before my first submission to dri-devel, which should be in January after I have setup my desktop with the hardware for testing. The copyright thing - I am sure Teddy can talk to his company and will confirm that we can change it to the way kernel code is done. -- Regards Sudip ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-12-01 14:40 ` Emil Velikov 2017-12-11 21:57 ` Sudip Mukherjee @ 2017-12-11 21:57 ` Sudip Mukherjee 1 sibling, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-12-11 21:57 UTC (permalink / raw) To: Emil Velikov Cc: Teddy Wang, David Airlie, Greg KH, amd-gfx mailing list, Michał Mirosław, ML dri-devel, Alex Deucher, open list:VIRTIO GPU DRIVER, Christian König, Gerd Hoffmann Hi Emil, On Fri, Dec 01, 2017 at 02:40:11PM +0000, Emil Velikov wrote: > On 30 November 2017 at 23:49, Sudip Mukherjee > <sudipm.mukherjee@gmail.com> wrote: > > Hi Daniel, > > > > On Wed, Nov 29, 2017 at 10:56:34AM +0100, Daniel Vetter wrote: <snip> > > submit it to dri-devel. > > > A crazy idea, mostly towards Tedd and Sudip: > > Start small and build gradually. An example split for separate patch series: > > - one HW, basic setup + atomic KMS > - add second HW > - more KMS features > - fancy memory management > - 2D/3D/other acceleration > > The driver as seen above tries to do all of the above (almost, it's not atomic) > at once - 40k loc. > > Someone familiar with the code can quickly split it up and while doing > so, feed it through checkpatch. I can try but will be very tough since I have to go through the code to get familiar with it and, as mentioned before, its not part of my dayjob, so time will be a problem. Developing from scratch takes much more time than fixing something. > Current code is _very_ far from kernel coding style, plus the > copyright blurp is very disturbing: I will fix the coding style before my first submission to dri-devel, which should be in January after I have setup my desktop with the hardware for testing. The copyright thing - I am sure Teddy can talk to his company and will confirm that we can change it to the way kernel code is done. -- Regards Sudip _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 13:06 ` Greg KH 2017-11-29 9:56 ` Daniel Vetter @ 2017-11-29 9:56 ` Daniel Vetter 2 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-29 9:56 UTC (permalink / raw) To: Sudip Mukherjee Cc: Teddy Wang, David Airlie, Greg KH, dri-devel, Michał Mirosław, amd-gfx, Daniel Vetter, Alex Deucher, virtualization, Christian König On Tue, Nov 28, 2017 at 12:30:30PM +0000, Sudip Mukherjee wrote: > On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > > the same code. Extract common part from PCI drivers into separate > > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > > > is a DOA project, not sure it's worth to bother with this here. > > > > > > > > afaik, this device is used in production by few manufacturers and it is > > > > usefull for them to have it in the tree and the only reason it is still > > > > in staging is because Tomi announced he will not take any new drivers in > > > > fbdev. And, so I have not taken the initiative to properly move it out > > > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > > > > > Imo, if no one cares about porting it to kms (which will give you an fbdev > > > driver for free), then we should throw it out. At least I thought staging > > > was only for stuff that had a reasonable chance to get mainlined. Not as a > > > dumping ground for drivers that people use, but don't bother to get ready > > > for mainline. > > > > > > Greg? > > > > Yes, if no one is working to get it out of staging, that means no one > > cares about it, and it needs to be removed from the tree. > > Agreed. I was not working on getting it out of staging as there is no > place for it to go. > But, Teddy Wang told me that they have a working drm driver for it, but > it is not atomic like Daniel was asking for. If it is ok, then I can send > in a patch to remove the existing sm750 from staging and add the new sm750 > drm driver to staging. And after it is ready, we can go ahead with moving > it out of staging to drm. Please keep the todo item that it needs to be converted to atomic. And tbh, it's probably faster if you just submit it to dri-devel, assuming you have time to work on it. For small drivers we tend to be fairly quick in getting them into good enough shape. Staging is also a major pain for drm subsystem refactorings, I really, really, really prefer we don't add more than the vbox pain we have already. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 11:32 ` Greg KH 2017-11-28 12:30 ` Sudip Mukherjee @ 2017-11-28 12:30 ` Sudip Mukherjee 1 sibling, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-28 12:30 UTC (permalink / raw) To: Greg KH Cc: Teddy Wang, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Daniel Vetter, Alex Deucher, virtualization, Christian König On Tue, Nov 28, 2017 at 12:32:38PM +0100, Greg KH wrote: > On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > > the same code. Extract common part from PCI drivers into separate > > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > > is a DOA project, not sure it's worth to bother with this here. > > > > > > afaik, this device is used in production by few manufacturers and it is > > > usefull for them to have it in the tree and the only reason it is still > > > in staging is because Tomi announced he will not take any new drivers in > > > fbdev. And, so I have not taken the initiative to properly move it out > > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > > > Imo, if no one cares about porting it to kms (which will give you an fbdev > > driver for free), then we should throw it out. At least I thought staging > > was only for stuff that had a reasonable chance to get mainlined. Not as a > > dumping ground for drivers that people use, but don't bother to get ready > > for mainline. > > > > Greg? > > Yes, if no one is working to get it out of staging, that means no one > cares about it, and it needs to be removed from the tree. Agreed. I was not working on getting it out of staging as there is no place for it to go. But, Teddy Wang told me that they have a working drm driver for it, but it is not atomic like Daniel was asking for. If it is ok, then I can send in a patch to remove the existing sm750 from staging and add the new sm750 drm driver to staging. And after it is ready, we can go ahead with moving it out of staging to drm. Greg? Daniel? -- Regards Sudip _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-28 10:22 ` Daniel Vetter 2017-11-28 11:32 ` Greg KH @ 2017-11-28 11:32 ` Greg KH 1 sibling, 0 replies; 191+ messages in thread From: Greg KH @ 2017-11-28 11:32 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, Christian König, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Alex Deucher, virtualization, Sudip Mukherjee On Tue, Nov 28, 2017 at 11:22:17AM +0100, Daniel Vetter wrote: > On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > > the same code. Extract common part from PCI drivers into separate > > > > remove_conflicting_pci_framebuffers(). > > > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > > > Since the only driver that seems to use this is the staging one, which imo > > > is a DOA project, not sure it's worth to bother with this here. > > > > afaik, this device is used in production by few manufacturers and it is > > usefull for them to have it in the tree and the only reason it is still > > in staging is because Tomi announced he will not take any new drivers in > > fbdev. And, so I have not taken the initiative to properly move it out > > of staging. I think Bartlomiej will also not accept new drivers in fbdev. > > Imo, if no one cares about porting it to kms (which will give you an fbdev > driver for free), then we should throw it out. At least I thought staging > was only for stuff that had a reasonable chance to get mainlined. Not as a > dumping ground for drivers that people use, but don't bother to get ready > for mainline. > > Greg? Yes, if no one is working to get it out of staging, that means no one cares about it, and it needs to be removed from the tree. thanks, greg k-h _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-28 10:22 ` Daniel Vetter @ 2017-11-28 10:22 ` Daniel Vetter 1 sibling, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-28 10:22 UTC (permalink / raw) To: Sudip Mukherjee, Greg KH Cc: Teddy Wang, David Airlie, amd-gfx, Michał Mirosław, dri-devel, Daniel Vetter, Alex Deucher, virtualization, Christian König On Mon, Nov 27, 2017 at 08:52:19PM +0000, Sudip Mukherjee wrote: > On Mon, Nov 27, 2017 at 11:27:59AM +0100, Daniel Vetter wrote: > > On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > > > Almost all drivers using remove_conflicting_framebuffers() wrap it with > > > the same code. Extract common part from PCI drivers into separate > > > remove_conflicting_pci_framebuffers(). > > > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > > > Since the only driver that seems to use this is the staging one, which imo > > is a DOA project, not sure it's worth to bother with this here. > > afaik, this device is used in production by few manufacturers and it is > usefull for them to have it in the tree and the only reason it is still > in staging is because Tomi announced he will not take any new drivers in > fbdev. And, so I have not taken the initiative to properly move it out > of staging. I think Bartlomiej will also not accept new drivers in fbdev. Imo, if no one cares about porting it to kms (which will give you an fbdev driver for free), then we should throw it out. At least I thought staging was only for stuff that had a reasonable chance to get mainlined. Not as a dumping ground for drivers that people use, but don't bother to get ready for mainline. Greg? -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() 2017-11-24 17:53 ` [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław [not found] ` <1738dbed0239bffc886f126fd3091daa39cd14c9.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-27 10:27 ` Daniel Vetter 1 sibling, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:27 UTC (permalink / raw) To: Michał Mirosław Cc: Teddy Wang, Christian König, David Airlie, amd-gfx, virtualization, dri-devel, Alex Deucher, Sudip Mukherjee On Fri, Nov 24, 2017 at 06:53:31PM +0100, Michał Mirosław wrote: > Almost all drivers using remove_conflicting_framebuffers() wrap it with > the same code. Extract common part from PCI drivers into separate > remove_conflicting_pci_framebuffers(). > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Since the only driver that seems to use this is the staging one, which imo is a DOA project, not sure it's worth to bother with this here. -Daniel > --- > drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ > include/drm/drm_fb_helper.h | 12 ++++++++++++ > include/linux/fb.h | 2 ++ > 3 files changed, 36 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 30a18d4c9de4..5ea980e5d3b7 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -34,6 +34,7 @@ > #include <linux/fb.h> > #include <linux/fbcon.h> > #include <linux/mem_encrypt.h> > +#include <linux/pci.h> > > #include <asm/fb.h> > > @@ -1788,6 +1789,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + > + ap = alloc_apertures(1); > + if (!ap) > + return -ENOMEM; > + > + ap->ranges[0].base = pci_resource_start(pdev, res_id); > + ap->ranges[0].size = pci_resource_len(pdev, res_id); > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & > + IORESOURCE_ROM_SHADOW; > +#endif > + remove_conflicting_framebuffers(ap, name, primary); > + kfree(ap); > + return 0; > +} > +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); > + > /** > * register_framebuffer - registers a frame buffer device > * @fb_info: frame buffer info structure > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index 33fe95927742..ac3412290289 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -520,4 +520,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > #endif > } > > +static inline int > +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, > + int resource_id, > + const char *name) > +{ > +#if IS_REACHABLE(CONFIG_FB) > + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); > +#else > + return 0; > +#endif > +} > + > #endif > diff --git a/include/linux/fb.h b/include/linux/fb.h > index f4386b0ccf40..4196cb09e58e 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -624,6 +624,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, > extern int register_framebuffer(struct fb_info *fb_info); > extern int unregister_framebuffer(struct fb_info *fb_info); > extern int unlink_framebuffer(struct fb_info *fb_info); > +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, > + const char *name); > extern int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary); > extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 06/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław 2017-11-24 17:53 ` [PATCH 01/13] fbdev: show fbdev number for debugging Michał Mirosław 2017-11-24 17:53 ` [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 05/13] drm/cirrus: " Michał Mirosław ` (10 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 05/13] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (2 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 06/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 04/13] drm/bochs: " Michał Mirosław ` (9 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie, virtualization Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.11.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 04/13] drm/bochs: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (3 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 05/13] drm/cirrus: " Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 09/13] staging: sm750fb: " Michał Mirosław ` (8 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie, virtualization Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.11.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 09/13] staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (4 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 04/13] drm/bochs: " Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-27 10:25 ` Daniel Vetter 2017-11-24 17:53 ` [PATCH 08/13] drm/virtio: " Michał Mirosław ` (7 subsequent siblings) 13 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie, Sudip Mukherjee, Teddy Wang Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/staging/sm750fb/sm750.c | 22 +--------------------- 1 file changed, 1 insertion(+), 21 deletions(-) diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c index 67207b0554cd..0590fc45c493 100644 --- a/drivers/staging/sm750fb/sm750.c +++ b/drivers/staging/sm750fb/sm750.c @@ -1053,26 +1053,6 @@ static int sm750fb_frambuffer_alloc(struct sm750_dev *sm750_dev, int fbidx) return err; } -static int lynxfb_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & - IORESOURCE_ROM_SHADOW; -#endif - remove_conflicting_framebuffers(ap, "sm750_fb1", primary); - kfree(ap); - return 0; -} - static int lynxfb_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -1081,7 +1061,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, int fbidx; int err; - err = lynxfb_kick_out_firmware_fb(pdev); + err = remove_conflicting_pci_framebuffers(pdev, 0, "sm750_fb1"); if (err) return err; -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH 09/13] staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 ` [PATCH 09/13] staging: sm750fb: " Michał Mirosław @ 2017-11-27 10:25 ` Daniel Vetter 2017-11-27 20:57 ` Sudip Mukherjee 0 siblings, 1 reply; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:25 UTC (permalink / raw) To: Michał Mirosław Cc: David Airlie, Sudip Mukherjee, dri-devel, Teddy Wang On Fri, Nov 24, 2017 at 06:53:33PM +0100, Michał Mirosław wrote: > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > --- Why exactly do we have an fbdev driver in staging? Afaiui fbdev is entirely closed for new drivers (pls convert to an atomic drm driver instead, it likely will be smaller even). That's even worse than having a non-atomic drm driver in staging ... -Daniel > drivers/staging/sm750fb/sm750.c | 22 +--------------------- > 1 file changed, 1 insertion(+), 21 deletions(-) > > diff --git a/drivers/staging/sm750fb/sm750.c b/drivers/staging/sm750fb/sm750.c > index 67207b0554cd..0590fc45c493 100644 > --- a/drivers/staging/sm750fb/sm750.c > +++ b/drivers/staging/sm750fb/sm750.c > @@ -1053,26 +1053,6 @@ static int sm750fb_frambuffer_alloc(struct sm750_dev *sm750_dev, int fbidx) > return err; > } > > -static int lynxfb_kick_out_firmware_fb(struct pci_dev *pdev) > -{ > - struct apertures_struct *ap; > - bool primary = false; > - > - ap = alloc_apertures(1); > - if (!ap) > - return -ENOMEM; > - > - ap->ranges[0].base = pci_resource_start(pdev, 0); > - ap->ranges[0].size = pci_resource_len(pdev, 0); > -#ifdef CONFIG_X86 > - primary = pdev->resource[PCI_ROM_RESOURCE].flags & > - IORESOURCE_ROM_SHADOW; > -#endif > - remove_conflicting_framebuffers(ap, "sm750_fb1", primary); > - kfree(ap); > - return 0; > -} > - > static int lynxfb_pci_probe(struct pci_dev *pdev, > const struct pci_device_id *ent) > { > @@ -1081,7 +1061,7 @@ static int lynxfb_pci_probe(struct pci_dev *pdev, > int fbidx; > int err; > > - err = lynxfb_kick_out_firmware_fb(pdev); > + err = remove_conflicting_pci_framebuffers(pdev, 0, "sm750_fb1"); > if (err) > return err; > > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 09/13] staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() 2017-11-27 10:25 ` Daniel Vetter @ 2017-11-27 20:57 ` Sudip Mukherjee 0 siblings, 0 replies; 191+ messages in thread From: Sudip Mukherjee @ 2017-11-27 20:57 UTC (permalink / raw) To: Daniel Vetter Cc: David Airlie, Teddy Wang, dri-devel, Michał Mirosław On Mon, Nov 27, 2017 at 11:25:05AM +0100, Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:33PM +0100, Michał Mirosław wrote: > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > --- > > Why exactly do we have an fbdev driver in staging? Afaiui fbdev is > entirely closed for new drivers (pls convert to an atomic drm driver > instead, it likely will be smaller even). This is in staging for many days now, it was added to staging even before Tomi announced that he will not accept any new drivers in fbdev. Converting it to drm driver is the plan and I will have a look into it. -- Regards Sudip _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 08/13] drm/virtio: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (5 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 09/13] staging: sm750fb: " Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław ` (6 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie, virtualization Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.11.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (6 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 08/13] drm/virtio: " Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-28 20:11 ` Eric Anholt [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> ` (5 subsequent siblings) 13 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index e3c29729da2e..b65cddb775bb 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -227,24 +227,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -277,7 +259,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2017-11-24 17:53 ` [PATCH 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław @ 2017-11-28 20:11 ` Eric Anholt 0 siblings, 0 replies; 191+ messages in thread From: Eric Anholt @ 2017-11-28 20:11 UTC (permalink / raw) To: Michał Mirosław, dri-devel; +Cc: David Airlie [-- Attachment #1.1: Type: text/plain, Size: 235 bytes --] Michał Mirosław <mirq-linux@rere.qmqm.pl> writes: > Use remove_conflicting_framebuffers(NULL) instead of open-coding it. > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 832 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
[parent not found: <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-27 15:27 ` Alex Deucher 2017-11-24 17:53 ` [PATCH 07/13] drm/radeon: " Michał Mirosław ` (2 subsequent siblings) 3 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: David Airlie, Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index dd2f060d62a8..b726222b7dd4 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -537,27 +537,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -580,7 +559,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.11.0 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2017-11-24 17:53 ` [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław @ 2017-11-27 15:27 ` Alex Deucher 0 siblings, 0 replies; 191+ messages in thread From: Alex Deucher @ 2017-11-27 15:27 UTC (permalink / raw) To: Michał Mirosław Cc: David Airlie, Alex Deucher, amd-gfx list, Christian König, Maling list - DRI developers On Fri, Nov 24, 2017 at 12:53 PM, Michał Mirosław <mirq-linux@rere.qmqm.pl> wrote: > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> radeon and amdgpu patches (3 and 7) are: Acked-by: Alex Deucher <alexander.deucher@amd.com> > --- > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 23 +---------------------- > 1 file changed, 1 insertion(+), 22 deletions(-) > > diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > index dd2f060d62a8..b726222b7dd4 100644 > --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c > @@ -537,27 +537,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); > > static struct drm_driver kms_driver; > > -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) > -{ > - struct apertures_struct *ap; > - bool primary = false; > - > - ap = alloc_apertures(1); > - if (!ap) > - return -ENOMEM; > - > - ap->ranges[0].base = pci_resource_start(pdev, 0); > - ap->ranges[0].size = pci_resource_len(pdev, 0); > - > -#ifdef CONFIG_X86 > - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; > -#endif > - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); > - kfree(ap); > - > - return 0; > -} > - > static int amdgpu_pci_probe(struct pci_dev *pdev, > const struct pci_device_id *ent) > { > @@ -580,7 +559,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, > return ret; > > /* Get rid of things like offb */ > - ret = amdgpu_kick_out_firmware_fb(pdev); > + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); > if (ret) > return ret; > > -- > 2.11.0 > > _______________________________________________ > amd-gfx mailing list > amd-gfx@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/amd-gfx _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 07/13] drm/radeon: use simpler remove_conflicting_pci_framebuffers() [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-24 17:53 ` [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław 2017-11-24 17:53 ` [PATCH 13/13] drm/tegra: kick out simplefb Michał Mirosław 3 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: David Airlie, Alex Deucher, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index 31dd04f6baa1..49f51b17ae81 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.11.0 _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-24 17:53 ` [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2017-11-24 17:53 ` [PATCH 07/13] drm/radeon: " Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław [not found] ` <13240c59cafec988cdda37cc4d48252ff56f0d04.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-24 17:53 ` [PATCH 13/13] drm/tegra: kick out simplefb Michał Mirosław 3 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: David Airlie, Bartlomiej Zolnierkiewicz, Eric Anholt, Maxime Ripard, Chen-Yu Tsai, Thierry Reding, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 5ea980e5d3b7..927e016487e9 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1780,11 +1780,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.11.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
[parent not found: <13240c59cafec988cdda37cc4d48252ff56f0d04.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* Re: [PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() [not found] ` <13240c59cafec988cdda37cc4d48252ff56f0d04.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-27 10:29 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:29 UTC (permalink / raw) To: Michał Mirosław Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Bartlomiej Zolnierkiewicz, David Airlie, Jonathan Hunter, Chen-Yu Tsai, Thierry Reding, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Maxime Ripard On Fri, Nov 24, 2017 at 06:53:33PM +0100, Michał Mirosław wrote: > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > range. This will allow to remove several duplicates of this code from > drivers in following patches. > > Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> > --- > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > 1 file changed, 14 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 5ea980e5d3b7..927e016487e9 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1780,11 +1780,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { > int ret; > + bool do_free = false; > + > + if (!a) { > + a = alloc_apertures(1); > + if (!a) > + return -ENOMEM; > + > + a->ranges[0].base = 0; > + a->ranges[0].size = ~0; > + do_free = true; > + } > > mutex_lock(®istration_lock); > ret = do_remove_conflicting_framebuffers(a, name, primary); > mutex_unlock(®istration_lock); > > + if (do_free) > + kfree(a); > + > return ret; > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); Please also update the kerneldoc for the varios drm wrappers and explain that passing NULL means to remove all fbdev drivers. -Daniel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 13/13] drm/tegra: kick out simplefb [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> ` (2 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław @ 2017-11-24 17:53 ` Michał Mirosław [not found] ` <89e22ee1c026b40a5bfa91de282d658b56dc8ee8.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 3 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: David Airlie, Thierry Reding, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA Kick out firmware fb when loading tegra driver. Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 943bdf88c4a2..1ec66ae29839 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1239,6 +1239,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.11.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
[parent not found: <89e22ee1c026b40a5bfa91de282d658b56dc8ee8.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* Re: [PATCH 13/13] drm/tegra: kick out simplefb [not found] ` <89e22ee1c026b40a5bfa91de282d658b56dc8ee8.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-24 20:50 ` Thierry Reding 2017-11-24 21:42 ` Michał Mirosław 0 siblings, 1 reply; 191+ messages in thread From: Thierry Reding @ 2017-11-24 20:50 UTC (permalink / raw) To: Michał Mirosław Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, David Airlie, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA [-- Attachment #1: Type: text/plain, Size: 504 bytes --] On Fri, Nov 24, 2017 at 06:53:34PM +0100, Michał Mirosław wrote: > Kick out firmware fb when loading tegra driver. > > Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> > --- > drivers/gpu/drm/tegra/drm.c | 4 ++++ > 1 file changed, 4 insertions(+) Cool. Can you provide some background on how you tested this? What is your firmware FB? That'd be useful information to put in the commit message. Also, nit: "tegra driver" -> "Tegra driver". Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 13/13] drm/tegra: kick out simplefb 2017-11-24 20:50 ` Thierry Reding @ 2017-11-24 21:42 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 21:42 UTC (permalink / raw) To: Thierry Reding Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, David Airlie, Jonathan Hunter, linux-tegra-u79uwXL29TY76Z2rM5mHXA On Fri, Nov 24, 2017 at 09:50:50PM +0100, Thierry Reding wrote: > On Fri, Nov 24, 2017 at 06:53:34PM +0100, Michał Mirosław wrote: > > Kick out firmware fb when loading tegra driver. > Cool. Can you provide some background on how you tested this? What is > your firmware FB? That'd be useful information to put in the commit > message. Also, nit: "tegra driver" -> "Tegra driver". I checked this on my Asus TF300T, as I use simplefb for initial boot messages. simplefb uses framebuffer set up by the bootloader. Best Regards, Michał Mirosław ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (8 preceding siblings ...) [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> @ 2017-11-24 17:53 ` Michał Mirosław 2017-11-27 7:26 ` Maxime Ripard 2017-11-27 10:30 ` [PATCH 00/13] remove_conflicting_framebuffers() cleanup Daniel Vetter ` (3 subsequent siblings) 13 siblings, 1 reply; 191+ messages in thread From: Michał Mirosław @ 2017-11-24 17:53 UTC (permalink / raw) To: dri-devel; +Cc: David Airlie, Maxime Ripard, Chen-Yu Tsai Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 75c76cdd82bc..febc591e9c17 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -66,22 +66,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -123,7 +107,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ drv->fbdev = sun4i_framebuffer_init(drm); -- 2.11.0 _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2017-11-24 17:53 ` [PATCH 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław @ 2017-11-27 7:26 ` Maxime Ripard 0 siblings, 0 replies; 191+ messages in thread From: Maxime Ripard @ 2017-11-27 7:26 UTC (permalink / raw) To: Michał Mirosław; +Cc: David Airlie, Chen-Yu Tsai, dri-devel [-- Attachment #1.1: Type: text/plain, Size: 391 bytes --] On Fri, Nov 24, 2017 at 06:53:34PM +0100, Michał Mirosław wrote: > Use remove_conflicting_framebuffers(NULL) instead of duplicating it. > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Thanks! Maxime -- Maxime Ripard, Free Electrons Embedded Linux and Kernel engineering http://free-electrons.com [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (9 preceding siblings ...) 2017-11-24 17:53 ` [PATCH 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław @ 2017-11-27 10:30 ` Daniel Vetter 2017-11-27 10:30 ` Daniel Vetter ` (2 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:30 UTC (permalink / raw) To: Michał Mirosław Cc: Teddy Wang, Bartlomiej Zolnierkiewicz, David Airlie, Christian König, dri-devel, virtualization, Alex Deucher, Chen-Yu Tsai, Thierry Reding, amd-gfx, linux-tegra, Maxime Ripard, Jonathan Hunter, Sudip Mukherjee On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > The last patch is here because it uses new semantics of > remove_conflicting_framebuffers() from this series. This > can be considered independently, though. Except for that patches I've commented on: Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Since this is for tegra and Thierry has drm-misc commit rights, it's probably simplest when Thierry pushes this all to drm-misc once driver maintainers had a chance to look at it. Also needs and ack from Bart for the fbdev sides. -Daniel > > --- > > Michał Mirosław (13): > fbdev: show fbdev number for debugging > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 23 +----------------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------------- > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +----------------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +---------------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +----------------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------------- > drivers/gpu/drm/tegra/drm.c | 4 ++++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +--------------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++---------------- > drivers/staging/sm750fb/sm750.c | 22 +----------------- > drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++++++++++-- > include/drm/drm_fb_helper.h | 12 ++++++++++ > include/linux/fb.h | 2 ++ > 14 files changed, 67 insertions(+), 192 deletions(-) > > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (10 preceding siblings ...) 2017-11-27 10:30 ` [PATCH 00/13] remove_conflicting_framebuffers() cleanup Daniel Vetter @ 2017-11-27 10:30 ` Daniel Vetter 2017-11-27 10:33 ` Thierry Reding ` (2 more replies) 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 00/12] " Michał Mirosław 13 siblings, 3 replies; 191+ messages in thread From: Daniel Vetter @ 2017-11-27 10:30 UTC (permalink / raw) To: Michał Mirosław Cc: Teddy Wang, Bartlomiej Zolnierkiewicz, David Airlie, Christian König, dri-devel, virtualization, Alex Deucher, Chen-Yu Tsai, Thierry Reding, amd-gfx, linux-tegra, Maxime Ripard, Jonathan Hunter, Sudip Mukherjee, Gerd Hoffmann On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > The last patch is here because it uses new semantics of > remove_conflicting_framebuffers() from this series. This > can be considered independently, though. Except for that patches I've commented on: Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> Since this is for tegra and Thierry has drm-misc commit rights, it's probably simplest when Thierry pushes this all to drm-misc once driver maintainers had a chance to look at it. Also needs and ack from Bart for the fbdev sides. -Daniel > > --- > > Michał Mirosław (13): > fbdev: show fbdev number for debugging > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > staging: sm750fb: use simpler remove_conflicting_pci_framebuffers() > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 23 +----------------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------------- > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +----------------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +---------------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +----------------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------------- > drivers/gpu/drm/tegra/drm.c | 4 ++++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +--------------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++---------------- > drivers/staging/sm750fb/sm750.c | 22 +----------------- > drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++++++++++-- > include/drm/drm_fb_helper.h | 12 ++++++++++ > include/linux/fb.h | 2 ++ > 14 files changed, 67 insertions(+), 192 deletions(-) > > -- > 2.11.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup 2017-11-27 10:30 ` Daniel Vetter @ 2017-11-27 10:33 ` Thierry Reding 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz [not found] ` <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2 siblings, 0 replies; 191+ messages in thread From: Thierry Reding @ 2017-11-27 10:33 UTC (permalink / raw) To: Daniel Vetter Cc: Teddy Wang, Bartlomiej Zolnierkiewicz, David Airlie, Christian König, Jonathan Hunter, dri-devel, Michał Mirosław, Alex Deucher, Chen-Yu Tsai, amd-gfx, linux-tegra, Maxime Ripard, virtualization, Sudip Mukherjee [-- Attachment #1.1: Type: text/plain, Size: 783 bytes --] On Mon, Nov 27, 2017 at 11:30:44AM +0100, Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > The last patch is here because it uses new semantics of > > remove_conflicting_framebuffers() from this series. This > > can be considered independently, though. > > Except for that patches I've commented on: > > Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Since this is for tegra and Thierry has drm-misc commit rights, it's > probably simplest when Thierry pushes this all to drm-misc once driver > maintainers had a chance to look at it. Will do. Thierry [-- Attachment #1.2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] [-- Attachment #2: Type: text/plain, Size: 183 bytes --] _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup 2017-11-27 10:30 ` Daniel Vetter 2017-11-27 10:33 ` Thierry Reding @ 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz [not found] ` <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2 siblings, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-01-03 15:04 UTC (permalink / raw) To: Daniel Vetter, Michał Mirosław Cc: Teddy Wang, Christian König, David Airlie, libnux-fbdev, amd-gfx, virtualization, Alex Deucher, Chen-Yu Tsai, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, Jonathan Hunter, Sudip Mukherjee On Monday, November 27, 2017 11:30:44 AM Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. Please Cc: me on and linux-fbdev ML on fbdev related patches (I was Cc:-ed only on the cover letter and patch #10, linux-fbdev was not Cc:-ed at all). > > The last patch is here because it uses new semantics of > > remove_conflicting_framebuffers() from this series. This > > can be considered independently, though. > > Except for that patches I've commented on: > > Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> > > Since this is for tegra and Thierry has drm-misc commit rights, it's > probably simplest when Thierry pushes this all to drm-misc once driver > maintainers had a chance to look at it. Also needs and ack from Bart for > the fbdev sides. For fbdev changes: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
[parent not found: <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>]
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup [not found] ` <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> @ 2017-11-27 10:33 ` Thierry Reding 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz 1 sibling, 0 replies; 191+ messages in thread From: Thierry Reding @ 2017-11-27 10:33 UTC (permalink / raw) To: Daniel Vetter Cc: Michał Mirosław, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Teddy Wang, Sudip Mukherjee, David Airlie, Bartlomiej Zolnierkiewicz, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Chen-Yu Tsai, Gerd Hoffmann, Alex Deucher, Maxime Ripard, Jonathan Hunter, Christian König [-- Attachment #1: Type: text/plain, Size: 803 bytes --] On Mon, Nov 27, 2017 at 11:30:44AM +0100, Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > The last patch is here because it uses new semantics of > > remove_conflicting_framebuffers() from this series. This > > can be considered independently, though. > > Except for that patches I've commented on: > > Acked-by: Daniel Vetter <daniel.vetter-/w4YWyX8dFk@public.gmane.org> > > Since this is for tegra and Thierry has drm-misc commit rights, it's > probably simplest when Thierry pushes this all to drm-misc once driver > maintainers had a chance to look at it. Will do. Thierry [-- Attachment #2: signature.asc --] [-- Type: application/pgp-signature, Size: 833 bytes --] ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH 00/13] remove_conflicting_framebuffers() cleanup [not found] ` <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2017-11-27 10:33 ` Thierry Reding @ 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz 1 sibling, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-01-03 15:04 UTC (permalink / raw) To: Daniel Vetter, Michał Mirosław Cc: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Teddy Wang, Sudip Mukherjee, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Chen-Yu Tsai, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, Jonathan Hunter, Christian König, libnux-fbdev-u79uwXL29TY76Z2rM5mHXA On Monday, November 27, 2017 11:30:44 AM Daniel Vetter wrote: > On Fri, Nov 24, 2017 at 06:53:25PM +0100, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. Please Cc: me on and linux-fbdev ML on fbdev related patches (I was Cc:-ed only on the cover letter and patch #10, linux-fbdev was not Cc:-ed at all). > > The last patch is here because it uses new semantics of > > remove_conflicting_framebuffers() from this series. This > > can be considered independently, though. > > Except for that patches I've commented on: > > Acked-by: Daniel Vetter <daniel.vetter-/w4YWyX8dFk@public.gmane.org> > > Since this is for tegra and Thierry has drm-misc commit rights, it's > probably simplest when Thierry pushes this all to drm-misc once driver > maintainers had a chance to look at it. Also needs and ack from Bart for > the fbdev sides. For fbdev changes: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org> Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław 2017-11-24 17:53 ` [PATCH 01/13] fbdev: show fbdev number for debugging Michał Mirosław @ 2018-08-30 21:00 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 06/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław ` (11 subsequent siblings) 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers Michał Mirosław (12): fbdev: show fbdev number for debugging fbdev: allow apertures == NULL in remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- drivers/gpu/drm/tegra/drm.c | 4 +++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ include/linux/fb.h | 2 ++ 13 files changed, 88 insertions(+), 172 deletions(-) -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers Micha? Miros?aw (12): fbdev: show fbdev number for debugging fbdev: allow apertures == NULL in remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- drivers/gpu/drm/tegra/drm.c | 4 +++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ include/linux/fb.h | 2 ++ 13 files changed, 88 insertions(+), 172 deletions(-) -- 2.18.0 ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers Michał Mirosław (12): fbdev: show fbdev number for debugging fbdev: allow apertures = NULL in remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- drivers/gpu/drm/tegra/drm.c | 4 +++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ include/linux/fb.h | 2 ++ 13 files changed, 88 insertions(+), 172 deletions(-) -- 2.18.0 ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ include/drm/drm_fb_helper.h | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..1c1e53abb25d 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) #endif +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (eg. initialized by firmware) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ static inline int drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 01/12] fbdev: show fbdev number for debugging 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 01/12] fbdev: show fbdev number for debugging @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 01/12] fbdev: show fbdev number for debugging @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base = VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ include/drm/drm_fb_helper.h | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..1c1e53abb25d 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) #endif +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (eg. initialized by firmware) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ static inline int drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ include/drm/drm_fb_helper.h | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..1c1e53abb25d 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) #endif +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (eg. initialized by firmware) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ static inline int drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ include/drm/drm_fb_helper.h | 10 ++++++++++ 2 files changed, 24 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..1c1e53abb25d 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) #endif +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (eg. initialized by firmware) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ static inline int drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-31 8:56 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 8:56 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:05PM +0200, Michał Mirosław wrote: > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > range. This will allow to remove several duplicates of this code from > drivers in following patches. > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > [for v1] > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > --- > v2: added kerneldoc to corresponding DRM helper > --- > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > include/drm/drm_fb_helper.h | 10 ++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 30a18d4c9de4..0df148eb4699 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { > int ret; > + bool do_free = false; > + > + if (!a) { > + a = alloc_apertures(1); > + if (!a) > + return -ENOMEM; > + > + a->ranges[0].base = 0; > + a->ranges[0].size = ~0; > + do_free = true; > + } > > mutex_lock(®istration_lock); > ret = do_remove_conflicting_framebuffers(a, name, primary); > mutex_unlock(®istration_lock); > > + if (do_free) > + kfree(a); > + > return ret; > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..1c1e53abb25d 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > #endif > > +/** > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ This looks like misplaced copypasta. You only need this once I think. -Daniel > static inline int > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-31 8:56 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 8:56 UTC (permalink / raw) To: linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:05PM +0200, Micha? Miros?aw wrote: > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > range. This will allow to remove several duplicates of this code from > drivers in following patches. > > Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> > [for v1] > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > --- > v2: added kerneldoc to corresponding DRM helper > --- > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > include/drm/drm_fb_helper.h | 10 ++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 30a18d4c9de4..0df148eb4699 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { > int ret; > + bool do_free = false; > + > + if (!a) { > + a = alloc_apertures(1); > + if (!a) > + return -ENOMEM; > + > + a->ranges[0].base = 0; > + a->ranges[0].size = ~0; > + do_free = true; > + } > > mutex_lock(®istration_lock); > ret = do_remove_conflicting_framebuffers(a, name, primary); > mutex_unlock(®istration_lock); > > + if (do_free) > + kfree(a); > + > return ret; > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..1c1e53abb25d 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > #endif > > +/** > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ This looks like misplaced copypasta. You only need this once I think. -Daniel > static inline int > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-31 8:56 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 8:56 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:05PM +0200, Michał Mirosław wrote: > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > range. This will allow to remove several duplicates of this code from > drivers in following patches. > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > [for v1] > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > --- > v2: added kerneldoc to corresponding DRM helper > --- > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > include/drm/drm_fb_helper.h | 10 ++++++++++ > 2 files changed, 24 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 30a18d4c9de4..0df148eb4699 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { > int ret; > + bool do_free = false; > + > + if (!a) { > + a = alloc_apertures(1); > + if (!a) > + return -ENOMEM; > + > + a->ranges[0].base = 0; > + a->ranges[0].size = ~0; > + do_free = true; > + } > > mutex_lock(®istration_lock); > ret = do_remove_conflicting_framebuffers(a, name, primary); > mutex_unlock(®istration_lock); > > + if (do_free) > + kfree(a); > + > return ret; > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..1c1e53abb25d 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > #endif > > +/** > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ This looks like misplaced copypasta. You only need this once I think. -Daniel > static inline int > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
[parent not found: <20180831085656.GR21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>]
* Re: [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() [not found] ` <20180831085656.GR21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-08-31 9:01 ` Daniel Vetter @ 2018-08-31 9:01 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:01 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Maxime Ripard, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Fri, Aug 31, 2018 at 10:56:56AM +0200, Daniel Vetter wrote: > On Thu, Aug 30, 2018 at 11:00:05PM +0200, Michał Mirosław wrote: > > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > > range. This will allow to remove several duplicates of this code from > > drivers in following patches. > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > [for v1] > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > > > --- > > v2: added kerneldoc to corresponding DRM helper > > --- > > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > > include/drm/drm_fb_helper.h | 10 ++++++++++ > > 2 files changed, 24 insertions(+) > > > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > > index 30a18d4c9de4..0df148eb4699 100644 > > --- a/drivers/video/fbdev/core/fbmem.c > > +++ b/drivers/video/fbdev/core/fbmem.c > > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > { > > int ret; > > + bool do_free = false; > > + > > + if (!a) { > > + a = alloc_apertures(1); > > + if (!a) > > + return -ENOMEM; > > + > > + a->ranges[0].base = 0; > > + a->ranges[0].size = ~0; > > + do_free = true; > > + } > > > > mutex_lock(®istration_lock); > > ret = do_remove_conflicting_framebuffers(a, name, primary); > > mutex_unlock(®istration_lock); > > > > + if (do_free) > > + kfree(a); > > + > > return ret; > > } > > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > > index b069433e7fc1..1c1e53abb25d 100644 > > --- a/include/drm/drm_fb_helper.h > > +++ b/include/drm/drm_fb_helper.h > > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > > > #endif > > > > +/** > > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > > + * @a: memory range, users of which are to be removed > > + * @name: requesting driver name > > + * @primary: also kick vga16fb if present > > + * > > + * This function removes framebuffer devices (eg. initialized by firmware) > > + * which use memory range described by @a. If @a is NULL all such devices are > > + * removed. > > + */ > > This looks like misplaced copypasta. You only need this once I think. Ah no, just a fixup for the lack of kerneldoc we have. Can you pls split this out into a separate patch? Thanks, Daniel > -Daniel > > > static inline int > > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > -- > > 2.18.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-31 9:01 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:01 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 31, 2018 at 10:56:56AM +0200, Daniel Vetter wrote: > On Thu, Aug 30, 2018 at 11:00:05PM +0200, Micha? Miros?aw wrote: > > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > > range. This will allow to remove several duplicates of this code from > > drivers in following patches. > > > > Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> > > [for v1] > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > > > --- > > v2: added kerneldoc to corresponding DRM helper > > --- > > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > > include/drm/drm_fb_helper.h | 10 ++++++++++ > > 2 files changed, 24 insertions(+) > > > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > > index 30a18d4c9de4..0df148eb4699 100644 > > --- a/drivers/video/fbdev/core/fbmem.c > > +++ b/drivers/video/fbdev/core/fbmem.c > > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > { > > int ret; > > + bool do_free = false; > > + > > + if (!a) { > > + a = alloc_apertures(1); > > + if (!a) > > + return -ENOMEM; > > + > > + a->ranges[0].base = 0; > > + a->ranges[0].size = ~0; > > + do_free = true; > > + } > > > > mutex_lock(®istration_lock); > > ret = do_remove_conflicting_framebuffers(a, name, primary); > > mutex_unlock(®istration_lock); > > > > + if (do_free) > > + kfree(a); > > + > > return ret; > > } > > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > > index b069433e7fc1..1c1e53abb25d 100644 > > --- a/include/drm/drm_fb_helper.h > > +++ b/include/drm/drm_fb_helper.h > > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > > > #endif > > > > +/** > > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > > + * @a: memory range, users of which are to be removed > > + * @name: requesting driver name > > + * @primary: also kick vga16fb if present > > + * > > + * This function removes framebuffer devices (eg. initialized by firmware) > > + * which use memory range described by @a. If @a is NULL all such devices are > > + * removed. > > + */ > > This looks like misplaced copypasta. You only need this once I think. Ah no, just a fixup for the lack of kerneldoc we have. Can you pls split this out into a separate patch? Thanks, Daniel > -Daniel > > > static inline int > > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > -- > > 2.18.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel at lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-08-31 9:01 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:01 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Maxime Ripard, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Fri, Aug 31, 2018 at 10:56:56AM +0200, Daniel Vetter wrote: > On Thu, Aug 30, 2018 at 11:00:05PM +0200, Michał Mirosław wrote: > > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > > range. This will allow to remove several duplicates of this code from > > drivers in following patches. > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > [for v1] > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > > > --- > > v2: added kerneldoc to corresponding DRM helper > > --- > > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > > include/drm/drm_fb_helper.h | 10 ++++++++++ > > 2 files changed, 24 insertions(+) > > > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > > index 30a18d4c9de4..0df148eb4699 100644 > > --- a/drivers/video/fbdev/core/fbmem.c > > +++ b/drivers/video/fbdev/core/fbmem.c > > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > { > > int ret; > > + bool do_free = false; > > + > > + if (!a) { > > + a = alloc_apertures(1); > > + if (!a) > > + return -ENOMEM; > > + > > + a->ranges[0].base = 0; > > + a->ranges[0].size = ~0; > > + do_free = true; > > + } > > > > mutex_lock(®istration_lock); > > ret = do_remove_conflicting_framebuffers(a, name, primary); > > mutex_unlock(®istration_lock); > > > > + if (do_free) > > + kfree(a); > > + > > return ret; > > } > > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > > index b069433e7fc1..1c1e53abb25d 100644 > > --- a/include/drm/drm_fb_helper.h > > +++ b/include/drm/drm_fb_helper.h > > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > > > #endif > > > > +/** > > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > > + * @a: memory range, users of which are to be removed > > + * @name: requesting driver name > > + * @primary: also kick vga16fb if present > > + * > > + * This function removes framebuffer devices (eg. initialized by firmware) > > + * which use memory range described by @a. If @a is NULL all such devices are > > + * removed. > > + */ > > This looks like misplaced copypasta. You only need this once I think. Ah no, just a fixup for the lack of kerneldoc we have. Can you pls split this out into a separate patch? Thanks, Daniel > -Daniel > > > static inline int > > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > -- > > 2.18.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() 2018-08-31 8:56 ` Daniel Vetter ` (2 preceding siblings ...) (?) @ 2018-08-31 9:01 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:01 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, linux-arm-kernel On Fri, Aug 31, 2018 at 10:56:56AM +0200, Daniel Vetter wrote: > On Thu, Aug 30, 2018 at 11:00:05PM +0200, Michał Mirosław wrote: > > Interpret (otherwise-invalid) NULL apertures argument to mean all-memory > > range. This will allow to remove several duplicates of this code from > > drivers in following patches. > > > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > > [for v1] > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > > > > --- > > v2: added kerneldoc to corresponding DRM helper > > --- > > drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ > > include/drm/drm_fb_helper.h | 10 ++++++++++ > > 2 files changed, 24 insertions(+) > > > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > > index 30a18d4c9de4..0df148eb4699 100644 > > --- a/drivers/video/fbdev/core/fbmem.c > > +++ b/drivers/video/fbdev/core/fbmem.c > > @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > { > > int ret; > > + bool do_free = false; > > + > > + if (!a) { > > + a = alloc_apertures(1); > > + if (!a) > > + return -ENOMEM; > > + > > + a->ranges[0].base = 0; > > + a->ranges[0].size = ~0; > > + do_free = true; > > + } > > > > mutex_lock(®istration_lock); > > ret = do_remove_conflicting_framebuffers(a, name, primary); > > mutex_unlock(®istration_lock); > > > > + if (do_free) > > + kfree(a); > > + > > return ret; > > } > > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > > index b069433e7fc1..1c1e53abb25d 100644 > > --- a/include/drm/drm_fb_helper.h > > +++ b/include/drm/drm_fb_helper.h > > @@ -566,6 +566,16 @@ static inline void drm_fb_helper_output_poll_changed(struct drm_device *dev) > > > > #endif > > > > +/** > > + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers > > + * @a: memory range, users of which are to be removed > > + * @name: requesting driver name > > + * @primary: also kick vga16fb if present > > + * > > + * This function removes framebuffer devices (eg. initialized by firmware) > > + * which use memory range described by @a. If @a is NULL all such devices are > > + * removed. > > + */ > > This looks like misplaced copypasta. You only need this once I think. Ah no, just a fixup for the lack of kerneldoc we have. Can you pls split this out into a separate patch? Thanks, Daniel > -Daniel > > > static inline int > > drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > > const char *name, bool primary) > > -- > > 2.18.0 > > > > _______________________________________________ > > dri-devel mailing list > > dri-devel@lists.freedesktop.org > > https://lists.freedesktop.org/mailman/listinfo/dri-devel > > -- > Daniel Vetter > Software Engineer, Intel Corporation > http://blog.ffwll.ch -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 01/12] fbdev: show fbdev number for debugging 2018-08-30 21:00 ` Michał Mirosław ` (4 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: add kerneldoc for DRM helper --- drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ include/drm/drm_fb_helper.h | 24 ++++++++++++++++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 48 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..927e016487e9 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1802,6 +1803,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return 0; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 1c1e53abb25d..6e1fc52d1b1b 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -587,4 +587,28 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers for PCI devices + * @pdev: PCI device being driven + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM is drives a primary + * display and so kicks out vga16fb. + */ +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: add kerneldoc for DRM helper --- drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ include/drm/drm_fb_helper.h | 24 ++++++++++++++++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 48 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..927e016487e9 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1802,6 +1803,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return 0; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 1c1e53abb25d..6e1fc52d1b1b 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -587,4 +587,28 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers for PCI devices + * @pdev: PCI device being driven + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM is drives a primary + * display and so kicks out vga16fb. + */ +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: add kerneldoc for DRM helper --- drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ include/drm/drm_fb_helper.h | 24 ++++++++++++++++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 48 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..927e016487e9 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1802,6 +1803,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return 0; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 1c1e53abb25d..6e1fc52d1b1b 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -587,4 +587,28 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers for PCI devices + * @pdev: PCI device being driven + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM is drives a primary + * display and so kicks out vga16fb. + */ +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław ` (7 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> [for v1] Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: add kerneldoc for DRM helper --- drivers/video/fbdev/core/fbmem.c | 22 ++++++++++++++++++++++ include/drm/drm_fb_helper.h | 24 ++++++++++++++++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 48 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..927e016487e9 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1802,6 +1803,27 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return 0; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index 1c1e53abb25d..6e1fc52d1b1b 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -587,4 +587,28 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +/** + * drm_fb_helper_remove_conflicting_framebuffers - remove firmware framebuffers for PCI devices + * @pdev: PCI device being driven + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM is drives a primary + * display and so kicks out vga16fb. + */ +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław ` (8 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 06/12] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław ` (9 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 05/12] drm/bochs: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 05/12] drm/bochs: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 05/12] drm/bochs: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 06/12] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 06/12] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 06/12] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 05/12] drm/bochs: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław ` (12 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 08/12] drm/radeon: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 08/12] drm/radeon: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 08/12] drm/radeon: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław ` (14 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 07/12] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 09/12] drm/virtio: use simpler remove_conflicting_pci_framebuffers() 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 09/12] drm/virtio: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 09/12] drm/virtio: use simpler remove_conflicting_pci_framebuffers() @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 10/12] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2018-08-30 21:00 ` Michał Mirosław ` (17 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 10/12] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 10/12] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 10/12] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Maxime Ripard, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 11/12] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, virtualization, David Airlie, Thierry Reding, Gerd Hoffmann, Alex Deucher, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 11/12] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 11/12] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, virtualization, David Airlie, Thierry Reding, Gerd Hoffmann, Alex Deucher, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 11/12] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2018-08-30 21:00 ` Michał Mirosław ` (20 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, virtualization, David Airlie, Thierry Reding, Alex Deucher, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 12/12] drm/tegra: kick out simplefb 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, virtualization, Alex Deucher, Thierry Reding, Gerd Hoffmann, linux-tegra, Maxime Ripard, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 12/12] drm/tegra: kick out simplefb @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 12/12] drm/tegra: kick out simplefb @ 2018-08-30 21:00 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, virtualization, Alex Deucher, Thierry Reding, Gerd Hoffmann, linux-tegra, Maxime Ripard, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v2 12/12] drm/tegra: kick out simplefb 2018-08-30 21:00 ` Michał Mirosław ` (22 preceding siblings ...) (?) @ 2018-08-30 21:00 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, virtualization, Alex Deucher, Thierry Reding, linux-tegra, Maxime Ripard, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-08-31 9:04 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:04 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:01PM +0200, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > > Michał Mirosław (12): > fbdev: show fbdev number for debugging > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb Looks very neat. A bit confused about the drm changes in the fbdev-titled patches 1&3, but I guess we can merge as-is. Up to you whether you want to split or not I'd say. Bartlomiej, ack for pullin in this entire pile through drm-misc? Thanks, Daniel > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ > drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- > drivers/gpu/drm/tegra/drm.c | 4 +++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ > drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- > include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ > include/linux/fb.h | 2 ++ > 13 files changed, 88 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-31 9:04 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:04 UTC (permalink / raw) To: linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:01PM +0200, Micha? Miros?aw wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > > Micha? Miros?aw (12): > fbdev: show fbdev number for debugging > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb Looks very neat. A bit confused about the drm changes in the fbdev-titled patches 1&3, but I guess we can merge as-is. Up to you whether you want to split or not I'd say. Bartlomiej, ack for pullin in this entire pile through drm-misc? Thanks, Daniel > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ > drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- > drivers/gpu/drm/tegra/drm.c | 4 +++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ > drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- > include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ > include/linux/fb.h | 2 ++ > 13 files changed, 88 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-31 9:04 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-08-31 9:04 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Maxime Ripard, linux-arm-kernel On Thu, Aug 30, 2018 at 11:00:01PM +0200, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > > Michał Mirosław (12): > fbdev: show fbdev number for debugging > fbdev: allow apertures = NULL in remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb Looks very neat. A bit confused about the drm changes in the fbdev-titled patches 1&3, but I guess we can merge as-is. Up to you whether you want to split or not I'd say. Bartlomiej, ack for pullin in this entire pile through drm-misc? Thanks, Daniel > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ > drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- > drivers/gpu/drm/tegra/drm.c | 4 +++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ > drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- > include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ > include/linux/fb.h | 2 ++ > 13 files changed, 88 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup 2018-08-31 9:04 ` Daniel Vetter (?) (?) @ 2018-08-31 9:07 ` Chris Wilson -1 siblings, 0 replies; 191+ messages in thread From: Chris Wilson @ 2018-08-31 9:07 UTC (permalink / raw) To: Michał Mirosław, Daniel Vetter Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, linux-tegra, Thierry Reding, dri-devel, Alex Deucher, Maxime Ripard, linux-arm-kernel Quoting Daniel Vetter (2018-08-31 10:04:39) > On Thu, Aug 30, 2018 at 11:00:01PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > > > Michał Mirosław (12): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > Looks very neat. A bit confused about the drm changes in the fbdev-titled > patches 1&3, but I guess we can merge as-is. Up to you whether you want to > split or not I'd say. Ahah, someone is looking at remove_conflicting_framebuffers(). May I interest you in a use-after-free? [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 [ 378.423742] Call Trace: [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [ 378.423873] ? _raw_spin_unlock_irqrestore+0x4c/0x60 [ 378.423887] ? lockdep_hardirqs_on+0xe0/0x1b0 [ 378.423962] i915_pci_probe+0x29/0xa0 [i915] [ 378.423977] pci_device_probe+0xa1/0x130 [ 378.423990] really_probe+0x25d/0x3c0 [ 378.424002] driver_probe_device+0x10a/0x120 [ 378.424013] __driver_attach+0xdb/0x100 [ 378.424025] ? driver_probe_device+0x120/0x120 [ 378.424037] bus_for_each_dev+0x74/0xc0 [ 378.424048] bus_add_driver+0x15f/0x250 [ 378.424060] ? 0xffffffffa069d000 [ 378.424070] driver_register+0x56/0xe0 [ 378.424080] ? 0xffffffffa069d000 [ 378.424090] do_one_initcall+0x58/0x2e0 [ 378.424101] ? rcu_lockdep_current_cpu_online+0x8f/0xd0 [ 378.424116] ? do_init_module+0x1d/0x1ea [ 378.424127] ? rcu_read_lock_sched_held+0x6f/0x80 [ 378.424141] ? kmem_cache_alloc_trace+0x264/0x290 [ 378.424154] do_init_module+0x56/0x1ea [ 378.424167] load_module+0x26ba/0x29a0 [ 378.424182] ? vfs_read+0x122/0x140 [ 378.424199] ? __se_sys_finit_module+0xd3/0xf0 [ 378.424210] __se_sys_finit_module+0xd3/0xf0 [ 378.424226] do_syscall_64+0x55/0x190 [ 378.424237] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 378.424249] RIP: 0033:0x7fcf02f9b839 [ 378.424258] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48 [ 378.424290] RSP: 002b:00007fffece21f58 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 [ 378.424307] RAX: ffffffffffffffda RBX: 000056344e1a4d80 RCX: 00007fcf02f9b839 [ 378.424321] RDX: 0000000000000000 RSI: 00007fcf026470e5 RDI: 0000000000000003 [ 378.424336] RBP: 00007fcf026470e5 R08: 0000000000000000 R09: 0000000000000000 [ 378.424349] R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000 [ 378.424363] R13: 000056344e1a0000 R14: 0000000000000000 R15: 000056344e1a4d80 https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4613/fi-bxt-j4205/dmesg0.log -Chris _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
[parent not found: <20180831090439.GT21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>]
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup [not found] ` <20180831090439.GT21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-08-31 9:07 ` Chris Wilson @ 2018-08-31 9:07 ` Chris Wilson 0 siblings, 0 replies; 191+ messages in thread From: Chris Wilson @ 2018-08-31 9:07 UTC (permalink / raw) To: Michał Mirosław, Daniel Vetter Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Alex Deucher, Maxime Ripard, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann Quoting Daniel Vetter (2018-08-31 10:04:39) > On Thu, Aug 30, 2018 at 11:00:01PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > > > Michał Mirosław (12): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > Looks very neat. A bit confused about the drm changes in the fbdev-titled > patches 1&3, but I guess we can merge as-is. Up to you whether you want to > split or not I'd say. Ahah, someone is looking at remove_conflicting_framebuffers(). May I interest you in a use-after-free? [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 [ 378.423742] Call Trace: [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [ 378.423873] ? _raw_spin_unlock_irqrestore+0x4c/0x60 [ 378.423887] ? lockdep_hardirqs_on+0xe0/0x1b0 [ 378.423962] i915_pci_probe+0x29/0xa0 [i915] [ 378.423977] pci_device_probe+0xa1/0x130 [ 378.423990] really_probe+0x25d/0x3c0 [ 378.424002] driver_probe_device+0x10a/0x120 [ 378.424013] __driver_attach+0xdb/0x100 [ 378.424025] ? driver_probe_device+0x120/0x120 [ 378.424037] bus_for_each_dev+0x74/0xc0 [ 378.424048] bus_add_driver+0x15f/0x250 [ 378.424060] ? 0xffffffffa069d000 [ 378.424070] driver_register+0x56/0xe0 [ 378.424080] ? 0xffffffffa069d000 [ 378.424090] do_one_initcall+0x58/0x2e0 [ 378.424101] ? rcu_lockdep_current_cpu_online+0x8f/0xd0 [ 378.424116] ? do_init_module+0x1d/0x1ea [ 378.424127] ? rcu_read_lock_sched_held+0x6f/0x80 [ 378.424141] ? kmem_cache_alloc_trace+0x264/0x290 [ 378.424154] do_init_module+0x56/0x1ea [ 378.424167] load_module+0x26ba/0x29a0 [ 378.424182] ? vfs_read+0x122/0x140 [ 378.424199] ? __se_sys_finit_module+0xd3/0xf0 [ 378.424210] __se_sys_finit_module+0xd3/0xf0 [ 378.424226] do_syscall_64+0x55/0x190 [ 378.424237] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 378.424249] RIP: 0033:0x7fcf02f9b839 [ 378.424258] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48 [ 378.424290] RSP: 002b:00007fffece21f58 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 [ 378.424307] RAX: ffffffffffffffda RBX: 000056344e1a4d80 RCX: 00007fcf02f9b839 [ 378.424321] RDX: 0000000000000000 RSI: 00007fcf026470e5 RDI: 0000000000000003 [ 378.424336] RBP: 00007fcf026470e5 R08: 0000000000000000 R09: 0000000000000000 [ 378.424349] R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000 [ 378.424363] R13: 000056344e1a0000 R14: 0000000000000000 R15: 000056344e1a4d80 https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4613/fi-bxt-j4205/dmesg0.log -Chris _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-31 9:07 ` Chris Wilson 0 siblings, 0 replies; 191+ messages in thread From: Chris Wilson @ 2018-08-31 9:07 UTC (permalink / raw) To: linux-arm-kernel Quoting Daniel Vetter (2018-08-31 10:04:39) > On Thu, Aug 30, 2018 at 11:00:01PM +0200, Micha? Miros?aw wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > > > Micha? Miros?aw (12): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > Looks very neat. A bit confused about the drm changes in the fbdev-titled > patches 1&3, but I guess we can merge as-is. Up to you whether you want to > split or not I'd say. Ahah, someone is looking at remove_conflicting_framebuffers(). May I interest you in a use-after-free? [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 [ 378.423742] Call Trace: [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [ 378.423873] ? _raw_spin_unlock_irqrestore+0x4c/0x60 [ 378.423887] ? lockdep_hardirqs_on+0xe0/0x1b0 [ 378.423962] i915_pci_probe+0x29/0xa0 [i915] [ 378.423977] pci_device_probe+0xa1/0x130 [ 378.423990] really_probe+0x25d/0x3c0 [ 378.424002] driver_probe_device+0x10a/0x120 [ 378.424013] __driver_attach+0xdb/0x100 [ 378.424025] ? driver_probe_device+0x120/0x120 [ 378.424037] bus_for_each_dev+0x74/0xc0 [ 378.424048] bus_add_driver+0x15f/0x250 [ 378.424060] ? 0xffffffffa069d000 [ 378.424070] driver_register+0x56/0xe0 [ 378.424080] ? 0xffffffffa069d000 [ 378.424090] do_one_initcall+0x58/0x2e0 [ 378.424101] ? rcu_lockdep_current_cpu_online+0x8f/0xd0 [ 378.424116] ? do_init_module+0x1d/0x1ea [ 378.424127] ? rcu_read_lock_sched_held+0x6f/0x80 [ 378.424141] ? kmem_cache_alloc_trace+0x264/0x290 [ 378.424154] do_init_module+0x56/0x1ea [ 378.424167] load_module+0x26ba/0x29a0 [ 378.424182] ? vfs_read+0x122/0x140 [ 378.424199] ? __se_sys_finit_module+0xd3/0xf0 [ 378.424210] __se_sys_finit_module+0xd3/0xf0 [ 378.424226] do_syscall_64+0x55/0x190 [ 378.424237] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 378.424249] RIP: 0033:0x7fcf02f9b839 [ 378.424258] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48 [ 378.424290] RSP: 002b:00007fffece21f58 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 [ 378.424307] RAX: ffffffffffffffda RBX: 000056344e1a4d80 RCX: 00007fcf02f9b839 [ 378.424321] RDX: 0000000000000000 RSI: 00007fcf026470e5 RDI: 0000000000000003 [ 378.424336] RBP: 00007fcf026470e5 R08: 0000000000000000 R09: 0000000000000000 [ 378.424349] R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000 [ 378.424363] R13: 000056344e1a0000 R14: 0000000000000000 R15: 000056344e1a4d80 https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4613/fi-bxt-j4205/dmesg0.log -Chris ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-08-31 9:07 ` Chris Wilson 0 siblings, 0 replies; 191+ messages in thread From: Chris Wilson @ 2018-08-31 9:07 UTC (permalink / raw) To: Michał Mirosław, Daniel Vetter Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Alex Deucher, Maxime Ripard, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann Quoting Daniel Vetter (2018-08-31 10:04:39) > On Thu, Aug 30, 2018 at 11:00:01PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > > > Michał Mirosław (12): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures = NULL in remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > Looks very neat. A bit confused about the drm changes in the fbdev-titled > patches 1&3, but I guess we can merge as-is. Up to you whether you want to > split or not I'd say. Ahah, someone is looking at remove_conflicting_framebuffers(). May I interest you in a use-after-free? [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 [ 378.423742] Call Trace: [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [ 378.423873] ? _raw_spin_unlock_irqrestore+0x4c/0x60 [ 378.423887] ? lockdep_hardirqs_on+0xe0/0x1b0 [ 378.423962] i915_pci_probe+0x29/0xa0 [i915] [ 378.423977] pci_device_probe+0xa1/0x130 [ 378.423990] really_probe+0x25d/0x3c0 [ 378.424002] driver_probe_device+0x10a/0x120 [ 378.424013] __driver_attach+0xdb/0x100 [ 378.424025] ? driver_probe_device+0x120/0x120 [ 378.424037] bus_for_each_dev+0x74/0xc0 [ 378.424048] bus_add_driver+0x15f/0x250 [ 378.424060] ? 0xffffffffa069d000 [ 378.424070] driver_register+0x56/0xe0 [ 378.424080] ? 0xffffffffa069d000 [ 378.424090] do_one_initcall+0x58/0x2e0 [ 378.424101] ? rcu_lockdep_current_cpu_online+0x8f/0xd0 [ 378.424116] ? do_init_module+0x1d/0x1ea [ 378.424127] ? rcu_read_lock_sched_held+0x6f/0x80 [ 378.424141] ? kmem_cache_alloc_trace+0x264/0x290 [ 378.424154] do_init_module+0x56/0x1ea [ 378.424167] load_module+0x26ba/0x29a0 [ 378.424182] ? vfs_read+0x122/0x140 [ 378.424199] ? __se_sys_finit_module+0xd3/0xf0 [ 378.424210] __se_sys_finit_module+0xd3/0xf0 [ 378.424226] do_syscall_64+0x55/0x190 [ 378.424237] entry_SYSCALL_64_after_hwframe+0x49/0xbe [ 378.424249] RIP: 0033:0x7fcf02f9b839 [ 378.424258] Code: 00 f3 c3 66 2e 0f 1f 84 00 00 00 00 00 0f 1f 40 00 48 89 f8 48 89 f7 48 89 d6 48 89 ca 4d 89 c2 4d 89 c8 4c 8b 4c 24 08 0f 05 <48> 3d 01 f0 ff ff 73 01 c3 48 8b 0d 1f f6 2c 00 f7 d8 64 89 01 48 [ 378.424290] RSP: 002b:00007fffece21f58 EFLAGS: 00000246 ORIG_RAX: 0000000000000139 [ 378.424307] RAX: ffffffffffffffda RBX: 000056344e1a4d80 RCX: 00007fcf02f9b839 [ 378.424321] RDX: 0000000000000000 RSI: 00007fcf026470e5 RDI: 0000000000000003 [ 378.424336] RBP: 00007fcf026470e5 R08: 0000000000000000 R09: 0000000000000000 [ 378.424349] R10: 0000000000000003 R11: 0000000000000246 R12: 0000000000000000 [ 378.424363] R13: 000056344e1a0000 R14: 0000000000000000 R15: 000056344e1a4d80 https://intel-gfx-ci.01.org/tree/drm-tip/IGT_4613/fi-bxt-j4205/dmesg0.log -Chris ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup 2018-08-31 9:07 ` Chris Wilson (?) @ 2018-09-01 13:45 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 13:45 UTC (permalink / raw) To: Chris Wilson Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, linux-tegra, Thierry Reding, dri-devel, Daniel Vetter, Alex Deucher, Maxime Ripard, linux-arm-kernel On Fri, Aug 31, 2018 at 10:07:42AM +0100, Chris Wilson wrote: [...] > Ahah, someone is looking at remove_conflicting_framebuffers(). May I > interest you in a use-after-free? > [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI > [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 > [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 > [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 > [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 > [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 > [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 > [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 > [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 > [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 > [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 > [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 > [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 > [ 378.423742] Call Trace: > [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 > [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [...] Looks like registered_fb[] entry is pointing to (partially?) freed or corrupted fb_info, but I can't see how this could be an effect of remove_conflicting_framebuffers(). Best Regards, Michał Mirosław ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-09-01 13:45 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 13:45 UTC (permalink / raw) To: linux-arm-kernel On Fri, Aug 31, 2018 at 10:07:42AM +0100, Chris Wilson wrote: [...] > Ahah, someone is looking at remove_conflicting_framebuffers(). May I > interest you in a use-after-free? > [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI > [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 > [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 > [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 > [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 > [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 > [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 > [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 > [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 > [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 > [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 > [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 > [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 > [ 378.423742] Call Trace: > [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 > [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [...] Looks like registered_fb[] entry is pointing to (partially?) freed or corrupted fb_info, but I can't see how this could be an effect of remove_conflicting_framebuffers(). Best Regards, Micha? Miros?aw ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup @ 2018-09-01 13:45 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 13:45 UTC (permalink / raw) To: Chris Wilson Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, linux-tegra, Thierry Reding, dri-devel, Daniel Vetter, Alex Deucher, Maxime Ripard, linux-arm-kernel On Fri, Aug 31, 2018 at 10:07:42AM +0100, Chris Wilson wrote: [...] > Ahah, someone is looking at remove_conflicting_framebuffers(). May I > interest you in a use-after-free? > [ 378.423513] stack segment: 0000 [#1] PREEMPT SMP PTI > [ 378.423530] CPU: 1 PID: 4338 Comm: pm_rpm Tainted: G U 4.19.0-rc1-CI-CI_DRM_4746+ #1 > [ 378.423548] Hardware name: To Be Filled By O.E.M. To Be Filled By O.E.M./J4205-ITX, BIOS P1.10 09/29/2016 > [ 378.423570] RIP: 0010:do_remove_conflicting_framebuffers+0x56/0x170 > [ 378.423587] Code: 49 8b 45 00 48 85 c0 74 50 f6 40 0a 08 74 4a 4d 85 e4 48 8b a8 78 04 00 00 74 1f 48 85 ed 74 1a 41 8b 0c 24 31 db 85 c9 74 10 <8b> 55 00 85 d2 75 42 83 c3 01 41 39 1c 24 77 f0 48 85 ed 74 1a 45 > [ 378.423620] RSP: 0018:ffffc900001dfa88 EFLAGS: 00010202 > [ 378.423632] RAX: ffff880274470008 RBX: 0000000000000000 RCX: 0000000000000001 > [ 378.423646] RDX: 0000000000000001 RSI: ffffffffa025c634 RDI: ffff88025cc3b428 > [ 378.423660] RBP: 6b6b6b6b6b6b6b6b R08: 000000001edaddfa R09: ffffffffa025c634 > [ 378.423673] R10: ffffc900001dfae8 R11: ffffffff820de938 R12: ffff88025cc3b428 > [ 378.423687] R13: ffffffff8234ca20 R14: ffffffff8234cb20 R15: 0000000000000001 > [ 378.423701] FS: 00007fcf03d0a980(0000) GS:ffff880277e80000(0000) knlGS:0000000000000000 > [ 378.423717] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033 > [ 378.423729] CR2: 00007fffece1fdb8 CR3: 00000001fe32e000 CR4: 00000000003406e0 > [ 378.423742] Call Trace: > [ 378.423756] remove_conflicting_framebuffers+0x28/0x40 > [ 378.423856] i915_driver_load+0x7f5/0x10c0 [i915] [...] Looks like registered_fb[] entry is pointing to (partially?) freed or corrupted fb_info, but I can't see how this could be an effect of remove_conflicting_framebuffers(). Best Regards, Micha³ Miros³aw ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup 2018-08-30 21:00 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. --- v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers v3: - move kerneldoc to fbdev, where functions are implemented - split kerneldoc for remove_conflicting_framebuffers() - propagate return value in remove_conflicting_pci_framebuffers() --- Michał Mirosław (13): fbdev: show fbdev number for debugging fbdev: allow apertures == NULL in remove_conflicting_framebuffers() fbdev: add kerneldoc do remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ drivers/gpu/drm/tegra/drm.c | 4 ++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- include/drm/drm_fb_helper.h | 12 +++++ include/linux/fb.h | 2 + 13 files changed, 89 insertions(+), 172 deletions(-) -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. --- v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers v3: - move kerneldoc to fbdev, where functions are implemented - split kerneldoc for remove_conflicting_framebuffers() - propagate return value in remove_conflicting_pci_framebuffers() --- Micha? Miros?aw (13): fbdev: show fbdev number for debugging fbdev: allow apertures == NULL in remove_conflicting_framebuffers() fbdev: add kerneldoc do remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ drivers/gpu/drm/tegra/drm.c | 4 ++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- include/drm/drm_fb_helper.h | 12 +++++ include/linux/fb.h | 2 + 13 files changed, 89 insertions(+), 172 deletions(-) -- 2.18.0 ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. --- v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers v3: - move kerneldoc to fbdev, where functions are implemented - split kerneldoc for remove_conflicting_framebuffers() - propagate return value in remove_conflicting_pci_framebuffers() --- Michał Mirosław (13): fbdev: show fbdev number for debugging fbdev: allow apertures = NULL in remove_conflicting_framebuffers() fbdev: add kerneldoc do remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ drivers/gpu/drm/tegra/drm.c | 4 ++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- include/drm/drm_fb_helper.h | 12 +++++ include/linux/fb.h | 2 + 13 files changed, 89 insertions(+), 172 deletions(-) -- 2.18.0 ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper v3: split kerneldoc to another patch --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper v3: split kerneldoc to another patch --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Interpret (otherwise-invalid) NULL apertures argument to mean all-memory range. This will allow to remove several duplicates of this code from drivers in following patches. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> --- v2: added kerneldoc to corresponding DRM helper v3: split kerneldoc to another patch --- drivers/video/fbdev/core/fbmem.c | 14 ++++++++++++++ 1 file changed, 14 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 30a18d4c9de4..0df148eb4699 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1779,11 +1779,25 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { int ret; + bool do_free = false; + + if (!a) { + a = alloc_apertures(1); + if (!a) + return -ENOMEM; + + a->ranges[0].base = 0; + a->ranges[0].size = ~0; + do_free = true; + } mutex_lock(®istration_lock); ret = do_remove_conflicting_framebuffers(a, name, primary); mutex_unlock(®istration_lock); + if (do_free) + kfree(a); + return ret; } EXPORT_SYMBOL(remove_conflicting_framebuffers); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 01/13] fbdev: show fbdev number for debugging 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 01/13] fbdev: show fbdev number for debugging @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 01/13] fbdev: show fbdev number for debugging @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base = VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 01/13] fbdev: show fbdev number for debugging 2018-09-01 14:08 ` Michał Mirosław ` (3 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/video/fbdev/core/fbmem.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index f741ba8df01b..30a18d4c9de4 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1618,8 +1618,8 @@ static int do_remove_conflicting_framebuffers(struct apertures_struct *a, (primary && gen_aper && gen_aper->count && gen_aper->ranges[0].base == VGA_FB_PHYS)) { - printk(KERN_INFO "fb: switching to %s from %s\n", - name, registered_fb[i]->fix.id); + printk(KERN_INFO "fb%d: switching to %s from %s\n", + i, name, registered_fb[i]->fix.id); ret = do_unregister_framebuffer(registered_fb[i]); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. --- v2: add kerneldoc for DRM helper v3: propagate remove_conflicting_framebuffers() return value + move kerneldoc to where function is implemented Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ include/drm/drm_fb_helper.h | 12 +++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 49 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 2de93b5014e3..cd96b1c62bbe 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +/** + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices + * @pdev: PCI device + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM drives a primary + * display and so kicks out vga16fb. + */ +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + int err; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + err = remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return err; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..20ea856db900 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. --- v2: add kerneldoc for DRM helper v3: propagate remove_conflicting_framebuffers() return value + move kerneldoc to where function is implemented Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ include/drm/drm_fb_helper.h | 12 +++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 49 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 2de93b5014e3..cd96b1c62bbe 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +/** + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices + * @pdev: PCI device + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM drives a primary + * display and so kicks out vga16fb. + */ +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + int err; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + err = remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return err; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..20ea856db900 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. --- v2: add kerneldoc for DRM helper v3: propagate remove_conflicting_framebuffers() return value + move kerneldoc to where function is implemented Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ include/drm/drm_fb_helper.h | 12 +++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 49 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 2de93b5014e3..cd96b1c62bbe 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +/** + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices + * @pdev: PCI device + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM drives a primary + * display and so kicks out vga16fb. + */ +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + int err; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + err = remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return err; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..20ea856db900 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-03 16:16 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:16 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel On Sat, Sep 01, 2018 at 04:08:45PM +0200, Michał Mirosław wrote: > Almost all PCI drivers using remove_conflicting_framebuffers() wrap it > with the same code. > > --- This cuts away the sob. Just fyi. -Daniel > v2: add kerneldoc for DRM helper > v3: propagate remove_conflicting_framebuffers() return value > + move kerneldoc to where function is implemented > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > --- > drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ > include/drm/drm_fb_helper.h | 12 +++++++++++ > include/linux/fb.h | 2 ++ > 3 files changed, 49 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 2de93b5014e3..cd96b1c62bbe 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -34,6 +34,7 @@ > #include <linux/fb.h> > #include <linux/fbcon.h> > #include <linux/mem_encrypt.h> > +#include <linux/pci.h> > > #include <asm/fb.h> > > @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > +/** > + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices > + * @pdev: PCI device > + * @resource_id: index of PCI BAR configuring framebuffer memory > + * @name: requesting driver name > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * using memory range configured for @pdev's BAR @resource_id. > + * > + * The function assumes that PCI device with shadowed ROM drives a primary > + * display and so kicks out vga16fb. > + */ > +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + int err; > + > + ap = alloc_apertures(1); > + if (!ap) > + return -ENOMEM; > + > + ap->ranges[0].base = pci_resource_start(pdev, res_id); > + ap->ranges[0].size = pci_resource_len(pdev, res_id); > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & > + IORESOURCE_ROM_SHADOW; > +#endif > + err = remove_conflicting_framebuffers(ap, name, primary); > + kfree(ap); > + return err; > +} > +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); > + > /** > * register_framebuffer - registers a frame buffer device > * @fb_info: frame buffer info structure > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..20ea856db900 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > #endif > } > > +static inline int > +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, > + int resource_id, > + const char *name) > +{ > +#if IS_REACHABLE(CONFIG_FB) > + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); > +#else > + return 0; > +#endif > +} > + > #endif > diff --git a/include/linux/fb.h b/include/linux/fb.h > index aa74a228bb92..abeffd55b66a 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, > extern int register_framebuffer(struct fb_info *fb_info); > extern int unregister_framebuffer(struct fb_info *fb_info); > extern int unlink_framebuffer(struct fb_info *fb_info); > +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, > + const char *name); > extern int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary); > extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-03 16:16 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:16 UTC (permalink / raw) To: linux-arm-kernel On Sat, Sep 01, 2018 at 04:08:45PM +0200, Micha? Miros?aw wrote: > Almost all PCI drivers using remove_conflicting_framebuffers() wrap it > with the same code. > > --- This cuts away the sob. Just fyi. -Daniel > v2: add kerneldoc for DRM helper > v3: propagate remove_conflicting_framebuffers() return value > + move kerneldoc to where function is implemented > > Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> > --- > drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ > include/drm/drm_fb_helper.h | 12 +++++++++++ > include/linux/fb.h | 2 ++ > 3 files changed, 49 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 2de93b5014e3..cd96b1c62bbe 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -34,6 +34,7 @@ > #include <linux/fb.h> > #include <linux/fbcon.h> > #include <linux/mem_encrypt.h> > +#include <linux/pci.h> > > #include <asm/fb.h> > > @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > +/** > + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices > + * @pdev: PCI device > + * @resource_id: index of PCI BAR configuring framebuffer memory > + * @name: requesting driver name > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * using memory range configured for @pdev's BAR @resource_id. > + * > + * The function assumes that PCI device with shadowed ROM drives a primary > + * display and so kicks out vga16fb. > + */ > +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + int err; > + > + ap = alloc_apertures(1); > + if (!ap) > + return -ENOMEM; > + > + ap->ranges[0].base = pci_resource_start(pdev, res_id); > + ap->ranges[0].size = pci_resource_len(pdev, res_id); > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & > + IORESOURCE_ROM_SHADOW; > +#endif > + err = remove_conflicting_framebuffers(ap, name, primary); > + kfree(ap); > + return err; > +} > +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); > + > /** > * register_framebuffer - registers a frame buffer device > * @fb_info: frame buffer info structure > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..20ea856db900 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > #endif > } > > +static inline int > +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, > + int resource_id, > + const char *name) > +{ > +#if IS_REACHABLE(CONFIG_FB) > + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); > +#else > + return 0; > +#endif > +} > + > #endif > diff --git a/include/linux/fb.h b/include/linux/fb.h > index aa74a228bb92..abeffd55b66a 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, > extern int register_framebuffer(struct fb_info *fb_info); > extern int unregister_framebuffer(struct fb_info *fb_info); > extern int unlink_framebuffer(struct fb_info *fb_info); > +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, > + const char *name); > extern int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary); > extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-03 16:16 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:16 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel On Sat, Sep 01, 2018 at 04:08:45PM +0200, Michał Mirosław wrote: > Almost all PCI drivers using remove_conflicting_framebuffers() wrap it > with the same code. > > --- This cuts away the sob. Just fyi. -Daniel > v2: add kerneldoc for DRM helper > v3: propagate remove_conflicting_framebuffers() return value > + move kerneldoc to where function is implemented > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > --- > drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ > include/drm/drm_fb_helper.h | 12 +++++++++++ > include/linux/fb.h | 2 ++ > 3 files changed, 49 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 2de93b5014e3..cd96b1c62bbe 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -34,6 +34,7 @@ > #include <linux/fb.h> > #include <linux/fbcon.h> > #include <linux/mem_encrypt.h> > +#include <linux/pci.h> > > #include <asm/fb.h> > > @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, > } > EXPORT_SYMBOL(remove_conflicting_framebuffers); > > +/** > + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices > + * @pdev: PCI device > + * @resource_id: index of PCI BAR configuring framebuffer memory > + * @name: requesting driver name > + * > + * This function removes framebuffer devices (eg. initialized by firmware) > + * using memory range configured for @pdev's BAR @resource_id. > + * > + * The function assumes that PCI device with shadowed ROM drives a primary > + * display and so kicks out vga16fb. > + */ > +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) > +{ > + struct apertures_struct *ap; > + bool primary = false; > + int err; > + > + ap = alloc_apertures(1); > + if (!ap) > + return -ENOMEM; > + > + ap->ranges[0].base = pci_resource_start(pdev, res_id); > + ap->ranges[0].size = pci_resource_len(pdev, res_id); > +#ifdef CONFIG_X86 > + primary = pdev->resource[PCI_ROM_RESOURCE].flags & > + IORESOURCE_ROM_SHADOW; > +#endif > + err = remove_conflicting_framebuffers(ap, name, primary); > + kfree(ap); > + return err; > +} > +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); > + > /** > * register_framebuffer - registers a frame buffer device > * @fb_info: frame buffer info structure > diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h > index b069433e7fc1..20ea856db900 100644 > --- a/include/drm/drm_fb_helper.h > +++ b/include/drm/drm_fb_helper.h > @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, > #endif > } > > +static inline int > +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, > + int resource_id, > + const char *name) > +{ > +#if IS_REACHABLE(CONFIG_FB) > + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); > +#else > + return 0; > +#endif > +} > + > #endif > diff --git a/include/linux/fb.h b/include/linux/fb.h > index aa74a228bb92..abeffd55b66a 100644 > --- a/include/linux/fb.h > +++ b/include/linux/fb.h > @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, > extern int register_framebuffer(struct fb_info *fb_info); > extern int unregister_framebuffer(struct fb_info *fb_info); > extern int unlink_framebuffer(struct fb_info *fb_info); > +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, > + const char *name); > extern int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary); > extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (2 preceding siblings ...) (?) @ 2018-09-04 15:40 ` kbuild test robot -1 siblings, 0 replies; 191+ messages in thread From: kbuild test robot @ 2018-09-04 15:40 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, amd-gfx, Bartlomiej Zolnierkiewicz, David Airlie, dri-devel, Jonathan Hunter, Alex Deucher, Thierry Reding, kbuild-all, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel [-- Attachment #1: Type: text/plain, Size: 25151 bytes --] Hi Michał, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc2 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/remove_conflicting_framebuffers-cleanup/20180903-094322 reproduce: make htmldocs :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/srcu.h:175: warning: Function parameter or member 'p' not described in 'srcu_dereference_notrace' include/linux/srcu.h:175: warning: Function parameter or member 'sp' not described in 'srcu_dereference_notrace' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' include/linux/mod_devicetable.h:763: warning: Function parameter or member 'driver_data' not described in 'typec_device_id' kernel/sched/fair.c:3371: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'i' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'v' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:96: warning: Excess function parameter 'v' description in 'arch_atomic_inc' arch/x86/include/asm/atomic.h:109: warning: Excess function parameter 'v' description in 'arch_atomic_dec' arch/x86/include/asm/atomic.h:124: warning: Excess function parameter 'v' description in 'arch_atomic_dec_and_test' arch/x86/include/asm/atomic.h:138: warning: Excess function parameter 'v' description in 'arch_atomic_inc_and_test' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'i' description in 'arch_atomic_add_negative' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'v' description in 'arch_atomic_add_negative' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' >> drivers/video/fbdev/core/fbmem.c:1848: warning: Function parameter or member 'res_id' not described in 'remove_conflicting_pci_framebuffers' drivers/video/fbdev/core/fbmem.c:1848: warning: Excess function parameter 'resource_id' description in 'remove_conflicting_pci_framebuffers' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/pci/pci.c:218: warning: Excess function parameter 'p' description in 'pci_dev_str_match_path' include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume' not described in 'regulator_ops' drivers/regulator/core.c:4479: warning: Excess function parameter 'state' description in 'regulator_suspend' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found drivers/target/target_core_device.c:1: warning: no structured comments found drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/bus.c:1: warning: no structured comments found drivers/usb/typec/bus.c:268: warning: Function parameter or member 'mode' not described in 'typec_match_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1: warning: no structured comments found include/linux/w1.h:281: warning: Function parameter or member 'of_match_table' not described in 'w1_family' fs/direct-io.c:257: warning: Excess function parameter 'offset' description in 'dio_complete' fs/file_table.c:1: warning: no structured comments found fs/libfs.c:477: warning: Excess function parameter 'available' description in 'simple_write_end' fs/posix_acl.c:646: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:183: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_read_lock' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:254: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_gfx' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:302: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3011: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Function parameter or member 'adev' not described in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' include/drm/drm_panel.h:98: warning: Function parameter or member 'link' not described in 'drm_panel' drivers/gpu/drm/i915/i915_vma.h:49: warning: cannot understand function prototype: 'struct i915_vma ' drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found drivers/gpu/drm/i915/intel_guc_fwif.h:553: warning: cannot understand function prototype: 'struct guc_log_buffer_state ' drivers/gpu/drm/i915/i915_trace.h:1: warning: no structured comments found include/linux/skbuff.h:860: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' # https://github.com/0day-ci/linux/commit/eed1edfa16cb1ed0b7530c47d080859c9a2036ec git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout eed1edfa16cb1ed0b7530c47d080859c9a2036ec vim +1848 drivers/video/fbdev/core/fbmem.c 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1833 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1834 /** eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1835 * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1836 * @pdev: PCI device eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1837 * @resource_id: index of PCI BAR configuring framebuffer memory eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1838 * @name: requesting driver name eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1839 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1840 * This function removes framebuffer devices (eg. initialized by firmware) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1841 * using memory range configured for @pdev's BAR @resource_id. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1842 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1843 * The function assumes that PCI device with shadowed ROM drives a primary eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1844 * display and so kicks out vga16fb. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1845 */ eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1846 int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1847 { eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 @1848 struct apertures_struct *ap; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1849 bool primary = false; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1850 int err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1851 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1852 ap = alloc_apertures(1); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1853 if (!ap) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1854 return -ENOMEM; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1855 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1856 ap->ranges[0].base = pci_resource_start(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1857 ap->ranges[0].size = pci_resource_len(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1858 #ifdef CONFIG_X86 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1859 primary = pdev->resource[PCI_ROM_RESOURCE].flags & eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1860 IORESOURCE_ROM_SHADOW; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1861 #endif eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1862 err = remove_conflicting_framebuffers(ap, name, primary); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1863 kfree(ap); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1864 return err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1865 } eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1866 EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1867 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 6587 bytes --] [-- Attachment #3: Type: text/plain, Size: 183 bytes --] _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-04 15:40 ` kbuild test robot -1 siblings, 0 replies; 191+ messages in thread From: kbuild test robot @ 2018-09-04 15:40 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, amd-gfx, Bartlomiej Zolnierkiewicz, David Airlie, dri-devel, Jonathan Hunter, Alex Deucher, Thierry Reding, kbuild-all, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel, Gerd Hoffmann [-- Attachment #1: Type: text/plain, Size: 25151 bytes --] Hi Michał, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc2 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/remove_conflicting_framebuffers-cleanup/20180903-094322 reproduce: make htmldocs :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/srcu.h:175: warning: Function parameter or member 'p' not described in 'srcu_dereference_notrace' include/linux/srcu.h:175: warning: Function parameter or member 'sp' not described in 'srcu_dereference_notrace' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' include/linux/mod_devicetable.h:763: warning: Function parameter or member 'driver_data' not described in 'typec_device_id' kernel/sched/fair.c:3371: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'i' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'v' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:96: warning: Excess function parameter 'v' description in 'arch_atomic_inc' arch/x86/include/asm/atomic.h:109: warning: Excess function parameter 'v' description in 'arch_atomic_dec' arch/x86/include/asm/atomic.h:124: warning: Excess function parameter 'v' description in 'arch_atomic_dec_and_test' arch/x86/include/asm/atomic.h:138: warning: Excess function parameter 'v' description in 'arch_atomic_inc_and_test' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'i' description in 'arch_atomic_add_negative' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'v' description in 'arch_atomic_add_negative' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' >> drivers/video/fbdev/core/fbmem.c:1848: warning: Function parameter or member 'res_id' not described in 'remove_conflicting_pci_framebuffers' drivers/video/fbdev/core/fbmem.c:1848: warning: Excess function parameter 'resource_id' description in 'remove_conflicting_pci_framebuffers' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/pci/pci.c:218: warning: Excess function parameter 'p' description in 'pci_dev_str_match_path' include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume' not described in 'regulator_ops' drivers/regulator/core.c:4479: warning: Excess function parameter 'state' description in 'regulator_suspend' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found drivers/target/target_core_device.c:1: warning: no structured comments found drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/bus.c:1: warning: no structured comments found drivers/usb/typec/bus.c:268: warning: Function parameter or member 'mode' not described in 'typec_match_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1: warning: no structured comments found include/linux/w1.h:281: warning: Function parameter or member 'of_match_table' not described in 'w1_family' fs/direct-io.c:257: warning: Excess function parameter 'offset' description in 'dio_complete' fs/file_table.c:1: warning: no structured comments found fs/libfs.c:477: warning: Excess function parameter 'available' description in 'simple_write_end' fs/posix_acl.c:646: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:183: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_read_lock' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:254: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_gfx' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:302: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3011: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Function parameter or member 'adev' not described in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' include/drm/drm_panel.h:98: warning: Function parameter or member 'link' not described in 'drm_panel' drivers/gpu/drm/i915/i915_vma.h:49: warning: cannot understand function prototype: 'struct i915_vma ' drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found drivers/gpu/drm/i915/intel_guc_fwif.h:553: warning: cannot understand function prototype: 'struct guc_log_buffer_state ' drivers/gpu/drm/i915/i915_trace.h:1: warning: no structured comments found include/linux/skbuff.h:860: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' # https://github.com/0day-ci/linux/commit/eed1edfa16cb1ed0b7530c47d080859c9a2036ec git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout eed1edfa16cb1ed0b7530c47d080859c9a2036ec vim +1848 drivers/video/fbdev/core/fbmem.c 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1833 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1834 /** eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1835 * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1836 * @pdev: PCI device eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1837 * @resource_id: index of PCI BAR configuring framebuffer memory eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1838 * @name: requesting driver name eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1839 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1840 * This function removes framebuffer devices (eg. initialized by firmware) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1841 * using memory range configured for @pdev's BAR @resource_id. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1842 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1843 * The function assumes that PCI device with shadowed ROM drives a primary eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1844 * display and so kicks out vga16fb. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1845 */ eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1846 int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1847 { eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 @1848 struct apertures_struct *ap; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1849 bool primary = false; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1850 int err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1851 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1852 ap = alloc_apertures(1); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1853 if (!ap) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1854 return -ENOMEM; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1855 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1856 ap->ranges[0].base = pci_resource_start(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1857 ap->ranges[0].size = pci_resource_len(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1858 #ifdef CONFIG_X86 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1859 primary = pdev->resource[PCI_ROM_RESOURCE].flags & eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1860 IORESOURCE_ROM_SHADOW; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1861 #endif eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1862 err = remove_conflicting_framebuffers(ap, name, primary); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1863 kfree(ap); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1864 return err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1865 } eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1866 EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1867 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 6587 bytes --] [-- Attachment #3: Type: text/plain, Size: 160 bytes --] _______________________________________________ dri-devel mailing list dri-devel@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/dri-devel ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-04 15:40 ` kbuild test robot 0 siblings, 0 replies; 191+ messages in thread From: kbuild test robot @ 2018-09-04 15:40 UTC (permalink / raw) To: linux-arm-kernel Hi Micha?, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc2 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/remove_conflicting_framebuffers-cleanup/20180903-094322 reproduce: make htmldocs :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/srcu.h:175: warning: Function parameter or member 'p' not described in 'srcu_dereference_notrace' include/linux/srcu.h:175: warning: Function parameter or member 'sp' not described in 'srcu_dereference_notrace' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' include/linux/mod_devicetable.h:763: warning: Function parameter or member 'driver_data' not described in 'typec_device_id' kernel/sched/fair.c:3371: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'i' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'v' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:96: warning: Excess function parameter 'v' description in 'arch_atomic_inc' arch/x86/include/asm/atomic.h:109: warning: Excess function parameter 'v' description in 'arch_atomic_dec' arch/x86/include/asm/atomic.h:124: warning: Excess function parameter 'v' description in 'arch_atomic_dec_and_test' arch/x86/include/asm/atomic.h:138: warning: Excess function parameter 'v' description in 'arch_atomic_inc_and_test' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'i' description in 'arch_atomic_add_negative' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'v' description in 'arch_atomic_add_negative' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' >> drivers/video/fbdev/core/fbmem.c:1848: warning: Function parameter or member 'res_id' not described in 'remove_conflicting_pci_framebuffers' drivers/video/fbdev/core/fbmem.c:1848: warning: Excess function parameter 'resource_id' description in 'remove_conflicting_pci_framebuffers' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/pci/pci.c:218: warning: Excess function parameter 'p' description in 'pci_dev_str_match_path' include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume' not described in 'regulator_ops' drivers/regulator/core.c:4479: warning: Excess function parameter 'state' description in 'regulator_suspend' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found drivers/target/target_core_device.c:1: warning: no structured comments found drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/bus.c:1: warning: no structured comments found drivers/usb/typec/bus.c:268: warning: Function parameter or member 'mode' not described in 'typec_match_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1: warning: no structured comments found include/linux/w1.h:281: warning: Function parameter or member 'of_match_table' not described in 'w1_family' fs/direct-io.c:257: warning: Excess function parameter 'offset' description in 'dio_complete' fs/file_table.c:1: warning: no structured comments found fs/libfs.c:477: warning: Excess function parameter 'available' description in 'simple_write_end' fs/posix_acl.c:646: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:183: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_read_lock' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:254: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_gfx' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:302: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3011: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Function parameter or member 'adev' not described in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' include/drm/drm_panel.h:98: warning: Function parameter or member 'link' not described in 'drm_panel' drivers/gpu/drm/i915/i915_vma.h:49: warning: cannot understand function prototype: 'struct i915_vma ' drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found drivers/gpu/drm/i915/intel_guc_fwif.h:553: warning: cannot understand function prototype: 'struct guc_log_buffer_state ' drivers/gpu/drm/i915/i915_trace.h:1: warning: no structured comments found include/linux/skbuff.h:860: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' # https://github.com/0day-ci/linux/commit/eed1edfa16cb1ed0b7530c47d080859c9a2036ec git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout eed1edfa16cb1ed0b7530c47d080859c9a2036ec vim +1848 drivers/video/fbdev/core/fbmem.c 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1833 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1834 /** eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1835 * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1836 * @pdev: PCI device eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1837 * @resource_id: index of PCI BAR configuring framebuffer memory eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1838 * @name: requesting driver name eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1839 * eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1840 * This function removes framebuffer devices (eg. initialized by firmware) eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1841 * using memory range configured for @pdev's BAR @resource_id. eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1842 * eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1843 * The function assumes that PCI device with shadowed ROM drives a primary eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1844 * display and so kicks out vga16fb. eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1845 */ eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1846 int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1847 { eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 @1848 struct apertures_struct *ap; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1849 bool primary = false; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1850 int err; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1851 eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1852 ap = alloc_apertures(1); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1853 if (!ap) eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1854 return -ENOMEM; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1855 eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1856 ap->ranges[0].base = pci_resource_start(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1857 ap->ranges[0].size = pci_resource_len(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1858 #ifdef CONFIG_X86 eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1859 primary = pdev->resource[PCI_ROM_RESOURCE].flags & eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1860 IORESOURCE_ROM_SHADOW; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1861 #endif eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1862 err = remove_conflicting_framebuffers(ap, name, primary); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1863 kfree(ap); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1864 return err; eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1865 } eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1866 EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); eed1edfa drivers/video/fbdev/core/fbmem.c Micha? Miros?aw 2018-09-01 1867 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation -------------- next part -------------- A non-text attachment was scrubbed... Name: .config.gz Type: application/gzip Size: 6587 bytes Desc: not available URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180904/e201119e/attachment-0001.gz> ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() @ 2018-09-04 15:40 ` kbuild test robot 0 siblings, 0 replies; 191+ messages in thread From: kbuild test robot @ 2018-09-04 15:40 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, amd-gfx, Bartlomiej Zolnierkiewicz, David Airlie, dri-devel, Jonathan Hunter, Alex Deucher, Thierry Reding, kbuild-all, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel, Gerd Hoffmann [-- Attachment #1: Type: text/plain, Size: 25151 bytes --] Hi Michał, I love your patch! Perhaps something to improve: [auto build test WARNING on linus/master] [also build test WARNING on v4.19-rc2 next-20180831] [if your patch is applied to the wrong git tree, please drop us a note to help improve the system] url: https://github.com/0day-ci/linux/commits/Micha-Miros-aw/remove_conflicting_framebuffers-cleanup/20180903-094322 reproduce: make htmldocs :::::: branch date: 5 hours ago :::::: commit date: 5 hours ago All warnings (new ones prefixed by >>): WARNING: convert(1) not found, for SVG to PDF conversion install ImageMagick (https://www.imagemagick.org) include/linux/srcu.h:175: warning: Function parameter or member 'p' not described in 'srcu_dereference_notrace' include/linux/srcu.h:175: warning: Function parameter or member 'sp' not described in 'srcu_dereference_notrace' include/linux/gfp.h:1: warning: no structured comments found include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ibss' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.connect' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.keys' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ie_len' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.bssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.ssid' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.default_mgmt_key' not described in 'wireless_dev' include/net/cfg80211.h:4381: warning: Function parameter or member 'wext.prev_bssid_valid' not described in 'wireless_dev' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.units_pos' not described in 'ieee80211_hw' include/net/mac80211.h:2328: warning: Function parameter or member 'radiotap_timestamp.accuracy' not described in 'ieee80211_hw' include/net/mac80211.h:977: warning: Function parameter or member 'control.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.rts_cts_rate_idx' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_rts' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.use_cts_prot' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.short_preamble' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.skip_table' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.jiffies' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.vif' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.hw_key' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.flags' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'control.enqueue_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'ack.cookie' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_ack_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.ampdu_len' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.antenna' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.tx_time' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.is_valid_ack_signal' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'status.status_driver_data' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'driver_rates' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'pad' not described in 'ieee80211_tx_info' include/net/mac80211.h:977: warning: Function parameter or member 'rate_driver_data' not described in 'ieee80211_tx_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'rx_stats_avg.chain_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.filtered' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.retry_count' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.lost_packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_tdls_pkt_time' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_retries' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.msdu_failed' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.last_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.ack_signal_filled' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'status_stats.avg_ack_signal' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.packets' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.bytes' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.last_rate' not described in 'sta_info' net/mac80211/sta_info.h:588: warning: Function parameter or member 'tx_stats.msdu' not described in 'sta_info' include/linux/mod_devicetable.h:763: warning: Function parameter or member 'driver_data' not described in 'typec_device_id' kernel/sched/fair.c:3371: warning: Function parameter or member 'flags' not described in 'attach_entity_load_avg' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'i' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:84: warning: Excess function parameter 'v' description in 'arch_atomic_sub_and_test' arch/x86/include/asm/atomic.h:96: warning: Excess function parameter 'v' description in 'arch_atomic_inc' arch/x86/include/asm/atomic.h:109: warning: Excess function parameter 'v' description in 'arch_atomic_dec' arch/x86/include/asm/atomic.h:124: warning: Excess function parameter 'v' description in 'arch_atomic_dec_and_test' arch/x86/include/asm/atomic.h:138: warning: Excess function parameter 'v' description in 'arch_atomic_inc_and_test' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'i' description in 'arch_atomic_add_negative' arch/x86/include/asm/atomic.h:153: warning: Excess function parameter 'v' description in 'arch_atomic_add_negative' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_excl.active' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.cb' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.poll' not described in 'dma_buf' include/linux/dma-buf.h:304: warning: Function parameter or member 'cb_shared.active' not described in 'dma_buf' include/linux/dma-fence-array.h:54: warning: Function parameter or member 'work' not described in 'dma_fence_array' >> drivers/video/fbdev/core/fbmem.c:1848: warning: Function parameter or member 'res_id' not described in 'remove_conflicting_pci_framebuffers' drivers/video/fbdev/core/fbmem.c:1848: warning: Excess function parameter 'resource_id' description in 'remove_conflicting_pci_framebuffers' include/linux/gpio/driver.h:142: warning: Function parameter or member 'request_key' not described in 'gpio_irq_chip' include/linux/iio/hw-consumer.h:1: warning: no structured comments found include/linux/input/sparse-keymap.h:46: warning: Function parameter or member 'sw' not described in 'key_entry' drivers/pci/pci.c:218: warning: Excess function parameter 'p' description in 'pci_dev_str_match_path' include/linux/regulator/driver.h:227: warning: Function parameter or member 'resume' not described in 'regulator_ops' drivers/regulator/core.c:4479: warning: Excess function parameter 'state' description in 'regulator_suspend' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw0' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw1' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw2' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.esw3' not described in 'irb' arch/s390/include/asm/cio.h:245: warning: Function parameter or member 'esw.eadm' not described in 'irb' drivers/slimbus/stream.c:1: warning: no structured comments found drivers/target/target_core_device.c:1: warning: no structured comments found drivers/usb/dwc3/gadget.c:510: warning: Excess function parameter 'dwc' description in 'dwc3_gadget_start_config' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/bus.c:1: warning: no structured comments found drivers/usb/typec/bus.c:268: warning: Function parameter or member 'mode' not described in 'typec_match_altmode' drivers/usb/typec/class.c:1497: warning: Excess function parameter 'drvdata' description in 'typec_port_register_altmode' drivers/usb/typec/class.c:1: warning: no structured comments found include/linux/w1.h:281: warning: Function parameter or member 'of_match_table' not described in 'w1_family' fs/direct-io.c:257: warning: Excess function parameter 'offset' description in 'dio_complete' fs/file_table.c:1: warning: no structured comments found fs/libfs.c:477: warning: Excess function parameter 'available' description in 'simple_write_end' fs/posix_acl.c:646: warning: Function parameter or member 'inode' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'mode_p' not described in 'posix_acl_update_mode' fs/posix_acl.c:646: warning: Function parameter or member 'acl' not described in 'posix_acl_update_mode' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:183: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_read_lock' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:254: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_gfx' drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c:302: warning: Function parameter or member 'blockable' not described in 'amdgpu_mn_invalidate_range_start_hsa' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3011: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Function parameter or member 'adev' not described in 'amdgpu_vm_get_task_info' drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c:3012: warning: Excess function parameter 'dev' description in 'amdgpu_vm_get_task_info' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_pin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_unpin' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_res_obj' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_get_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_import_sg_table' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_vunmap' not described in 'drm_driver' include/drm/drm_drv.h:610: warning: Function parameter or member 'gem_prime_mmap' not described in 'drm_driver' include/drm/drm_panel.h:98: warning: Function parameter or member 'link' not described in 'drm_panel' drivers/gpu/drm/i915/i915_vma.h:49: warning: cannot understand function prototype: 'struct i915_vma ' drivers/gpu/drm/i915/i915_vma.h:1: warning: no structured comments found drivers/gpu/drm/i915/intel_guc_fwif.h:553: warning: cannot understand function prototype: 'struct guc_log_buffer_state ' drivers/gpu/drm/i915/i915_trace.h:1: warning: no structured comments found include/linux/skbuff.h:860: warning: Function parameter or member 'dev_scratch' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'list' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'ip_defrag_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'skb_mstamp' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__cloned_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'head_frag' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member '__pkt_type_offset' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encapsulation' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'encap_hdr_csum' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_valid' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_complete_sw' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'csum_level' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_protocol_type' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'remcsum_offload' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'offload_mr_fwd_mark' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'sender_cpu' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'reserved_tailroom' not described in 'sk_buff' include/linux/skbuff.h:860: warning: Function parameter or member 'inner_ipproto' not described in 'sk_buff' include/net/sock.h:238: warning: Function parameter or member 'skc_addrpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_portpair' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_ipv6only' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_net_refcnt' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_daddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_v6_rcv_saddr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_cookie' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_listener' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_dr' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_rcv_wnd' not described in 'sock_common' include/net/sock.h:238: warning: Function parameter or member 'skc_tw_rcv_nxt' not described in 'sock_common' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.rmem_alloc' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.len' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.head' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_backlog.tail' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_wq_raw' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'tcp_rtx_queue' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_route_forced_caps' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_txtime_report_errors' not described in 'sock' include/net/sock.h:509: warning: Function parameter or member 'sk_validate_xmit_skb' not described in 'sock' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.upper' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'adj_list.lower' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'gso_partial_features' not described in 'net_device' include/linux/netdevice.h:2018: warning: Function parameter or member 'switchdev_ops' not described in 'net_device' # https://github.com/0day-ci/linux/commit/eed1edfa16cb1ed0b7530c47d080859c9a2036ec git remote add linux-review https://github.com/0day-ci/linux git remote update linux-review git checkout eed1edfa16cb1ed0b7530c47d080859c9a2036ec vim +1848 drivers/video/fbdev/core/fbmem.c 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1833 712f3147 drivers/video/fbmem.c Linus Torvalds 2011-05-13 1834 /** eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1835 * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1836 * @pdev: PCI device eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1837 * @resource_id: index of PCI BAR configuring framebuffer memory eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1838 * @name: requesting driver name eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1839 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1840 * This function removes framebuffer devices (eg. initialized by firmware) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1841 * using memory range configured for @pdev's BAR @resource_id. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1842 * eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1843 * The function assumes that PCI device with shadowed ROM drives a primary eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1844 * display and so kicks out vga16fb. eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1845 */ eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1846 int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1847 { eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 @1848 struct apertures_struct *ap; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1849 bool primary = false; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1850 int err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1851 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1852 ap = alloc_apertures(1); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1853 if (!ap) eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1854 return -ENOMEM; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1855 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1856 ap->ranges[0].base = pci_resource_start(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1857 ap->ranges[0].size = pci_resource_len(pdev, res_id); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1858 #ifdef CONFIG_X86 eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1859 primary = pdev->resource[PCI_ROM_RESOURCE].flags & eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1860 IORESOURCE_ROM_SHADOW; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1861 #endif eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1862 err = remove_conflicting_framebuffers(ap, name, primary); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1863 kfree(ap); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1864 return err; eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1865 } eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1866 EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); eed1edfa drivers/video/fbdev/core/fbmem.c Michał Mirosław 2018-09-01 1867 --- 0-DAY kernel test infrastructure Open Source Technology Center https://lists.01.org/pipermail/kbuild-all Intel Corporation [-- Attachment #2: .config.gz --] [-- Type: application/gzip, Size: 6587 bytes --] ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (5 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Almost all PCI drivers using remove_conflicting_framebuffers() wrap it with the same code. --- v2: add kerneldoc for DRM helper v3: propagate remove_conflicting_framebuffers() return value + move kerneldoc to where function is implemented Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 35 ++++++++++++++++++++++++++++++++ include/drm/drm_fb_helper.h | 12 +++++++++++ include/linux/fb.h | 2 ++ 3 files changed, 49 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 2de93b5014e3..cd96b1c62bbe 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -34,6 +34,7 @@ #include <linux/fb.h> #include <linux/fbcon.h> #include <linux/mem_encrypt.h> +#include <linux/pci.h> #include <asm/fb.h> @@ -1812,6 +1813,40 @@ int remove_conflicting_framebuffers(struct apertures_struct *a, } EXPORT_SYMBOL(remove_conflicting_framebuffers); +/** + * remove_conflicting_pci_framebuffers - remove firmware-configured framebuffers for PCI devices + * @pdev: PCI device + * @resource_id: index of PCI BAR configuring framebuffer memory + * @name: requesting driver name + * + * This function removes framebuffer devices (eg. initialized by firmware) + * using memory range configured for @pdev's BAR @resource_id. + * + * The function assumes that PCI device with shadowed ROM drives a primary + * display and so kicks out vga16fb. + */ +int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, const char *name) +{ + struct apertures_struct *ap; + bool primary = false; + int err; + + ap = alloc_apertures(1); + if (!ap) + return -ENOMEM; + + ap->ranges[0].base = pci_resource_start(pdev, res_id); + ap->ranges[0].size = pci_resource_len(pdev, res_id); +#ifdef CONFIG_X86 + primary = pdev->resource[PCI_ROM_RESOURCE].flags & + IORESOURCE_ROM_SHADOW; +#endif + err = remove_conflicting_framebuffers(ap, name, primary); + kfree(ap); + return err; +} +EXPORT_SYMBOL(remove_conflicting_pci_framebuffers); + /** * register_framebuffer - registers a frame buffer device * @fb_info: frame buffer info structure diff --git a/include/drm/drm_fb_helper.h b/include/drm/drm_fb_helper.h index b069433e7fc1..20ea856db900 100644 --- a/include/drm/drm_fb_helper.h +++ b/include/drm/drm_fb_helper.h @@ -577,4 +577,16 @@ drm_fb_helper_remove_conflicting_framebuffers(struct apertures_struct *a, #endif } +static inline int +drm_fb_helper_remove_conflicting_pci_framebuffers(struct pci_dev *pdev, + int resource_id, + const char *name) +{ +#if IS_REACHABLE(CONFIG_FB) + return remove_conflicting_pci_framebuffers(pdev, resource_id, name); +#else + return 0; +#endif +} + #endif diff --git a/include/linux/fb.h b/include/linux/fb.h index aa74a228bb92..abeffd55b66a 100644 --- a/include/linux/fb.h +++ b/include/linux/fb.h @@ -632,6 +632,8 @@ extern ssize_t fb_sys_write(struct fb_info *info, const char __user *buf, extern int register_framebuffer(struct fb_info *fb_info); extern int unregister_framebuffer(struct fb_info *fb_info); extern int unlink_framebuffer(struct fb_info *fb_info); +extern int remove_conflicting_pci_framebuffers(struct pci_dev *pdev, int res_id, + const char *name); extern int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary); extern int fb_prepare_logo(struct fb_info *fb_info, int rotate); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Document remove_conflicting_framebuffers() behaviour. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..2de93b5014e3 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) } EXPORT_SYMBOL(unlink_framebuffer); +/** + * remove_conflicting_framebuffers - remove firmware-configured framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (initialized by firmware/bootloader) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Document remove_conflicting_framebuffers() behaviour. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..2de93b5014e3 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) } EXPORT_SYMBOL(unlink_framebuffer); +/** + * remove_conflicting_framebuffers - remove firmware-configured framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (initialized by firmware/bootloader) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Document remove_conflicting_framebuffers() behaviour. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..2de93b5014e3 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) } EXPORT_SYMBOL(unlink_framebuffer); +/** + * remove_conflicting_framebuffers - remove firmware-configured framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (initialized by firmware/bootloader) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
[parent not found: <283fef19815b991700b56119d8d5874a2a8da44e.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* Re: [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() [not found] ` <283fef19815b991700b56119d8d5874a2a8da44e.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2018-09-05 11:02 ` Paul Menzel @ 2018-09-05 11:02 ` Paul Menzel 0 siblings, 0 replies; 191+ messages in thread From: Paul Menzel @ 2018-09-05 11:02 UTC (permalink / raw) To: Michał Mirosław, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Dave Airlie, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Alex Deucher, Maxime Ripard, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r [-- Attachment #1.1: Type: text/plain, Size: 1411 bytes --] Dear Michał, Thank you for documenting the function. Do you mean *to* instead of *do* in the commit message summary? On 09/01/18 16:08, Michał Mirosław wrote: > Document remove_conflicting_framebuffers() behaviour. > > Signed-off-by: Michał Mirosław <mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> > --- > drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 0df148eb4699..2de93b5014e3 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) > } > EXPORT_SYMBOL(unlink_framebuffer); > > +/** > + * remove_conflicting_framebuffers - remove firmware-configured framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (initialized by firmware/bootloader) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ > int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { Acked-by: Paul Menzel <pmenzel-KUpvgZVWgV9o1qOY/usvUg@public.gmane.org> Kind regards, Paul [-- Attachment #1.2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 5174 bytes --] [-- Attachment #2: Type: text/plain, Size: 154 bytes --] _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() @ 2018-09-05 11:02 ` Paul Menzel 0 siblings, 0 replies; 191+ messages in thread From: Paul Menzel @ 2018-09-05 11:02 UTC (permalink / raw) To: linux-arm-kernel Dear Micha?, Thank you for documenting the function. Do you mean *to* instead of *do* in the commit message summary? On 09/01/18 16:08, Micha? Miros?aw wrote: > Document remove_conflicting_framebuffers() behaviour. > > Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> > --- > drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 0df148eb4699..2de93b5014e3 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) > } > EXPORT_SYMBOL(unlink_framebuffer); > > +/** > + * remove_conflicting_framebuffers - remove firmware-configured framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (initialized by firmware/bootloader) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ > int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> Kind regards, Paul -------------- next part -------------- A non-text attachment was scrubbed... Name: smime.p7s Type: application/pkcs7-signature Size: 5174 bytes Desc: S/MIME Cryptographic Signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20180905/21f15c2d/attachment-0001.p7s> ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() @ 2018-09-05 11:02 ` Paul Menzel 0 siblings, 0 replies; 191+ messages in thread From: Paul Menzel @ 2018-09-05 11:02 UTC (permalink / raw) To: Michał Mirosław, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Dave Airlie, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Alex Deucher, Maxime Ripard, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r [-- Attachment #1: Type: text/plain, Size: 1358 bytes --] Dear Michał, Thank you for documenting the function. Do you mean *to* instead of *do* in the commit message summary? On 09/01/18 16:08, Michał Mirosław wrote: > Document remove_conflicting_framebuffers() behaviour. > > Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> > --- > drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ > 1 file changed, 10 insertions(+) > > diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c > index 0df148eb4699..2de93b5014e3 100644 > --- a/drivers/video/fbdev/core/fbmem.c > +++ b/drivers/video/fbdev/core/fbmem.c > @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) > } > EXPORT_SYMBOL(unlink_framebuffer); > > +/** > + * remove_conflicting_framebuffers - remove firmware-configured framebuffers > + * @a: memory range, users of which are to be removed > + * @name: requesting driver name > + * @primary: also kick vga16fb if present > + * > + * This function removes framebuffer devices (initialized by firmware/bootloader) > + * which use memory range described by @a. If @a is NULL all such devices are > + * removed. > + */ > int remove_conflicting_framebuffers(struct apertures_struct *a, > const char *name, bool primary) > { Acked-by: Paul Menzel <pmenzel@molgen.mpg.de> Kind regards, Paul [-- Attachment #2: S/MIME Cryptographic Signature --] [-- Type: application/pkcs7-signature, Size: 5174 bytes --] ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (7 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Document remove_conflicting_framebuffers() behaviour. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> --- drivers/video/fbdev/core/fbmem.c | 10 ++++++++++ 1 file changed, 10 insertions(+) diff --git a/drivers/video/fbdev/core/fbmem.c b/drivers/video/fbdev/core/fbmem.c index 0df148eb4699..2de93b5014e3 100644 --- a/drivers/video/fbdev/core/fbmem.c +++ b/drivers/video/fbdev/core/fbmem.c @@ -1775,6 +1775,16 @@ int unlink_framebuffer(struct fb_info *fb_info) } EXPORT_SYMBOL(unlink_framebuffer); +/** + * remove_conflicting_framebuffers - remove firmware-configured framebuffers + * @a: memory range, users of which are to be removed + * @name: requesting driver name + * @primary: also kick vga16fb if present + * + * This function removes framebuffer devices (initialized by firmware/bootloader) + * which use memory range described by @a. If @a is NULL all such devices are + * removed. + */ int remove_conflicting_framebuffers(struct apertures_struct *a, const char *name, bool primary) { -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 05/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (8 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 05/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 05/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 05/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +----------------------- 1 file changed, 1 insertion(+), 23 deletions(-) diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c index 0b19482b36b8..9b6e037719db 100644 --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c @@ -560,28 +560,6 @@ MODULE_DEVICE_TABLE(pci, pciidlist); static struct drm_driver kms_driver; -static int amdgpu_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "amdgpudrmfb", primary); - kfree(ap); - - return 0; -} - - static int amdgpu_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -609,7 +587,7 @@ static int amdgpu_pci_probe(struct pci_dev *pdev, return ret; /* Get rid of things like offb */ - ret = amdgpu_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "amdgpudrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 06/13] drm/bochs: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 06/13] drm/bochs: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 06/13] drm/bochs: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/bochs/bochs_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/bochs/bochs_drv.c b/drivers/gpu/drm/bochs/bochs_drv.c index 7b20318483e4..c61b40c72b62 100644 --- a/drivers/gpu/drm/bochs/bochs_drv.c +++ b/drivers/gpu/drm/bochs/bochs_drv.c @@ -143,22 +143,6 @@ static const struct dev_pm_ops bochs_pm_ops = { /* ---------------------------------------------------------------------- */ /* pci interface */ -static int bochs_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - drm_fb_helper_remove_conflicting_framebuffers(ap, "bochsdrmfb", false); - kfree(ap); - - return 0; -} - static int bochs_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -171,7 +155,7 @@ static int bochs_pci_probe(struct pci_dev *pdev, return -ENOMEM; } - ret = bochs_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "bochsdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 07/13] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 07/13] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 07/13] drm/cirrus: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/cirrus/cirrus_drv.c b/drivers/gpu/drm/cirrus/cirrus_drv.c index 69c4e352dd78..85ed8657c862 100644 --- a/drivers/gpu/drm/cirrus/cirrus_drv.c +++ b/drivers/gpu/drm/cirrus/cirrus_drv.c @@ -42,33 +42,12 @@ static const struct pci_device_id pciidlist[] = { }; -static int cirrus_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "cirrusdrmfb", primary); - kfree(ap); - - return 0; -} - static int cirrus_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { int ret; - ret = cirrus_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "cirrusdrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 08/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 08/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 08/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 09/13] drm/radeon: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 09/13] drm/radeon: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 09/13] drm/radeon: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 09/13] drm/radeon: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (14 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Alex Deucher <alexander.deucher@amd.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/radeon/radeon_drv.c | 23 +---------------------- 1 file changed, 1 insertion(+), 22 deletions(-) diff --git a/drivers/gpu/drm/radeon/radeon_drv.c b/drivers/gpu/drm/radeon/radeon_drv.c index b28288a781ef..36c98a0ec991 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.c +++ b/drivers/gpu/drm/radeon/radeon_drv.c @@ -311,27 +311,6 @@ static struct drm_driver kms_driver; bool radeon_device_is_virtual(void); -static int radeon_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return -ENOMEM; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "radeondrmfb", primary); - kfree(ap); - - return 0; -} - static int radeon_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { @@ -341,7 +320,7 @@ static int radeon_pci_probe(struct pci_dev *pdev, return -EPROBE_DEFER; /* Get rid of things like offb */ - ret = radeon_kick_out_firmware_fb(pdev); + ret = drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "radeondrmfb"); if (ret) return ret; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 08/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (15 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Remove duplicated call, while at it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +-------------------- drivers/gpu/drm/mgag200/mgag200_main.c | 9 --------- 2 files changed, 1 insertion(+), 29 deletions(-) diff --git a/drivers/gpu/drm/mgag200/mgag200_drv.c b/drivers/gpu/drm/mgag200/mgag200_drv.c index 74cdde2ee474..ac6af4bd9df6 100644 --- a/drivers/gpu/drm/mgag200/mgag200_drv.c +++ b/drivers/gpu/drm/mgag200/mgag200_drv.c @@ -42,29 +42,10 @@ static const struct pci_device_id pciidlist[] = { MODULE_DEVICE_TABLE(pci, pciidlist); -static void mgag200_kick_out_firmware_fb(struct pci_dev *pdev) -{ - struct apertures_struct *ap; - bool primary = false; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pdev, 0); - ap->ranges[0].size = pci_resource_len(pdev, 0); - -#ifdef CONFIG_X86 - primary = pdev->resource[PCI_ROM_RESOURCE].flags & IORESOURCE_ROM_SHADOW; -#endif - drm_fb_helper_remove_conflicting_framebuffers(ap, "mgag200drmfb", primary); - kfree(ap); -} - static int mga_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) { - mgag200_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, 0, "mgag200drmfb"); return drm_get_pci_dev(pdev, ent, &driver); } diff --git a/drivers/gpu/drm/mgag200/mgag200_main.c b/drivers/gpu/drm/mgag200/mgag200_main.c index 780f983b0294..79d54103d470 100644 --- a/drivers/gpu/drm/mgag200/mgag200_main.c +++ b/drivers/gpu/drm/mgag200/mgag200_main.c @@ -124,20 +124,11 @@ static int mga_probe_vram(struct mga_device *mdev, void __iomem *mem) static int mga_vram_init(struct mga_device *mdev) { void __iomem *mem; - struct apertures_struct *aper = alloc_apertures(1); - if (!aper) - return -ENOMEM; /* BAR 0 is VRAM */ mdev->mc.vram_base = pci_resource_start(mdev->dev->pdev, 0); mdev->mc.vram_window = pci_resource_len(mdev->dev->pdev, 0); - aper->ranges[0].base = mdev->mc.vram_base; - aper->ranges[0].size = mdev->mc.vram_window; - - drm_fb_helper_remove_conflicting_framebuffers(aper, "mgafb", true); - kfree(aper); - if (!devm_request_mem_region(mdev->dev->dev, mdev->mc.vram_base, mdev->mc.vram_window, "mgadrmfb_vram")) { DRM_ERROR("can't reserve VRAM\n"); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 10/13] drm/virtio: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław ` (16 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 10/13] drm/virtio: use simpler remove_conflicting_pci_framebuffers() 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 10/13] drm/virtio: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 10/13] drm/virtio: use simpler remove_conflicting_pci_framebuffers() @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, Jonathan Hunter, linux-arm-kernel Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 +++--------------------- 1 file changed, 3 insertions(+), 21 deletions(-) diff --git a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c index 7df8d0c9026a..115ed546ca4e 100644 --- a/drivers/gpu/drm/virtio/virtgpu_drm_bus.c +++ b/drivers/gpu/drm/virtio/virtgpu_drm_bus.c @@ -28,26 +28,6 @@ #include "virtgpu_drv.h" -static void virtio_pci_kick_out_firmware_fb(struct pci_dev *pci_dev) -{ - struct apertures_struct *ap; - bool primary; - - ap = alloc_apertures(1); - if (!ap) - return; - - ap->ranges[0].base = pci_resource_start(pci_dev, 0); - ap->ranges[0].size = pci_resource_len(pci_dev, 0); - - primary = pci_dev->resource[PCI_ROM_RESOURCE].flags - & IORESOURCE_ROM_SHADOW; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "virtiodrmfb", primary); - - kfree(ap); -} - int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) { struct drm_device *dev; @@ -69,7 +49,9 @@ int drm_virtio_init(struct drm_driver *driver, struct virtio_device *vdev) pname); dev->pdev = pdev; if (vga) - virtio_pci_kick_out_firmware_fb(pdev); + drm_fb_helper_remove_conflicting_pci_framebuffers(pdev, + 0, + "virtiodrmfb"); snprintf(unique, sizeof(unique), "pci:%s", pname); ret = drm_dev_set_unique(dev, unique); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2018-09-01 14:08 ` Michał Mirosław ` (18 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Eric Anholt, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of open-coding it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Eric Anholt <eric@anholt.net> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/vc4/vc4_drv.c | 20 +------------------- 1 file changed, 1 insertion(+), 19 deletions(-) diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c index 94b99c90425a..96bb90325995 100644 --- a/drivers/gpu/drm/vc4/vc4_drv.c +++ b/drivers/gpu/drm/vc4/vc4_drv.c @@ -246,24 +246,6 @@ static void vc4_match_add_drivers(struct device *dev, } } -static void vc4_kick_out_firmware_fb(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* Since VC4 is a UMA device, the simplefb node may have been - * located anywhere in memory. - */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "vc4drmfb", false); - kfree(ap); -} - static int vc4_drm_bind(struct device *dev) { struct platform_device *pdev = to_platform_device(dev); @@ -296,7 +278,7 @@ static int vc4_drm_bind(struct device *dev) if (ret) goto gem_destroy; - vc4_kick_out_firmware_fb(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false); ret = drm_dev_register(drm, 0); if (ret < 0) -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 13/13] drm/tegra: kick out simplefb 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, Gerd Hoffmann, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 13/13] drm/tegra: kick out simplefb @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 13/13] drm/tegra: kick out simplefb @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, Gerd Hoffmann, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2018-09-01 14:08 ` Michał Mirosław (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, Jonathan Hunter, David Airlie, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 _______________________________________________ linux-arm-kernel mailing list linux-arm-kernel@lists.infradead.org http://lists.infradead.org/mailman/listinfo/linux-arm-kernel ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Micha? Miros?aw <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) @ 2018-09-01 14:08 ` Michał Mirosław 0 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, Jonathan Hunter, David Airlie, Thierry Reding, Gerd Hoffmann, Alex Deucher, Dave Airlie, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 13/13] drm/tegra: kick out simplefb 2018-09-01 14:08 ` Michał Mirosław ` (22 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, Eric Anholt, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel Kick out firmware fb when loading Tegra driver. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/tegra/drm.c | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/drivers/gpu/drm/tegra/drm.c b/drivers/gpu/drm/tegra/drm.c index 7afe2f635f74..b51ec138fed2 100644 --- a/drivers/gpu/drm/tegra/drm.c +++ b/drivers/gpu/drm/tegra/drm.c @@ -1203,6 +1203,10 @@ static int host1x_drm_probe(struct host1x_device *dev) dev_set_drvdata(&dev->dev, drm); + err = drm_fb_helper_remove_conflicting_framebuffers(NULL, "tegradrmfb", false); + if (err < 0) + goto unref; + err = drm_dev_register(drm, 0); if (err < 0) goto unref; -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
* [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) 2018-09-01 14:08 ` Michał Mirosław ` (23 preceding siblings ...) (?) @ 2018-09-01 14:08 ` Michał Mirosław -1 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-09-01 14:08 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, Maxime Ripard, Eric Anholt, amd-gfx, Jonathan Hunter, David Airlie, Thierry Reding, Alex Deucher, Dave Airlie, virtualization, linux-arm-kernel Use remove_conflicting_framebuffers(NULL) instead of duplicating it. Signed-off-by: Michał Mirosław <mirq-linux@rere.qmqm.pl> Acked-by: Maxime Ripard <maxime.ripard@free-electrons.com> Acked-by: Daniel Vetter <daniel.vetter@ffwll.ch> --- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +----------------- 1 file changed, 1 insertion(+), 17 deletions(-) diff --git a/drivers/gpu/drm/sun4i/sun4i_drv.c b/drivers/gpu/drm/sun4i/sun4i_drv.c index 50d19605c38f..555b5db8036f 100644 --- a/drivers/gpu/drm/sun4i/sun4i_drv.c +++ b/drivers/gpu/drm/sun4i/sun4i_drv.c @@ -60,22 +60,6 @@ static struct drm_driver sun4i_drv_driver = { /* Frame Buffer Operations */ }; -static void sun4i_remove_framebuffers(void) -{ - struct apertures_struct *ap; - - ap = alloc_apertures(1); - if (!ap) - return; - - /* The framebuffer can be located anywhere in RAM */ - ap->ranges[0].base = 0; - ap->ranges[0].size = ~0; - - drm_fb_helper_remove_conflicting_framebuffers(ap, "sun4i-drm-fb", false); - kfree(ap); -} - static int sun4i_drv_bind(struct device *dev) { struct drm_device *drm; @@ -118,7 +102,7 @@ static int sun4i_drv_bind(struct device *dev) drm->irq_enabled = true; /* Remove early framebuffers (ie. simplefb) */ - sun4i_remove_framebuffers(); + drm_fb_helper_remove_conflicting_framebuffers(NULL, "sun4i-drm-fb", false); /* Create our framebuffer */ ret = sun4i_framebuffer_init(drm); -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply related [flat|nested] 191+ messages in thread
[parent not found: <cover.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org>]
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup [not found] ` <cover.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2018-09-03 7:43 ` Daniel Vetter @ 2018-09-03 7:43 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 7:43 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Jonathan Hunter, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > --- > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > v3: > - move kerneldoc to fbdev, where functions are implemented > - split kerneldoc for remove_conflicting_framebuffers() Ah, that's not quite what I had in mind. I think having the docs (also) in the drm helpers would be good, since that's where drm people will look, and that's the function they'll call. I just wanted you to split the fbdev and drm parts into 2 patches (since those are two different maintainers). Anyway, this is ok too, so imo ready for merging. If you can resurrect the drm docs (with a patch title of "drm/fb-helper: document fbdev remove functions" or similar) that would be great. Only thing we need for merging now is the ack from Bartlomiej. -Daniel > - propagate return value in remove_conflicting_pci_framebuffers() > > --- > Michał Mirosław (13): > fbdev: show fbdev number for debugging > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > fbdev: add kerneldoc do remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > drivers/gpu/drm/tegra/drm.c | 4 ++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > include/drm/drm_fb_helper.h | 12 +++++ > include/linux/fb.h | 2 + > 13 files changed, 89 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 7:43 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 7:43 UTC (permalink / raw) To: linux-arm-kernel On Sat, Sep 01, 2018 at 04:08:41PM +0200, Micha? Miros?aw wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > --- > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > v3: > - move kerneldoc to fbdev, where functions are implemented > - split kerneldoc for remove_conflicting_framebuffers() Ah, that's not quite what I had in mind. I think having the docs (also) in the drm helpers would be good, since that's where drm people will look, and that's the function they'll call. I just wanted you to split the fbdev and drm parts into 2 patches (since those are two different maintainers). Anyway, this is ok too, so imo ready for merging. If you can resurrect the drm docs (with a patch title of "drm/fb-helper: document fbdev remove functions" or similar) that would be great. Only thing we need for merging now is the ack from Bartlomiej. -Daniel > - propagate return value in remove_conflicting_pci_framebuffers() > > --- > Micha? Miros?aw (13): > fbdev: show fbdev number for debugging > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > fbdev: add kerneldoc do remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > drivers/gpu/drm/tegra/drm.c | 4 ++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > include/drm/drm_fb_helper.h | 12 +++++ > include/linux/fb.h | 2 + > 13 files changed, 89 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel at lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 7:43 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 7:43 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Jonathan Hunter, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > --- > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > v3: > - move kerneldoc to fbdev, where functions are implemented > - split kerneldoc for remove_conflicting_framebuffers() Ah, that's not quite what I had in mind. I think having the docs (also) in the drm helpers would be good, since that's where drm people will look, and that's the function they'll call. I just wanted you to split the fbdev and drm parts into 2 patches (since those are two different maintainers). Anyway, this is ok too, so imo ready for merging. If you can resurrect the drm docs (with a patch title of "drm/fb-helper: document fbdev remove functions" or similar) that would be great. Only thing we need for merging now is the ack from Bartlomiej. -Daniel > - propagate return value in remove_conflicting_pci_framebuffers() > > --- > Michał Mirosław (13): > fbdev: show fbdev number for debugging > fbdev: allow apertures = NULL in remove_conflicting_framebuffers() > fbdev: add kerneldoc do remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > drivers/gpu/drm/tegra/drm.c | 4 ++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > include/drm/drm_fb_helper.h | 12 +++++ > include/linux/fb.h | 2 + > 13 files changed, 89 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup 2018-09-03 7:43 ` Daniel Vetter (?) (?) @ 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz -1 siblings, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-09-03 11:31 UTC (permalink / raw) To: Daniel Vetter Cc: linux-fbdev, David Airlie, amd-gfx, Michał Mirosław, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization, linux-arm-kernel On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > --- > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > v3: > > - move kerneldoc to fbdev, where functions are implemented > > - split kerneldoc for remove_conflicting_framebuffers() > > Ah, that's not quite what I had in mind. I think having the docs (also) in > the drm helpers would be good, since that's where drm people will look, > and that's the function they'll call. I just wanted you to split the fbdev > and drm parts into 2 patches (since those are two different maintainers). > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > functions" or similar) that would be great. > > Only thing we need for merging now is the ack from Bartlomiej. For the whole patchset: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > -Daniel > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > --- > > Michał Mirosław (13): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > include/drm/drm_fb_helper.h | 12 +++++ > > include/linux/fb.h | 2 + > > 13 files changed, 89 insertions(+), 172 deletions(-) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
[parent not found: <20180903074315.GB21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org>]
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup [not found] ` <20180903074315.GB21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz @ 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 0 siblings, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-09-03 11:31 UTC (permalink / raw) To: Daniel Vetter Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > --- > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > v3: > > - move kerneldoc to fbdev, where functions are implemented > > - split kerneldoc for remove_conflicting_framebuffers() > > Ah, that's not quite what I had in mind. I think having the docs (also) in > the drm helpers would be good, since that's where drm people will look, > and that's the function they'll call. I just wanted you to split the fbdev > and drm parts into 2 patches (since those are two different maintainers). > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > functions" or similar) that would be great. > > Only thing we need for merging now is the ack from Bartlomiej. For the whole patchset: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > -Daniel > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > --- > > Michał Mirosław (13): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > include/drm/drm_fb_helper.h | 12 +++++ > > include/linux/fb.h | 2 + > > 13 files changed, 89 insertions(+), 172 deletions(-) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 0 siblings, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-09-03 11:31 UTC (permalink / raw) To: linux-arm-kernel On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Micha? Miros?aw wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > --- > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > v3: > > - move kerneldoc to fbdev, where functions are implemented > > - split kerneldoc for remove_conflicting_framebuffers() > > Ah, that's not quite what I had in mind. I think having the docs (also) in > the drm helpers would be good, since that's where drm people will look, > and that's the function they'll call. I just wanted you to split the fbdev > and drm parts into 2 patches (since those are two different maintainers). > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > functions" or similar) that would be great. > > Only thing we need for merging now is the ack from Bartlomiej. For the whole patchset: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > -Daniel > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > --- > > Micha? Miros?aw (13): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > include/drm/drm_fb_helper.h | 12 +++++ > > include/linux/fb.h | 2 + > > 13 files changed, 89 insertions(+), 172 deletions(-) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 0 siblings, 0 replies; 191+ messages in thread From: Bartlomiej Zolnierkiewicz @ 2018-09-03 11:31 UTC (permalink / raw) To: Daniel Vetter Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, David Airlie, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, Alex Deucher, Thierry Reding, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > This series cleans up duplicated code for replacing firmware FB > > driver with proper DRI driver and adds handover support to > > Tegra driver. > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > --- > > v2: > > - rebased on current drm-next > > - dropped staging/sm750fb changes > > - added kernel docs for DRM helpers > > v3: > > - move kerneldoc to fbdev, where functions are implemented > > - split kerneldoc for remove_conflicting_framebuffers() > > Ah, that's not quite what I had in mind. I think having the docs (also) in > the drm helpers would be good, since that's where drm people will look, > and that's the function they'll call. I just wanted you to split the fbdev > and drm parts into 2 patches (since those are two different maintainers). > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > functions" or similar) that would be great. > > Only thing we need for merging now is the ack from Bartlomiej. For the whole patchset: Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> > -Daniel > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > --- > > Michał Mirosław (13): > > fbdev: show fbdev number for debugging > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > fbdev: add remove_conflicting_pci_framebuffers() > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > drm/tegra: kick out simplefb > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > include/drm/drm_fb_helper.h | 12 +++++ > > include/linux/fb.h | 2 + > > 13 files changed, 89 insertions(+), 172 deletions(-) Best regards, -- Bartlomiej Zolnierkiewicz Samsung R&D Institute Poland Samsung Electronics ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz (?) @ 2018-09-03 16:26 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:26 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, David Airlie, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, Alex Deucher, Thierry Reding, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daniel Vetter, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Mon, Sep 03, 2018 at 01:31:34PM +0200, Bartlomiej Zolnierkiewicz wrote: > On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > > This series cleans up duplicated code for replacing firmware FB > > > driver with proper DRI driver and adds handover support to > > > Tegra driver. > > > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > > > --- > > > v2: > > > - rebased on current drm-next > > > - dropped staging/sm750fb changes > > > - added kernel docs for DRM helpers > > > v3: > > > - move kerneldoc to fbdev, where functions are implemented > > > - split kerneldoc for remove_conflicting_framebuffers() > > > > Ah, that's not quite what I had in mind. I think having the docs (also) in > > the drm helpers would be good, since that's where drm people will look, > > and that's the function they'll call. I just wanted you to split the fbdev > > and drm parts into 2 patches (since those are two different maintainers). > > > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > > functions" or similar) that would be great. > > > > Only thing we need for merging now is the ack from Bartlomiej. > > For the whole patchset: > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Thanks, entire patch set applied to drm-misc-next for 4.20. -Daniel > > > -Daniel > > > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > > > --- > > > Michał Mirosław (13): > > > fbdev: show fbdev number for debugging > > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > > fbdev: add remove_conflicting_pci_framebuffers() > > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > > drm/tegra: kick out simplefb > > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > > include/drm/drm_fb_helper.h | 12 +++++ > > > include/linux/fb.h | 2 + > > > 13 files changed, 89 insertions(+), 172 deletions(-) > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R&D Institute Poland > Samsung Electronics > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ amd-gfx mailing list amd-gfx@lists.freedesktop.org https://lists.freedesktop.org/mailman/listinfo/amd-gfx ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 16:26 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:26 UTC (permalink / raw) To: linux-arm-kernel On Mon, Sep 03, 2018 at 01:31:34PM +0200, Bartlomiej Zolnierkiewicz wrote: > On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Micha? Miros?aw wrote: > > > This series cleans up duplicated code for replacing firmware FB > > > driver with proper DRI driver and adds handover support to > > > Tegra driver. > > > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > > > --- > > > v2: > > > - rebased on current drm-next > > > - dropped staging/sm750fb changes > > > - added kernel docs for DRM helpers > > > v3: > > > - move kerneldoc to fbdev, where functions are implemented > > > - split kerneldoc for remove_conflicting_framebuffers() > > > > Ah, that's not quite what I had in mind. I think having the docs (also) in > > the drm helpers would be good, since that's where drm people will look, > > and that's the function they'll call. I just wanted you to split the fbdev > > and drm parts into 2 patches (since those are two different maintainers). > > > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > > functions" or similar) that would be great. > > > > Only thing we need for merging now is the ack from Bartlomiej. > > For the whole patchset: > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Thanks, entire patch set applied to drm-misc-next for 4.20. -Daniel > > > -Daniel > > > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > > > --- > > > Micha? Miros?aw (13): > > > fbdev: show fbdev number for debugging > > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > > fbdev: add remove_conflicting_pci_framebuffers() > > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > > drm/tegra: kick out simplefb > > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > > include/drm/drm_fb_helper.h | 12 +++++ > > > include/linux/fb.h | 2 + > > > 13 files changed, 89 insertions(+), 172 deletions(-) > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R&D Institute Poland > Samsung Electronics > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup @ 2018-09-03 16:26 ` Daniel Vetter 0 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:26 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz Cc: linux-fbdev-u79uwXL29TY76Z2rM5mHXA, David Airlie, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Michał Mirosław, Alex Deucher, Thierry Reding, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW, Daniel Vetter, linux-tegra-u79uwXL29TY76Z2rM5mHXA, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA, linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r, Gerd Hoffmann On Mon, Sep 03, 2018 at 01:31:34PM +0200, Bartlomiej Zolnierkiewicz wrote: > On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > > This series cleans up duplicated code for replacing firmware FB > > > driver with proper DRI driver and adds handover support to > > > Tegra driver. > > > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > > > --- > > > v2: > > > - rebased on current drm-next > > > - dropped staging/sm750fb changes > > > - added kernel docs for DRM helpers > > > v3: > > > - move kerneldoc to fbdev, where functions are implemented > > > - split kerneldoc for remove_conflicting_framebuffers() > > > > Ah, that's not quite what I had in mind. I think having the docs (also) in > > the drm helpers would be good, since that's where drm people will look, > > and that's the function they'll call. I just wanted you to split the fbdev > > and drm parts into 2 patches (since those are two different maintainers). > > > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > > functions" or similar) that would be great. > > > > Only thing we need for merging now is the ack from Bartlomiej. > > For the whole patchset: > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Thanks, entire patch set applied to drm-misc-next for 4.20. -Daniel > > > -Daniel > > > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > > > --- > > > Michał Mirosław (13): > > > fbdev: show fbdev number for debugging > > > fbdev: allow apertures = NULL in remove_conflicting_framebuffers() > > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > > fbdev: add remove_conflicting_pci_framebuffers() > > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > > drm/tegra: kick out simplefb > > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > > include/drm/drm_fb_helper.h | 12 +++++ > > > include/linux/fb.h | 2 + > > > 13 files changed, 89 insertions(+), 172 deletions(-) > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R&D Institute Poland > Samsung Electronics > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz ` (2 preceding siblings ...) (?) @ 2018-09-03 16:26 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 16:26 UTC (permalink / raw) To: Bartlomiej Zolnierkiewicz Cc: linux-fbdev, David Airlie, dri-devel, Michał Mirosław, Alex Deucher, Thierry Reding, amd-gfx, Daniel Vetter, linux-tegra, Dave Airlie, Maxime Ripard, Jonathan Hunter, virtualization, linux-arm-kernel On Mon, Sep 03, 2018 at 01:31:34PM +0200, Bartlomiej Zolnierkiewicz wrote: > On Monday, September 03, 2018 09:43:15 AM Daniel Vetter wrote: > > On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > > > This series cleans up duplicated code for replacing firmware FB > > > driver with proper DRI driver and adds handover support to > > > Tegra driver. > > > > > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > > > > > --- > > > v2: > > > - rebased on current drm-next > > > - dropped staging/sm750fb changes > > > - added kernel docs for DRM helpers > > > v3: > > > - move kerneldoc to fbdev, where functions are implemented > > > - split kerneldoc for remove_conflicting_framebuffers() > > > > Ah, that's not quite what I had in mind. I think having the docs (also) in > > the drm helpers would be good, since that's where drm people will look, > > and that's the function they'll call. I just wanted you to split the fbdev > > and drm parts into 2 patches (since those are two different maintainers). > > > > Anyway, this is ok too, so imo ready for merging. If you can resurrect the > > drm docs (with a patch title of "drm/fb-helper: document fbdev remove > > functions" or similar) that would be great. > > > > Only thing we need for merging now is the ack from Bartlomiej. > > For the whole patchset: > > Acked-by: Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com> Thanks, entire patch set applied to drm-misc-next for 4.20. -Daniel > > > -Daniel > > > > > - propagate return value in remove_conflicting_pci_framebuffers() > > > > > > --- > > > Michał Mirosław (13): > > > fbdev: show fbdev number for debugging > > > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > > > fbdev: add kerneldoc do remove_conflicting_framebuffers() > > > fbdev: add remove_conflicting_pci_framebuffers() > > > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > > > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > > > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > > > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > > > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > > > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > > > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > > > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > > > drm/tegra: kick out simplefb > > > > > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > > > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > > > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > > > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > > > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > > > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > > > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > > > drivers/gpu/drm/tegra/drm.c | 4 ++ > > > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > > > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > > > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > > > include/drm/drm_fb_helper.h | 12 +++++ > > > include/linux/fb.h | 2 + > > > 13 files changed, 89 insertions(+), 172 deletions(-) > > Best regards, > -- > Bartlomiej Zolnierkiewicz > Samsung R&D Institute Poland > Samsung Electronics > -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* Re: [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup 2018-09-01 14:08 ` Michał Mirosław ` (25 preceding siblings ...) (?) @ 2018-09-03 7:43 ` Daniel Vetter -1 siblings, 0 replies; 191+ messages in thread From: Daniel Vetter @ 2018-09-03 7:43 UTC (permalink / raw) To: Michał Mirosław Cc: linux-fbdev, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, Jonathan Hunter, Alex Deucher, Thierry Reding, dri-devel, linux-tegra, Dave Airlie, Maxime Ripard, virtualization, linux-arm-kernel On Sat, Sep 01, 2018 at 04:08:41PM +0200, Michał Mirosław wrote: > This series cleans up duplicated code for replacing firmware FB > driver with proper DRI driver and adds handover support to > Tegra driver. > > This is a sligtly updated version of a series sent on 24 Nov 2017. > > --- > v2: > - rebased on current drm-next > - dropped staging/sm750fb changes > - added kernel docs for DRM helpers > v3: > - move kerneldoc to fbdev, where functions are implemented > - split kerneldoc for remove_conflicting_framebuffers() Ah, that's not quite what I had in mind. I think having the docs (also) in the drm helpers would be good, since that's where drm people will look, and that's the function they'll call. I just wanted you to split the fbdev and drm parts into 2 patches (since those are two different maintainers). Anyway, this is ok too, so imo ready for merging. If you can resurrect the drm docs (with a patch title of "drm/fb-helper: document fbdev remove functions" or similar) that would be great. Only thing we need for merging now is the ack from Bartlomiej. -Daniel > - propagate return value in remove_conflicting_pci_framebuffers() > > --- > Michał Mirosław (13): > fbdev: show fbdev number for debugging > fbdev: allow apertures == NULL in remove_conflicting_framebuffers() > fbdev: add kerneldoc do remove_conflicting_framebuffers() > fbdev: add remove_conflicting_pci_framebuffers() > drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() > drm/bochs: use simpler remove_conflicting_pci_framebuffers() > drm/cirrus: use simpler remove_conflicting_pci_framebuffers() > drm/mgag200: use simpler remove_conflicting_pci_framebuffers() > drm/radeon: use simpler remove_conflicting_pci_framebuffers() > drm/virtio: use simpler remove_conflicting_pci_framebuffers() > drm/vc4: use simpler remove_conflicting_framebuffers(NULL) > drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) > drm/tegra: kick out simplefb > > drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +-------- > drivers/gpu/drm/bochs/bochs_drv.c | 18 +------ > drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +-------- > drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------- > drivers/gpu/drm/mgag200/mgag200_main.c | 9 ---- > drivers/gpu/drm/radeon/radeon_drv.c | 23 +-------- > drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +------ > drivers/gpu/drm/tegra/drm.c | 4 ++ > drivers/gpu/drm/vc4/vc4_drv.c | 20 +------- > drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------- > drivers/video/fbdev/core/fbmem.c | 63 +++++++++++++++++++++++- > include/drm/drm_fb_helper.h | 12 +++++ > include/linux/fb.h | 2 + > 13 files changed, 89 insertions(+), 172 deletions(-) > > -- > 2.18.0 > > _______________________________________________ > dri-devel mailing list > dri-devel@lists.freedesktop.org > https://lists.freedesktop.org/mailman/listinfo/dri-devel -- Daniel Vetter Software Engineer, Intel Corporation http://blog.ffwll.ch _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
* [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław ` (12 preceding siblings ...) 2018-08-30 21:00 ` Michał Mirosław @ 2018-08-30 21:00 ` Michał Mirosław 13 siblings, 0 replies; 191+ messages in thread From: Michał Mirosław @ 2018-08-30 21:00 UTC (permalink / raw) To: dri-devel Cc: linux-fbdev, linux-tegra, Bartlomiej Zolnierkiewicz, David Airlie, amd-gfx, virtualization, Eric Anholt, Thierry Reding, Alex Deucher, Maxime Ripard, linux-arm-kernel This series cleans up duplicated code for replacing firmware FB driver with proper DRI driver and adds handover support to Tegra driver. This is a sligtly updated version of a series sent on 24 Nov 2017. v2: - rebased on current drm-next - dropped staging/sm750fb changes - added kernel docs for DRM helpers Michał Mirosław (12): fbdev: show fbdev number for debugging fbdev: allow apertures == NULL in remove_conflicting_framebuffers() fbdev: add remove_conflicting_pci_framebuffers() drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() drm/bochs: use simpler remove_conflicting_pci_framebuffers() drm/cirrus: use simpler remove_conflicting_pci_framebuffers() drm/mgag200: use simpler remove_conflicting_pci_framebuffers() drm/radeon: use simpler remove_conflicting_pci_framebuffers() drm/virtio: use simpler remove_conflicting_pci_framebuffers() drm/vc4: use simpler remove_conflicting_framebuffers(NULL) drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) drm/tegra: kick out simplefb drivers/gpu/drm/amd/amdgpu/amdgpu_drv.c | 24 +------------- drivers/gpu/drm/bochs/bochs_drv.c | 18 +---------- drivers/gpu/drm/cirrus/cirrus_drv.c | 23 +------------- drivers/gpu/drm/mgag200/mgag200_drv.c | 21 +------------ drivers/gpu/drm/mgag200/mgag200_main.c | 9 ------ drivers/gpu/drm/radeon/radeon_drv.c | 23 +------------- drivers/gpu/drm/sun4i/sun4i_drv.c | 18 +---------- drivers/gpu/drm/tegra/drm.c | 4 +++ drivers/gpu/drm/vc4/vc4_drv.c | 20 +----------- drivers/gpu/drm/virtio/virtgpu_drm_bus.c | 24 ++------------ drivers/video/fbdev/core/fbmem.c | 40 ++++++++++++++++++++++-- include/drm/drm_fb_helper.h | 34 ++++++++++++++++++++ include/linux/fb.h | 2 ++ 13 files changed, 88 insertions(+), 172 deletions(-) -- 2.18.0 _______________________________________________ Virtualization mailing list Virtualization@lists.linux-foundation.org https://lists.linuxfoundation.org/mailman/listinfo/virtualization ^ permalink raw reply [flat|nested] 191+ messages in thread
end of thread, other threads:[~2018-09-05 11:02 UTC | newest] Thread overview: 191+ messages (download: mbox.gz / follow: Atom feed) -- links below jump to the message on this page -- 2017-11-24 17:53 [PATCH 00/13] remove_conflicting_framebuffers() cleanup Michał Mirosław 2017-11-24 17:53 ` [PATCH 01/13] fbdev: show fbdev number for debugging Michał Mirosław 2017-11-24 17:53 ` [PATCH 02/13] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław [not found] ` <1738dbed0239bffc886f126fd3091daa39cd14c9.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-27 10:27 ` Daniel Vetter 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-27 20:52 ` Sudip Mukherjee 2017-11-28 10:22 ` Daniel Vetter 2017-11-28 11:32 ` Greg KH 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 13:06 ` Greg KH 2017-11-29 9:56 ` Daniel Vetter 2017-11-30 23:49 ` Sudip Mukherjee 2017-11-30 23:49 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter 2017-12-01 14:10 ` Sudip Mukherjee 2017-12-01 7:19 ` Daniel Vetter 2017-12-01 14:40 ` Emil Velikov 2017-12-01 14:40 ` Emil Velikov 2017-12-11 21:57 ` Sudip Mukherjee 2017-12-11 21:57 ` Sudip Mukherjee 2017-11-29 9:56 ` Daniel Vetter 2017-11-28 12:30 ` Sudip Mukherjee 2017-11-28 11:32 ` Greg KH 2017-11-28 10:22 ` Daniel Vetter 2017-11-27 10:27 ` Daniel Vetter 2017-11-24 17:53 ` [PATCH 06/13] drm/mgag200: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2017-11-24 17:53 ` [PATCH 05/13] drm/cirrus: " Michał Mirosław 2017-11-24 17:53 ` [PATCH 04/13] drm/bochs: " Michał Mirosław 2017-11-24 17:53 ` [PATCH 09/13] staging: sm750fb: " Michał Mirosław 2017-11-27 10:25 ` Daniel Vetter 2017-11-27 20:57 ` Sudip Mukherjee 2017-11-24 17:53 ` [PATCH 08/13] drm/virtio: " Michał Mirosław 2017-11-24 17:53 ` [PATCH 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław 2017-11-28 20:11 ` Eric Anholt [not found] ` <cover.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-24 17:53 ` [PATCH 03/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2017-11-27 15:27 ` Alex Deucher 2017-11-24 17:53 ` [PATCH 07/13] drm/radeon: " Michał Mirosław 2017-11-24 17:53 ` [PATCH 10/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław [not found] ` <13240c59cafec988cdda37cc4d48252ff56f0d04.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-27 10:29 ` Daniel Vetter 2017-11-24 17:53 ` [PATCH 13/13] drm/tegra: kick out simplefb Michał Mirosław [not found] ` <89e22ee1c026b40a5bfa91de282d658b56dc8ee8.1511544782.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2017-11-24 20:50 ` Thierry Reding 2017-11-24 21:42 ` Michał Mirosław 2017-11-24 17:53 ` [PATCH 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław 2017-11-27 7:26 ` Maxime Ripard 2017-11-27 10:30 ` [PATCH 00/13] remove_conflicting_framebuffers() cleanup Daniel Vetter 2017-11-27 10:30 ` Daniel Vetter 2017-11-27 10:33 ` Thierry Reding 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz [not found] ` <20171127103044.faakzch7ehlkc3or-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2017-11-27 10:33 ` Thierry Reding 2018-01-03 15:04 ` Bartlomiej Zolnierkiewicz 2018-08-30 21:00 ` [PATCH v2 00/12] " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 01/12] fbdev: show fbdev number for debugging Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 02/12] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-31 8:56 ` Daniel Vetter 2018-08-31 8:56 ` Daniel Vetter 2018-08-31 8:56 ` Daniel Vetter [not found] ` <20180831085656.GR21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-08-31 9:01 ` Daniel Vetter 2018-08-31 9:01 ` Daniel Vetter 2018-08-31 9:01 ` Daniel Vetter 2018-08-31 9:01 ` Daniel Vetter 2018-08-30 21:00 ` [PATCH v2 01/12] fbdev: show fbdev number for debugging Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 03/12] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 04/12] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 06/12] drm/cirrus: " Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 05/12] drm/bochs: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 06/12] drm/cirrus: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 05/12] drm/bochs: " Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 08/12] drm/radeon: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 07/12] drm/mgag200: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 09/12] drm/virtio: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 10/12] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 11/12] drm/sun4i: " Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` [PATCH v2 12/12] drm/tegra: kick out simplefb Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-30 21:00 ` Michał Mirosław 2018-08-31 9:04 ` [PATCH v2 00/12] remove_conflicting_framebuffers() cleanup Daniel Vetter 2018-08-31 9:04 ` Daniel Vetter 2018-08-31 9:04 ` Daniel Vetter 2018-08-31 9:07 ` Chris Wilson [not found] ` <20180831090439.GT21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-08-31 9:07 ` Chris Wilson 2018-08-31 9:07 ` Chris Wilson 2018-08-31 9:07 ` Chris Wilson 2018-09-01 13:45 ` Michał Mirosław 2018-09-01 13:45 ` Michał Mirosław 2018-09-01 13:45 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 00/13] " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 02/13] fbdev: allow apertures == NULL in remove_conflicting_framebuffers() Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 01/13] fbdev: show fbdev number for debugging Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 04/13] fbdev: add remove_conflicting_pci_framebuffers() Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-03 16:16 ` Daniel Vetter 2018-09-03 16:16 ` Daniel Vetter 2018-09-03 16:16 ` Daniel Vetter 2018-09-04 15:40 ` kbuild test robot 2018-09-04 15:40 ` kbuild test robot 2018-09-04 15:40 ` kbuild test robot 2018-09-04 15:40 ` kbuild test robot 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 03/13] fbdev: add kerneldoc do remove_conflicting_framebuffers() Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław [not found] ` <283fef19815b991700b56119d8d5874a2a8da44e.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2018-09-05 11:02 ` Paul Menzel 2018-09-05 11:02 ` Paul Menzel 2018-09-05 11:02 ` Paul Menzel 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 05/13] drm/amdgpu: use simpler remove_conflicting_pci_framebuffers() Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 06/13] drm/bochs: " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 07/13] drm/cirrus: " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 08/13] drm/mgag200: " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 09/13] drm/radeon: " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 08/13] drm/mgag200: " Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 10/13] drm/virtio: " Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 11/13] drm/vc4: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 13/13] drm/tegra: kick out simplefb Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 13/13] drm/tegra: kick out simplefb Michał Mirosław 2018-09-01 14:08 ` [PATCH v3 12/13] drm/sun4i: use simpler remove_conflicting_framebuffers(NULL) Michał Mirosław [not found] ` <cover.1535810304.git.mirq-linux-CoA6ZxLDdyEEUmgCuDUIdw@public.gmane.org> 2018-09-03 7:43 ` [PATCH v3 00/13] remove_conflicting_framebuffers() cleanup Daniel Vetter 2018-09-03 7:43 ` Daniel Vetter 2018-09-03 7:43 ` Daniel Vetter 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz [not found] ` <20180903074315.GB21634-dv86pmgwkMBes7Z6vYuT8azUEOm+Xw19@public.gmane.org> 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 2018-09-03 11:31 ` Bartlomiej Zolnierkiewicz 2018-09-03 16:26 ` Daniel Vetter 2018-09-03 16:26 ` Daniel Vetter 2018-09-03 16:26 ` Daniel Vetter 2018-09-03 16:26 ` Daniel Vetter 2018-09-03 7:43 ` Daniel Vetter 2018-08-30 21:00 ` [PATCH v2 00/12] " Michał Mirosław
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.