[Nouveau] [PATCH] drm/nouveau: fix duplication of nv50_head_atom struct

Ben Skeggs skeggsb at gmail.com
Tue May 14 06:55:05 UTC 2019


On Sun, 12 May 2019 at 04:23, Peteris Rudzusiks
<peteris.rudzusiks at gmail.com> wrote:
>
> nv50_head_atomic_duplicate_state() makes a copy of nv50_head_atom
> struct. This patch adds copying of struct member named "or", which
> previously was left uninitialized in the duplicated structure.
>
> Due to this bug, incorrect nhsync and nvsync values were sometimes used.
> In my particular case, that lead to a mismatch between the output
> resolution of the graphics device (GeForce GT 630 OEM) and the reported
> input signal resolution on the display. xrandr reported 1680x1050, but
> the display reported 1280x1024. As a result of this mismatch, the output
> on the display looked like it was cropped (only part of the output was
> actually visible on the display).
>
> git bisect pointed to commit 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle
> SetControlOutputResource from head"), which added the member "or" to
> nv50_head_atom structure, but forgot to copy it in
> nv50_head_atomic_duplicate_state().
>
> Fixes: 2ca7fb5c1cc6 ("drm/nouveau/kms/nv50: handle SetControlOutputResource from head")
> Signed-off-by: Peteris Rudzusiks <peteris.rudzusiks at gmail.com>
Oops, nice catch.  Thank you for this, I've merged it in my tree and
will get it upstream ASAP.

Thanks,
Ben.

> ---
>  drivers/gpu/drm/nouveau/dispnv50/head.c | 1 +
>  1 file changed, 1 insertion(+)
>
> diff --git a/drivers/gpu/drm/nouveau/dispnv50/head.c b/drivers/gpu/drm/nouveau/dispnv50/head.c
> index 2e7a0c347ddb..adce62f4e18f 100644
> --- a/drivers/gpu/drm/nouveau/dispnv50/head.c
> +++ b/drivers/gpu/drm/nouveau/dispnv50/head.c
> @@ -413,6 +413,7 @@ nv50_head_atomic_duplicate_state(struct drm_crtc *crtc)
>         asyh->ovly = armh->ovly;
>         asyh->dither = armh->dither;
>         asyh->procamp = armh->procamp;
> +       asyh->or = armh->or;
>         asyh->dp = armh->dp;
>         asyh->clr.mask = 0;
>         asyh->set.mask = 0;
> --
> 2.17.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel at lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel


More information about the Nouveau mailing list