ks8842: Support DMA when accessed via timberdale
authorRichard Röjfors <richard.rojfors@pelagicore.com>
Tue, 27 Jul 2010 12:57:01 +0000 (12:57 +0000)
committerDavid S. Miller <davem@davemloft.net>
Wed, 28 Jul 2010 03:48:19 +0000 (20:48 -0700)
commit94fe8c683cea97fe2c59a5f0dc206aa329c5763c
tree79349dba5fc518f8795cfea4c1b70217f36d2c6f
parent3eeb29972b1139f733f7269def527900729f4cc7
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>
drivers/net/ks8842.c
include/linux/ks8842.h