Ben Skeggs
41a634064d
drm/nouveau/nvif: return min/max versions for supported object classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
f58ddf9581
drm/nouveau/nvif: assign internal class identifiers to sw classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
315a8b2edf
drm/nouveau/nvif: use negative oclass identifier for internal classes
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
5c15bf709e
drm/nouveau/nvif: return success from sclass even for objects without children
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
99d4d36ad6
drm/nouveau/nvif: extend nop ioctl to return nvif version identifier
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
bf81df9be2
drm/nouveau/nvif: replace path-based object identification
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
a01ca78c8f
drm/nouveau/nvif: simplify and tidy library interfaces
...
A variety of tweaks to the NVIF library interfaces, mostly ripping out
things that turned out to be not so useful.
- Removed refcounting from nvif_object, callers are expected to not be
stupid instead.
- nvif_client is directly reachable from anything derived from nvif_object,
removing the need for heuristics to locate it
- _new() versions of interfaces, that allocate memory for the object
they construct, have been removed. The vast majority of callers used
the embedded _init() interfaces.
- No longer storing constructor arguments (and the data returned from
nvkm) inside nvif_object, it's more or less unused and just wastes
memory.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:32 +10:00
Ben Skeggs
4e7e62d607
drm/nouveau/client: store default device by handle, not reference
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
102b49da15
drm/nouveau/parent: remove some (now) unnecessary special-case handling
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
493f189dc0
drm/nouveau/object: store object type data outside of handle
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
a1e8873622
drm/nouveau/device: decouple from engine machinery
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
a1bfb29a33
drm/nouveau/device: split user device implementation out on its own
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
0ac9d210a1
drm/nouveau/device: simplify subdev construction
...
Replaces the piece-by-piece (in response to NV_DEVICE ctor args) device
contruction with a once-off all-or-nothing approach, eliminating some
tricky refcounting issues. The partial device init capability was only
required by some tools, and has been moved to probe time instead.
Temporarily removes a workaround for some boards where we need to fiddle
with AGP registers before executing the DEVINIT scripts. A later commit
in this series reinstates it.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:31 +10:00
Ben Skeggs
c813d8e048
drm/nouveau/bin: punt client/device argument handling into a common helper
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:30 +10:00
Ben Skeggs
e781dc8f6c
drm/nouveau/device: tidy ctor/dtor interfaces
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:30 +10:00
Ben Skeggs
76ecea5b4b
drm/nouveau/client: tidy ctor/dtor interfaces
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:30 +10:00
Ben Skeggs
47b2505efb
drm/nouveau/platform: remove subclassing of nvkm_device
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:30 +10:00
Ben Skeggs
f2c906fc0c
drm/nouveau/disp: transition outp/conn away from being based on nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:30 +10:00
Ben Skeggs
2aa5eac516
drm/nouveau/i2c: transition pad/ports away from being based on nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
d36a99d2da
drm/nouveau/fb: transition nvkm_ram away from being based on nvkm_object
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
a8dae9fe0e
drm/nouveau/vga: require nvkm_device pointer in accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
95cf469cc3
drm/nouveau/imem: use object accessor function for suspend/resume
...
Very much not ideal, but this will be improved later.
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
cfdc4c44b4
drm/nouveau/core: wrap direct use of object accessor functions
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:29 +10:00
Ben Skeggs
572fb13db2
drm/nouveau/mpeg: switch to gpuobj accessor macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:28 +10:00
Ben Skeggs
142ea05f49
drm/nouveau/gr: switch to gpuobj accessor macros
...
Signed-off-by: Ben Skeggs <bskeggs@redhat.com >
2015-08-28 12:40:28 +10:00