[PATCH v2 25/37] drm/nouveau/nvif: remove device rd/wr

Danilo Krummrich dakr at redhat.com
Tue Jul 9 16:22:46 UTC 2024


On Fri, Jul 05, 2024 at 04:37:09AM +1000, Ben Skeggs wrote:
> The device is always mapped now, so these are unneeded.

Instead of saying "now", please mention the change that makes this possible.

> 
> Signed-off-by: Ben Skeggs <bskeggs at nvidia.com>
> ---
>  .../drm/nouveau/include/nvkm/core/object.h    |  8 ---
>  drivers/gpu/drm/nouveau/nvkm/core/ioctl.c     | 10 ----
>  drivers/gpu/drm/nouveau/nvkm/core/object.c    | 32 -----------
>  drivers/gpu/drm/nouveau/nvkm/core/oproxy.c    | 28 ----------
>  .../gpu/drm/nouveau/nvkm/engine/device/user.c | 54 -------------------
>  5 files changed, 132 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/object.h b/drivers/gpu/drm/nouveau/include/nvkm/core/object.h
> index d4f1c964ba31..c91abac44bd6 100644
> --- a/drivers/gpu/drm/nouveau/include/nvkm/core/object.h
> +++ b/drivers/gpu/drm/nouveau/include/nvkm/core/object.h
> @@ -33,11 +33,7 @@ struct nvkm_object_func {
>  	int (*map)(struct nvkm_object *, void *argv, u32 argc,
>  		   enum nvkm_object_map *, u64 *addr, u64 *size);
>  	int (*unmap)(struct nvkm_object *);
> -	int (*rd08)(struct nvkm_object *, u64 addr, u8 *data);
> -	int (*rd16)(struct nvkm_object *, u64 addr, u16 *data);
>  	int (*rd32)(struct nvkm_object *, u64 addr, u32 *data);
> -	int (*wr08)(struct nvkm_object *, u64 addr, u8 data);
> -	int (*wr16)(struct nvkm_object *, u64 addr, u16 data);
>  	int (*wr32)(struct nvkm_object *, u64 addr, u32 data);
>  	int (*bind)(struct nvkm_object *, struct nvkm_gpuobj *, int align,
>  		    struct nvkm_gpuobj **);
> @@ -61,11 +57,7 @@ int nvkm_object_ntfy(struct nvkm_object *, u32 mthd, struct nvkm_event **);
>  int nvkm_object_map(struct nvkm_object *, void *argv, u32 argc,
>  		    enum nvkm_object_map *, u64 *addr, u64 *size);
>  int nvkm_object_unmap(struct nvkm_object *);
> -int nvkm_object_rd08(struct nvkm_object *, u64 addr, u8  *data);
> -int nvkm_object_rd16(struct nvkm_object *, u64 addr, u16 *data);
>  int nvkm_object_rd32(struct nvkm_object *, u64 addr, u32 *data);
> -int nvkm_object_wr08(struct nvkm_object *, u64 addr, u8   data);
> -int nvkm_object_wr16(struct nvkm_object *, u64 addr, u16  data);
>  int nvkm_object_wr32(struct nvkm_object *, u64 addr, u32  data);
>  int nvkm_object_bind(struct nvkm_object *, struct nvkm_gpuobj *, int align,
>  		     struct nvkm_gpuobj **);
> diff --git a/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c b/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
> index 584fc43c0d75..95e9537e1d7c 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/core/ioctl.c
> @@ -206,14 +206,6 @@ nvkm_ioctl_rd(struct nvkm_client *client,
>  		nvif_ioctl(object, "rd vers %d size %d addr %016llx\n",
>  			   args->v0.version, args->v0.size, args->v0.addr);
>  		switch (args->v0.size) {
> -		case 1:
> -			ret = nvkm_object_rd08(object, args->v0.addr, &v.b08);
> -			args->v0.data = v.b08;
> -			break;
> -		case 2:
> -			ret = nvkm_object_rd16(object, args->v0.addr, &v.b16);
> -			args->v0.data = v.b16;
> -			break;
>  		case 4:
>  			ret = nvkm_object_rd32(object, args->v0.addr, &v.b32);
>  			args->v0.data = v.b32;
> @@ -246,8 +238,6 @@ nvkm_ioctl_wr(struct nvkm_client *client,
>  		return ret;
>  
>  	switch (args->v0.size) {
> -	case 1: return nvkm_object_wr08(object, args->v0.addr, args->v0.data);
> -	case 2: return nvkm_object_wr16(object, args->v0.addr, args->v0.data);
>  	case 4: return nvkm_object_wr32(object, args->v0.addr, args->v0.data);
>  	default:
>  		break;
> diff --git a/drivers/gpu/drm/nouveau/nvkm/core/object.c b/drivers/gpu/drm/nouveau/nvkm/core/object.c
> index 580b8c7f25af..913c3bae51f7 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/core/object.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/core/object.c
> @@ -132,22 +132,6 @@ nvkm_object_unmap(struct nvkm_object *object)
>  	return -ENODEV;
>  }
>  
> -int
> -nvkm_object_rd08(struct nvkm_object *object, u64 addr, u8 *data)
> -{
> -	if (likely(object->func->rd08))
> -		return object->func->rd08(object, addr, data);
> -	return -ENODEV;
> -}
> -
> -int
> -nvkm_object_rd16(struct nvkm_object *object, u64 addr, u16 *data)
> -{
> -	if (likely(object->func->rd16))
> -		return object->func->rd16(object, addr, data);
> -	return -ENODEV;
> -}
> -
>  int
>  nvkm_object_rd32(struct nvkm_object *object, u64 addr, u32 *data)
>  {
> @@ -156,22 +140,6 @@ nvkm_object_rd32(struct nvkm_object *object, u64 addr, u32 *data)
>  	return -ENODEV;
>  }
>  
> -int
> -nvkm_object_wr08(struct nvkm_object *object, u64 addr, u8 data)
> -{
> -	if (likely(object->func->wr08))
> -		return object->func->wr08(object, addr, data);
> -	return -ENODEV;
> -}
> -
> -int
> -nvkm_object_wr16(struct nvkm_object *object, u64 addr, u16 data)
> -{
> -	if (likely(object->func->wr16))
> -		return object->func->wr16(object, addr, data);
> -	return -ENODEV;
> -}
> -
>  int
>  nvkm_object_wr32(struct nvkm_object *object, u64 addr, u32 data)
>  {
> diff --git a/drivers/gpu/drm/nouveau/nvkm/core/oproxy.c b/drivers/gpu/drm/nouveau/nvkm/core/oproxy.c
> index 3385528da650..afc10ec256a7 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/core/oproxy.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/core/oproxy.c
> @@ -55,36 +55,12 @@ nvkm_oproxy_unmap(struct nvkm_object *object)
>  	return nvkm_object_unmap(oproxy->object);
>  }
>  
> -static int
> -nvkm_oproxy_rd08(struct nvkm_object *object, u64 addr, u8 *data)
> -{
> -	return nvkm_object_rd08(nvkm_oproxy(object)->object, addr, data);
> -}
> -
> -static int
> -nvkm_oproxy_rd16(struct nvkm_object *object, u64 addr, u16 *data)
> -{
> -	return nvkm_object_rd16(nvkm_oproxy(object)->object, addr, data);
> -}
> -
>  static int
>  nvkm_oproxy_rd32(struct nvkm_object *object, u64 addr, u32 *data)
>  {
>  	return nvkm_object_rd32(nvkm_oproxy(object)->object, addr, data);
>  }
>  
> -static int
> -nvkm_oproxy_wr08(struct nvkm_object *object, u64 addr, u8 data)
> -{
> -	return nvkm_object_wr08(nvkm_oproxy(object)->object, addr, data);
> -}
> -
> -static int
> -nvkm_oproxy_wr16(struct nvkm_object *object, u64 addr, u16 data)
> -{
> -	return nvkm_object_wr16(nvkm_oproxy(object)->object, addr, data);
> -}
> -
>  static int
>  nvkm_oproxy_wr32(struct nvkm_object *object, u64 addr, u32 data)
>  {
> @@ -197,11 +173,7 @@ nvkm_oproxy_func = {
>  	.ntfy = nvkm_oproxy_ntfy,
>  	.map = nvkm_oproxy_map,
>  	.unmap = nvkm_oproxy_unmap,
> -	.rd08 = nvkm_oproxy_rd08,
> -	.rd16 = nvkm_oproxy_rd16,
>  	.rd32 = nvkm_oproxy_rd32,
> -	.wr08 = nvkm_oproxy_wr08,
> -	.wr16 = nvkm_oproxy_wr16,
>  	.wr32 = nvkm_oproxy_wr32,
>  	.bind = nvkm_oproxy_bind,
>  	.sclass = nvkm_oproxy_sclass,
> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
> index 65bd6712bce2..d7f75b3a43c8 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/user.c
> @@ -202,54 +202,6 @@ nvkm_udevice_mthd(struct nvkm_object *object, u32 mthd, void *data, u32 size)
>  	return -EINVAL;
>  }
>  
> -static int
> -nvkm_udevice_rd08(struct nvkm_object *object, u64 addr, u8 *data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	*data = nvkm_rd08(udev->device, addr);
> -	return 0;
> -}
> -
> -static int
> -nvkm_udevice_rd16(struct nvkm_object *object, u64 addr, u16 *data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	*data = nvkm_rd16(udev->device, addr);
> -	return 0;
> -}
> -
> -static int
> -nvkm_udevice_rd32(struct nvkm_object *object, u64 addr, u32 *data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	*data = nvkm_rd32(udev->device, addr);
> -	return 0;
> -}
> -
> -static int
> -nvkm_udevice_wr08(struct nvkm_object *object, u64 addr, u8 data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	nvkm_wr08(udev->device, addr, data);
> -	return 0;
> -}
> -
> -static int
> -nvkm_udevice_wr16(struct nvkm_object *object, u64 addr, u16 data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	nvkm_wr16(udev->device, addr, data);
> -	return 0;
> -}
> -
> -static int
> -nvkm_udevice_wr32(struct nvkm_object *object, u64 addr, u32 data)
> -{
> -	struct nvkm_udevice *udev = nvkm_udevice(object);
> -	nvkm_wr32(udev->device, addr, data);
> -	return 0;
> -}
> -
>  static int
>  nvkm_udevice_map(struct nvkm_object *object, void *argv, u32 argc,
>  		 enum nvkm_object_map *type, u64 *addr, u64 *size)
> @@ -362,12 +314,6 @@ nvkm_udevice = {
>  	.fini = nvkm_udevice_fini,
>  	.mthd = nvkm_udevice_mthd,
>  	.map = nvkm_udevice_map,
> -	.rd08 = nvkm_udevice_rd08,
> -	.rd16 = nvkm_udevice_rd16,
> -	.rd32 = nvkm_udevice_rd32,
> -	.wr08 = nvkm_udevice_wr08,
> -	.wr16 = nvkm_udevice_wr16,
> -	.wr32 = nvkm_udevice_wr32,
>  	.sclass = nvkm_udevice_child_get,
>  };
>  
> -- 
> 2.45.1
> 



More information about the Nouveau mailing list