Thread (3 messages) flat view 3 messages, 2 authors, 2017-06-23

DPAA: Software Portal selection for network interface

From: Sebastian Huber <hidden>
Date: 2017-06-22 13:10:31

Hello,

as far as I understand the software portal selection for a network=20
interface is done in

static int dpaa_eth_probe(struct platform_device *pdev)
{
     [...]
     channel =3D dpaa_get_channel();
     if (channel < 0) {
         dev_err(dev, "dpaa_get_channel() failed\n");
         err =3D channel;
         goto get_channel_failed;
     }

     priv->channel =3D (u16)channel;

     /* Start a thread that will walk the CPUs with affine portals
      * and add this pool channel to each's dequeue mask.
      */
     dpaa_eth_add_channel(priv->channel);

with

static int dpaa_get_channel(void)
{
     spin_lock(&rx_pool_channel_init);
     if (!rx_pool_channel) {
         u32 pool;
         int ret;

         ret =3D qman_alloc_pool(&pool);

         if (!ret)
             rx_pool_channel =3D pool;
     }
     spin_unlock(&rx_pool_channel_init);
     if (!rx_pool_channel)
         return -ENOMEM;
     return rx_pool_channel;
}

which always returns the same pool channel (e.g. 0x401) if successful.

This means all the QMan portal_isr() are distributed round-robin to all=20
affine portals. Is there some way to configure the software portal for a=20
specific network interface, e.g. use processors 0, 1, 2, 3 for one=20
interface,and 4, 5, 6, 7 for another?

--=20
Sebastian Huber, embedded brains GmbH

Address : Dornierstr. 4, D-82178 Puchheim, Germany
Phone   : +49 89 189 47 41-16
Fax     : +49 89 189 47 41-09
E-Mail  : sebastian.huber@embedded-brains.de
PGP     : Public key available on request.

Diese Nachricht ist keine gesch=C3=A4ftliche Mitteilung im Sinne des EHUG=
.
Keyboard shortcuts
hback out one level
jnext message in thread
kprevious message in thread
ldrill in
Escclose help / fold thread tree
?toggle this help