lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <c1bb4fa6cea38493e6ccff21f5f5fea39a0393e6.camel@redhat.com>
Date:   Wed, 25 Jan 2023 16:31:39 -0500
From:   Lyude Paul <lyude@...hat.com>
To:     Deepak R Varma <drv@...lo.com>, Ben Skeggs <bskeggs@...hat.com>,
        Karol Herbst <kherbst@...hat.com>,
        David Airlie <airlied@...il.com>,
        Daniel Vetter <daniel@...ll.ch>,
        dri-devel@...ts.freedesktop.org, nouveau@...ts.freedesktop.org,
        linux-kernel@...r.kernel.org
Cc:     Saurabh Singh Sengar <ssengar@...rosoft.com>,
        Praveen Kumar <kumarpraveen@...ux.microsoft.com>
Subject: Re: [PATCH] drm/nouveau/devinit: Convert function disable() to be
 void

Reviewed-by: Lyude Paul <lyude@...hat.com>

Will push upstream in a moment

On Wed, 2023-01-25 at 20:37 +0530, Deepak R Varma wrote:
> The current design of callback function disable() of struct
> nvkm_devinit_func is defined to return a u64 value. In its implementation
> in the driver modules, the function always returns a fixed value 0. Hence
> the design and implementation of this function should be enhanced to return
> void instead of a fixed value. This change also eliminates untouched
> return variables.
> 
> The change is identified using the returnvar.cocci Coccinelle semantic
> patch script.
> 
> Signed-off-by: Deepak R Varma <drv@...lo.com>
> ---
> Please note: The change is compile build tested only.
> 
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c  | 3 ++-
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c   | 5 +----
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.c   | 4 +---
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c | 4 +---
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c | 4 +---
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.c | 4 +---
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.c | 4 +---
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c  | 5 +----
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h  | 2 +-
>  drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h  | 2 +-
>  10 files changed, 11 insertions(+), 26 deletions(-)
> 
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c
> index dd4981708fe4..3d9319c319c6 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/base.c
> @@ -51,7 +51,8 @@ u64
>  nvkm_devinit_disable(struct nvkm_devinit *init)
>  {
>  	if (init && init->func->disable)
> -		return init->func->disable(init);
> +		init->func->disable(init);
> +
>  	return 0;
>  }
>  
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c
> index c224702b7bed..00df7811dd10 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g84.c
> @@ -26,13 +26,12 @@
>  #include <subdev/bios.h>
>  #include <subdev/bios/init.h>
>  
> -static u64
> +static void
>  g84_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
>  	u32 r001540 = nvkm_rd32(device, 0x001540);
>  	u32 r00154c = nvkm_rd32(device, 0x00154c);
> -	u64 disable = 0ULL;
>  
>  	if (!(r001540 & 0x40000000)) {
>  		nvkm_subdev_disable(device, NVKM_ENGINE_MPEG, 0);
> @@ -47,8 +46,6 @@ g84_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_BSP, 0);
>  	if (!(r00154c & 0x00000040))
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CIPHER, 0);
> -
> -	return disable;
>  }
>  
>  static const struct nvkm_devinit_func
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.c
> index 8977483a9f42..54bee499b982 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/g98.c
> @@ -26,7 +26,7 @@
>  #include <subdev/bios.h>
>  #include <subdev/bios/init.h>
>  
> -static u64
> +static void
>  g98_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
> @@ -45,8 +45,6 @@ g98_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_MSVLD, 0);
>  	if (!(r00154c & 0x00000040))
>  		nvkm_subdev_disable(device, NVKM_ENGINE_SEC, 0);
> -
> -	return 0ULL;
>  }
>  
>  static const struct nvkm_devinit_func
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c
> index 5b7cb1fe7897..5368e705e7fd 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gf100.c
> @@ -63,7 +63,7 @@ gf100_devinit_pll_set(struct nvkm_devinit *init, u32 type, u32 freq)
>  	return ret;
>  }
>  
> -static u64
> +static void
>  gf100_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
> @@ -85,8 +85,6 @@ gf100_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CE, 0);
>  	if (r022500 & 0x00000200)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CE, 1);
> -
> -	return 0ULL;
>  }
>  
>  void
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c
> index 8955af2704c7..7bcbc4895ec2 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gm107.c
> @@ -26,7 +26,7 @@
>  #include <subdev/bios.h>
>  #include <subdev/bios/init.h>
>  
> -u64
> +void
>  gm107_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
> @@ -39,8 +39,6 @@ gm107_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CE, 2);
>  	if (r021c04 & 0x00000001)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_DISP, 0);
> -
> -	return 0ULL;
>  }
>  
>  static const struct nvkm_devinit_func
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.c
> index 3d0ab86c3115..dbca92318baf 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/gt215.c
> @@ -62,7 +62,7 @@ gt215_devinit_pll_set(struct nvkm_devinit *init, u32 type, u32 freq)
>  	return ret;
>  }
>  
> -static u64
> +static void
>  gt215_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
> @@ -80,8 +80,6 @@ gt215_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_MSVLD, 0);
>  	if (!(r00154c & 0x00000200))
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CE, 0);
> -
> -	return 0ULL;
>  }
>  
>  static u32
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.c
> index a9cdf2411187..a24bd2e7d7ce 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/mcp89.c
> @@ -26,7 +26,7 @@
>  #include <subdev/bios.h>
>  #include <subdev/bios/init.h>
>  
> -static u64
> +static void
>  mcp89_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
> @@ -46,8 +46,6 @@ mcp89_devinit_disable(struct nvkm_devinit *init)
>  		nvkm_subdev_disable(device, NVKM_ENGINE_VIC, 0);
>  	if (!(r00154c & 0x00000200))
>  		nvkm_subdev_disable(device, NVKM_ENGINE_CE, 0);
> -
> -	return 0;
>  }
>  
>  static const struct nvkm_devinit_func
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c
> index 380995d398b1..07ed8fd778b2 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.c
> @@ -77,17 +77,14 @@ nv50_devinit_pll_set(struct nvkm_devinit *init, u32 type, u32 freq)
>  	return 0;
>  }
>  
> -static u64
> +static void
>  nv50_devinit_disable(struct nvkm_devinit *init)
>  {
>  	struct nvkm_device *device = init->subdev.device;
>  	u32 r001540 = nvkm_rd32(device, 0x001540);
> -	u64 disable = 0ULL;
>  
>  	if (!(r001540 & 0x40000000))
>  		nvkm_subdev_disable(device, NVKM_ENGINE_MPEG, 0);
> -
> -	return disable;
>  }
>  
>  void
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h
> index 987a7f478b84..8de409c084c1 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv50.h
> @@ -23,7 +23,7 @@ int  gf100_devinit_ctor(struct nvkm_object *, struct nvkm_object *,
>  int  gf100_devinit_pll_set(struct nvkm_devinit *, u32, u32);
>  void gf100_devinit_preinit(struct nvkm_devinit *);
>  
> -u64  gm107_devinit_disable(struct nvkm_devinit *);
> +void  gm107_devinit_disable(struct nvkm_devinit *);
>  
>  int gm200_devinit_post(struct nvkm_devinit *, bool);
>  void gm200_devinit_preos(struct nv50_devinit *, bool);
> diff --git a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
> index dd8b038a8cee..a648482d06e9 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
> +++ b/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/priv.h
> @@ -12,7 +12,7 @@ struct nvkm_devinit_func {
>  	u32  (*mmio)(struct nvkm_devinit *, u32);
>  	void (*meminit)(struct nvkm_devinit *);
>  	int  (*pll_set)(struct nvkm_devinit *, u32 type, u32 freq);
> -	u64  (*disable)(struct nvkm_devinit *);
> +	void (*disable)(struct nvkm_devinit *);
>  };
>  
>  void nvkm_devinit_ctor(const struct nvkm_devinit_func *, struct nvkm_device *,

-- 
Cheers,
 Lyude Paul (she/her)
 Software Engineer at Red Hat

Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