[PATCH 00/14] drm/mgag200: Use managed interfaces for auto-cleanup

Thomas Zimmermann tzimmermann at suse.de
Fri Jun 5 13:57:49 UTC 2020


This patchset cleans up mgag200 device initialization, embeds the
DRM device instance in struct mga_device and finally converts device
initialization to managed interfaces.

Patches 1 and 2 are actually unrelated. Both remove artifacts that got
lost from earlier patch series. We're fixing this before introducing new
changes.

Patches 3 to 7 cleanup the memory management code and convert it to
managed. Specifically, all MM code is being moved into a the same file.
That makes it more obvious what's going on and will allow for further
cleanups later on.

Modesetting is already cleaned up automatically, so there's nothing
to do here.

With modesetting and MM done, patches 8 to 14 convert the device
initialization to managed interfaces. The allocation is split among
several functions and we move it to the same place in patches 11 and
12. That is also a good opportunity to embed the DRM device instance
in struct mga_device in patch 13. Patch 14 adds managed release of the
device structure.

Tested on Matrox G200SE HW.

Thomas Zimmermann (14):
  drm/mgag200: Remove declaration of mgag200_mmap() from header file
  drm/mgag200: Remove mgag200_cursor.c
  drm/mgag200: Use pcim_enable_device()
  drm/mgag200: Rename mgag200_ttm.c to mgag200_mm.c
  drm/mgag200: Lookup VRAM PCI BAR start and length only once
  drm/mgag200: Merge VRAM setup into MM initialization
  drm/mgag200: Switch to managed MM
  drm/mgag200: Separate DRM and PCI functionality from each other
  drm/mgag200: Prefix global names in mgag200_drv.c with mgag200_
  drm/mgag200: Move device init and cleanup to mgag200_drv.c
  drm/mgag200: Separate device initialization into allocation
  drm/mgag200: Allocate device structures in mgag200_driver_load()
  drm/mgag200: Embed instance of struct drm_device in struct mga_device
  drm/mgag200: Use managed device initialization

 drivers/gpu/drm/mgag200/Makefile              |   3 +-
 drivers/gpu/drm/mgag200/mgag200_cursor.c      | 319 ------------------
 drivers/gpu/drm/mgag200/mgag200_drv.c         | 161 ++++++---
 drivers/gpu/drm/mgag200/mgag200_drv.h         |  11 +-
 drivers/gpu/drm/mgag200/mgag200_main.c        | 155 ---------
 .../mgag200/{mgag200_ttm.c => mgag200_mm.c}   |  99 ++++--
 drivers/gpu/drm/mgag200/mgag200_mode.c        |  12 +-
 7 files changed, 195 insertions(+), 565 deletions(-)
 delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
 delete mode 100644 drivers/gpu/drm/mgag200/mgag200_main.c
 rename drivers/gpu/drm/mgag200/{mgag200_ttm.c => mgag200_mm.c} (51%)

--
2.26.2


Thomas Zimmermann (14):
  drm/mgag200: Remove declaration of mgag200_mmap() from header file
  drm/mgag200: Remove mgag200_cursor.c
  drm/mgag200: Use pcim_enable_device()
  drm/mgag200: Rename mgag200_ttm.c to mgag200_mm.c
  drm/mgag200: Lookup VRAM PCI BAR start and length only once
  drm/mgag200: Merge VRAM setup into MM initialization
  drm/mgag200: Switch to managed MM
  drm/mgag200: Separate DRM and PCI functionality from each other
  drm/mgag200: Prefix global names in mgag200_drv.c with mgag200_
  drm/mgag200: Move device init and cleanup to mgag200_drv.c
  drm/mgag200: Separate device initialization into allocation
  drm/mgag200: Allocate device structures in mgag200_driver_load()
  drm/mgag200: Embed instance of struct drm_device in struct mga_device
  drm/mgag200: Use managed device initialization

 drivers/gpu/drm/mgag200/Makefile              |   3 +-
 drivers/gpu/drm/mgag200/mgag200_cursor.c      | 319 ------------------
 drivers/gpu/drm/mgag200/mgag200_drv.c         | 161 ++++++---
 drivers/gpu/drm/mgag200/mgag200_drv.h         |  11 +-
 drivers/gpu/drm/mgag200/mgag200_main.c        | 155 ---------
 .../mgag200/{mgag200_ttm.c => mgag200_mm.c}   |  99 ++++--
 drivers/gpu/drm/mgag200/mgag200_mode.c        |  12 +-
 7 files changed, 195 insertions(+), 565 deletions(-)
 delete mode 100644 drivers/gpu/drm/mgag200/mgag200_cursor.c
 delete mode 100644 drivers/gpu/drm/mgag200/mgag200_main.c
 rename drivers/gpu/drm/mgag200/{mgag200_ttm.c => mgag200_mm.c} (51%)

--
2.26.2



More information about the dri-devel mailing list