Commit 5b85057a authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/dmaobj: namespace + nvidia gpu names (no binary change)

The namespace of NVKM is being changed to nvkm_ instead of nouveau_,
which will be used for the DRM part of the driver.  This is being
done in order to make it very clear as to what part of the driver a
given symbol belongs to, and as a minor step towards splitting the
DRM driver out to be able to stand on its own (for virt).

Because there's already a large amount of churn here anyway, this is
as good a time as any to also switch to NVIDIA's device and chipset
naming to ease collaboration with them.

A comparison of objdump disassemblies proves no code changes.
Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 878da15a
#ifndef __NOUVEAU_DMAOBJ_H__ #ifndef __NVKM_DMAOBJ_H__
#define __NOUVEAU_DMAOBJ_H__ #define __NVKM_DMAOBJ_H__
#include <core/object.h>
#include <core/engine.h> #include <core/engine.h>
struct nvkm_gpuobj;
struct nouveau_gpuobj; struct nvkm_dmaobj {
struct nvkm_object base;
struct nouveau_dmaobj {
struct nouveau_object base;
u32 target; u32 target;
u32 access; u32 access;
u64 start; u64 start;
u64 limit; u64 limit;
}; };
struct nouveau_dmaeng { struct nvkm_dmaeng {
struct nouveau_engine base; struct nvkm_engine base;
/* creates a "physical" dma object from a struct nouveau_dmaobj */ /* creates a "physical" dma object from a struct nvkm_dmaobj */
int (*bind)(struct nouveau_dmaobj *dmaobj, int (*bind)(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_object *parent, struct nvkm_gpuobj **);
struct nouveau_gpuobj **);
}; };
extern struct nouveau_oclass *nv04_dmaeng_oclass; extern struct nvkm_oclass *nv04_dmaeng_oclass;
extern struct nouveau_oclass *nv50_dmaeng_oclass; extern struct nvkm_oclass *nv50_dmaeng_oclass;
extern struct nouveau_oclass *nvc0_dmaeng_oclass; extern struct nvkm_oclass *gf100_dmaeng_oclass;
extern struct nouveau_oclass *nvd0_dmaeng_oclass; extern struct nvkm_oclass *gf110_dmaeng_oclass;
#endif #endif
...@@ -83,7 +83,7 @@ gm100_identify(struct nouveau_device *device) ...@@ -83,7 +83,7 @@ gm100_identify(struct nouveau_device *device)
#if 0 #if 0
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
#endif #endif
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = gm107_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = gm107_gr_oclass;
...@@ -126,7 +126,7 @@ gm100_identify(struct nouveau_device *device) ...@@ -126,7 +126,7 @@ gm100_identify(struct nouveau_device *device)
#if 0 #if 0
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
#endif #endif
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
#if 0 #if 0
device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
......
...@@ -80,7 +80,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -80,7 +80,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc0_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc0_gr_oclass;
...@@ -113,7 +113,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -113,7 +113,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
...@@ -146,7 +146,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -146,7 +146,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
...@@ -178,7 +178,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -178,7 +178,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
...@@ -211,7 +211,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -211,7 +211,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc4_gr_oclass;
...@@ -243,7 +243,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -243,7 +243,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc1_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc1_gr_oclass;
...@@ -275,7 +275,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -275,7 +275,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf100_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvc0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf100_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvc8_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvc8_gr_oclass;
...@@ -308,7 +308,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -308,7 +308,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvd9_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvd9_gr_oclass;
...@@ -338,7 +338,7 @@ nvc0_identify(struct nouveau_device *device) ...@@ -338,7 +338,7 @@ nvc0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_INSTMEM] = nv50_instmem_oclass; device->oclass[NVDEV_SUBDEV_INSTMEM] = nv50_instmem_oclass;
device->oclass[NVDEV_SUBDEV_MMU ] = &gf100_mmu_oclass; device->oclass[NVDEV_SUBDEV_MMU ] = &gf100_mmu_oclass;
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nvc0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvd7_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvd7_gr_oclass;
......
...@@ -80,7 +80,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -80,7 +80,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gk104_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gk104_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass;
...@@ -114,7 +114,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -114,7 +114,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass;
...@@ -148,7 +148,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -148,7 +148,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gk104_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gk104_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nve4_gr_oclass;
...@@ -174,7 +174,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -174,7 +174,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_INSTMEM] = nv50_instmem_oclass; device->oclass[NVDEV_SUBDEV_INSTMEM] = nv50_instmem_oclass;
device->oclass[NVDEV_SUBDEV_MMU ] = &gf100_mmu_oclass; device->oclass[NVDEV_SUBDEV_MMU ] = &gf100_mmu_oclass;
device->oclass[NVDEV_SUBDEV_BAR ] = &gk20a_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gk20a_bar_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = gk20a_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = gk20a_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = gk20a_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = gk20a_gr_oclass;
...@@ -204,7 +204,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -204,7 +204,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nvf0_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nvf0_gr_oclass;
...@@ -238,7 +238,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -238,7 +238,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gf110_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nve0_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = gk110b_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = gk110b_gr_oclass;
...@@ -272,7 +272,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -272,7 +272,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gk208_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gk208_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nv108_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nv108_gr_oclass;
...@@ -305,7 +305,7 @@ nve0_identify(struct nouveau_device *device) ...@@ -305,7 +305,7 @@ nve0_identify(struct nouveau_device *device)
device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass; device->oclass[NVDEV_SUBDEV_BAR ] = &gf100_bar_oclass;
device->oclass[NVDEV_SUBDEV_PMU ] = gk208_pmu_oclass; device->oclass[NVDEV_SUBDEV_PMU ] = gk208_pmu_oclass;
device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass; device->oclass[NVDEV_SUBDEV_VOLT ] = &nv40_volt_oclass;
device->oclass[NVDEV_ENGINE_DMAOBJ ] = nvd0_dmaeng_oclass; device->oclass[NVDEV_ENGINE_DMAOBJ ] = gf110_dmaeng_oclass;
device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass; device->oclass[NVDEV_ENGINE_FIFO ] = nv108_fifo_oclass;
device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass; device->oclass[NVDEV_ENGINE_SW ] = nvc0_sw_oclass;
device->oclass[NVDEV_ENGINE_GR ] = nv108_gr_oclass; device->oclass[NVDEV_ENGINE_GR ] = nv108_gr_oclass;
......
nvkm-y += nvkm/engine/dmaobj/base.o nvkm-y += nvkm/engine/dmaobj/base.o
nvkm-y += nvkm/engine/dmaobj/nv04.o nvkm-y += nvkm/engine/dmaobj/nv04.o
nvkm-y += nvkm/engine/dmaobj/nv50.o nvkm-y += nvkm/engine/dmaobj/nv50.o
nvkm-y += nvkm/engine/dmaobj/nvc0.o nvkm-y += nvkm/engine/dmaobj/gf100.o
nvkm-y += nvkm/engine/dmaobj/nvd0.o nvkm-y += nvkm/engine/dmaobj/gf110.o
...@@ -21,21 +21,19 @@ ...@@ -21,21 +21,19 @@
* *
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include "priv.h"
#include <core/object.h>
#include <core/client.h> #include <core/client.h>
#include <core/device.h> #include <core/device.h>
#include <nvif/unpack.h>
#include <nvif/class.h>
#include <subdev/fb.h> #include <subdev/fb.h>
#include <subdev/instmem.h> #include <subdev/instmem.h>
#include "priv.h" #include <nvif/class.h>
#include <nvif/unpack.h>
static int static int
nvkm_dmaobj_bind(struct nouveau_dmaobj *dmaobj, struct nouveau_object *parent, nvkm_dmaobj_bind(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_gpuobj **pgpuobj) struct nvkm_gpuobj **pgpuobj)
{ {
const struct nvkm_dmaeng_impl *impl = (void *) const struct nvkm_dmaeng_impl *impl = (void *)
nv_oclass(nv_object(dmaobj)->engine); nv_oclass(nv_object(dmaobj)->engine);
...@@ -48,7 +46,7 @@ nvkm_dmaobj_bind(struct nouveau_dmaobj *dmaobj, struct nouveau_object *parent, ...@@ -48,7 +46,7 @@ nvkm_dmaobj_bind(struct nouveau_dmaobj *dmaobj, struct nouveau_object *parent,
} }
ret = impl->bind(dmaobj, parent, pgpuobj); ret = impl->bind(dmaobj, parent, pgpuobj);
if (ret == 0) if (ret == 0)
nouveau_object_ref(NULL, &parent); nvkm_object_ref(NULL, &parent);
return ret; return ret;
} }
...@@ -56,24 +54,24 @@ nvkm_dmaobj_bind(struct nouveau_dmaobj *dmaobj, struct nouveau_object *parent, ...@@ -56,24 +54,24 @@ nvkm_dmaobj_bind(struct nouveau_dmaobj *dmaobj, struct nouveau_object *parent,
} }
int int
nvkm_dmaobj_create_(struct nouveau_object *parent, nvkm_dmaobj_create_(struct nvkm_object *parent,
struct nouveau_object *engine, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void **pdata, u32 *psize, struct nvkm_oclass *oclass, void **pdata, u32 *psize,
int length, void **pobject) int length, void **pobject)
{ {
union { union {
struct nv_dma_v0 v0; struct nv_dma_v0 v0;
} *args = *pdata; } *args = *pdata;
struct nouveau_instmem *instmem = nouveau_instmem(parent); struct nvkm_instmem *instmem = nvkm_instmem(parent);
struct nouveau_client *client = nouveau_client(parent); struct nvkm_client *client = nvkm_client(parent);
struct nouveau_device *device = nv_device(parent); struct nvkm_device *device = nv_device(parent);
struct nouveau_fb *pfb = nouveau_fb(parent); struct nvkm_fb *pfb = nvkm_fb(parent);
struct nouveau_dmaobj *dmaobj; struct nvkm_dmaobj *dmaobj;
void *data = *pdata; void *data = *pdata;
u32 size = *psize; u32 size = *psize;
int ret; int ret;
ret = nouveau_object_create_(parent, engine, oclass, 0, length, pobject); ret = nvkm_object_create_(parent, engine, oclass, 0, length, pobject);
dmaobj = *pobject; dmaobj = *pobject;
if (ret) if (ret)
return ret; return ret;
...@@ -146,16 +144,16 @@ nvkm_dmaobj_create_(struct nouveau_object *parent, ...@@ -146,16 +144,16 @@ nvkm_dmaobj_create_(struct nouveau_object *parent,
} }
int int
_nvkm_dmaeng_ctor(struct nouveau_object *parent, struct nouveau_object *engine, _nvkm_dmaeng_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size, struct nvkm_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject) struct nvkm_object **pobject)
{ {
const struct nvkm_dmaeng_impl *impl = (void *)oclass; const struct nvkm_dmaeng_impl *impl = (void *)oclass;
struct nouveau_dmaeng *dmaeng; struct nvkm_dmaeng *dmaeng;
int ret; int ret;
ret = nouveau_engine_create(parent, engine, oclass, true, "DMAOBJ", ret = nvkm_engine_create(parent, engine, oclass, true, "DMAOBJ",
"dmaobj", &dmaeng); "dmaobj", &dmaeng);
*pobject = nv_object(dmaeng); *pobject = nv_object(dmaeng);
if (ret) if (ret)
return ret; return ret;
......
...@@ -21,29 +21,26 @@ ...@@ -21,29 +21,26 @@
* *
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include "priv.h"
#include <core/client.h> #include <core/client.h>
#include <core/device.h>
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <nvif/unpack.h>
#include <nvif/class.h>
#include <subdev/fb.h> #include <subdev/fb.h>
#include "priv.h" #include <nvif/class.h>
#include <nvif/unpack.h>
struct nvc0_dmaobj_priv { struct gf100_dmaobj_priv {
struct nouveau_dmaobj base; struct nvkm_dmaobj base;
u32 flags0; u32 flags0;
u32 flags5; u32 flags5;
}; };
static int static int
nvc0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, gf100_dmaobj_bind(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_object *parent, struct nvkm_gpuobj **pgpuobj)
struct nouveau_gpuobj **pgpuobj)
{ {
struct nvc0_dmaobj_priv *priv = (void *)dmaobj; struct gf100_dmaobj_priv *priv = (void *)dmaobj;
int ret; int ret;
if (!nv_iclass(parent, NV_ENGCTX_CLASS)) { if (!nv_iclass(parent, NV_ENGCTX_CLASS)) {
...@@ -58,7 +55,7 @@ nvc0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -58,7 +55,7 @@ nvc0_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} else } else
return 0; return 0;
ret = nouveau_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj); ret = nvkm_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj);
if (ret == 0) { if (ret == 0) {
nv_wo32(*pgpuobj, 0x00, priv->flags0 | nv_mclass(dmaobj)); nv_wo32(*pgpuobj, 0x00, priv->flags0 | nv_mclass(dmaobj));
nv_wo32(*pgpuobj, 0x04, lower_32_bits(priv->base.limit)); nv_wo32(*pgpuobj, 0x04, lower_32_bits(priv->base.limit));
...@@ -73,15 +70,15 @@ nvc0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -73,15 +70,15 @@ nvc0_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} }
static int static int
nvc0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, gf100_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size, struct nvkm_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject) struct nvkm_object **pobject)
{ {
struct nouveau_dmaeng *dmaeng = (void *)engine; struct nvkm_dmaeng *dmaeng = (void *)engine;
union { union {
struct gf100_dma_v0 v0; struct gf100_dma_v0 v0;
} *args; } *args;
struct nvc0_dmaobj_priv *priv; struct gf100_dmaobj_priv *priv;
u32 kind, user, unkn; u32 kind, user, unkn;
int ret; int ret;
...@@ -149,31 +146,31 @@ nvc0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -149,31 +146,31 @@ nvc0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject); return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject);
} }
static struct nouveau_ofuncs static struct nvkm_ofuncs
nvc0_dmaobj_ofuncs = { gf100_dmaobj_ofuncs = {
.ctor = nvc0_dmaobj_ctor, .ctor = gf100_dmaobj_ctor,
.dtor = _nvkm_dmaobj_dtor, .dtor = _nvkm_dmaobj_dtor,
.init = _nvkm_dmaobj_init, .init = _nvkm_dmaobj_init,
.fini = _nvkm_dmaobj_fini, .fini = _nvkm_dmaobj_fini,
}; };
static struct nouveau_oclass static struct nvkm_oclass
nvc0_dmaeng_sclass[] = { gf100_dmaeng_sclass[] = {
{ NV_DMA_FROM_MEMORY, &nvc0_dmaobj_ofuncs }, { NV_DMA_FROM_MEMORY, &gf100_dmaobj_ofuncs },
{ NV_DMA_TO_MEMORY, &nvc0_dmaobj_ofuncs }, { NV_DMA_TO_MEMORY, &gf100_dmaobj_ofuncs },
{ NV_DMA_IN_MEMORY, &nvc0_dmaobj_ofuncs }, { NV_DMA_IN_MEMORY, &gf100_dmaobj_ofuncs },
{} {}
}; };
struct nouveau_oclass * struct nvkm_oclass *
nvc0_dmaeng_oclass = &(struct nvkm_dmaeng_impl) { gf100_dmaeng_oclass = &(struct nvkm_dmaeng_impl) {
.base.handle = NV_ENGINE(DMAOBJ, 0xc0), .base.handle = NV_ENGINE(DMAOBJ, 0xc0),
.base.ofuncs = &(struct nouveau_ofuncs) { .base.ofuncs = &(struct nvkm_ofuncs) {
.ctor = _nvkm_dmaeng_ctor, .ctor = _nvkm_dmaeng_ctor,
.dtor = _nvkm_dmaeng_dtor, .dtor = _nvkm_dmaeng_dtor,
.init = _nvkm_dmaeng_init, .init = _nvkm_dmaeng_init,
.fini = _nvkm_dmaeng_fini, .fini = _nvkm_dmaeng_fini,
}, },
.sclass = nvc0_dmaeng_sclass, .sclass = gf100_dmaeng_sclass,
.bind = nvc0_dmaobj_bind, .bind = gf100_dmaobj_bind,
}.base; }.base;
...@@ -21,28 +21,25 @@ ...@@ -21,28 +21,25 @@
* *
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include "priv.h"
#include <core/client.h> #include <core/client.h>
#include <core/device.h>
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <nvif/unpack.h>
#include <nvif/class.h>
#include <subdev/fb.h> #include <subdev/fb.h>
#include "priv.h" #include <nvif/class.h>
#include <nvif/unpack.h>
struct nvd0_dmaobj_priv { struct gf110_dmaobj_priv {
struct nouveau_dmaobj base; struct nvkm_dmaobj base;
u32 flags0; u32 flags0;
}; };
static int static int
nvd0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, gf110_dmaobj_bind(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_object *parent, struct nvkm_gpuobj **pgpuobj)
struct nouveau_gpuobj **pgpuobj)
{ {
struct nvd0_dmaobj_priv *priv = (void *)dmaobj; struct gf110_dmaobj_priv *priv = (void *)dmaobj;
int ret; int ret;
if (!nv_iclass(parent, NV_ENGCTX_CLASS)) { if (!nv_iclass(parent, NV_ENGCTX_CLASS)) {
...@@ -64,7 +61,7 @@ nvd0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -64,7 +61,7 @@ nvd0_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} else } else
return 0; return 0;
ret = nouveau_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj); ret = nvkm_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj);
if (ret == 0) { if (ret == 0) {
nv_wo32(*pgpuobj, 0x00, priv->flags0); nv_wo32(*pgpuobj, 0x00, priv->flags0);
nv_wo32(*pgpuobj, 0x04, priv->base.start >> 8); nv_wo32(*pgpuobj, 0x04, priv->base.start >> 8);
...@@ -78,15 +75,15 @@ nvd0_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -78,15 +75,15 @@ nvd0_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} }
static int static int
nvd0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, gf110_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size, struct nvkm_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject) struct nvkm_object **pobject)
{ {
struct nouveau_dmaeng *dmaeng = (void *)engine; struct nvkm_dmaeng *dmaeng = (void *)engine;
union { union {
struct gf110_dma_v0 v0; struct gf110_dma_v0 v0;
} *args; } *args;
struct nvd0_dmaobj_priv *priv; struct gf110_dmaobj_priv *priv;
u32 kind, page; u32 kind, page;
int ret; int ret;
...@@ -138,31 +135,31 @@ nvd0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -138,31 +135,31 @@ nvd0_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject); return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject);
} }
static struct nouveau_ofuncs static struct nvkm_ofuncs
nvd0_dmaobj_ofuncs = { gf110_dmaobj_ofuncs = {
.ctor = nvd0_dmaobj_ctor, .ctor = gf110_dmaobj_ctor,
.dtor = _nvkm_dmaobj_dtor, .dtor = _nvkm_dmaobj_dtor,
.init = _nvkm_dmaobj_init, .init = _nvkm_dmaobj_init,
.fini = _nvkm_dmaobj_fini, .fini = _nvkm_dmaobj_fini,
}; };
static struct nouveau_oclass static struct nvkm_oclass
nvd0_dmaeng_sclass[] = { gf110_dmaeng_sclass[] = {
{ NV_DMA_FROM_MEMORY, &nvd0_dmaobj_ofuncs }, { NV_DMA_FROM_MEMORY, &gf110_dmaobj_ofuncs },
{ NV_DMA_TO_MEMORY, &nvd0_dmaobj_ofuncs }, { NV_DMA_TO_MEMORY, &gf110_dmaobj_ofuncs },
{ NV_DMA_IN_MEMORY, &nvd0_dmaobj_ofuncs }, { NV_DMA_IN_MEMORY, &gf110_dmaobj_ofuncs },
{} {}
}; };
struct nouveau_oclass * struct nvkm_oclass *
nvd0_dmaeng_oclass = &(struct nvkm_dmaeng_impl) { gf110_dmaeng_oclass = &(struct nvkm_dmaeng_impl) {
.base.handle = NV_ENGINE(DMAOBJ, 0xd0), .base.handle = NV_ENGINE(DMAOBJ, 0xd0),
.base.ofuncs = &(struct nouveau_ofuncs) { .base.ofuncs = &(struct nvkm_ofuncs) {
.ctor = _nvkm_dmaeng_ctor, .ctor = _nvkm_dmaeng_ctor,
.dtor = _nvkm_dmaeng_dtor, .dtor = _nvkm_dmaeng_dtor,
.init = _nvkm_dmaeng_init, .init = _nvkm_dmaeng_init,
.fini = _nvkm_dmaeng_fini, .fini = _nvkm_dmaeng_fini,
}, },
.sclass = nvd0_dmaeng_sclass, .sclass = gf110_dmaeng_sclass,
.bind = nvd0_dmaobj_bind, .bind = gf110_dmaobj_bind,
}.base; }.base;
...@@ -21,29 +21,27 @@ ...@@ -21,29 +21,27 @@
* *
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include "priv.h"
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <nvif/class.h>
#include <subdev/fb.h> #include <subdev/fb.h>
#include <subdev/mmu/nv04.h> #include <subdev/mmu/nv04.h>
#include "priv.h" #include <nvif/class.h>
struct nv04_dmaobj_priv { struct nv04_dmaobj_priv {
struct nouveau_dmaobj base; struct nvkm_dmaobj base;
bool clone; bool clone;
u32 flags0; u32 flags0;
u32 flags2; u32 flags2;
}; };
static int static int
nv04_dmaobj_bind(struct nouveau_dmaobj *dmaobj, nv04_dmaobj_bind(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_object *parent, struct nvkm_gpuobj **pgpuobj)
struct nouveau_gpuobj **pgpuobj)
{ {
struct nv04_dmaobj_priv *priv = (void *)dmaobj; struct nv04_dmaobj_priv *priv = (void *)dmaobj;
struct nouveau_gpuobj *gpuobj; struct nvkm_gpuobj *gpuobj;
u64 offset = priv->base.start & 0xfffff000; u64 offset = priv->base.start & 0xfffff000;
u64 adjust = priv->base.start & 0x00000fff; u64 adjust = priv->base.start & 0x00000fff;
u32 length = priv->base.limit - priv->base.start; u32 length = priv->base.limit - priv->base.start;
...@@ -63,14 +61,14 @@ nv04_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -63,14 +61,14 @@ nv04_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
if (priv->clone) { if (priv->clone) {
struct nv04_mmu_priv *mmu = nv04_mmu(dmaobj); struct nv04_mmu_priv *mmu = nv04_mmu(dmaobj);
struct nouveau_gpuobj *pgt = mmu->vm->pgt[0].obj[0]; struct nvkm_gpuobj *pgt = mmu->vm->pgt[0].obj[0];
if (!dmaobj->start) if (!dmaobj->start)
return nouveau_gpuobj_dup(parent, pgt, pgpuobj); return nvkm_gpuobj_dup(parent, pgt, pgpuobj);
offset = nv_ro32(pgt, 8 + (offset >> 10)); offset = nv_ro32(pgt, 8 + (offset >> 10));
offset &= 0xfffff000; offset &= 0xfffff000;
} }
ret = nouveau_gpuobj_new(parent, parent, 16, 16, 0, &gpuobj); ret = nvkm_gpuobj_new(parent, parent, 16, 16, 0, &gpuobj);
*pgpuobj = gpuobj; *pgpuobj = gpuobj;
if (ret == 0) { if (ret == 0) {
nv_wo32(*pgpuobj, 0x00, priv->flags0 | (adjust << 20)); nv_wo32(*pgpuobj, 0x00, priv->flags0 | (adjust << 20));
...@@ -83,11 +81,11 @@ nv04_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -83,11 +81,11 @@ nv04_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} }
static int static int
nv04_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, nv04_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size, struct nvkm_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject) struct nvkm_object **pobject)
{ {
struct nouveau_dmaeng *dmaeng = (void *)engine; struct nvkm_dmaeng *dmaeng = (void *)engine;
struct nv04_mmu_priv *mmu = nv04_mmu(engine); struct nv04_mmu_priv *mmu = nv04_mmu(engine);
struct nv04_dmaobj_priv *priv; struct nv04_dmaobj_priv *priv;
int ret; int ret;
...@@ -135,7 +133,7 @@ nv04_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -135,7 +133,7 @@ nv04_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject); return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject);
} }
static struct nouveau_ofuncs static struct nvkm_ofuncs
nv04_dmaobj_ofuncs = { nv04_dmaobj_ofuncs = {
.ctor = nv04_dmaobj_ctor, .ctor = nv04_dmaobj_ctor,
.dtor = _nvkm_dmaobj_dtor, .dtor = _nvkm_dmaobj_dtor,
...@@ -143,7 +141,7 @@ nv04_dmaobj_ofuncs = { ...@@ -143,7 +141,7 @@ nv04_dmaobj_ofuncs = {
.fini = _nvkm_dmaobj_fini, .fini = _nvkm_dmaobj_fini,
}; };
static struct nouveau_oclass static struct nvkm_oclass
nv04_dmaeng_sclass[] = { nv04_dmaeng_sclass[] = {
{ NV_DMA_FROM_MEMORY, &nv04_dmaobj_ofuncs }, { NV_DMA_FROM_MEMORY, &nv04_dmaobj_ofuncs },
{ NV_DMA_TO_MEMORY, &nv04_dmaobj_ofuncs }, { NV_DMA_TO_MEMORY, &nv04_dmaobj_ofuncs },
...@@ -151,10 +149,10 @@ nv04_dmaeng_sclass[] = { ...@@ -151,10 +149,10 @@ nv04_dmaeng_sclass[] = {
{} {}
}; };
struct nouveau_oclass * struct nvkm_oclass *
nv04_dmaeng_oclass = &(struct nvkm_dmaeng_impl) { nv04_dmaeng_oclass = &(struct nvkm_dmaeng_impl) {
.base.handle = NV_ENGINE(DMAOBJ, 0x04), .base.handle = NV_ENGINE(DMAOBJ, 0x04),
.base.ofuncs = &(struct nouveau_ofuncs) { .base.ofuncs = &(struct nvkm_ofuncs) {
.ctor = _nvkm_dmaeng_ctor, .ctor = _nvkm_dmaeng_ctor,
.dtor = _nvkm_dmaeng_dtor, .dtor = _nvkm_dmaeng_dtor,
.init = _nvkm_dmaeng_init, .init = _nvkm_dmaeng_init,
......
...@@ -21,26 +21,24 @@ ...@@ -21,26 +21,24 @@
* *
* Authors: Ben Skeggs * Authors: Ben Skeggs
*/ */
#include "priv.h"
#include <core/client.h> #include <core/client.h>
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <nvif/unpack.h>
#include <nvif/class.h>
#include <subdev/fb.h> #include <subdev/fb.h>
#include "priv.h" #include <nvif/class.h>
#include <nvif/unpack.h>
struct nv50_dmaobj_priv { struct nv50_dmaobj_priv {
struct nouveau_dmaobj base; struct nvkm_dmaobj base;
u32 flags0; u32 flags0;
u32 flags5; u32 flags5;
}; };
static int static int
nv50_dmaobj_bind(struct nouveau_dmaobj *dmaobj, nv50_dmaobj_bind(struct nvkm_dmaobj *dmaobj, struct nvkm_object *parent,
struct nouveau_object *parent, struct nvkm_gpuobj **pgpuobj)
struct nouveau_gpuobj **pgpuobj)
{ {
struct nv50_dmaobj_priv *priv = (void *)dmaobj; struct nv50_dmaobj_priv *priv = (void *)dmaobj;
int ret; int ret;
...@@ -69,7 +67,7 @@ nv50_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -69,7 +67,7 @@ nv50_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} }
} }
ret = nouveau_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj); ret = nvkm_gpuobj_new(parent, parent, 24, 32, 0, pgpuobj);
if (ret == 0) { if (ret == 0) {
nv_wo32(*pgpuobj, 0x00, priv->flags0 | nv_mclass(dmaobj)); nv_wo32(*pgpuobj, 0x00, priv->flags0 | nv_mclass(dmaobj));
nv_wo32(*pgpuobj, 0x04, lower_32_bits(priv->base.limit)); nv_wo32(*pgpuobj, 0x04, lower_32_bits(priv->base.limit));
...@@ -84,11 +82,11 @@ nv50_dmaobj_bind(struct nouveau_dmaobj *dmaobj, ...@@ -84,11 +82,11 @@ nv50_dmaobj_bind(struct nouveau_dmaobj *dmaobj,
} }
static int static int
nv50_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, nv50_dmaobj_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
struct nouveau_oclass *oclass, void *data, u32 size, struct nvkm_oclass *oclass, void *data, u32 size,
struct nouveau_object **pobject) struct nvkm_object **pobject)
{ {
struct nouveau_dmaeng *dmaeng = (void *)engine; struct nvkm_dmaeng *dmaeng = (void *)engine;
union { union {
struct nv50_dma_v0 v0; struct nv50_dma_v0 v0;
} *args; } *args;
...@@ -167,7 +165,7 @@ nv50_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine, ...@@ -167,7 +165,7 @@ nv50_dmaobj_ctor(struct nouveau_object *parent, struct nouveau_object *engine,
return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject); return dmaeng->bind(&priv->base, nv_object(priv), (void *)pobject);
} }
static struct nouveau_ofuncs static struct nvkm_ofuncs
nv50_dmaobj_ofuncs = { nv50_dmaobj_ofuncs = {
.ctor = nv50_dmaobj_ctor, .ctor = nv50_dmaobj_ctor,
.dtor = _nvkm_dmaobj_dtor, .dtor = _nvkm_dmaobj_dtor,
...@@ -175,7 +173,7 @@ nv50_dmaobj_ofuncs = { ...@@ -175,7 +173,7 @@ nv50_dmaobj_ofuncs = {
.fini = _nvkm_dmaobj_fini, .fini = _nvkm_dmaobj_fini,
}; };
static struct nouveau_oclass static struct nvkm_oclass
nv50_dmaeng_sclass[] = { nv50_dmaeng_sclass[] = {
{ NV_DMA_FROM_MEMORY, &nv50_dmaobj_ofuncs }, { NV_DMA_FROM_MEMORY, &nv50_dmaobj_ofuncs },
{ NV_DMA_TO_MEMORY, &nv50_dmaobj_ofuncs }, { NV_DMA_TO_MEMORY, &nv50_dmaobj_ofuncs },
...@@ -183,10 +181,10 @@ nv50_dmaeng_sclass[] = { ...@@ -183,10 +181,10 @@ nv50_dmaeng_sclass[] = {
{} {}
}; };
struct nouveau_oclass * struct nvkm_oclass *
nv50_dmaeng_oclass = &(struct nvkm_dmaeng_impl) { nv50_dmaeng_oclass = &(struct nvkm_dmaeng_impl) {
.base.handle = NV_ENGINE(DMAOBJ, 0x50), .base.handle = NV_ENGINE(DMAOBJ, 0x50),
.base.ofuncs = &(struct nouveau_ofuncs) { .base.ofuncs = &(struct nvkm_ofuncs) {
.ctor = _nvkm_dmaeng_ctor, .ctor = _nvkm_dmaeng_ctor,
.dtor = _nvkm_dmaeng_dtor, .dtor = _nvkm_dmaeng_dtor,
.init = _nvkm_dmaeng_init, .init = _nvkm_dmaeng_init,
......
#ifndef __NVKM_DMAOBJ_PRIV_H__ #ifndef __NVKM_DMAOBJ_PRIV_H__
#define __NVKM_DMAOBJ_PRIV_H__ #define __NVKM_DMAOBJ_PRIV_H__
#include <engine/dmaobj.h> #include <engine/dmaobj.h>
#define nvkm_dmaobj_create(p,e,c,pa,sa,d) \ #define nvkm_dmaobj_create(p,e,c,pa,sa,d) \
nvkm_dmaobj_create_((p), (e), (c), (pa), (sa), sizeof(**d), (void **)d) nvkm_dmaobj_create_((p), (e), (c), (pa), (sa), sizeof(**d), (void **)d)
int nvkm_dmaobj_create_(struct nouveau_object *, struct nouveau_object *, int nvkm_dmaobj_create_(struct nvkm_object *, struct nvkm_object *,
struct nouveau_oclass *, void **, u32 *, struct nvkm_oclass *, void **, u32 *,
int, void **); int, void **);
#define _nvkm_dmaobj_dtor nouveau_object_destroy #define _nvkm_dmaobj_dtor nvkm_object_destroy
#define _nvkm_dmaobj_init nouveau_object_init #define _nvkm_dmaobj_init nvkm_object_init
#define _nvkm_dmaobj_fini nouveau_object_fini #define _nvkm_dmaobj_fini nvkm_object_fini
int _nvkm_dmaeng_ctor(struct nouveau_object *, struct nouveau_object *, int _nvkm_dmaeng_ctor(struct nvkm_object *, struct nvkm_object *,
struct nouveau_oclass *, void *, u32, struct nvkm_oclass *, void *, u32,
struct nouveau_object **); struct nvkm_object **);
#define _nvkm_dmaeng_dtor _nouveau_engine_dtor #define _nvkm_dmaeng_dtor _nvkm_engine_dtor
#define _nvkm_dmaeng_init _nouveau_engine_init #define _nvkm_dmaeng_init _nvkm_engine_init
#define _nvkm_dmaeng_fini _nouveau_engine_fini #define _nvkm_dmaeng_fini _nvkm_engine_fini
struct nvkm_dmaeng_impl { struct nvkm_dmaeng_impl {
struct nouveau_oclass base; struct nvkm_oclass base;
struct nouveau_oclass *sclass; struct nvkm_oclass *sclass;
int (*bind)(struct nouveau_dmaobj *, struct nouveau_object *, int (*bind)(struct nvkm_dmaobj *, struct nvkm_object *,
struct nouveau_gpuobj **); struct nvkm_gpuobj **);
}; };
#endif #endif
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment