[00/51] drm_device managed resources, v5
mbox series

Message ID 20200323144950.3018436-1-daniel.vetter@ffwll.ch
Headers show
Series
  • drm_device managed resources, v5
Related show

Message

Daniel Vetter March 23, 2020, 2:48 p.m. UTC
Hi all,

Another round, another set of polish all over. intel-gfx-ci was happy last
time around (after I fixed a fumble), so really just review and comments
needed now. There's still a few patches at the beginning holding the
entire thing up and preventing merging of the driver patches which have
acks/r-b already.

Thanks, Daniel

Daniel Vetter (51):
  mm/sl[uo]b: export __kmalloc_track(_node)_caller
  drm/i915: Don't clear drvdata in ->release
  drm: add managed resources tied to drm_device
  drm: Set final_kfree in drm_dev_alloc
  drm/mipi_dbi: Use drmm_add_final_kfree in all drivers
  drm/udl: Use drmm_add_final_kfree
  drm/qxl: Use drmm_add_final_kfree
  drm/i915: Use drmm_add_final_kfree
  drm/cirrus: Use drmm_add_final_kfree
  drm/v3d: Use drmm_add_final_kfree
  drm/tidss: Use drmm_add_final_kfree
  drm/mcde: Use drmm_add_final_kfree
  drm/vgem: Use drmm_add_final_kfree
  drm/vkms: Use drmm_add_final_kfree
  drm/repaper: Use drmm_add_final_kfree
  drm/ingenic: Use drmm_add_final_kfree
  drm/gm12u320: Use drmm_add_final_kfree
  drm/<drivers>: Use drmm_add_final_kfree
  drm: Cleanups after drmm_add_final_kfree rollout
  drm: Handle dev->unique with drmm_
  drm: Use drmm_ for drm_dev_init cleanup
  drm: manage drm_minor cleanup with drmm_
  drm: Manage drm_gem_init with drmm_
  drm: Manage drm_vblank_cleanup with drmm_
  drm: Garbage collect drm_dev_fini
  drm: Manage drm_mode_config_init with drmm_
  drm/bochs: Remove leftover drm_atomic_helper_shutdown
  drm/bochs: Drop explicit drm_mode_config_cleanup
  drm/cirrus: Drop explicit drm_mode_config_cleanup call
  drm/cirrus: Fully embrace devm_
  drm/ingenic: Drop explicit drm_mode_config_cleanup call
  drm/mcde: Drop explicit drm_mode_config_cleanup call
  drm/mcde: More devm_drm_dev_init
  drm/meson: Drop explicit drm_mode_config_cleanup call
  drm/pl111: Drop explicit drm_mode_config_cleanup call
  drm/rcar-du: Drop explicit drm_mode_config_cleanup call
  drm/rockchip: Drop explicit drm_mode_config_cleanup call
  drm/stm: Drop explicit drm_mode_config_cleanup call
  drm/shmob: Drop explicit drm_mode_config_cleanup call
  drm/mtk: Drop explicit drm_mode_config_cleanup call
  drm/tidss: Drop explicit drm_mode_config_cleanup call
  drm/gm12u320: More drmm_
  drm/gm12u320: Use devm_drm_dev_init
  drm/gm12u320: Use helpers for shutdown/suspend/resume
  drm/gm12u320: Simplify upload work
  drm/repaper: Drop explicit drm_mode_config_cleanup call
  drm/mipi-dbi: Move drm_mode_config_init into mipi library
  drm/mipi-dbi: Drop explicit drm_mode_config_cleanup call
  drm/udl: Drop explicit drm_mode_config_cleanup call
  drm/udl: drop drm_driver.release hook
  drm: Add docs for managed resources

 Documentation/gpu/drm-internals.rst           |  12 +
 Documentation/gpu/drm-kms.rst                 |   2 +-
 drivers/gpu/drm/Makefile                      |   3 +-
 .../gpu/drm/arm/display/komeda/komeda_kms.c   |   2 +
 drivers/gpu/drm/armada/armada_drv.c           |   2 +
 drivers/gpu/drm/bochs/bochs.h                 |   1 -
 drivers/gpu/drm/bochs/bochs_drv.c             |   6 +-
 drivers/gpu/drm/bochs/bochs_kms.c             |  15 +-
 drivers/gpu/drm/cirrus/cirrus.c               |  74 ++---
 drivers/gpu/drm/drm_drv.c                     | 215 ++++++--------
 drivers/gpu/drm/drm_gem.c                     |  21 +-
 drivers/gpu/drm/drm_internal.h                |   5 +-
 drivers/gpu/drm/drm_managed.c                 | 276 ++++++++++++++++++
 drivers/gpu/drm/drm_mipi_dbi.c                |  24 +-
 drivers/gpu/drm/drm_mode_config.c             |  23 +-
 drivers/gpu/drm/drm_vblank.c                  |  31 +-
 drivers/gpu/drm/i915/i915_drv.c               |  22 +-
 drivers/gpu/drm/i915/i915_drv.h               |   3 +
 .../gpu/drm/i915/selftests/mock_gem_device.c  |  32 +-
 drivers/gpu/drm/ingenic/ingenic-drm.c         |  17 +-
 drivers/gpu/drm/mcde/mcde_drv.c               |  35 +--
 drivers/gpu/drm/mediatek/mtk_drm_drv.c        |   9 +-
 drivers/gpu/drm/meson/meson_drv.c             |   5 +-
 drivers/gpu/drm/pl111/pl111_drv.c             |  12 +-
 drivers/gpu/drm/qxl/qxl_drv.c                 |   2 -
 drivers/gpu/drm/qxl/qxl_kms.c                 |   2 +
 drivers/gpu/drm/rcar-du/rcar_du_drv.c         |   1 -
 drivers/gpu/drm/rcar-du/rcar_du_kms.c         |   4 +-
 drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |  14 +-
 drivers/gpu/drm/shmobile/shmob_drm_drv.c      |   2 -
 drivers/gpu/drm/shmobile/shmob_drm_kms.c      |   6 +-
 drivers/gpu/drm/stm/drv.c                     |  10 +-
 drivers/gpu/drm/tidss/tidss_drv.c             |  10 +-
 drivers/gpu/drm/tidss/tidss_kms.c             |  19 +-
 drivers/gpu/drm/tidss/tidss_kms.h             |   1 -
 drivers/gpu/drm/tiny/gm12u320.c               | 226 ++++++--------
 drivers/gpu/drm/tiny/hx8357d.c                |   5 +-
 drivers/gpu/drm/tiny/ili9225.c                |   5 +-
 drivers/gpu/drm/tiny/ili9341.c                |   5 +-
 drivers/gpu/drm/tiny/ili9486.c                |   5 +-
 drivers/gpu/drm/tiny/mi0283qt.c               |   5 +-
 drivers/gpu/drm/tiny/repaper.c                |  18 +-
 drivers/gpu/drm/tiny/st7586.c                 |   5 +-
 drivers/gpu/drm/tiny/st7735r.c                |   5 +-
 drivers/gpu/drm/udl/udl_drv.c                 |  16 +-
 drivers/gpu/drm/udl/udl_drv.h                 |   2 -
 drivers/gpu/drm/udl/udl_main.c                |  10 -
 drivers/gpu/drm/udl/udl_modeset.c             |  21 +-
 drivers/gpu/drm/v3d/v3d_drv.c                 |  38 +--
 drivers/gpu/drm/vboxvideo/vbox_drv.c          |   2 +
 drivers/gpu/drm/vgem/vgem_drv.c               |  15 +-
 drivers/gpu/drm/vkms/vkms_drv.c               |  19 +-
 drivers/gpu/drm/xen/xen_drm_front.c           |   4 +-
 include/drm/drm_device.h                      |  15 +
 include/drm/drm_drv.h                         |   9 +-
 include/drm/drm_managed.h                     | 109 +++++++
 include/drm/drm_mipi_dbi.h                    |   1 -
 include/drm/drm_mode_config.h                 |  18 +-
 include/drm/drm_print.h                       |   6 +
 mm/slob.c                                     |   2 +
 mm/slub.c                                     |   2 +
 61 files changed, 872 insertions(+), 614 deletions(-)
 create mode 100644 drivers/gpu/drm/drm_managed.c
 create mode 100644 include/drm/drm_managed.h

