imx-drm: Possible regression after update to atomic

Thorsten Leemhuis regressions at leemhuis.info
Sun Aug 28 10:17:14 UTC 2016


Lo! Dave, below report made it to the list of regression for 4.8, but
afaics nothing happened after the initial report. Was it discussed (and
maybe even fixed?) elsewhere? Or is there some reason why it shouldn't
be on the list of regressions at all?

Ciao, Thorsten

On 13.08.2016 14:37, Peter Senna Tschudin wrote:
> 
> d7868cb7ac58640e9c0383205ba31bd6a985cc6f is the last commit that works for me. I'm experiencing black screen after Weston starts in two different i.MX based devices:
> 
>  - i.MX6 -> arch/arm/boot/dts/imx6q-b850v3.dts
>  - i.MX53 based device
> 
> Weston starts, but nothing is shown on screen. fb works fine. Disabling fb on Kconfig or simply commenting out drm_fbdev_cma_init() solves the black screen issue.
> 
> The tests that are causing the black screen:
> 
> diff --git a/drivers/gpu/drm/imx/ipuv3-plane.c b/drivers/gpu/drm/imx/ipuv3-plane.c
> index 4ad67d0..52dc1b7 100644
> --- a/drivers/gpu/drm/imx/ipuv3-plane.c
> +++ b/drivers/gpu/drm/imx/ipuv3-plane.c
> @@ -325,7 +325,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
>         if (old_fb && (state->src_w != old_state->src_w ||
>                               state->src_h != old_state->src_h ||
>                               fb->pixel_format != old_fb->pixel_format))
> -               return -EINVAL;
>  
>         eba = drm_plane_state_to_eba(state);
>  
> @@ -336,7 +336,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
>                 return -EINVAL;
>  
>         if (old_fb && fb->pitches[0] != old_fb->pitches[0])
> -               return -EINVAL;
>  
>         switch (fb->pixel_format) {
>         case DRM_FORMAT_YUV420:
> @@ -372,7 +372,7 @@ static int ipu_plane_atomic_check(struct drm_plane *plane,
>                         return -EINVAL;
>  
>                 if (old_fb && old_fb->pitches[1] != fb->pitches[1])
> -                       return -EINVAL;
>         }
> 
> I tried to replace the return -EINVAL by crtc_state->mode_changed = true with no positive results.
> 
> I'm trying to understand what is the difference with and without fb, but I have no conclusions yet.
> 
> Hints on what could be the cause here?
> 
> Thank you,
> 
> Peter
> 
> P.S. This is what I get after replacing the return -EINVAL(the mode is correct): https://goo.gl/photos/1eRdcco9GpszgvzM8


More information about the dri-devel mailing list