2018-10-29 07:28:54

by Anatolij Gustschin

[permalink] [raw]
Subject: [PATCH v2] fpga: altera-cvp: Fix registration for CvP incapable devices

From: Andreas Puhm <[email protected]>

The probe function needs to verify the CvP enable bit in order to
properly determine if FPGA Manager functionality can be safely
enabled.

Fixes: 34d1dc17ce97 ("fpga manager: Add Altera CvP driver")
Signed-off-by: Andreas Puhm <[email protected]>
Signed-off-by: Anatolij Gustschin <[email protected]>
---
Changes in v2:
- improve Fixes tag
- wrap lines in commit description

drivers/fpga/altera-cvp.c | 9 +++++++++
1 file changed, 9 insertions(+)

diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
index 3998d4f0e5e7..196d52558990 100644
--- a/drivers/fpga/altera-cvp.c
+++ b/drivers/fpga/altera-cvp.c
@@ -403,6 +403,7 @@ static int altera_cvp_probe(struct pci_dev *pdev,
struct altera_cvp_conf *conf;
struct fpga_manager *mgr;
u16 cmd, val;
+ u32 regval;
int ret;

/*
@@ -419,6 +420,14 @@ static int altera_cvp_probe(struct pci_dev *pdev,
return -ENODEV;
}

+ pci_read_config_dword(pdev, VSE_CVP_STATUS, &regval);
+ if (!(regval & VSE_CVP_STATUS_CVP_EN)) {
+ dev_err(&pdev->dev,
+ "CVP is disabled for this device: CVP_STATUS Reg 0x%x\n",
+ regval);
+ return -ENODEV;
+ }
+
conf = devm_kzalloc(&pdev->dev, sizeof(*conf), GFP_KERNEL);
if (!conf)
return -ENOMEM;
--
2.17.1



2018-10-29 17:00:27

by Moritz Fischer

[permalink] [raw]
Subject: Re: [PATCH v2] fpga: altera-cvp: Fix registration for CvP incapable devices

Hi Anatolij, Andreas,

On Mon, Oct 29, 2018 at 08:26:30AM +0100, Anatolij Gustschin wrote:
> From: Andreas Puhm <[email protected]>
>
> The probe function needs to verify the CvP enable bit in order to
> properly determine if FPGA Manager functionality can be safely
> enabled.
>
> Fixes: 34d1dc17ce97 ("fpga manager: Add Altera CvP driver")
> Signed-off-by: Andreas Puhm <[email protected]>
> Signed-off-by: Anatolij Gustschin <[email protected]>

Reviewed-by: Moritz Fischer <[email protected]>
> ---
> Changes in v2:
> - improve Fixes tag
> - wrap lines in commit description
>
> drivers/fpga/altera-cvp.c | 9 +++++++++
> 1 file changed, 9 insertions(+)
>
> diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
> index 3998d4f0e5e7..196d52558990 100644
> --- a/drivers/fpga/altera-cvp.c
> +++ b/drivers/fpga/altera-cvp.c
> @@ -403,6 +403,7 @@ static int altera_cvp_probe(struct pci_dev *pdev,
> struct altera_cvp_conf *conf;
> struct fpga_manager *mgr;
> u16 cmd, val;
> + u32 regval;
> int ret;
>
> /*
> @@ -419,6 +420,14 @@ static int altera_cvp_probe(struct pci_dev *pdev,
> return -ENODEV;
> }
>
> + pci_read_config_dword(pdev, VSE_CVP_STATUS, &regval);
> + if (!(regval & VSE_CVP_STATUS_CVP_EN)) {
> + dev_err(&pdev->dev,
> + "CVP is disabled for this device: CVP_STATUS Reg 0x%x\n",
> + regval);
> + return -ENODEV;
> + }
> +
> conf = devm_kzalloc(&pdev->dev, sizeof(*conf), GFP_KERNEL);
> if (!conf)
> return -ENOMEM;
> --
> 2.17.1
>

Thanks,
Moritz

2018-11-01 18:41:51

by Alan Tull

[permalink] [raw]
Subject: Re: [PATCH v2] fpga: altera-cvp: Fix registration for CvP incapable devices

On Mon, Oct 29, 2018 at 11:59 AM Moritz Fischer <[email protected]> wrote:
>
> Hi Anatolij, Andreas,
>
> On Mon, Oct 29, 2018 at 08:26:30AM +0100, Anatolij Gustschin wrote:
> > From: Andreas Puhm <[email protected]>
> >
> > The probe function needs to verify the CvP enable bit in order to
> > properly determine if FPGA Manager functionality can be safely
> > enabled.
> >
> > Fixes: 34d1dc17ce97 ("fpga manager: Add Altera CvP driver")
> > Signed-off-by: Andreas Puhm <[email protected]>
> > Signed-off-by: Anatolij Gustschin <[email protected]>
>
> Reviewed-by: Moritz Fischer <[email protected]>
Acked-by: Alan Tull <[email protected]>

Thanks!

Alan

> > ---
> > Changes in v2:
> > - improve Fixes tag
> > - wrap lines in commit description
> >
> > drivers/fpga/altera-cvp.c | 9 +++++++++
> > 1 file changed, 9 insertions(+)
> >
> > diff --git a/drivers/fpga/altera-cvp.c b/drivers/fpga/altera-cvp.c
> > index 3998d4f0e5e7..196d52558990 100644
> > --- a/drivers/fpga/altera-cvp.c
> > +++ b/drivers/fpga/altera-cvp.c
> > @@ -403,6 +403,7 @@ static int altera_cvp_probe(struct pci_dev *pdev,
> > struct altera_cvp_conf *conf;
> > struct fpga_manager *mgr;
> > u16 cmd, val;
> > + u32 regval;
> > int ret;
> >
> > /*
> > @@ -419,6 +420,14 @@ static int altera_cvp_probe(struct pci_dev *pdev,
> > return -ENODEV;
> > }
> >
> > + pci_read_config_dword(pdev, VSE_CVP_STATUS, &regval);
> > + if (!(regval & VSE_CVP_STATUS_CVP_EN)) {
> > + dev_err(&pdev->dev,
> > + "CVP is disabled for this device: CVP_STATUS Reg 0x%x\n",
> > + regval);
> > + return -ENODEV;
> > + }
> > +
> > conf = devm_kzalloc(&pdev->dev, sizeof(*conf), GFP_KERNEL);
> > if (!conf)
> > return -ENOMEM;
> > --
> > 2.17.1
> >
>
> Thanks,
> Moritz