mbox series

[0/5] sysfb: Fix memory-region management

Message ID 20220125091222.21457-1-tzimmermann@suse.de (mailing list archive)
Headers show
Series sysfb: Fix memory-region management | expand

Message

Thomas Zimmermann Jan. 25, 2022, 9:12 a.m. UTC
Request framebuffer memory in simpledrm and simplefb. Do a hot-unplug
operation when removing fbdev firmware drivers.

After being unloaded by a hardware driver, simplefb leaves behind the
firmware framebuffer's platform device. This prevents other drivers
from acquiring the memory as reported at [1].

Patch 1 changes the removal code of remove_conflicting_framebuffers()
to remove the underlying device and the rsp memory region.

Patches 2 to 4 update sysfb and its drivers. The sysfb code does no
longer mark the framebuffer memory with IORESOURCE_BUSY. Instead, the
device drivers acquire the memory when they probe the device.

Patch 5 adds a todo item to acquire memory regions in all DRM drivers.

Tested with simpledrm and simplefb.

[1] https://lore.kernel.org/dri-devel/20220117180359.18114-1-zack@kde.org/

v2:
	* fix possible NULL deref in simpledrm (Jocelyn)
	* various style fixes (Javier)

Javier Martinez Canillas (1):
  drivers/firmware: Don't mark as busy the simple-framebuffer IO
    resource

Thomas Zimmermann (4):
  fbdev: Hot-unplug firmware fb devices on forced removal
  drm/simpledrm: Request memory region in driver
  fbdev/simplefb: Request memory region in driver
  drm: Add TODO item for requesting memory regions

 Documentation/gpu/todo.rst        | 15 +++++++
 drivers/firmware/sysfb_simplefb.c |  2 +-
 drivers/gpu/drm/tiny/simpledrm.c  | 22 ++++++++---
 drivers/video/fbdev/core/fbmem.c  | 29 ++++++++++++--
 drivers/video/fbdev/simplefb.c    | 65 +++++++++++++++++++++----------
 include/linux/fb.h                |  1 +
 6 files changed, 105 insertions(+), 29 deletions(-)


base-commit: 0bb81b5d6db5f689b67f9d8b35323235c45e890f
prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
prerequisite-patch-id: 8e52143a6cd7b8fb789e656208f6edde71d0f499

Comments

Thomas Zimmermann Jan. 25, 2022, 9:13 a.m. UTC | #1
This v2 of the patchset. I forgot to adapt the subject line :/

Am 25.01.22 um 10:12 schrieb Thomas Zimmermann:
> Request framebuffer memory in simpledrm and simplefb. Do a hot-unplug
> operation when removing fbdev firmware drivers.
> 
> After being unloaded by a hardware driver, simplefb leaves behind the
> firmware framebuffer's platform device. This prevents other drivers
> from acquiring the memory as reported at [1].
> 
> Patch 1 changes the removal code of remove_conflicting_framebuffers()
> to remove the underlying device and the rsp memory region.
> 
> Patches 2 to 4 update sysfb and its drivers. The sysfb code does no
> longer mark the framebuffer memory with IORESOURCE_BUSY. Instead, the
> device drivers acquire the memory when they probe the device.
> 
> Patch 5 adds a todo item to acquire memory regions in all DRM drivers.
> 
> Tested with simpledrm and simplefb.
> 
> [1] https://lore.kernel.org/dri-devel/20220117180359.18114-1-zack@kde.org/
> 
> v2:
> 	* fix possible NULL deref in simpledrm (Jocelyn)
> 	* various style fixes (Javier)
> 
> Javier Martinez Canillas (1):
>    drivers/firmware: Don't mark as busy the simple-framebuffer IO
>      resource
> 
> Thomas Zimmermann (4):
>    fbdev: Hot-unplug firmware fb devices on forced removal
>    drm/simpledrm: Request memory region in driver
>    fbdev/simplefb: Request memory region in driver
>    drm: Add TODO item for requesting memory regions
> 
>   Documentation/gpu/todo.rst        | 15 +++++++
>   drivers/firmware/sysfb_simplefb.c |  2 +-
>   drivers/gpu/drm/tiny/simpledrm.c  | 22 ++++++++---
>   drivers/video/fbdev/core/fbmem.c  | 29 ++++++++++++--
>   drivers/video/fbdev/simplefb.c    | 65 +++++++++++++++++++++----------
>   include/linux/fb.h                |  1 +
>   6 files changed, 105 insertions(+), 29 deletions(-)
> 
> 
> base-commit: 0bb81b5d6db5f689b67f9d8b35323235c45e890f
> prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
> prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
> prerequisite-patch-id: 8e52143a6cd7b8fb789e656208f6edde71d0f499
Hans de Goede Jan. 25, 2022, 3:34 p.m. UTC | #2
Hi Thomas,

On 1/25/22 10:12, Thomas Zimmermann wrote:
> Request framebuffer memory in simpledrm and simplefb. Do a hot-unplug
> operation when removing fbdev firmware drivers.
> 
> After being unloaded by a hardware driver, simplefb leaves behind the
> firmware framebuffer's platform device. This prevents other drivers
> from acquiring the memory as reported at [1].
> 
> Patch 1 changes the removal code of remove_conflicting_framebuffers()
> to remove the underlying device and the rsp memory region.
> 
> Patches 2 to 4 update sysfb and its drivers. The sysfb code does no
> longer mark the framebuffer memory with IORESOURCE_BUSY. Instead, the
> device drivers acquire the memory when they probe the device.
> 
> Patch 5 adds a todo item to acquire memory regions in all DRM drivers.
> 
> Tested with simpledrm and simplefb.
> 
> [1] https://lore.kernel.org/dri-devel/20220117180359.18114-1-zack@kde.org/
> 
> v2:
> 	* fix possible NULL deref in simpledrm (Jocelyn)
> 	* various style fixes (Javier)


The entire series looks good to me:

Reviewed-by: Hans de Goede <hdegoede@redhat.com>

for the series.

Regards,

Hans


> 
> Javier Martinez Canillas (1):
>   drivers/firmware: Don't mark as busy the simple-framebuffer IO
>     resource
> 
> Thomas Zimmermann (4):
>   fbdev: Hot-unplug firmware fb devices on forced removal
>   drm/simpledrm: Request memory region in driver
>   fbdev/simplefb: Request memory region in driver
>   drm: Add TODO item for requesting memory regions
> 
>  Documentation/gpu/todo.rst        | 15 +++++++
>  drivers/firmware/sysfb_simplefb.c |  2 +-
>  drivers/gpu/drm/tiny/simpledrm.c  | 22 ++++++++---
>  drivers/video/fbdev/core/fbmem.c  | 29 ++++++++++++--
>  drivers/video/fbdev/simplefb.c    | 65 +++++++++++++++++++++----------
>  include/linux/fb.h                |  1 +
>  6 files changed, 105 insertions(+), 29 deletions(-)
> 
> 
> base-commit: 0bb81b5d6db5f689b67f9d8b35323235c45e890f
> prerequisite-patch-id: c2b2f08f0eccc9f5df0c0da49fa1d36267deb11d
> prerequisite-patch-id: c67e5d886a47b7d0266d81100837557fda34cb24
> prerequisite-patch-id: 8e52143a6cd7b8fb789e656208f6edde71d0f499
>