mirror of
https://github.com/torvalds/linux.git
synced 2025-12-07 20:06:24 +00:00
Merge tag 'fpga-for-6.19-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga into char-misc-next
Xu writes: FPGA Manager changes for 6.17-rc1 - Matthew hands over the maintainership of Intel MAX10 BMC secure update to Yilun. - Fabio adds missing spi_device_id table for xilinx-spi - Dihn updates link for Altera & AMD's dt-bindings. - Andy uses pci_find_vsec_capability() instead of open-codes for altera-cvp. All patches have been reviewed on the mailing list, and have been in the last linux-next releases (as part of our for-next branch). Signed-off-by: Xu Yilun <yilun.xu@intel.com> * tag 'fpga-for-6.19-rc1' of ssh://gitolite.kernel.org/pub/scm/linux/kernel/git/fpga/linux-fpga: fpga: altera-cvp: Use pci_find_vsec_capability() when probing FPGA device dt-bindings: fpga: update link for Altera's and AMD partial recon fpga: xilinx-spi: Add missing spi_device_id table MAINTAINERS: change maintainer for Intel MAX10 BMC secure updates
This commit is contained in:
@@ -215,9 +215,9 @@ description: |
|
||||
FPGA Bridges that exist on the FPGA fabric prior to the partial reconfiguration.
|
||||
|
||||
--
|
||||
[1] www.altera.com/content/dam/altera-www/global/en_US/pdfs/literature/ug/ug_partrecon.pdf
|
||||
[1] https://www.intel.com/programmable/technical-pdfs/683404.pdf
|
||||
[2] tspace.library.utoronto.ca/bitstream/1807/67932/1/Byma_Stuart_A_201411_MAS_thesis.pdf
|
||||
[3] https://www.xilinx.com/support/documentation/sw_manuals/xilinx14_1/ug702.pdf
|
||||
[3] https://docs.amd.com/v/u/en-US/ug702
|
||||
|
||||
properties:
|
||||
$nodename:
|
||||
|
||||
@@ -12741,7 +12741,7 @@ F: drivers/mfd/intel-m10-bmc*
|
||||
F: include/linux/mfd/intel-m10-bmc.h
|
||||
|
||||
INTEL MAX10 BMC SECURE UPDATES
|
||||
M: Matthew Gerlach <matthew.gerlach@altera.com>
|
||||
M: Xu Yilun <yilun.xu@intel.com>
|
||||
L: linux-fpga@vger.kernel.org
|
||||
S: Maintained
|
||||
F: Documentation/ABI/testing/sysfs-driver-intel-m10-bmc-sec-update
|
||||
|
||||
@@ -22,9 +22,6 @@
|
||||
#define TIMEOUT_US 2000 /* CVP STATUS timeout for USERMODE polling */
|
||||
|
||||
/* Vendor Specific Extended Capability Registers */
|
||||
#define VSE_PCIE_EXT_CAP_ID 0x0
|
||||
#define VSE_PCIE_EXT_CAP_ID_VAL 0x000b /* 16bit */
|
||||
|
||||
#define VSE_CVP_STATUS 0x1c /* 32bit */
|
||||
#define VSE_CVP_STATUS_CFG_RDY BIT(18) /* CVP_CONFIG_READY */
|
||||
#define VSE_CVP_STATUS_CFG_ERR BIT(19) /* CVP_CONFIG_ERROR */
|
||||
@@ -577,25 +574,18 @@ static int altera_cvp_probe(struct pci_dev *pdev,
|
||||
{
|
||||
struct altera_cvp_conf *conf;
|
||||
struct fpga_manager *mgr;
|
||||
int ret, offset;
|
||||
u16 cmd, val;
|
||||
u16 cmd, offset;
|
||||
u32 regval;
|
||||
|
||||
/* Discover the Vendor Specific Offset for this device */
|
||||
offset = pci_find_next_ext_capability(pdev, 0, PCI_EXT_CAP_ID_VNDR);
|
||||
if (!offset) {
|
||||
dev_err(&pdev->dev, "No Vendor Specific Offset.\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
int ret;
|
||||
|
||||
/*
|
||||
* First check if this is the expected FPGA device. PCI config
|
||||
* space access works without enabling the PCI device, memory
|
||||
* space access is enabled further down.
|
||||
*/
|
||||
pci_read_config_word(pdev, offset + VSE_PCIE_EXT_CAP_ID, &val);
|
||||
if (val != VSE_PCIE_EXT_CAP_ID_VAL) {
|
||||
dev_err(&pdev->dev, "Wrong EXT_CAP_ID value 0x%x\n", val);
|
||||
offset = pci_find_vsec_capability(pdev, PCI_VENDOR_ID_ALTERA, 0x1172);
|
||||
if (!offset) {
|
||||
dev_err(&pdev->dev, "Wrong VSEC ID value\n");
|
||||
return -ENODEV;
|
||||
}
|
||||
|
||||
|
||||
@@ -57,6 +57,12 @@ static int xilinx_spi_probe(struct spi_device *spi)
|
||||
return xilinx_core_probe(core);
|
||||
}
|
||||
|
||||
static const struct spi_device_id xilinx_spi_ids[] = {
|
||||
{ "fpga-slave-serial" },
|
||||
{ },
|
||||
};
|
||||
MODULE_DEVICE_TABLE(spi, xilinx_spi_ids);
|
||||
|
||||
#ifdef CONFIG_OF
|
||||
static const struct of_device_id xlnx_spi_of_match[] = {
|
||||
{
|
||||
@@ -73,6 +79,7 @@ static struct spi_driver xilinx_slave_spi_driver = {
|
||||
.of_match_table = of_match_ptr(xlnx_spi_of_match),
|
||||
},
|
||||
.probe = xilinx_spi_probe,
|
||||
.id_table = xilinx_spi_ids,
|
||||
};
|
||||
|
||||
module_spi_driver(xilinx_slave_spi_driver)
|
||||
|
||||
Reference in New Issue
Block a user