drm/vc4: crtc: Rework a bit the CRTC state code
authorMaxime Ripard <maxime@cerno.tech>
Wed, 23 Sep 2020 08:40:31 +0000 (10:40 +0200)
committerMaxime Ripard <maxime@cerno.tech>
Fri, 25 Sep 2020 14:55:47 +0000 (16:55 +0200)
commit427c4a0680a28f87bb9c7bbfeac26b39ef8682ad
tree782db461232c3ea665e5b3f68c6d3a22c2b12338
parentde194561359788871f7d8f5f7797557a2a166b4e
drm/vc4: crtc: Rework a bit the CRTC state code

The current CRTC state reset hook in vc4 allocates a vc4_crtc_state
structure as a drm_crtc_state, and relies on the fact that vc4_crtc_state
embeds drm_crtc_state as its first member, and therefore can be safely
cast.

However, this is pretty fragile especially since there's no check for this
in place, and we're going to need to access vc4_crtc_state member at reset
so this looks like a good occasion to make it more robust.

Fixes: 6d6e50039187 ("drm/vc4: Allocate the right amount of space for boot-time CRTC state.")
Signed-off-by: Maxime Ripard <maxime@cerno.tech>
Tested-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Reviewed-by: Dave Stevenson <dave.stevenson@raspberrypi.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200923084032.218619-1-maxime@cerno.tech
drivers/gpu/drm/vc4/vc4_crtc.c