20 Commits

Author SHA1 Message Date
Sebastian Huber
b1fd51c25e dpaa: Reduce receive buffer seed
Seed the receive buffers of each affine software portal only with 8
mclusters (16KiB) and not 128 (256KiB).  We have processor count affine
software portals, see dpaa_bp_seed().
2017-10-23 09:24:08 +02:00
Sebastian Huber
33356a839f dpaa: Improve QMan portal initialization
Be less dependent on the device tree content.
2017-10-23 09:24:08 +02:00
Sebastian Huber
24866e6f23 dpaa: Reduce PFDR space from 32MiB to 16MiB 2017-10-23 09:24:07 +02:00
Sebastian Huber
de5791b345 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";
                        };
                };
        };
};
2017-10-23 09:24:07 +02:00
Sebastian Huber
e818128789 dpaa: Add "libbsd,dequeue" to QMan portals
The dequeue support for processor affine QMan portals may be explicitly
disabled. The dequeue support is responsible for receiving frames and
completion of frame transmission, e.g. buffer recycling. Without at
least one enabled dequeue support, there will be no networking.

/ {
        qman-portals@ff6000000 {
                qman-portal@0 {
                        libbsd,dequeue = "disabled";
                };
        };
};
2017-10-23 09:24:07 +02:00
Sebastian Huber
3cfc31cb0c dpaa: Set portal interrupt affinity 2017-10-23 09:24:07 +02:00
Sebastian Huber
ef1655c144 Update to Linux 4.12
Linux baseline 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c (v4.12).
2017-10-23 09:24:07 +02:00
Sebastian Huber
e3dc39ee0c dpaa: Add <soc/fsl/dpaa.h> 2017-10-23 09:24:07 +02:00
Sebastian Huber
66e83e0e64 soc/qbman: Simplify bman_release()
Get the affine portal only once for the complete transaction.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-10-23 09:24:06 +02:00
Sebastian Huber
1908686c31 soc/qman: Do not enable stashing without PAMU
Do not enable stashing in the QMan software portal configuration
(QCSPi_CFG[RE, SE]) in case the PAMU support is not configured.

Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
2017-10-23 09:24:06 +02:00
Sebastian Huber
7f1f4282dc qman_api.c: Prevent false clearing of IRQ status
Adding (p->irq_sources & ~QM_PIRQ_CSCI) to the clear mask means for
example we clear the QM_PIRQ_EQCI unconditionally.  This is a problem in
case this interrupt happens after the read of the interrupt status and
before the interrupt status clear.
2017-10-23 09:24:06 +02:00
Sebastian Huber
69a5677c0f dpaa: Disable QMAN_VOLATILE_FLAG_WAIT_INT 2017-10-23 09:24:06 +02:00
Sebastian Huber
96da40c0c4 dpaa: Avoid QMan work queue 2017-10-23 09:24:05 +02:00
Sebastian Huber
ed254d58e1 dpaa: Use receive checksum offload 2017-10-23 09:24:05 +02:00
Sebastian Huber
3471177263 dpaa: Enable preemption in qm_mr_process_task() 2017-10-23 09:24:05 +02:00
Sebastian Huber
b3a6ad0d6a dpaa: Disable unused CGR code 2017-10-23 09:24:05 +02:00
Sebastian Huber
cf40770bdc Linux update to 4.12-rc1+
Linux baseline b23afd384801711ab6dbccd259cc14cb09a1dcaf.
2017-10-23 09:24:05 +02:00
Sebastian Huber
721b1c1763 qbman: Fix platform_get_irq() error checks 2017-10-23 09:24:05 +02:00
Sebastian Huber
cd089b9e05 Linux update to 4.11-rc5
Linux baseline a71c9a1c779f2499fb2afc0553e543f18aff6edf (4.11-rc5).
2017-10-23 09:23:59 +02:00
Sebastian Huber
28ee86a9b0 Import DPAA driver snapshot
Imported from Freescale Linux repository

git://git.freescale.com/ppc/upstream/linux.git

commit 2774c204cd8bfc56a200ff4dcdfc9cdf5b6fc161.

Linux compatibility layer is partly from FreeBSD.
2017-10-23 08:46:43 +02:00