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>
This commit is contained in:
@@ -1064,7 +1064,7 @@ nouveau_bo_move_m2mf(struct ttm_buffer_object *bo, int evict, bool intr,
|
||||
{
|
||||
struct nouveau_drm *drm = nouveau_bdev(bo->bdev);
|
||||
struct nouveau_channel *chan = drm->ttm.chan;
|
||||
struct nouveau_cli *cli = (void *)nvif_client(&chan->device->base);
|
||||
struct nouveau_cli *cli = (void *)chan->user.client;
|
||||
struct nouveau_fence *fence;
|
||||
int ret;
|
||||
|
||||
@@ -1137,7 +1137,7 @@ nouveau_bo_move_init(struct nouveau_drm *drm)
|
||||
if (chan == NULL)
|
||||
continue;
|
||||
|
||||
ret = nvif_object_init(chan->object, NULL,
|
||||
ret = nvif_object_init(&chan->user,
|
||||
mthd->oclass | (mthd->engine << 16),
|
||||
mthd->oclass, NULL, 0,
|
||||
&drm->ttm.copy);
|
||||
|
Reference in New Issue
Block a user