[PATCH 5/8] drm/vc4: Simplify a bit the global atomic_check

Thomas Zimmermann tzimmermann at suse.de
Thu Nov 19 04:32:01 EST 2020



Am 13.11.20 um 16:29 schrieb Maxime Ripard:
> 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.
> 
> Signed-off-by: Maxime Ripard <maxime at cerno.tech>

Reviewed-by: Thomas Zimmermann <tzimmermann at suse.de>

> ---
>   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 3d0065df10f9..3034a5a6637e 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) ||
> @@ -837,14 +838,12 @@ static int vc4_pv_muxing_atomic_check(struct drm_device *dev,
>   		 * but it works so far.
>   		 */
>   		matching_channels = hvs_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_state->unassigned_channels &= ~BIT(channel);
> -		} else {
> +		if (!matching_channels)
>   			return -EINVAL;
> -		}
> +
> +		channel = ffs(matching_channels) - 1;
> +		new_vc4_crtc_state->assigned_channel = channel;
> +		hvs_state->unassigned_channels &= ~BIT(channel);
>   	}
>   
>   	return 0;
> 

-- 
Thomas Zimmermann
Graphics Driver Developer
SUSE Software Solutions Germany GmbH
Maxfeldstr. 5, 90409 Nürnberg, Germany
(HRB 36809, AG Nürnberg)
Geschäftsführer: Felix Imendörffer
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_0x680DC11D530B7A23.asc
Type: application/pgp-keys
Size: 7435 bytes
Desc: not available
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201119/931556a7/attachment.bin>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: OpenPGP_signature
Type: application/pgp-signature
Size: 840 bytes
Desc: OpenPGP digital signature
URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20201119/931556a7/attachment.sig>


More information about the linux-arm-kernel mailing list