Messages in this thread Patch in this message | | | From | Andreas Puhm <> | Subject | [PATCH] fpga: altera-cvp: Fix registration for CvP incapable devices | Date | Tue, 23 Oct 2018 09:01:39 +0000 |
| |
From bfc602900b016f65bc2f183aa93702101a1fdc17 Mon Sep 17 00:00:00 2001 From: Andreas Puhm <puhm@oregano.at> Date: Tue, 23 Oct 2018 10:24:10 +0200 Subject: [PATCH] fpga: altera-cvp: Fix registration for CvP incapable devices
The probe function needs to verify the CvP enable bit in order to properly determine if FPGA Manager functionality can be safely enabled.
Fixes 34d1dc17ce978ae76e676d401b48fe9d004aa948 ("fpga manager: Add Altera CvP driver")
Signed-off-by: Andreas Puhm <puhm@oregano.at> --- 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 7fa793672a7a..ece344a56075 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; /* @@ -416,6 +417,14 @@ static int altera_cvp_probe(struct pci_dev *pdev, return -ENODEV; } + pci_read_config_dword(pdev, VSE_CVP_STATUS, ®val); + 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.18.0.windows.1 [unhandled content-type:application/ms-tnef] | |