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:
@@ -169,7 +169,7 @@ void
|
||||
nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_chan *fctx)
|
||||
{
|
||||
struct nouveau_fence_priv *priv = (void*)chan->drm->fence;
|
||||
struct nouveau_cli *cli = (void *)nvif_client(chan->object);
|
||||
struct nouveau_cli *cli = (void *)chan->user.client;
|
||||
int ret;
|
||||
|
||||
INIT_LIST_HEAD(&fctx->flip);
|
||||
@@ -188,13 +188,12 @@ nouveau_fence_context_new(struct nouveau_channel *chan, struct nouveau_fence_cha
|
||||
if (!priv->uevent)
|
||||
return;
|
||||
|
||||
ret = nvif_notify_init(chan->object, NULL,
|
||||
nouveau_fence_wait_uevent_handler, false,
|
||||
G82_CHANNEL_DMA_V0_NTFY_UEVENT,
|
||||
&(struct nvif_notify_uevent_req) { },
|
||||
sizeof(struct nvif_notify_uevent_req),
|
||||
sizeof(struct nvif_notify_uevent_rep),
|
||||
&fctx->notify);
|
||||
ret = nvif_notify_init(&chan->user, nouveau_fence_wait_uevent_handler,
|
||||
false, G82_CHANNEL_DMA_V0_NTFY_UEVENT,
|
||||
&(struct nvif_notify_uevent_req) { },
|
||||
sizeof(struct nvif_notify_uevent_req),
|
||||
sizeof(struct nvif_notify_uevent_rep),
|
||||
&fctx->notify);
|
||||
|
||||
WARN_ON(ret);
|
||||
}
|
||||
|
Reference in New Issue
Block a user