Commit 0233a9f4 authored by Ben Skeggs's avatar Ben Skeggs

drm/nouveau/gr/nv50-mcp89: add defines for gr classes

Signed-off-by: default avatarBen Skeggs <bskeggs@redhat.com>
parent 1894054d
...@@ -11,14 +11,18 @@ ...@@ -11,14 +11,18 @@
#define NVIF_CLASS_SW_GF100 /* if0005.h */ -7 #define NVIF_CLASS_SW_GF100 /* if0005.h */ -7
/* the below match nvidia-assigned (either in hw, or sw) class numbers */ /* the below match nvidia-assigned (either in hw, or sw) class numbers */
#define NV_NULL_CLASS 0x00000030
#define NV_DEVICE /* cl0080.h */ 0x00000080 #define NV_DEVICE /* cl0080.h */ 0x00000080
#define NV_DMA_FROM_MEMORY /* cl0002.h */ 0x00000002 #define NV_DMA_FROM_MEMORY /* cl0002.h */ 0x00000002
#define NV_DMA_TO_MEMORY /* cl0002.h */ 0x00000003 #define NV_DMA_TO_MEMORY /* cl0002.h */ 0x00000003
#define NV_DMA_IN_MEMORY /* cl0002.h */ 0x0000003d #define NV_DMA_IN_MEMORY /* cl0002.h */ 0x0000003d
#define NV50_TWOD 0x0000502d
#define FERMI_TWOD_A 0x0000902d #define FERMI_TWOD_A 0x0000902d
#define NV50_MEMORY_TO_MEMORY_FORMAT 0x00005039
#define FERMI_MEMORY_TO_MEMORY_FORMAT_A 0x00009039 #define FERMI_MEMORY_TO_MEMORY_FORMAT_A 0x00009039
#define KEPLER_INLINE_TO_MEMORY_A 0x0000a040 #define KEPLER_INLINE_TO_MEMORY_A 0x0000a040
...@@ -99,6 +103,12 @@ ...@@ -99,6 +103,12 @@
#define GF110_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000907e #define GF110_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000907e
#define GK104_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000917e #define GK104_DISP_OVERLAY_CONTROL_DMA /* cl507e.h */ 0x0000917e
#define NV50_TESLA 0x00005097
#define G82_TESLA 0x00008297
#define GT200_TESLA 0x00008397
#define GT214_TESLA 0x00008597
#define GT21A_TESLA 0x00008697
#define FERMI_A /* cl9097.h */ 0x00009097 #define FERMI_A /* cl9097.h */ 0x00009097
#define FERMI_B /* cl9097.h */ 0x00009197 #define FERMI_B /* cl9097.h */ 0x00009197
#define FERMI_C /* cl9097.h */ 0x00009297 #define FERMI_C /* cl9097.h */ 0x00009297
...@@ -140,6 +150,8 @@ ...@@ -140,6 +150,8 @@
#define FERMI_DECOMPRESS 0x000090b8 #define FERMI_DECOMPRESS 0x000090b8
#define NV50_COMPUTE 0x000050c0
#define GT214_COMPUTE 0x000085c0
#define FERMI_COMPUTE_A 0x000090c0 #define FERMI_COMPUTE_A 0x000090c0
#define FERMI_COMPUTE_B 0x000091c0 #define FERMI_COMPUTE_B 0x000091c0
#define KEPLER_COMPUTE_A 0x0000a0c0 #define KEPLER_COMPUTE_A 0x0000a0c0
......
...@@ -25,6 +25,8 @@ ...@@ -25,6 +25,8 @@
#include <subdev/timer.h> #include <subdev/timer.h>
#include <nvif/class.h>
static const struct nvkm_bitfield nv50_gr_status[] = { static const struct nvkm_bitfield nv50_gr_status[] = {
{ 0x00000001, "BUSY" }, /* set when any bit is set */ { 0x00000001, "BUSY" }, /* set when any bit is set */
{ 0x00000002, "DISPATCH" }, { 0x00000002, "DISPATCH" },
...@@ -180,11 +182,11 @@ g84_gr = { ...@@ -180,11 +182,11 @@ g84_gr = {
.tlb_flush = g84_gr_tlb_flush, .tlb_flush = g84_gr_tlb_flush,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x8297, &nv50_gr_object }, { -1, -1, G82_TESLA, &nv50_gr_object },
{} {}
} }
}; };
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
*/ */
#include "nv50.h" #include "nv50.h"
#include <nvif/class.h>
static const struct nvkm_gr_func static const struct nvkm_gr_func
gt200_gr = { gt200_gr = {
.init = nv50_gr_init, .init = nv50_gr_init,
...@@ -31,11 +33,11 @@ gt200_gr = { ...@@ -31,11 +33,11 @@ gt200_gr = {
.tlb_flush = g84_gr_tlb_flush, .tlb_flush = g84_gr_tlb_flush,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x8397, &nv50_gr_object }, { -1, -1, GT200_TESLA, &nv50_gr_object },
{} {}
} }
}; };
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
*/ */
#include "nv50.h" #include "nv50.h"
#include <nvif/class.h>
static const struct nvkm_gr_func static const struct nvkm_gr_func
gt215_gr = { gt215_gr = {
.init = nv50_gr_init, .init = nv50_gr_init,
...@@ -31,12 +33,12 @@ gt215_gr = { ...@@ -31,12 +33,12 @@ gt215_gr = {
.tlb_flush = g84_gr_tlb_flush, .tlb_flush = g84_gr_tlb_flush,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x8597, &nv50_gr_object }, { -1, -1, GT214_TESLA, &nv50_gr_object },
{ -1, -1, 0x85c0, &nv50_gr_object }, { -1, -1, GT214_COMPUTE, &nv50_gr_object },
{} {}
} }
}; };
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
*/ */
#include "nv50.h" #include "nv50.h"
#include <nvif/class.h>
static const struct nvkm_gr_func static const struct nvkm_gr_func
mcp79_gr = { mcp79_gr = {
.init = nv50_gr_init, .init = nv50_gr_init,
...@@ -30,11 +32,11 @@ mcp79_gr = { ...@@ -30,11 +32,11 @@ mcp79_gr = {
.chan_new = nv50_gr_chan_new, .chan_new = nv50_gr_chan_new,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x8397, &nv50_gr_object }, { -1, -1, GT200_TESLA, &nv50_gr_object },
{} {}
} }
}; };
......
...@@ -23,6 +23,8 @@ ...@@ -23,6 +23,8 @@
*/ */
#include "nv50.h" #include "nv50.h"
#include <nvif/class.h>
static const struct nvkm_gr_func static const struct nvkm_gr_func
mcp89_gr = { mcp89_gr = {
.init = nv50_gr_init, .init = nv50_gr_init,
...@@ -31,12 +33,12 @@ mcp89_gr = { ...@@ -31,12 +33,12 @@ mcp89_gr = {
.tlb_flush = g84_gr_tlb_flush, .tlb_flush = g84_gr_tlb_flush,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x85c0, &nv50_gr_object }, { -1, -1, GT214_COMPUTE, &nv50_gr_object },
{ -1, -1, 0x8697, &nv50_gr_object }, { -1, -1, GT21A_TESLA, &nv50_gr_object },
{} {}
} }
}; };
......
...@@ -27,6 +27,8 @@ ...@@ -27,6 +27,8 @@
#include <core/gpuobj.h> #include <core/gpuobj.h>
#include <engine/fifo.h> #include <engine/fifo.h>
#include <nvif/class.h>
u64 u64
nv50_gr_units(struct nvkm_gr *gr) nv50_gr_units(struct nvkm_gr *gr)
{ {
...@@ -778,11 +780,11 @@ nv50_gr = { ...@@ -778,11 +780,11 @@ nv50_gr = {
.chan_new = nv50_gr_chan_new, .chan_new = nv50_gr_chan_new,
.units = nv50_gr_units, .units = nv50_gr_units,
.sclass = { .sclass = {
{ -1, -1, 0x0030, &nv50_gr_object }, { -1, -1, NV_NULL_CLASS, &nv50_gr_object },
{ -1, -1, 0x502d, &nv50_gr_object }, { -1, -1, NV50_TWOD, &nv50_gr_object },
{ -1, -1, 0x5039, &nv50_gr_object }, { -1, -1, NV50_MEMORY_TO_MEMORY_FORMAT, &nv50_gr_object },
{ -1, -1, 0x5097, &nv50_gr_object }, { -1, -1, NV50_TESLA, &nv50_gr_object },
{ -1, -1, 0x50c0, &nv50_gr_object }, { -1, -1, NV50_COMPUTE, &nv50_gr_object },
{} {}
} }
}; };
......
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