aboutsummaryrefslogtreecommitdiffstats
path: root/include/linux/platform_data/xilinx-ll-temac.h
diff options
context:
space:
mode:
authorEsben Haabendal <esben@geanix.com>2019-04-30 09:17:58 +0200
committerDavid S. Miller <davem@davemloft.net>2019-05-01 14:33:30 -0400
commit7e97a194aca03c6ff86f84e46e196f5c9ed5c32c (patch)
treedfed285b7a785eca6bed68eb41fb9563d7de859e /include/linux/platform_data/xilinx-ll-temac.h
parentnet: ll_temac: Replace bad usage of msleep() with usleep_range() (diff)
downloadlinux-dev-7e97a194aca03c6ff86f84e46e196f5c9ed5c32c.tar.xz
linux-dev-7e97a194aca03c6ff86f84e46e196f5c9ed5c32c.zip
net: ll_temac: Allow configuration of IRQ coalescing
This allows custom setup of IRQ coalescing for platforms using legacy platform_device. The irq timeout and count parameters can be used for tuning cpu load vs. latency. I have maintained the 0x00000400 bit in TX_CHNL_CTRL. It is specified as unused in the documentation I have available. It does not make any difference in the hardware I have available, so it is left in to not risk breaking other platforms where it might be used. Signed-off-by: Esben Haabendal <esben@geanix.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to '')
-rw-r--r--include/linux/platform_data/xilinx-ll-temac.h5
1 files changed, 5 insertions, 0 deletions
diff --git a/include/linux/platform_data/xilinx-ll-temac.h b/include/linux/platform_data/xilinx-ll-temac.h
index b0b8238a9b7d..368530f98176 100644
--- a/include/linux/platform_data/xilinx-ll-temac.h
+++ b/include/linux/platform_data/xilinx-ll-temac.h
@@ -22,6 +22,11 @@ struct ll_temac_platform_data {
* they share the same DCR bus bridge.
*/
struct mutex *indirect_mutex;
+ /* DMA channel control setup */
+ u8 tx_irq_timeout; /* TX Interrupt Delay Time-out */
+ u8 tx_irq_count; /* TX Interrupt Coalescing Threshold Count */
+ u8 rx_irq_timeout; /* RX Interrupt Delay Time-out */
+ u8 rx_irq_count; /* RX Interrupt Coalescing Threshold Count */
};
#endif /* __LINUX_XILINX_LL_TEMAC_H */