]> git.baikalelectronics.ru Git - kernel.git/commit
drm/nouveau/kms/nv140-: Don't modify depth in state during atomic commit
authorLyude Paul <lyude@redhat.com>
Fri, 13 Dec 2019 22:06:59 +0000 (17:06 -0500)
committerLyude Paul <lyude@redhat.com>
Thu, 16 Jul 2020 22:16:31 +0000 (18:16 -0400)
commit49326b2bf85c72add1a9b646ab7b5e6d9071da81
treed9ccfdea8fff838e7e189592ca604eaa38a37f90
parent27498d66b54c4ace97c3fad4ec475a2dc4cac3aa
drm/nouveau/kms/nv140-: Don't modify depth in state during atomic commit

Currently, we modify the depth value stored in the atomic state when
performing a commit in order to workaround the fact we haven't
implemented support for depths higher then 10 yet. This isn't idempotent
though, as it will happen every atomic commit where we modify the OR
state even if the head's depth in the atomic state hasn't been modified.

Normally this wouldn't matter, since we don't modify OR state outside of
modesets, but since the CRC capture region is implemented as part of the
OR state in hardware we'll want to make sure all commits modifying OR
state are idempotent so as to avoid changing the depth unexpectedly.

So, fix this by simply not writing the reduced depth value we come up
with to the atomic state.

Signed-off-by: Lyude Paul <lyude@redhat.com>
Reviewed-by: Ben Skeggs <bskeggs@redhat.com>
Acked-by: Dave Airlie <airlied@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200627194657.156514-5-lyude@redhat.com
drivers/gpu/drm/nouveau/dispnv50/headc37d.c
drivers/gpu/drm/nouveau/dispnv50/headc57d.c