[Intel-gfx] [PATCH 00/51] drm managed resources, v2
Daniel Vetter
daniel.vetter at ffwll.ch
Fri Feb 21 21:02:28 UTC 2020
Hi all,
Reading instructions still the same, first the doc patch at the end, then
the other stuff.
_Lots_ of small changes all over, a few fixes, mostly polish. I think this
should fix the "oops we've broken debugfs" issue that CI spotted on i915.
I think that was due to the totally busted pointer math breaking drm_minor
cleanup and hence debugfs cleanup somewhat. At least with this updated
series here now I can't repro the issue anymore.
Up to patch 27 there's pretty strict dependencies, so that stuff needs to
land first and in order. If you got review time, most appreciated for
those patches (plus the doc patch at the end ofc).
Once those are in I can start with the devm_drm_dev_alloc macro that I
promised to hide the somewhat unsightly drmm_add_final_kfree.
Testing, review, all very much welcome as usual!
Cheers, 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/inigenic: 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 +
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 | 219 ++++++-------
drivers/gpu/drm/drm_gem.c | 21 +-
drivers/gpu/drm/drm_internal.h | 5 +-
drivers/gpu/drm/drm_managed.c | 294 ++++++++++++++++++
drivers/gpu/drm/drm_mipi_dbi.c | 24 +-
drivers/gpu/drm/drm_mode_config.c | 13 +-
drivers/gpu/drm/drm_vblank.c | 31 +-
drivers/gpu/drm/i915/i915_drv.c | 21 +-
drivers/gpu/drm/i915/i915_drv.h | 3 +
.../gpu/drm/i915/selftests/mock_gem_device.c | 20 +-
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 | 10 +-
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 | 225 +++++---------
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 | 14 +-
drivers/gpu/drm/tiny/st7586.c | 5 +-
drivers/gpu/drm/tiny/st7735r.c | 5 +-
drivers/gpu/drm/udl/udl_drv.c | 14 +-
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 | 12 +
include/drm/drm_drv.h | 9 +-
include/drm/drm_managed.h | 116 +++++++
include/drm/drm_mipi_dbi.h | 1 -
include/drm/drm_mode_config.h | 2 +-
include/drm/drm_print.h | 6 +
mm/slob.c | 2 +
mm/slub.c | 2 +
60 files changed, 858 insertions(+), 602 deletions(-)
create mode 100644 drivers/gpu/drm/drm_managed.c
create mode 100644 include/drm/drm_managed.h
--
2.24.1
More information about the Intel-gfx
mailing list