Comments

Daniel Vetter March 26, 2020, 3:10 p.m. UTC | #1
On Mon, Mar 23, 2020 at 03:48:59PM +0100, Daniel Vetter wrote:
> Hi all,
> 
> Another round, another set of polish all over. intel-gfx-ci was happy last
> time around (after I fixed a fumble), so really just review and comments
> needed now. There's still a few patches at the beginning holding the
> entire thing up and preventing merging of the driver patches which have
> acks/r-b already.
> 
> Thanks, Daniel

Ok got them all, applied them all. Thanks a lot to everyone for providing
review, feedback and testing on these.

Thanks, Daniel

> 
> Daniel Vetter (51):
>   mm/sl[uo]b: export __kmalloc_track(_node)_caller
>   drm/i915: Don't clear drvdata in ->release
>   drm: add managed resources tied to drm_device
>   drm: Set final_kfree in drm_dev_alloc
>   drm/mipi_dbi: Use drmm_add_final_kfree in all drivers
>   drm/udl: Use drmm_add_final_kfree
>   drm/qxl: Use drmm_add_final_kfree
>   drm/i915: Use drmm_add_final_kfree
>   drm/cirrus: Use drmm_add_final_kfree
>   drm/v3d: Use drmm_add_final_kfree
>   drm/tidss: Use drmm_add_final_kfree
>   drm/mcde: Use drmm_add_final_kfree
>   drm/vgem: Use drmm_add_final_kfree
>   drm/vkms: Use drmm_add_final_kfree
>   drm/repaper: Use drmm_add_final_kfree
>   drm/ingenic: Use drmm_add_final_kfree
>   drm/gm12u320: Use drmm_add_final_kfree
>   drm/<drivers>: Use drmm_add_final_kfree
>   drm: Cleanups after drmm_add_final_kfree rollout
>   drm: Handle dev->unique with drmm_
>   drm: Use drmm_ for drm_dev_init cleanup
>   drm: manage drm_minor cleanup with drmm_
>   drm: Manage drm_gem_init with drmm_
>   drm: Manage drm_vblank_cleanup with drmm_
>   drm: Garbage collect drm_dev_fini
>   drm: Manage drm_mode_config_init with drmm_
>   drm/bochs: Remove leftover drm_atomic_helper_shutdown
>   drm/bochs: Drop explicit drm_mode_config_cleanup
>   drm/cirrus: Drop explicit drm_mode_config_cleanup call
>   drm/cirrus: Fully embrace devm_
>   drm/ingenic: Drop explicit drm_mode_config_cleanup call
>   drm/mcde: Drop explicit drm_mode_config_cleanup call
>   drm/mcde: More devm_drm_dev_init
>   drm/meson: Drop explicit drm_mode_config_cleanup call
>   drm/pl111: Drop explicit drm_mode_config_cleanup call
>   drm/rcar-du: Drop explicit drm_mode_config_cleanup call
>   drm/rockchip: Drop explicit drm_mode_config_cleanup call
>   drm/stm: Drop explicit drm_mode_config_cleanup call
>   drm/shmob: Drop explicit drm_mode_config_cleanup call
>   drm/mtk: Drop explicit drm_mode_config_cleanup call
>   drm/tidss: Drop explicit drm_mode_config_cleanup call
>   drm/gm12u320: More drmm_
>   drm/gm12u320: Use devm_drm_dev_init
>   drm/gm12u320: Use helpers for shutdown/suspend/resume
>   drm/gm12u320: Simplify upload work
>   drm/repaper: Drop explicit drm_mode_config_cleanup call
>   drm/mipi-dbi: Move drm_mode_config_init into mipi library
>   drm/mipi-dbi: Drop explicit drm_mode_config_cleanup call
>   drm/udl: Drop explicit drm_mode_config_cleanup call
>   drm/udl: drop drm_driver.release hook
>   drm: Add docs for managed resources
> 
>  Documentation/gpu/drm-internals.rst           |  12 +
>  Documentation/gpu/drm-kms.rst                 |   2 +-
>  drivers/gpu/drm/Makefile                      |   3 +-
>  .../gpu/drm/arm/display/komeda/komeda_kms.c   |   2 +
>  drivers/gpu/drm/armada/armada_drv.c           |   2 +
>  drivers/gpu/drm/bochs/bochs.h                 |   1 -
>  drivers/gpu/drm/bochs/bochs_drv.c             |   6 +-
>  drivers/gpu/drm/bochs/bochs_kms.c             |  15 +-
>  drivers/gpu/drm/cirrus/cirrus.c               |  74 ++---
>  drivers/gpu/drm/drm_drv.c                     | 215 ++++++--------
>  drivers/gpu/drm/drm_gem.c                     |  21 +-
>  drivers/gpu/drm/drm_internal.h                |   5 +-
>  drivers/gpu/drm/drm_managed.c                 | 276 ++++++++++++++++++
>  drivers/gpu/drm/drm_mipi_dbi.c                |  24 +-
>  drivers/gpu/drm/drm_mode_config.c             |  23 +-
>  drivers/gpu/drm/drm_vblank.c                  |  31 +-
>  drivers/gpu/drm/i915/i915_drv.c               |  22 +-
>  drivers/gpu/drm/i915/i915_drv.h               |   3 +
>  .../gpu/drm/i915/selftests/mock_gem_device.c  |  32 +-
>  drivers/gpu/drm/ingenic/ingenic-drm.c         |  17 +-
>  drivers/gpu/drm/mcde/mcde_drv.c               |  35 +--
>  drivers/gpu/drm/mediatek/mtk_drm_drv.c        |   9 +-
>  drivers/gpu/drm/meson/meson_drv.c             |   5 +-
>  drivers/gpu/drm/pl111/pl111_drv.c             |  12 +-
>  drivers/gpu/drm/qxl/qxl_drv.c                 |   2 -
>  drivers/gpu/drm/qxl/qxl_kms.c                 |   2 +
>  drivers/gpu/drm/rcar-du/rcar_du_drv.c         |   1 -
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c         |   4 +-
>  drivers/gpu/drm/rockchip/rockchip_drm_drv.c   |  14 +-
>  drivers/gpu/drm/shmobile/shmob_drm_drv.c      |   2 -
>  drivers/gpu/drm/shmobile/shmob_drm_kms.c      |   6 +-
>  drivers/gpu/drm/stm/drv.c                     |  10 +-
>  drivers/gpu/drm/tidss/tidss_drv.c             |  10 +-
>  drivers/gpu/drm/tidss/tidss_kms.c             |  19 +-
>  drivers/gpu/drm/tidss/tidss_kms.h             |   1 -
>  drivers/gpu/drm/tiny/gm12u320.c               | 226 ++++++--------
>  drivers/gpu/drm/tiny/hx8357d.c                |   5 +-
>  drivers/gpu/drm/tiny/ili9225.c                |   5 +-
>  drivers/gpu/drm/tiny/ili9341.c                |   5 +-
>  drivers/gpu/drm/tiny/ili9486.c                |   5 +-
>  drivers/gpu/drm/tiny/mi0283qt.c               |   5 +-
>  drivers/gpu/drm/tiny/repaper.c                |  18 +-
>  drivers/gpu/drm/tiny/st7586.c                 |   5 +-
>  drivers/gpu/drm/tiny/st7735r.c                |   5 +-
>  drivers/gpu/drm/udl/udl_drv.c                 |  16 +-
>  drivers/gpu/drm/udl/udl_drv.h                 |   2 -
>  drivers/gpu/drm/udl/udl_main.c                |  10 -
>  drivers/gpu/drm/udl/udl_modeset.c             |  21 +-
>  drivers/gpu/drm/v3d/v3d_drv.c                 |  38 +--
>  drivers/gpu/drm/vboxvideo/vbox_drv.c          |   2 +
>  drivers/gpu/drm/vgem/vgem_drv.c               |  15 +-
>  drivers/gpu/drm/vkms/vkms_drv.c               |  19 +-
>  drivers/gpu/drm/xen/xen_drm_front.c           |   4 +-
>  include/drm/drm_device.h                      |  15 +
>  include/drm/drm_drv.h                         |   9 +-
>  include/drm/drm_managed.h                     | 109 +++++++
>  include/drm/drm_mipi_dbi.h                    |   1 -
>  include/drm/drm_mode_config.h                 |  18 +-
>  include/drm/drm_print.h                       |   6 +
>  mm/slob.c                                     |   2 +
>  mm/slub.c                                     |   2 +
>  61 files changed, 872 insertions(+), 614 deletions(-)
>  create mode 100644 drivers/gpu/drm/drm_managed.c
>  create mode 100644 include/drm/drm_managed.h
> 
> -- 
> 2.25.1
>