0xc0b5 is not in rnndb, I guess it should be GP100_COPY, right?

Reviewed-by: Samuel Pitoiset <[email protected]>

On 10/27/2016 04:02 PM, Ilia Mirkin wrote:
Signed-off-by: Ilia Mirkin <[email protected]>
---
 src/nouveau_copy.c |  2 ++
 src/nvc0_accel.c   | 10 +++++++++-
 2 files changed, 11 insertions(+), 1 deletion(-)

diff --git a/src/nouveau_copy.c b/src/nouveau_copy.c
index c139de6..7118a7a 100644
--- a/src/nouveau_copy.c
+++ b/src/nouveau_copy.c
@@ -42,6 +42,8 @@ nouveau_copy_init(ScreenPtr pScreen)
                int engine;
                Bool (*init)(NVPtr);
        } methods[] = {
+               { 0xc0b5, 0, nouveau_copya0b5_init },
+               { 0xb0b5, 0, nouveau_copya0b5_init },
                { 0xa0b5, 0, nouveau_copya0b5_init },
                { 0x90b8, 5, nouveau_copy90b5_init },
                { 0x90b5, 4, nouveau_copy90b5_init },
diff --git a/src/nvc0_accel.c b/src/nvc0_accel.c
index 8da5051..d0a835e 100644
--- a/src/nvc0_accel.c
+++ b/src/nvc0_accel.c
@@ -156,9 +156,17 @@ NVAccelInitCOPY_NVE0(ScrnInfoPtr pScrn)
 {
        NVPtr pNv = NVPTR(pScrn);
        struct nouveau_pushbuf *push = pNv->pushbuf;
+       uint32_t class;
        int ret;

-       ret = nouveau_object_new(pNv->channel, 0x0000a0b5, 0xa0b5,
+       if (pNv->dev->chipset < 0x110)
+               class = 0xa0b5;
+       else if (pNv->dev->chipset < 0x130)
+               class = 0xb0b5;
+       else
+               class = 0xc0b5;
+
+       ret = nouveau_object_new(pNv->channel, class, class,
                                 NULL, 0, &pNv->NvCOPY);
        if (ret)
                return FALSE;

_______________________________________________
Nouveau mailing list
[email protected]
https://lists.freedesktop.org/mailman/listinfo/nouveau

Reply via email to