diff options
author | Richard Röjfors <richard.rojfors@pelagicore.com> | 2010-07-27 12:57:01 +0000 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2010-07-27 20:48:19 -0700 |
commit | 94fe8c683cea97fe2c59a5f0dc206aa329c5763c (patch) | |
tree | 79349dba5fc518f8795cfea4c1b70217f36d2c6f /include/linux/ks8842.h | |
parent | 3eeb29972b1139f733f7269def527900729f4cc7 (diff) |
ks8842: Support DMA when accessed via timberdale
This patch adds support for RX and TX DMA via the DMA API,
this is only supported when the KS8842 is accessed via timberdale.
There is no support for DMA on the generic bus interface it self,
a state machine inside the FPGA is handling RX and TX transfers to/from
buffers in the FPGA. The host CPU can do DMA to and from these buffers.
The FPGA has to handle the RX interrupts, so these must be enabled in
the ks8842 but not in the FPGA. The driver must not disable the RX interrupt
that would mean that the data transfers into the FPGA buffers would stop.
The host shall not enable TX interrupts since TX is handled by the FPGA,
the host is notified by DMA callbacks when transfers are finished.
Which DMA channels to use are added as parameters in the platform data struct.
Signed-off-by: Richard Röjfors <richard.rojfors@pelagicore.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'include/linux/ks8842.h')
-rw-r--r-- | include/linux/ks8842.h | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ks8842.h b/include/linux/ks8842.h index da0341b8ca0..14ba4452296 100644 --- a/include/linux/ks8842.h +++ b/include/linux/ks8842.h @@ -25,10 +25,14 @@ * struct ks8842_platform_data - Platform data of the KS8842 network driver * @macaddr: The MAC address of the device, set to all 0:s to use the on in * the chip. + * @rx_dma_channel: The DMA channel to use for RX, -1 for none. + * @tx_dma_channel: The DMA channel to use for TX, -1 for none. * */ struct ks8842_platform_data { u8 macaddr[ETH_ALEN]; + int rx_dma_channel; + int tx_dma_channel; }; #endif |