The ps_pcie_dma-1.00.a driver does not work as an endpoint. I'd be happy to help fix/enable/test this out, but I do not understand what the intent was. The rootdma option is the only one allowed / documented through device-tree and kernel docs. It does not cover the epdma branches in the code that require that drivers/dma/xilinx/xilinx_ps_pcie_platform.c:18:#define PLATFORM_DRIVER_NAME "ps_pcie_pform_dma" be available. I am not sure if this was intended to be the endpoint. The vivado build for the pcie endpoint will not enable the endpoint DMA channels. I would expect that to be done through device-tree/PCIe BAR configuration reads (for sizes) to set up the channels, but I can't find anything that may other than the mystery of epdma with PLATFORM_DRIVER_NAME. Because the fsbl does not enable the AXI-DMA the rootdma channel enable check fails on line xilinx_ps_pcie_platform.c:1832 channel->chan_base = (struct DMA_ENGINE_REGISTERS *)((__force char *)(xdev->reg_base) + (channel_number * DMA_CHANNEL_REGS_SIZE)); if (((channel->chan_base->dma_channel_status) & DMA_STATUS_DMA_PRES_BIT) == 0) { dev_err(&platform_dev->dev, "Hardware reports channel not present\n"); return -ENOTSUPP; } Is there a different way to access use the PS AXI-PCIe DMA? Can anyone offer some advice? Have I misunderstood the dis-functionality of the epdma -vs- rootdma branching? Thanks
I forwarded this to linux-pci and some Xilinx and DMA engine folks in case they have some insight. But since Vivado and drivers/dma/xilinx/xilinx_ps_pcie_platform.c don't seem to be in mainline Linux, I suspect this report should be directed to Xilinx. I'm closing this for now on the assumption that it isn't applicable to upstream Linux, but please reopen with more details if I'm mistaken.
Thanks, Bjorn. I was going off the maintainers/bugs. I'll reopen if there's a change. -----Original Message----- From: bugzilla-daemon@bugzilla.kernel.org <bugzilla-daemon@bugzilla.kernel.org> Sent: Friday, April 26, 2019 9:24 AM To: dtyree@newagemicro.com Subject: [Bug 203435] Xilinx pcie endpoint DMA not functional for ZynqMP PS AXI-PXI DMA endpoint https://bugzilla.kernel.org/show_bug.cgi?id=203435 Bjorn Helgaas (bhelgaas@google.com) changed: What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED CC| |bhelgaas@google.com Resolution|--- |INVALID --- Comment #1 from Bjorn Helgaas (bhelgaas@google.com) --- I forwarded this to linux-pci and some Xilinx and DMA engine folks in case they have some insight. But since Vivado and drivers/dma/xilinx/xilinx_ps_pcie_platform.c don't seem to be in mainline Linux, I suspect this report should be directed to Xilinx. I'm closing this for now on the assumption that it isn't applicable to upstream Linux, but please reopen with more details if I'm mistaken. -- You are receiving this mail because: You reported the bug.=