drm/nouveau/dispnv50: Restore pushing of all data.
authorBastian Beranek <bastian.beischer@rwth-aachen.de>
Thu, 21 Jan 2021 14:27:36 +0000 (15:27 +0100)
committerBen Skeggs <bskeggs@redhat.com>
Fri, 29 Jan 2021 01:02:14 +0000 (11:02 +1000)
commitfd55b61ebd31449549e14c33574825d64de2b29b
treecc7c10184647cfb8678ddfa8f89a784b13cc06bb
parentd502297008142645edf5c791af424ed321e5da84
drm/nouveau/dispnv50: Restore pushing of all data.

Commit f844eb485eb056ad3b67e49f95cbc6c685a73db4 introduced a regression for
NV50, which lead to visual artifacts, tearing and eventual crashes.

In the changes of f844eb485eb056ad3b67e49f95cbc6c685a73db4 only the first line
was correctly translated to the new NVIDIA header macros:

- PUSH_NVSQ(push, NV827C, 0x0110, 0,
- 0x0114, 0);
+ PUSH_MTHD(push, NV827C, SET_PROCESSING,
+   NVDEF(NV827C, SET_PROCESSING, USE_GAIN_OFS, DISABLE));

The lower part ("0x0114, 0") was probably omitted by accident.

This patch restores the push of the missing data and fixes the regression.

Signed-off-by: Bastian Beranek <bastian.beischer@rwth-aachen.de>
Fixes: f844eb485eb05 ("drm/nouveau/kms/nv50-: use NVIDIA's headers for wndw image_set()")
Link: https://gitlab.freedesktop.org/drm/nouveau/-/issues/14
Signed-off-by: Ben Skeggs <bskeggs@redhat.com>
drivers/gpu/drm/nouveau/dispnv50/base507c.c
drivers/gpu/drm/nouveau/dispnv50/base827c.c