Skip to content

Commit a72b045

Browse files
committed
drm/vc4: kms: Split the HVS muxing check in a separate function
The code that assigns HVS channels during atomic_check is starting to grow a bit big, let's move it into a separate function. Signed-off-by: Maxime Ripard <maxime@cerno.tech> Tested-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Reviewed-by: Hoegeun Kwon <hoegeun.kwon@samsung.com> Reviewed-by: Thomas Zimmermann <tzimmermann@suse.de> Link: https://patchwork.freedesktop.org/patch/msgid/20201105135656.383350-5-maxime@cerno.tech
1 parent a9661f2 commit a72b045

1 file changed

Lines changed: 15 additions & 3 deletions

File tree

drivers/gpu/drm/vc4/vc4_kms.c

Lines changed: 15 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -662,13 +662,13 @@ static int vc4_load_tracker_obj_init(struct vc4_dev *vc4)
662662
return drmm_add_action_or_reset(&vc4->base, vc4_load_tracker_obj_fini, NULL);
663663
}
664664

665-
static int
666-
vc4_atomic_check(struct drm_device *dev, struct drm_atomic_state *state)
665+
static int vc4_pv_muxing_atomic_check(struct drm_device *dev,
666+
struct drm_atomic_state *state)
667667
{
668668
unsigned long unassigned_channels = GENMASK(HVS_NUM_CHANNELS - 1, 0);
669669
struct drm_crtc_state *old_crtc_state, *new_crtc_state;
670670
struct drm_crtc *crtc;
671-
int i, ret;
671+
unsigned int i;
672672

673673
/*
674674
* Since the HVS FIFOs are shared across all the pixelvalves and
@@ -741,6 +741,18 @@ vc4_atomic_check(struct drm_device *dev, struct drm_atomic_state *state)
741741
}
742742
}
743743

744+
return 0;
745+
}
746+
747+
static int
748+
vc4_atomic_check(struct drm_device *dev, struct drm_atomic_state *state)
749+
{
750+
int ret;
751+
752+
ret = vc4_pv_muxing_atomic_check(dev, state);
753+
if (ret)
754+
return ret;
755+
744756
ret = vc4_ctm_atomic_check(dev, state);
745757
if (ret < 0)
746758
return ret;

0 commit comments

Comments
 (0)