From de5791b34591b88911c350d835d8b45d274cc852 Mon Sep 17 00:00:00 2001 From: Sebastian Huber Date: Thu, 13 Jul 2017 08:31:46 +0200 Subject: 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"; }; }; }; }; --- linux/drivers/soc/fsl/qbman/qman_priv.h | 6 ++++++ 1 file changed, 6 insertions(+) (limited to 'linux/drivers/soc/fsl/qbman/qman_priv.h') diff --git a/linux/drivers/soc/fsl/qbman/qman_priv.h b/linux/drivers/soc/fsl/qbman/qman_priv.h index 369ba752..2db10889 100644 --- a/linux/drivers/soc/fsl/qbman/qman_priv.h +++ b/linux/drivers/soc/fsl/qbman/qman_priv.h @@ -165,6 +165,8 @@ struct qm_portal_config { struct iommu_domain *iommu_domain; /* Allow these to be joined in lists */ struct list_head list; +#else /* __rtems__ */ + struct list_head node; #endif /* __rtems__ */ /* User-visible portal configuration settings */ /* portal is affined to this cpu */ @@ -201,6 +203,10 @@ int qman_wq_alloc(void); void qman_liodn_fixup(u16 channel); void qman_set_sdest(u16 channel, unsigned int cpu_idx); +#ifdef __rtems__ +struct qman_portal *qman_create_dedicated_portal( + const struct qm_portal_config *c, const struct qman_cgrs *cgrs); +#endif /* __rtems__ */ struct qman_portal *qman_create_affine_portal( const struct qm_portal_config *config, const struct qman_cgrs *cgrs); -- cgit v1.2.3