When we can't allocate a new channel, we can simply return instead of
having to handle both cases, and that simplifies a bit the code.

Reviewed-by: Thomas Zimmermann <tzimmerm...@suse.de>
Signed-off-by: Maxime Ripard <max...@cerno.tech>
---
 drivers/gpu/drm/vc4/vc4_kms.c | 13 ++++++-------
 1 file changed, 6 insertions(+), 7 deletions(-)

diff --git a/drivers/gpu/drm/vc4/vc4_kms.c b/drivers/gpu/drm/vc4/vc4_kms.c
index ba310c0ab5f6..8937eb0b751d 100644
--- a/drivers/gpu/drm/vc4/vc4_kms.c
+++ b/drivers/gpu/drm/vc4/vc4_kms.c
@@ -794,6 +794,7 @@ static int vc4_pv_muxing_atomic_check(struct drm_device 
*dev,
                        to_vc4_crtc_state(new_crtc_state);
                struct vc4_crtc *vc4_crtc = to_vc4_crtc(crtc);
                unsigned int matching_channels;
+               unsigned int channel;
 
                /* Nothing to do here, let's skip it */
                if (old_crtc_state->enable == new_crtc_state->enable)
@@ -834,14 +835,12 @@ static int vc4_pv_muxing_atomic_check(struct drm_device 
*dev,
                 * but it works so far.
                 */
                matching_channels = hvs_new_state->unassigned_channels & 
vc4_crtc->data->hvs_available_channels;
-               if (matching_channels) {
-                       unsigned int channel = ffs(matching_channels) - 1;
-
-                       new_vc4_crtc_state->assigned_channel = channel;
-                       hvs_new_state->unassigned_channels &= ~BIT(channel);
-               } else {
+               if (!matching_channels)
                        return -EINVAL;
-               }
+
+               channel = ffs(matching_channels) - 1;
+               new_vc4_crtc_state->assigned_channel = channel;
+               hvs_new_state->unassigned_channels &= ~BIT(channel);
        }
 
        return 0;
-- 
2.28.0

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/dri-devel

Reply via email to