Skip to content

Commit

Permalink
drm/vc4: Fix atomic_async_check to call the right mode_set function
Browse files Browse the repository at this point in the history
vc4_plane_atomic_async_check was always calling vc4_plane_mode_set
to validate and generate the dlist for the check. If async_check
decided it had to fall back to a sync commit, then this GEN4/5
dlist could get used on GEN6.

Call either vc4_plane_mode_set or vc6_plane_mode_set as appropriate.

Fixes: 1ab1fbb ("drm/vc4: hvs: Support BCM2712 HVS")
Signed-off-by: Dave Stevenson <[email protected]>
  • Loading branch information
6by9 committed Jan 17, 2024
1 parent 7149902 commit 969c5d8
Showing 1 changed file with 5 additions and 1 deletion.
6 changes: 5 additions & 1 deletion drivers/gpu/drm/vc4/vc4_plane.c
Original file line number Diff line number Diff line change
Expand Up @@ -2194,11 +2194,15 @@ static int vc4_plane_atomic_async_check(struct drm_plane *plane,
{
struct drm_plane_state *new_plane_state = drm_atomic_get_new_plane_state(state,
plane);
struct vc4_dev *vc4 = to_vc4_dev(plane->dev);
struct vc4_plane_state *old_vc4_state, *new_vc4_state;
int ret;
u32 i;

ret = vc4_plane_mode_set(plane, new_plane_state);
if (vc4->gen >= VC4_GEN_6)
ret = vc6_plane_mode_set(plane, new_plane_state);
else
ret = vc4_plane_mode_set(plane, new_plane_state);
if (ret)
return ret;

Expand Down

0 comments on commit 969c5d8

Please sign in to comment.