mirror of
https://github.com/torvalds/linux.git
synced 2024-09-20 06:53:04 +00:00
drm/nouveau: add nouveau_cli to nouveau_abi16
Store a pointer to struct nouveau_cli in struct nouveau_abi16 to avoid some dubious void casts. Signed-off-by: Ben Skeggs <bskeggs@nvidia.com> Signed-off-by: Danilo Krummrich <dakr@kernel.org> Link: https://patchwork.freedesktop.org/patch/msgid/20240726043828.58966-8-bskeggs@nvidia.com
This commit is contained in:
parent
ea94c8e217
commit
2e408ad7a5
|
@ -50,6 +50,7 @@ nouveau_abi16(struct drm_file *file_priv)
|
|||
.device = ~0ULL,
|
||||
};
|
||||
|
||||
abi16->cli = cli;
|
||||
INIT_LIST_HEAD(&abi16->channels);
|
||||
|
||||
/* allocate device object targeting client's default
|
||||
|
@ -82,7 +83,7 @@ nouveau_abi16_get(struct drm_file *file_priv)
|
|||
int
|
||||
nouveau_abi16_put(struct nouveau_abi16 *abi16, int ret)
|
||||
{
|
||||
struct nouveau_cli *cli = (void *)abi16->device.object.client;
|
||||
struct nouveau_cli *cli = abi16->cli;
|
||||
mutex_unlock(&cli->mutex);
|
||||
return ret;
|
||||
}
|
||||
|
@ -164,7 +165,7 @@ nouveau_abi16_chan_fini(struct nouveau_abi16 *abi16,
|
|||
void
|
||||
nouveau_abi16_fini(struct nouveau_abi16 *abi16)
|
||||
{
|
||||
struct nouveau_cli *cli = (void *)abi16->device.object.client;
|
||||
struct nouveau_cli *cli = abi16->cli;
|
||||
struct nouveau_abi16_chan *chan, *temp;
|
||||
|
||||
/* cleanup channels */
|
||||
|
@ -529,7 +530,7 @@ nouveau_abi16_ioctl_grobj_alloc(ABI16_IOCTL_ARGS)
|
|||
|
||||
if (init->handle == ~0)
|
||||
return nouveau_abi16_put(abi16, -EINVAL);
|
||||
client = abi16->device.object.client;
|
||||
client = &abi16->cli->base;
|
||||
|
||||
chan = nouveau_abi16_chan(abi16, init->channel);
|
||||
if (!chan)
|
||||
|
@ -623,7 +624,7 @@ nouveau_abi16_ioctl_notifierobj_alloc(ABI16_IOCTL_ARGS)
|
|||
/* completely unnecessary for these chipsets... */
|
||||
if (unlikely(device->info.family >= NV_DEVICE_INFO_V0_FERMI))
|
||||
return nouveau_abi16_put(abi16, -EINVAL);
|
||||
client = abi16->device.object.client;
|
||||
client = &abi16->cli->base;
|
||||
|
||||
chan = nouveau_abi16_chan(abi16, info->channel);
|
||||
if (!chan)
|
||||
|
|
|
@ -30,6 +30,7 @@ struct nouveau_abi16_chan {
|
|||
};
|
||||
|
||||
struct nouveau_abi16 {
|
||||
struct nouveau_cli *cli;
|
||||
struct nvif_device device;
|
||||
struct list_head channels;
|
||||
u64 handles;
|
||||
|
|
Loading…
Reference in New Issue
Block a user