diff options
author | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-07-13 08:31:46 +0200 |
---|---|---|
committer | Sebastian Huber <sebastian.huber@embedded-brains.de> | 2017-10-23 09:24:07 +0200 |
commit | de5791b34591b88911c350d835d8b45d274cc852 (patch) | |
tree | 20fda544699545de464a9ffcf5ad5716208c0b4a /rtemsbsd | |
parent | e8181287892a255692f08f9f8e5d7df9f530f77d (diff) |
dpaa: Add "libbsd,dedicated-portal" to QMan portals
By default, the network interfaces use a pool channel, see
dpaa_get_channel() in dpaa_eth_priv_probe(). To enable a dedicated QMan
software portal, use libbsd,dedicated-portal = "enabled";. This option
is useful for special purpose 10Gbit/s Ethernet processing.
/ {
soc: soc@ffe000000 {
fman0: fman@400000 {
enet7: ethernet@f2000 {
libbsd,dedicated-portal = "enabled";
};
};
};
};
Diffstat (limited to 'rtemsbsd')
-rw-r--r-- | rtemsbsd/powerpc/include/soc/fsl/dpaa.h | 2 | ||||
-rw-r--r-- | rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c | 9 |
2 files changed, 11 insertions, 0 deletions
diff --git a/rtemsbsd/powerpc/include/soc/fsl/dpaa.h b/rtemsbsd/powerpc/include/soc/fsl/dpaa.h index 1e9a6762..9046bc7b 100644 --- a/rtemsbsd/powerpc/include/soc/fsl/dpaa.h +++ b/rtemsbsd/powerpc/include/soc/fsl/dpaa.h @@ -40,6 +40,8 @@ struct mbuf; struct dpaa_priv *dpaa_get_priv_of_ifp(struct ifnet *); +int dpaa_get_qman_portal_irq_of_ifp(struct ifnet *); + typedef struct { size_t count; struct bm_buffer bmb[8]; diff --git a/rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c b/rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c index c71a73c4..640ca506 100644 --- a/rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c +++ b/rtemsbsd/sys/powerpc/drivers/net/ethernet/freescale/dpaa/if_fmanmac.c @@ -590,3 +590,12 @@ dpaa_get_priv_of_ifp(struct ifnet *ifp) sc = ifp->if_softc; return (netdev_priv(&sc->mac_dev.net_dev)); } + +int +dpaa_get_qman_portal_irq_of_ifp(struct ifnet *ifp) +{ + struct fman_mac_softc *sc; + + sc = ifp->if_softc; + return (qman_portal_get_irq(sc->mac_dev.portal)); +} |