mbox series

[00/11] dma_fence critical sections annotations for atomic

Message ID 20210121152959.1725404-1-daniel.vetter@ffwll.ch (mailing list archive)
Headers show
Series dma_fence critical sections annotations for atomic | expand

Message

Daniel Vetter Jan. 21, 2021, 3:29 p.m. UTC
Hi all,

Finally gotten around to refreshing all the various fence anntotions I've
hast last summer. Or well parts of it:

- entire amdgpu and drm/scheduler annotations postponed for now, because
  there's way too many splats in there that need some work

- in recent patches I've seen quite a few dma_resv_lock or kmalloc in
  atomic_commit_tail, which doesn't work in full generality with the rules
  for dma_fences we've discussed and encoded in lockdep. These annotations
  should catch stuff like this.

Review comments and testing very much welcome.

Cheers, Daniel

Daniel Vetter (11):
  drm/atomic-helper: Add dma-fence annotations
  drm/vkms: Annotate vblank timer
  drm/vblank: Annotate with dma-fence signalling section
  drm/komeda: Annotate dma-fence critical section in commit path
  drm/malidp: Annotate dma-fence critical section in commit path
  drm/atmel: Use drm_atomic_helper_commit
  drm/imx: Annotate dma-fence critical section in commit path
  drm/omapdrm: Annotate dma-fence critical section in commit path
  drm/rcar-du: Annotate dma-fence critical section in commit path
  drm/tegra: Annotate dma-fence critical section in commit path
  drm/tidss: Annotate dma-fence critical section in commit path

 .../gpu/drm/arm/display/komeda/komeda_kms.c   |   3 +
 drivers/gpu/drm/arm/malidp_drv.c              |   3 +
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c  | 107 +-----------------
 drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h  |   7 --
 drivers/gpu/drm/drm_atomic_helper.c           |  16 +++
 drivers/gpu/drm/drm_vblank.c                  |   8 +-
 drivers/gpu/drm/imx/imx-drm-core.c            |   2 +
 drivers/gpu/drm/omapdrm/omap_drv.c            |   9 +-
 drivers/gpu/drm/rcar-du/rcar_du_kms.c         |   2 +
 drivers/gpu/drm/tegra/drm.c                   |   3 +
 drivers/gpu/drm/tidss/tidss_kms.c             |   4 +
 drivers/gpu/drm/vkms/vkms_crtc.c              |   8 +-
 12 files changed, 54 insertions(+), 118 deletions(-)

Comments

Daniel Vetter Feb. 23, 2021, 11:54 a.m. UTC | #1
On Thu, Jan 21, 2021 at 04:29:48PM +0100, Daniel Vetter wrote:
> Hi all,
> 
> Finally gotten around to refreshing all the various fence anntotions I've
> hast last summer. Or well parts of it:
> 
> - entire amdgpu and drm/scheduler annotations postponed for now, because
>   there's way too many splats in there that need some work
> 
> - in recent patches I've seen quite a few dma_resv_lock or kmalloc in
>   atomic_commit_tail, which doesn't work in full generality with the rules
>   for dma_fences we've discussed and encoded in lockdep. These annotations
>   should catch stuff like this.
> 
> Review comments and testing very much welcome.

I pulled in the acked/reviewed patches into drm-misc-next. Testing (enable
lockdep, test your driver) and review on the others very much appreciated.

Thanks, Daniel

> 
> Cheers, Daniel
> 
> Daniel Vetter (11):
>   drm/atomic-helper: Add dma-fence annotations
>   drm/vkms: Annotate vblank timer
>   drm/vblank: Annotate with dma-fence signalling section
>   drm/komeda: Annotate dma-fence critical section in commit path
>   drm/malidp: Annotate dma-fence critical section in commit path
>   drm/atmel: Use drm_atomic_helper_commit
>   drm/imx: Annotate dma-fence critical section in commit path
>   drm/omapdrm: Annotate dma-fence critical section in commit path
>   drm/rcar-du: Annotate dma-fence critical section in commit path
>   drm/tegra: Annotate dma-fence critical section in commit path
>   drm/tidss: Annotate dma-fence critical section in commit path
> 
>  .../gpu/drm/arm/display/komeda/komeda_kms.c   |   3 +
>  drivers/gpu/drm/arm/malidp_drv.c              |   3 +
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.c  | 107 +-----------------
>  drivers/gpu/drm/atmel-hlcdc/atmel_hlcdc_dc.h  |   7 --
>  drivers/gpu/drm/drm_atomic_helper.c           |  16 +++
>  drivers/gpu/drm/drm_vblank.c                  |   8 +-
>  drivers/gpu/drm/imx/imx-drm-core.c            |   2 +
>  drivers/gpu/drm/omapdrm/omap_drv.c            |   9 +-
>  drivers/gpu/drm/rcar-du/rcar_du_kms.c         |   2 +
>  drivers/gpu/drm/tegra/drm.c                   |   3 +
>  drivers/gpu/drm/tidss/tidss_kms.c             |   4 +
>  drivers/gpu/drm/vkms/vkms_crtc.c              |   8 +-
>  12 files changed, 54 insertions(+), 118 deletions(-)
> 
> -- 
> 2.30.0
>