1ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs#ifndef __NV40_GRAPH_H__ 2ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs#define __NV40_GRAPH_H__ 3ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs 4c98b81946827fe04c36bfa6bb376ffa739b0c2d0Ilia Mirkin#include <core/device.h> 5c98b81946827fe04c36bfa6bb376ffa739b0c2d0Ilia Mirkin#include <core/gpuobj.h> 6c98b81946827fe04c36bfa6bb376ffa739b0c2d0Ilia Mirkin 7ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs/* returns 1 if device is one of the nv4x using the 0x4497 object class, 8ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs * helpful to determine a number of other hardware features 9ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs */ 10ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsstatic inline int 11ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsnv44_graph_class(void *priv) 12ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs{ 13ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs struct nouveau_device *device = nv_device(priv); 14ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs 15ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs if ((device->chipset & 0xf0) == 0x60) 16ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs return 1; 17ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs 18ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs return !(0x0baf & (1 << (device->chipset & 0x0f))); 19ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs} 20ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs 211f150b3e7a722ebfc68eec5d83a9fe1ee8d75d71Marcin Slusarzint nv40_grctx_init(struct nouveau_device *, u32 *size); 22ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggsvoid nv40_grctx_fill(struct nouveau_device *, struct nouveau_gpuobj *); 23ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs 24ebb945a94bba2ce8dff7b0942ff2b3f2a52a0a69Ben Skeggs#endif 25