Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit c8801d8c authored by Leon Woestenberg's avatar Leon Woestenberg Committed by Greg Kroah-Hartman
Browse files

Staging: add Driver for Altera PCI Express Chaining DMA reference design



Altera PCI Express Chaining DMA driver

A reference driver that exercises the Chaining DMA logic reference
design generated along the Altera FPGA PCI Express soft or hard core,
only if instantiated using the MegaWizard, not the SOPC builder, of
Quartus 8.1.

This driver can be used to test the logic instantiation and PCI
Express layers and acts as a starting point for driving custom logic
connected to the PCI Express End Point Chaining DMA engines.

Signed-off-by: default avatarLeon Woestenberg <leon@sidebranch.com>
Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@suse.de>
parent 63023177
Loading
Loading
Loading
Loading
+2 −0
Original line number Diff line number Diff line
@@ -79,5 +79,7 @@ source "drivers/staging/asus_oled/Kconfig"

source "drivers/staging/panel/Kconfig"

source "drivers/staging/altpciechdma/Kconfig"

endif # !STAGING_EXCLUDE_BUILD
endif # STAGING
+1 −0
Original line number Diff line number Diff line
@@ -22,3 +22,4 @@ obj-$(CONFIG_BENET) += benet/
obj-$(CONFIG_COMEDI)		+= comedi/
obj-$(CONFIG_ASUS_OLED)		+= asus_oled/
obj-$(CONFIG_PANEL)		+= panel/
obj-$(CONFIG_ALTERA_PCIE_CHDMA)	+= altpciechdma/
+10 −0
Original line number Diff line number Diff line
config ALTERA_PCIE_CHDMA
	tristate "Altera PCI Express Chaining DMA driver"
	depends on PCI
	default N
	---help---
	  A reference driver that exercises the Chaining DMA logic reference
	  design generated along the Altera FPGA PCI Express soft or hard core,
	  only if instantiated using the MegaWizard, not the SOPC builder, of
	  Quartus 8.1.
+2 −0
Original line number Diff line number Diff line
obj-$(CONFIG_ALTERA_PCIE_CHDMA)	+= altpciechdma.o
+15 −0
Original line number Diff line number Diff line
DONE:
    - functionality similar to logic testbench

TODO:
	- checkpatch.pl cleanups.
	- keep state of DMA engines.
	- keep data structure that keeps state of each transfer.
	- interrupt handler should iterate over outstanding descriptor tables.
	- complete userspace cdev to read/write using the DMA engines.
	- split off the DMA support functions in a module, re-usable by custom
	  drivers.

Please coordinate work with, and send patches to
Leon Woestenberg <leon@sidebranch.com>
Loading