--- nouveau/nouveau_notifier.c | 15 +++++++++++++++ nouveau/nouveau_notifier.h | 6 ++++++ 2 files changed, 21 insertions(+), 0 deletions(-) diff --git a/nouveau/nouveau_notifier.c b/nouveau/nouveau_notifier.c index f8cfd8b..5e6e47c 100644 --- a/nouveau/nouveau_notifier.c +++ b/nouveau/nouveau_notifier.c @@ -144,3 +144,18 @@ nouveau_notifier_wait_status(struct nouveau_notifier *notifier, int id, return -EBUSY; } +uint32_t +nouveau_notifier_rd32(struct nouveau_notifier *notifier, int pos) +{ + struct nouveau_notifier_priv *nvnotify = nouveau_notifier(notifier); + + return ((volatile uint32_t *)nvnotify->map)[pos]; +} + +void +nouveau_notifier_wr32(struct nouveau_notifier *notifier, int pos, uint32_t val) +{ + struct nouveau_notifier_priv *nvnotify = nouveau_notifier(notifier); + + ((volatile uint32_t *)nvnotify->map)[pos] = val; +} diff --git a/nouveau/nouveau_notifier.h b/nouveau/nouveau_notifier.h index dbc6a3b..0008df1 100644 --- a/nouveau/nouveau_notifier.h +++ b/nouveau/nouveau_notifier.h @@ -56,6 +56,12 @@ nouveau_notifier_status(struct nouveau_notifier *, int id); uint32_t nouveau_notifier_return_val(struct nouveau_notifier *, int id); +uint32_t +nouveau_notifier_rd32(struct nouveau_notifier *, int pos); + +void +nouveau_notifier_wr32(struct nouveau_notifier *, int pos, uint32_t val); + int nouveau_notifier_wait_status(struct nouveau_notifier *, int id, uint32_t status, double timeout); -- 1.6.4.4 --------------060703070100030003060000--