drm/vc4: dpi: Protect device resources
authorMaxime Ripard <maxime@cerno.tech>
Wed, 11 May 2022 14:26:30 +0000 (16:26 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Wed, 7 Sep 2022 08:53:03 +0000 (10:53 +0200)
commit9b82ca81870ecc0f9b278a82fcb35ccc676f233a
treeb0fc56507cb23b1177a57ec09c12869459c25cd9
parentff4baa13887a29bdd98f40a24103a6ee3859892d
drm/vc4: dpi: Protect device resources

Our current code now mixes some resources whose lifetime are tied to the
device (clocks, IO mappings, etc.) and some that are tied to the DRM device
(encoder, bridge).

The device one will be freed at unbind time, but the DRM one will only be
freed when the last user of the DRM device closes its file handle.

So we end up with a time window during which we can call the encoder hooks,
but we don't have access to the underlying resources and device.

Let's protect all those sections with drm_dev_enter() and drm_dev_exit() so
that we bail out if we are during that window.

Acked-by: Thomas Zimmermann <tzimmermann@suse.de>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
drivers/gpu/drm/vc4/vc4_dpi.c