Commit 9659be21 authored by Ben Skeggs's avatar Ben Skeggs
Browse files

drm/nouveau/kms/nv50-: convert wimm update() to new push macros



Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
Reviewed-by: default avatarLyude Paul <lyude@redhat.com>
parent bea8395c
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -40,11 +40,13 @@ curs507a_space(struct nv50_wndw *wndw)
	return false;
}

static void
static int
curs507a_update(struct nv50_wndw *wndw, u32 *interlock)
{
	if (curs507a_space(wndw))
	int ret = nvif_chan_wait(&wndw->wimm, 1);
	if (ret == 0)
		nvif_wr32(&wndw->wimm.base.user, 0x0080, 0x00000000);
	return ret;
}

static int
+4 −2
Original line number Diff line number Diff line
@@ -22,11 +22,13 @@
#include "curs.h"
#include "atom.h"

static void
static int
cursc37a_update(struct nv50_wndw *wndw, u32 *interlock)
{
	if (curs507a_space(wndw))
	int ret = nvif_chan_wait(&wndw->wimm, 1);
	if (ret == 0)
		nvif_wr32(&wndw->wimm.base.user, 0x0200, 0x00000001);
	return ret;
}

static int
+11 −10
Original line number Diff line number Diff line
@@ -26,18 +26,19 @@
#include <nvif/clc37b.h>
#include <nvif/pushc37b.h>

static void
static int
wimmc37b_update(struct nv50_wndw *wndw, u32 *interlock)
{
	u32 *push;
	if ((push = evo_wait(&wndw->wimm, 2))) {
		evo_mthd(push, 0x0200, 1);
		if (interlock[NV50_DISP_INTERLOCK_WNDW] & wndw->interlock.data)
			evo_data(push, 0x00000003);
		else
			evo_data(push, 0x00000001);
		evo_kick(push, &wndw->wimm);
	}
	struct nvif_push *push = wndw->wimm.push;
	int ret;

	if ((ret = PUSH_WAIT(push, 2)))
		return ret;

	PUSH_NVSQ(push, NVC37B, 0x0200, ((interlock[NV50_DISP_INTERLOCK_WNDW] &
					  wndw->interlock.data) ? 0x00000002 : 0x00000000) |
					0x00000001);
	return PUSH_KICK(push);
}

static int
+1 −1
Original line number Diff line number Diff line
@@ -93,7 +93,7 @@ void base907c_csc(struct nv50_wndw *, struct nv50_wndw_atom *,
struct nv50_wimm_func {
	int (*point)(struct nv50_wndw *, struct nv50_wndw_atom *);

	void (*update)(struct nv50_wndw *, u32 *interlock);
	int (*update)(struct nv50_wndw *, u32 *interlock);
};

extern const struct nv50_wimm_func curs507a;