|
@@ -107,6 +107,7 @@ gk20a_instobj_rd32(struct nvkm_object *object, u64 offset)
|
|
{
|
|
{
|
|
struct gk20a_instmem *imem = (void *)nvkm_instmem(object);
|
|
struct gk20a_instmem *imem = (void *)nvkm_instmem(object);
|
|
struct gk20a_instobj *node = (void *)object;
|
|
struct gk20a_instobj *node = (void *)object;
|
|
|
|
+ struct nvkm_device *device = imem->base.subdev.device;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
u64 base = (node->mem->offset + offset) & 0xffffff00000ULL;
|
|
u64 base = (node->mem->offset + offset) & 0xffffff00000ULL;
|
|
u64 addr = (node->mem->offset + offset) & 0x000000fffffULL;
|
|
u64 addr = (node->mem->offset + offset) & 0x000000fffffULL;
|
|
@@ -114,10 +115,10 @@ gk20a_instobj_rd32(struct nvkm_object *object, u64 offset)
|
|
|
|
|
|
spin_lock_irqsave(&imem->lock, flags);
|
|
spin_lock_irqsave(&imem->lock, flags);
|
|
if (unlikely(imem->addr != base)) {
|
|
if (unlikely(imem->addr != base)) {
|
|
- nv_wr32(imem, 0x001700, base >> 16);
|
|
|
|
|
|
+ nvkm_wr32(device, 0x001700, base >> 16);
|
|
imem->addr = base;
|
|
imem->addr = base;
|
|
}
|
|
}
|
|
- data = nv_rd32(imem, 0x700000 + addr);
|
|
|
|
|
|
+ data = nvkm_rd32(device, 0x700000 + addr);
|
|
spin_unlock_irqrestore(&imem->lock, flags);
|
|
spin_unlock_irqrestore(&imem->lock, flags);
|
|
return data;
|
|
return data;
|
|
}
|
|
}
|
|
@@ -127,16 +128,17 @@ gk20a_instobj_wr32(struct nvkm_object *object, u64 offset, u32 data)
|
|
{
|
|
{
|
|
struct gk20a_instmem *imem = (void *)nvkm_instmem(object);
|
|
struct gk20a_instmem *imem = (void *)nvkm_instmem(object);
|
|
struct gk20a_instobj *node = (void *)object;
|
|
struct gk20a_instobj *node = (void *)object;
|
|
|
|
+ struct nvkm_device *device = imem->base.subdev.device;
|
|
unsigned long flags;
|
|
unsigned long flags;
|
|
u64 base = (node->mem->offset + offset) & 0xffffff00000ULL;
|
|
u64 base = (node->mem->offset + offset) & 0xffffff00000ULL;
|
|
u64 addr = (node->mem->offset + offset) & 0x000000fffffULL;
|
|
u64 addr = (node->mem->offset + offset) & 0x000000fffffULL;
|
|
|
|
|
|
spin_lock_irqsave(&imem->lock, flags);
|
|
spin_lock_irqsave(&imem->lock, flags);
|
|
if (unlikely(imem->addr != base)) {
|
|
if (unlikely(imem->addr != base)) {
|
|
- nv_wr32(imem, 0x001700, base >> 16);
|
|
|
|
|
|
+ nvkm_wr32(device, 0x001700, base >> 16);
|
|
imem->addr = base;
|
|
imem->addr = base;
|
|
}
|
|
}
|
|
- nv_wr32(imem, 0x700000 + addr, data);
|
|
|
|
|
|
+ nvkm_wr32(device, 0x700000 + addr, data);
|
|
spin_unlock_irqrestore(&imem->lock, flags);
|
|
spin_unlock_irqrestore(&imem->lock, flags);
|
|
}
|
|
}
|
|
|
|
|