[Intel-gfx] [PATCH 16/16] drm/vc4: Call drm_dev_register() after all setup is done

Daniel Vetter daniel at ffwll.ch
Tue Mar 26 20:40:37 UTC 2019


On Tue, Mar 26, 2019 at 06:55:46PM +0100, Noralf Trønnes wrote:
> drm_dev_register() initializes internal clients like bootsplash as the
> last thing it does, so all setup needs to be done at this point.
> 
> Fix by calling vc4_kms_load() before registering.
> Also check the error code returned from that function.
> 
> Cc: Eric Anholt <eric at anholt.net>
> Signed-off-by: Noralf Trønnes <noralf at tronnes.org>

Looks like this has been slightly backwards ever since vc4 landed. I guess
would have needed the split between kms setup and fbdev setup (which is
now done with the generic fbdev).

Reviewed-by: Daniel Vetter <daniel.vetter at ffwll.ch>

> ---
>  drivers/gpu/drm/vc4/vc4_drv.c | 6 ++++--
>  1 file changed, 4 insertions(+), 2 deletions(-)
> 
> diff --git a/drivers/gpu/drm/vc4/vc4_drv.c b/drivers/gpu/drm/vc4/vc4_drv.c
> index 4daf44fd4548..ba87b2dfa767 100644
> --- a/drivers/gpu/drm/vc4/vc4_drv.c
> +++ b/drivers/gpu/drm/vc4/vc4_drv.c
> @@ -280,11 +280,13 @@ static int vc4_drm_bind(struct device *dev)
>  
>  	drm_fb_helper_remove_conflicting_framebuffers(NULL, "vc4drmfb", false);
>  
> -	ret = drm_dev_register(drm, 0);
> +	ret = vc4_kms_load(drm);
>  	if (ret < 0)
>  		goto unbind_all;
>  
> -	vc4_kms_load(drm);
> +	ret = drm_dev_register(drm, 0);
> +	if (ret < 0)
> +		goto unbind_all;
>  
>  	drm_fbdev_generic_setup(drm, 16);
>  
> -- 
> 2.20.1
> 
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/intel-gfx

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch


More information about the dri-devel mailing list