summaryrefslogtreecommitdiff
path: root/include/linux/ks8842.h
diff options
context:
space:
mode:
authorRichard Röjfors <richard.rojfors@pelagicore.com>2010-07-27 12:57:01 +0000
committerDavid S. Miller <davem@davemloft.net>2010-07-27 20:48:19 -0700
commit94fe8c683cea97fe2c59a5f0dc206aa329c5763c (patch)
tree79349dba5fc518f8795cfea4c1b70217f36d2c6f /include/linux/ks8842.h
parent3eeb29972b1139f733f7269def527900729f4cc7 (diff)
downloadlwn-94fe8c683cea97fe2c59a5f0dc206aa329c5763c.tar.gz
lwn-94fe8c683cea97fe2c59a5f0dc206aa329c5763c.zip
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.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/include/linux/ks8842.h b/include/linux/ks8842.h
index da0341b8ca0a..14ba4452296e 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