Commit fb2420b7 authored by Lyude Paul's avatar Lyude Paul
Browse files

drm/nouveau/kms/nv50-: Fix disabling dithering



While we expose the ability to turn off hardware dithering for nouveau,
we actually make the mistake of turning it on anyway, due to
dithering_depth containing a non-zero value if our dithering depth isn't
also set to 6 bpc.

So, fix it by never enabling dithering when it's disabled.

Signed-off-by: default avatarLyude Paul <lyude@redhat.com>
Reviewed-by: default avatarBen Skeggs <bskeggs@redhat.com>
Acked-by: default avatarDave Airlie <airlied@gmail.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20200627194657.156514-6-lyude@redhat.com
parent 9c8e9b79
Loading
Loading
Loading
Loading
+13 −11
Original line number Diff line number Diff line
@@ -84,6 +84,7 @@ nv50_head_atomic_check_dither(struct nv50_head_atom *armh,
{
	u32 mode = 0x00;

	if (asyc->dither.mode) {
		if (asyc->dither.mode == DITHERING_MODE_AUTO) {
			if (asyh->base.depth > asyh->or.bpc * 3)
				mode = DITHERING_MODE_DYNAMIC2X2;
@@ -97,6 +98,7 @@ nv50_head_atomic_check_dither(struct nv50_head_atom *armh,
		} else {
			mode |= asyc->dither.depth;
		}
	}

	asyh->dither.enable = mode;
	asyh->dither.bits = mode >> 1;