dmaengine: dw-edma: Add Xilinx CPM6-DMA DeviceID
Subsystems (3)
PATCH v2 1/1 dmaengine: dw-edma: Add Xilinx CPM6-DMA DeviceID
From: Devendra K Verma <[email protected]>
Add Device ID for AMD (Xilinx) CPM6 DMA IP. This IP enables 64 Read and 64 Write Channels.
Adding the relevant dw_edma_pcie_data to use 8 Read and 8 Write channels for initial commit.
---
Change in v1:
o changed the pointer assignment to intended pointer for clarity.
--- drivers/dma/dw-edma/dw-edma-pcie.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)
drivers/dma/dw-edma/dw-edma-pcie.c +16 -0
@@ -27,6 +27,7 @@/* AMD MDB (Xilinx) specific defines */ #define PCI_DEVICE_ID_XILINX_B054 0xb054 +#define PCI_DEVICE_ID_XILINX_B00F 0xb00f#define DW_PCIE_XILINX_MDB_VSEC_DMA_ID 0x6#define DW_PCIE_XILINX_MDB_VSEC_ID 0x20
@@ -125,6 +126,19 @@ static const struct dw_edma_pcie_data xilinx_mdb_data = { .rd_ch_cnt = 8, }; +static const struct dw_edma_pcie_data xilinx_cpm6_dma_data = { +/* MDB registers location */ + .rg.bar =BAR_0 , + .rg.off =SZ_4K ,/* 4 Kbytes */ + .rg.sz =SZ_8K ,/* 8 Kbytes */ + +/* Other */ + .mf =EDMA_MF_HDMA_NATIVE , + .irqs =1 , + .wr_ch_cnt =8 , + .rd_ch_cnt =8 , +}; + static void dw_edma_set_chan_region_offset(struct dw_edma_pcie_data *pdata, enum pci_barno bar, off_t start_off, off_t ll_off_gap, size_t ll_size,
@@ -547,6 +561,8 @@ static const struct pci_device_id dw_edma_pcie_id_table[] = { { PCI_DEVICE_DATA(SYNOPSYS, EDDA, &snps_edda_data) }, { PCI_VDEVICE(XILINX, PCI_DEVICE_ID_XILINX_B054), (kernel_ulong_t)&xilinx_mdb_data }, + { PCI_VDEVICE(XILINX, PCI_DEVICE_ID_XILINX_B00F), + .driver_data = (kernel_ulong_t)&xilinx_cpm6_dma_data }, { } };MODULE_DEVICE_TABLE (pci, dw_edma_pcie_id_table);
Signature · 1 line
2.43.0
Quoted 10 lines · Devendra K Verma
From: Devendra K Verma <[email protected]>
Add Device ID for AMD (Xilinx) CPM6 DMA IP. This IP enables 64 Read and 64 Write Channels.
Adding the relevant
dw_edma_pcie_datato use 8 Read and 8 Write channels for initial commit.Signed-off-by Devendra K Verma <[email protected]>---
Quoted 50 lines
Change in v1:
o changed the pointer assignment to intended pointer for clarity.--- drivers/dma/dw-edma/dw-edma-pcie.c | 16 ++++++++++++++++ 1 file changed, 16 insertions(+)drivers/dma/dw-edma/dw-edma-pcie.c +16
-1@@ -27,6 +27,7 @@/* AMD MDB (Xilinx) specific defines */ #define PCI_DEVICE_ID_XILINX_B054 0xb054 +#define PCI_DEVICE_ID_XILINX_B00F 0xb00f#define DW_PCIE_XILINX_MDB_VSEC_DMA_ID 0x6#define DW_PCIE_XILINX_MDB_VSEC_ID 0x20@@ -125,6 +126,19 @@ static const struct dw_edma_pcie_data xilinx_mdb_data = { .rd_ch_cnt = 8, }; +static const struct dw_edma_pcie_data xilinx_cpm6_dma_data = { +/* MDB registers location */ + .rg.bar =BAR_0 , + .rg.off =SZ_4K ,/* 4 Kbytes */ + .rg.sz =SZ_8K ,/* 8 Kbytes */ + +/* Other */ + .mf =EDMA_MF_HDMA_NATIVE , + .irqs =1 , + .wr_ch_cnt =8 , + .rd_ch_cnt =8 , +}; + static void dw_edma_set_chan_region_offset(struct dw_edma_pcie_data *pdata, enum pci_barno bar, off_t start_off, off_t ll_off_gap, size_t ll_size,@@ -547,6 +561,8 @@ static const struct pci_device_id dw_edma_pcie_id_table[] = { { PCI_DEVICE_DATA(SYNOPSYS, EDDA, &snps_edda_data) }, { PCI_VDEVICE(XILINX, PCI_DEVICE_ID_XILINX_B054), (kernel_ulong_t)&xilinx_mdb_data }, + { PCI_VDEVICE(XILINX, PCI_DEVICE_ID_XILINX_B00F), + .driver_data = (kernel_ulong_t)&xilinx_cpm6_dma_data }, { } };MODULE_DEVICE_TABLE (pci, dw_edma_pcie_id_table); --2.43.0
Quoted 8 lines · Devendra K Verma
Add Device ID for AMD (Xilinx) CPM6 DMA IP. This IP enables 64 Read and 64 Write Channels.
Adding the relevant
dw_edma_pcie_datato use 8 Read and 8 Write channels for initial commit.[...]
Applied, thanks!
[1/1] dmaengine: dw-edma: Add Xilinx CPM6-DMA DeviceID
commit: c4441b95ae8012a99c6fe22b4f56155e0ddbd042
Best regards,
Signature · 1 line
~Vinod