struct netcp_tx_pipe { struct netcp_device *netcp_device; void *dma_queue; unsignedint dma_queue_id; /* To port for packet forwarded to switch. Used only by ethss */
u8 switch_to_port; #define SWITCH_TO_PORT_IN_TAGINFO BIT(0)
u8 flags; void *dma_channel; constchar *dma_chan_name;
};
/* probe/remove: called once per NETCP instance */ int (*probe)(struct netcp_device *netcp_device, struct device *device, struct device_node *node, void **inst_priv); int (*remove)(struct netcp_device *netcp_device, void *inst_priv);
/* attach/release: called once per network interface */ int (*attach)(void *inst_priv, struct net_device *ndev, struct device_node *node, void **intf_priv); int (*release)(void *intf_priv); int (*open)(void *intf_priv, struct net_device *ndev); int (*close)(void *intf_priv, struct net_device *ndev); int (*add_addr)(void *intf_priv, struct netcp_addr *naddr); int (*del_addr)(void *intf_priv, struct netcp_addr *naddr); int (*add_vid)(void *intf_priv, int vid); int (*del_vid)(void *intf_priv, int vid); int (*ioctl)(void *intf_priv, struct ifreq *req, int cmd); int (*set_rx_mode)(void *intf_priv, bool promisc);
int netcp_txpipe_init(struct netcp_tx_pipe *tx_pipe, struct netcp_device *netcp_device, constchar *dma_chan_name, unsignedint dma_queue_id); int netcp_txpipe_open(struct netcp_tx_pipe *tx_pipe); int netcp_txpipe_close(struct netcp_tx_pipe *tx_pipe);
typedefint netcp_hook_rtn(int order, void *data, struct netcp_packet *packet); int netcp_register_txhook(struct netcp_intf *netcp_priv, int order,
netcp_hook_rtn *hook_rtn, void *hook_data); int netcp_unregister_txhook(struct netcp_intf *netcp_priv, int order,
netcp_hook_rtn *hook_rtn, void *hook_data); int netcp_register_rxhook(struct netcp_intf *netcp_priv, int order,
netcp_hook_rtn *hook_rtn, void *hook_data); int netcp_unregister_rxhook(struct netcp_intf *netcp_priv, int order,
netcp_hook_rtn *hook_rtn, void *hook_data);
/* SGMII functions */ int netcp_sgmii_reset(void __iomem *sgmii_ofs, int port); bool netcp_sgmii_rtreset(void __iomem *sgmii_ofs, int port, bool set); int netcp_sgmii_get_port_link(void __iomem *sgmii_ofs, int port); int netcp_sgmii_config(void __iomem *sgmii_ofs, int port, u32 interface);
Die Informationen auf dieser Webseite wurden
nach bestem Wissen sorgfältig zusammengestellt. Es wird jedoch weder Vollständigkeit, noch Richtigkeit,
noch Qualität der bereit gestellten Informationen zugesichert.
Bemerkung:
Die farbliche Syntaxdarstellung und die Messung sind noch experimentell.