linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH 0/2] Bug fixes for FPGA DFL
@ 2020-04-16  3:11 Xu Yilun
  2020-04-16  3:11 ` [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret' Xu Yilun
  2020-04-16  3:11 ` [PATCH 2/2] fpga: dfl: fix bug in port reset handshake Xu Yilun
  0 siblings, 2 replies; 10+ messages in thread
From: Xu Yilun @ 2020-04-16  3:11 UTC (permalink / raw)
  To: mdf, linux-fpga, linux-kernel; +Cc: trix, bhu, Xu Yilun

Patch #1 fixes lkp cppcheck warnings in dfl-pci.c
Patch #2 fixes bug in dfl port reset handshake

Matthew Gerlach (1):
  fpga: dfl: fix bug in port reset handshake

Xu Yilun (1):
  fpga: dfl: pci: reduce the scope of variable 'ret'

 drivers/fpga/dfl-afu-main.c | 3 ++-
 drivers/fpga/dfl-pci.c      | 3 ++-
 2 files changed, 4 insertions(+), 2 deletions(-)

-- 
2.7.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

* [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-16  3:11 [PATCH 0/2] Bug fixes for FPGA DFL Xu Yilun
@ 2020-04-16  3:11 ` Xu Yilun
  2020-04-16  8:04   ` Wu, Hao
  2020-04-16  3:11 ` [PATCH 2/2] fpga: dfl: fix bug in port reset handshake Xu Yilun
  1 sibling, 1 reply; 10+ messages in thread
From: Xu Yilun @ 2020-04-16  3:11 UTC (permalink / raw)
  To: mdf, linux-fpga, linux-kernel; +Cc: trix, bhu, Xu Yilun

This is to fix lkp cppcheck warnings:

 drivers/fpga/dfl-pci.c:230:6: warning: The scope of the variable 'ret' can be reduced. [variableScope]
    int ret = 0;
        ^

 drivers/fpga/dfl-pci.c:230:10: warning: Variable 'ret' is assigned a value that is never used. [unreadVariable]
    int ret = 0;
            ^

Fixes: 3c2760b78f90 ("fpga: dfl: pci: fix return value of cci_pci_sriov_configure")
Reported-by: kbuild test robot <lkp@intel.com>
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
---
 drivers/fpga/dfl-pci.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c
index 5387550..a78c409 100644
--- a/drivers/fpga/dfl-pci.c
+++ b/drivers/fpga/dfl-pci.c
@@ -227,7 +227,6 @@ static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
 {
 	struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
 	struct dfl_fpga_cdev *cdev = drvdata->cdev;
-	int ret = 0;
 
 	if (!num_vfs) {
 		/*
@@ -239,6 +238,8 @@ static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
 		dfl_fpga_cdev_config_ports_pf(cdev);
 
 	} else {
+		int ret;
+
 		/*
 		 * before enable SRIOV, put released ports into VF access mode
 		 * first of all.
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* [PATCH 2/2] fpga: dfl: fix bug in port reset handshake
  2020-04-16  3:11 [PATCH 0/2] Bug fixes for FPGA DFL Xu Yilun
  2020-04-16  3:11 ` [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret' Xu Yilun
@ 2020-04-16  3:11 ` Xu Yilun
  2020-04-16  8:06   ` Wu, Hao
  1 sibling, 1 reply; 10+ messages in thread
From: Xu Yilun @ 2020-04-16  3:11 UTC (permalink / raw)
  To: mdf, linux-fpga, linux-kernel; +Cc: trix, bhu, Matthew Gerlach, Xu Yilun

From: Matthew Gerlach <matthew.gerlach@linux.intel.com>

When putting the port in reset, driver must wait for the soft reset
acknowledgment bit instead of the soft reset bit.

Fixes: 47c1b19c160f (fpga: dfl: afu: add port ops support)
Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com>
Signed-off-by: Xu Yilun <yilun.xu@intel.com>
---
 drivers/fpga/dfl-afu-main.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c
index b0c3178..3fa2c59 100644
--- a/drivers/fpga/dfl-afu-main.c
+++ b/drivers/fpga/dfl-afu-main.c
@@ -83,7 +83,8 @@ int __afu_port_disable(struct platform_device *pdev)
 	 * on this port and minimum soft reset pulse width has elapsed.
 	 * Driver polls port_soft_reset_ack to determine if reset done by HW.
 	 */
-	if (readq_poll_timeout(base + PORT_HDR_CTRL, v, v & PORT_CTRL_SFTRST,
+	if (readq_poll_timeout(base + PORT_HDR_CTRL, v,
+			       v & PORT_CTRL_SFTRST_ACK,
 			       RST_POLL_INVL, RST_POLL_TIMEOUT)) {
 		dev_err(&pdev->dev, "timeout, fail to reset device\n");
 		return -ETIMEDOUT;
-- 
2.7.4


^ permalink raw reply related	[flat|nested] 10+ messages in thread

* RE: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-16  3:11 ` [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret' Xu Yilun
@ 2020-04-16  8:04   ` Wu, Hao
  2020-04-16 16:56     ` Tom Rix
  0 siblings, 1 reply; 10+ messages in thread
From: Wu, Hao @ 2020-04-16  8:04 UTC (permalink / raw)
  To: Xu, Yilun, mdf, linux-fpga, linux-kernel; +Cc: trix, bhu, Xu, Yilun

> -----Original Message-----
> From: linux-fpga-owner@vger.kernel.org <linux-fpga-owner@vger.kernel.org>
> On Behalf Of Xu Yilun
> Sent: Thursday, April 16, 2020 11:12 AM
> To: mdf@kernel.org; linux-fpga@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Cc: trix@redhat.com; bhu@redhat.com; Xu, Yilun <yilun.xu@intel.com>
> Subject: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
> 
> This is to fix lkp cppcheck warnings:
> 
>  drivers/fpga/dfl-pci.c:230:6: warning: The scope of the variable 'ret' can be
> reduced. [variableScope]
>     int ret = 0;
>         ^
> 
>  drivers/fpga/dfl-pci.c:230:10: warning: Variable 'ret' is assigned a value that
> is never used. [unreadVariable]
>     int ret = 0;
>             ^
> 
> Fixes: 3c2760b78f90 ("fpga: dfl: pci: fix return value of
> cci_pci_sriov_configure")
> Reported-by: kbuild test robot <lkp@intel.com>
> Signed-off-by: Xu Yilun <yilun.xu@intel.com>

Looks good to me.

Acked-by: Wu Hao <hao.wu@intel.com>

> ---
>  drivers/fpga/dfl-pci.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/fpga/dfl-pci.c b/drivers/fpga/dfl-pci.c
> index 5387550..a78c409 100644
> --- a/drivers/fpga/dfl-pci.c
> +++ b/drivers/fpga/dfl-pci.c
> @@ -227,7 +227,6 @@ static int cci_pci_sriov_configure(struct pci_dev
> *pcidev, int num_vfs)
>  {
>  	struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
>  	struct dfl_fpga_cdev *cdev = drvdata->cdev;
> -	int ret = 0;
> 
>  	if (!num_vfs) {
>  		/*
> @@ -239,6 +238,8 @@ static int cci_pci_sriov_configure(struct pci_dev
> *pcidev, int num_vfs)
>  		dfl_fpga_cdev_config_ports_pf(cdev);
> 
>  	} else {
> +		int ret;
> +
>  		/*
>  		 * before enable SRIOV, put released ports into VF access
> mode
>  		 * first of all.
> --
> 2.7.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH 2/2] fpga: dfl: fix bug in port reset handshake
  2020-04-16  3:11 ` [PATCH 2/2] fpga: dfl: fix bug in port reset handshake Xu Yilun
@ 2020-04-16  8:06   ` Wu, Hao
  0 siblings, 0 replies; 10+ messages in thread
From: Wu, Hao @ 2020-04-16  8:06 UTC (permalink / raw)
  To: Xu, Yilun, mdf, linux-fpga, linux-kernel
  Cc: trix, bhu, Matthew Gerlach, Xu, Yilun

> -----Original Message-----
> From: linux-fpga-owner@vger.kernel.org <linux-fpga-owner@vger.kernel.org>
> On Behalf Of Xu Yilun
> Sent: Thursday, April 16, 2020 11:12 AM
> To: mdf@kernel.org; linux-fpga@vger.kernel.org; linux-
> kernel@vger.kernel.org
> Cc: trix@redhat.com; bhu@redhat.com; Matthew Gerlach
> <matthew.gerlach@linux.intel.com>; Xu, Yilun <yilun.xu@intel.com>
> Subject: [PATCH 2/2] fpga: dfl: fix bug in port reset handshake
> 
> From: Matthew Gerlach <matthew.gerlach@linux.intel.com>
> 
> When putting the port in reset, driver must wait for the soft reset
> acknowledgment bit instead of the soft reset bit.
> 
> Fixes: 47c1b19c160f (fpga: dfl: afu: add port ops support)
> Signed-off-by: Matthew Gerlach <matthew.gerlach@linux.intel.com>
> Signed-off-by: Xu Yilun <yilun.xu@intel.com>

Thanks for catching this.

Acked-by: Wu Hao <hao.wu@intel.com>

> ---
>  drivers/fpga/dfl-afu-main.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/fpga/dfl-afu-main.c b/drivers/fpga/dfl-afu-main.c
> index b0c3178..3fa2c59 100644
> --- a/drivers/fpga/dfl-afu-main.c
> +++ b/drivers/fpga/dfl-afu-main.c
> @@ -83,7 +83,8 @@ int __afu_port_disable(struct platform_device *pdev)
>  	 * on this port and minimum soft reset pulse width has elapsed.
>  	 * Driver polls port_soft_reset_ack to determine if reset done by HW.
>  	 */
> -	if (readq_poll_timeout(base + PORT_HDR_CTRL, v, v &
> PORT_CTRL_SFTRST,
> +	if (readq_poll_timeout(base + PORT_HDR_CTRL, v,
> +			       v & PORT_CTRL_SFTRST_ACK,
>  			       RST_POLL_INVL, RST_POLL_TIMEOUT)) {
>  		dev_err(&pdev->dev, "timeout, fail to reset device\n");
>  		return -ETIMEDOUT;
> --
> 2.7.4


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-16  8:04   ` Wu, Hao
@ 2020-04-16 16:56     ` Tom Rix
  2020-04-17  1:56       ` Xu Yilun
  0 siblings, 1 reply; 10+ messages in thread
From: Tom Rix @ 2020-04-16 16:56 UTC (permalink / raw)
  To: Wu, Hao, Xu, Yilun, mdf, linux-fpga, linux-kernel; +Cc: bhu

Please check the scope.

On linus/master, the result of this change looks like

static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
{
    struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
    struct dfl_fpga_cdev *cdev = drvdata->cdev;

    if (!num_vfs) {
        /*
         * disable SRIOV and then put released ports back to default
         * PF access mode.
         */
        pci_disable_sriov(pcidev);

        dfl_fpga_cdev_config_ports_pf(cdev);

    } else {
        int ret; <--- defined here

        /*
         * before enable SRIOV, put released ports into VF access mode
         * first of all.
         */
        ret = dfl_fpga_cdev_config_ports_vf(cdev, num_vfs);
        if (ret)
            return ret;

        ret = pci_enable_sriov(pcidev, num_vfs);
        if (ret)
            dfl_fpga_cdev_config_ports_pf(cdev);
    }

    return ret;  <---- not in scope, not defined here
}

Tom


^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-16 16:56     ` Tom Rix
@ 2020-04-17  1:56       ` Xu Yilun
  2020-04-17  3:05         ` Wu, Hao
  0 siblings, 1 reply; 10+ messages in thread
From: Xu Yilun @ 2020-04-17  1:56 UTC (permalink / raw)
  To: Tom Rix; +Cc: Wu, Hao, mdf, linux-fpga, linux-kernel, bhu

Hi Rix:

This patch is based on linux-next. There is an preceding patch
(3c2760b78f90 "fpga: dfl: pci: fix return value of cci_pci_sriov_configure",
Also see Fixes:) in linux-next but not merged in 5.7-rc1 yet.
This patch is to fix the lkp warning brought by the previous one.

Thanks.

On Thu, Apr 16, 2020 at 09:56:47AM -0700, Tom Rix wrote:
> Please check the scope.
> 
> On linus/master, the result of this change looks like
> 
> static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
> {
>     struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
>     struct dfl_fpga_cdev *cdev = drvdata->cdev;
> 
>     if (!num_vfs) {
>         /*
>          * disable SRIOV and then put released ports back to default
>          * PF access mode.
>          */
>         pci_disable_sriov(pcidev);
> 
>         dfl_fpga_cdev_config_ports_pf(cdev);
> 
>     } else {
>         int ret; <--- defined here
> 
>         /*
>          * before enable SRIOV, put released ports into VF access mode
>          * first of all.
>          */
>         ret = dfl_fpga_cdev_config_ports_vf(cdev, num_vfs);
>         if (ret)
>             return ret;
> 
>         ret = pci_enable_sriov(pcidev, num_vfs);
>         if (ret)
>             dfl_fpga_cdev_config_ports_pf(cdev);
>     }
> 
>     return ret;  <---- not in scope, not defined here
> }
> 
> Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-17  1:56       ` Xu Yilun
@ 2020-04-17  3:05         ` Wu, Hao
  2020-04-17  3:21           ` Xu Yilun
  0 siblings, 1 reply; 10+ messages in thread
From: Wu, Hao @ 2020-04-17  3:05 UTC (permalink / raw)
  To: Xu, Yilun, Tom Rix; +Cc: mdf, linux-fpga, linux-kernel, bhu

> -----Original Message-----
> From: Xu, Yilun <yilun.xu@intel.com>
> Sent: Friday, April 17, 2020 9:56 AM
> To: Tom Rix <trix@redhat.com>
> Cc: Wu, Hao <hao.wu@intel.com>; mdf@kernel.org; linux-
> fpga@vger.kernel.org; linux-kernel@vger.kernel.org; bhu@redhat.com
> Subject: Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
> 
> Hi Rix:
> 
> This patch is based on linux-next. There is an preceding patch
> (3c2760b78f90 "fpga: dfl: pci: fix return value of cci_pci_sriov_configure",
> Also see Fixes:) in linux-next but not merged in 5.7-rc1 yet.
> This patch is to fix the lkp warning brought by the previous one.

Yilun

Is it possible that commit id may be different for master then? 

Thanks
Hao

> 
> Thanks.
> 
> On Thu, Apr 16, 2020 at 09:56:47AM -0700, Tom Rix wrote:
> > Please check the scope.
> >
> > On linus/master, the result of this change looks like
> >
> > static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
> > {
> >     struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
> >     struct dfl_fpga_cdev *cdev = drvdata->cdev;
> >
> >     if (!num_vfs) {
> >         /*
> >          * disable SRIOV and then put released ports back to default
> >          * PF access mode.
> >          */
> >         pci_disable_sriov(pcidev);
> >
> >         dfl_fpga_cdev_config_ports_pf(cdev);
> >
> >     } else {
> >         int ret; <--- defined here
> >
> >         /*
> >          * before enable SRIOV, put released ports into VF access mode
> >          * first of all.
> >          */
> >         ret = dfl_fpga_cdev_config_ports_vf(cdev, num_vfs);
> >         if (ret)
> >             return ret;
> >
> >         ret = pci_enable_sriov(pcidev, num_vfs);
> >         if (ret)
> >             dfl_fpga_cdev_config_ports_pf(cdev);
> >     }
> >
> >     return ret;  <---- not in scope, not defined here
> > }
> >
> > Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-17  3:05         ` Wu, Hao
@ 2020-04-17  3:21           ` Xu Yilun
  2020-04-17  5:55             ` Wu, Hao
  0 siblings, 1 reply; 10+ messages in thread
From: Xu Yilun @ 2020-04-17  3:21 UTC (permalink / raw)
  To: Wu, Hao; +Cc: Tom Rix, mdf, linux-fpga, linux-kernel, bhu

On Fri, Apr 17, 2020 at 11:05:16AM +0800, Wu, Hao wrote:
> > -----Original Message-----
> > From: Xu, Yilun <yilun.xu@intel.com>
> > Sent: Friday, April 17, 2020 9:56 AM
> > To: Tom Rix <trix@redhat.com>
> > Cc: Wu, Hao <hao.wu@intel.com>; mdf@kernel.org; linux-
> > fpga@vger.kernel.org; linux-kernel@vger.kernel.org; bhu@redhat.com
> > Subject: Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
> >
> > Hi Rix:
> >
> > This patch is based on linux-next. There is an preceding patch
> > (3c2760b78f90 "fpga: dfl: pci: fix return value of cci_pci_sriov_configure",
> > Also see Fixes:) in linux-next but not merged in 5.7-rc1 yet.
> > This patch is to fix the lkp warning brought by the previous one.
> 
> Yilun
> 
> Is it possible that commit id may be different for master then?

It is possible if the previous patch need a little change when merging
to master.

I'm not sure how to handle this then. But the previous patch is simple
and is unlikely to change.

> 
> Thanks
> Hao
> 
> >
> > Thanks.
> >
> > On Thu, Apr 16, 2020 at 09:56:47AM -0700, Tom Rix wrote:
> > > Please check the scope.
> > >
> > > On linus/master, the result of this change looks like
> > >
> > > static int cci_pci_sriov_configure(struct pci_dev *pcidev, int num_vfs)
> > > {
> > >     struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
> > >     struct dfl_fpga_cdev *cdev = drvdata->cdev;
> > >
> > >     if (!num_vfs) {
> > >         /*
> > >          * disable SRIOV and then put released ports back to default
> > >          * PF access mode.
> > >          */
> > >         pci_disable_sriov(pcidev);
> > >
> > >         dfl_fpga_cdev_config_ports_pf(cdev);
> > >
> > >     } else {
> > >         int ret; <--- defined here
> > >
> > >         /*
> > >          * before enable SRIOV, put released ports into VF access mode
> > >          * first of all.
> > >          */
> > >         ret = dfl_fpga_cdev_config_ports_vf(cdev, num_vfs);
> > >         if (ret)
> > >             return ret;
> > >
> > >         ret = pci_enable_sriov(pcidev, num_vfs);
> > >         if (ret)
> > >             dfl_fpga_cdev_config_ports_pf(cdev);
> > >     }
> > >
> > >     return ret;  <---- not in scope, not defined here
> > > }
> > >
> > > Tom

^ permalink raw reply	[flat|nested] 10+ messages in thread

* RE: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
  2020-04-17  3:21           ` Xu Yilun
@ 2020-04-17  5:55             ` Wu, Hao
  0 siblings, 0 replies; 10+ messages in thread
From: Wu, Hao @ 2020-04-17  5:55 UTC (permalink / raw)
  To: Xu, Yilun; +Cc: Tom Rix, mdf, linux-fpga, linux-kernel, bhu

> > > Subject: Re: [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret'
> > >
> > > Hi Rix:
> > >
> > > This patch is based on linux-next. There is an preceding patch
> > > (3c2760b78f90 "fpga: dfl: pci: fix return value of cci_pci_sriov_configure",
> > > Also see Fixes:) in linux-next but not merged in 5.7-rc1 yet.
> > > This patch is to fix the lkp warning brought by the previous one.
> >
> > Yilun
> >
> > Is it possible that commit id may be different for master then?
> 
> It is possible if the previous patch need a little change when merging
> to master.
> 
> I'm not sure how to handle this then. But the previous patch is simple
> and is unlikely to change.

Maybe you can resend it once previous patch gets merged.

Hao


^ permalink raw reply	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2020-04-17  5:55 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-04-16  3:11 [PATCH 0/2] Bug fixes for FPGA DFL Xu Yilun
2020-04-16  3:11 ` [PATCH 1/2] fpga: dfl: pci: reduce the scope of variable 'ret' Xu Yilun
2020-04-16  8:04   ` Wu, Hao
2020-04-16 16:56     ` Tom Rix
2020-04-17  1:56       ` Xu Yilun
2020-04-17  3:05         ` Wu, Hao
2020-04-17  3:21           ` Xu Yilun
2020-04-17  5:55             ` Wu, Hao
2020-04-16  3:11 ` [PATCH 2/2] fpga: dfl: fix bug in port reset handshake Xu Yilun
2020-04-16  8:06   ` Wu, Hao

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).