diff options
author | Iyappan Subramanian <isubramanian@apm.com> | 2015-04-28 23:52:37 +0300 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2015-04-30 23:03:13 +0300 |
commit | 81cefb81db99402b5bbbf286beac2faa4f095620 (patch) | |
tree | 44944d15dc676f151c50a9477702c6af57d950a1 /drivers/net/ethernet/apm/xgene/xgene_enet_main.h | |
parent | f828ad0ce22474820255c6faeb88b05724a8c1eb (diff) | |
download | linux-81cefb81db99402b5bbbf286beac2faa4f095620.tar.xz |
drivers: net: xgene: Change ring manager to use function pointers
This is a preparatory patch for adding ethernet support for APM X-Gene
ethernet driver to work with ring manager v2.
Added xgene_ring_ops structure for storing chip specific ring manager
properties and functions.
Signed-off-by: Iyappan Subramanian <isubramanian@apm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/net/ethernet/apm/xgene/xgene_enet_main.h')
-rw-r--r-- | drivers/net/ethernet/apm/xgene/xgene_enet_main.h | 10 |
1 files changed, 10 insertions, 0 deletions
diff --git a/drivers/net/ethernet/apm/xgene/xgene_enet_main.h b/drivers/net/ethernet/apm/xgene/xgene_enet_main.h index 8f3d232b09bc..577c63c55b54 100644 --- a/drivers/net/ethernet/apm/xgene/xgene_enet_main.h +++ b/drivers/net/ethernet/apm/xgene/xgene_enet_main.h @@ -105,6 +105,15 @@ struct xgene_port_ops { void (*shutdown)(struct xgene_enet_pdata *pdata); }; +struct xgene_ring_ops { + u8 num_ring_config; + u8 num_ring_id_shift; + struct xgene_enet_desc_ring * (*setup)(struct xgene_enet_desc_ring *); + void (*clear)(struct xgene_enet_desc_ring *); + void (*wr_cmd)(struct xgene_enet_desc_ring *, int); + u32 (*len)(struct xgene_enet_desc_ring *); +}; + /* ethernet private data */ struct xgene_enet_pdata { struct net_device *ndev; @@ -136,6 +145,7 @@ struct xgene_enet_pdata { struct rtnl_link_stats64 stats; struct xgene_mac_ops *mac_ops; struct xgene_port_ops *port_ops; + struct xgene_ring_ops *ring_ops; struct delayed_work link_work; u32 port_id; u8 cpu_bufnum; |