mirror of
https://github.com/torvalds/linux.git
synced 2024-11-28 23:21:31 +00:00
drm/nouveau/kms/nv50-: convert wimm update() to new push macros
Signed-off-by: Ben Skeggs <bskeggs@redhat.com> Reviewed-by: Lyude Paul <lyude@redhat.com>
This commit is contained in:
parent
bea8395ccf
commit
9659be21e8
@ -40,11 +40,13 @@ curs507a_space(struct nv50_wndw *wndw)
|
|||||||
return false;
|
return false;
|
||||||
}
|
}
|
||||||
|
|
||||||
static void
|
static int
|
||||||
curs507a_update(struct nv50_wndw *wndw, u32 *interlock)
|
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);
|
nvif_wr32(&wndw->wimm.base.user, 0x0080, 0x00000000);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -22,11 +22,13 @@
|
|||||||
#include "curs.h"
|
#include "curs.h"
|
||||||
#include "atom.h"
|
#include "atom.h"
|
||||||
|
|
||||||
static void
|
static int
|
||||||
cursc37a_update(struct nv50_wndw *wndw, u32 *interlock)
|
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);
|
nvif_wr32(&wndw->wimm.base.user, 0x0200, 0x00000001);
|
||||||
|
return ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -26,18 +26,19 @@
|
|||||||
#include <nvif/clc37b.h>
|
#include <nvif/clc37b.h>
|
||||||
#include <nvif/pushc37b.h>
|
#include <nvif/pushc37b.h>
|
||||||
|
|
||||||
static void
|
static int
|
||||||
wimmc37b_update(struct nv50_wndw *wndw, u32 *interlock)
|
wimmc37b_update(struct nv50_wndw *wndw, u32 *interlock)
|
||||||
{
|
{
|
||||||
u32 *push;
|
struct nvif_push *push = wndw->wimm.push;
|
||||||
if ((push = evo_wait(&wndw->wimm, 2))) {
|
int ret;
|
||||||
evo_mthd(push, 0x0200, 1);
|
|
||||||
if (interlock[NV50_DISP_INTERLOCK_WNDW] & wndw->interlock.data)
|
if ((ret = PUSH_WAIT(push, 2)))
|
||||||
evo_data(push, 0x00000003);
|
return ret;
|
||||||
else
|
|
||||||
evo_data(push, 0x00000001);
|
PUSH_NVSQ(push, NVC37B, 0x0200, ((interlock[NV50_DISP_INTERLOCK_WNDW] &
|
||||||
evo_kick(push, &wndw->wimm);
|
wndw->interlock.data) ? 0x00000002 : 0x00000000) |
|
||||||
}
|
0x00000001);
|
||||||
|
return PUSH_KICK(push);
|
||||||
}
|
}
|
||||||
|
|
||||||
static int
|
static int
|
||||||
|
@ -93,7 +93,7 @@ void base907c_csc(struct nv50_wndw *, struct nv50_wndw_atom *,
|
|||||||
struct nv50_wimm_func {
|
struct nv50_wimm_func {
|
||||||
int (*point)(struct nv50_wndw *, struct nv50_wndw_atom *);
|
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;
|
extern const struct nv50_wimm_func curs507a;
|
||||||
|
Loading…
Reference in New Issue
Block a user