summaryrefslogtreecommitdiffstats
path: root/linux (follow)
Commit message (Collapse)AuthorAgeFilesLines
* Update due to API changesSebastian Huber2019-04-114-5/+5
|
* Update to FreeBSD head 2018-06-01Sebastian Huber2018-09-211-1/+1
| | | | | | Git mirror commit fb63610a69b0eb7f69a201ba05c4c1a7a2739cf9. Update #3472.
* sdk_dpaa: What to do with tail queue drop?Sebastian Huber2018-01-231-1/+1
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | The issue is this: static int dpaa_eth_macless_probe(struct platform_device *_of_dev) { [...] INIT_LIST_HEAD(&priv->dpa_fq_list); err = dpa_fq_probe_macless(dev, &priv->dpa_fq_list, RX); if (!err) err = dpa_fq_probe_macless(dev, &priv->dpa_fq_list, TX); if (err < 0) goto fq_probe_failed; [...] /* Add the FQs to the interface, and make them active */ /* For MAC-less devices we only get here for RX frame queues * initialization, which are the TX queues of the other * partition. * It is safe to rely on one partition to set the FQ taildrop * threshold for the TX queues of the other partition * because the ERN notifications will be received by the * partition doing qman_enqueue. */ err = dpa_fqs_init(dev, &priv->dpa_fq_list, true); if (err < 0) goto fq_alloc_failed; [...] The priv->dpa_fq_list contains a list of FQ_TYPE_RX_PCD and FQ_TYPE_TX items. I don't understand what the "For MAC-less devices we only get here for RX frame queues initialization" means in this context. The td_enable == true in dpa_fqs_init(). So, we have: int dpa_fq_init(struct dpa_fq *dpa_fq, bool td_enable) { [...] if (dpa_fq->fq_type == FQ_TYPE_TX || dpa_fq->fq_type == FQ_TYPE_TX_CONFIRM || dpa_fq->fq_type == FQ_TYPE_TX_CONF_MQ) { [...] initfq.we_mask |= QM_INITFQ_WE_OAC; [...] } if (td_enable) { initfq.we_mask |= QM_INITFQ_WE_TDTHRESH; qm_fqd_taildrop_set(&initfq.fqd.td, DPA_FQ_TD, 1); initfq.fqd.fq_ctrl = QM_FQCTRL_TDE; } The td_enable == true && dpa_fq->fq_type == FQ_TYPE_TX causes later: int qman_init_fq(struct qman_fq *fq, u32 flags, struct qm_mcc_initfq *opts) { [...] if (opts && (opts->we_mask & QM_INITFQ_WE_OAC)) { /* And can't be set at the same time as TDTHRESH */ if (opts->we_mask & QM_INITFQ_WE_TDTHRESH) return -EINVAL; } This aborts the initialization of the MAC-less driver. I don't understand why this path doesn't happen on the SDK Linux system. Update #3277.
* sdk_dpaa: Port to RTEMSSebastian Huber2018-01-2310-0/+318
| | | | Update #3277.
* sdk_dpaa: Import from QorIQ SDK LinuxSebastian Huber2018-01-234-0/+1042
| | | | | | | | http://git.freescale.com/git/cgit.cgi/ppc/sdk/linux.git Commit 1ae843c08261402b2c35d83422e4fa1e313611f4 (fsl-sdk-v2.0-1703). Update #3277.
* dpaa: QMan portal only initializationSebastian Huber2018-01-232-40/+111
| | | | Update #3277.
* dpaa: Add and use bman_new_pool_for_bpid()Sebastian Huber2018-01-233-0/+19
| | | | Update #3277.
* dpaa: Use device tree throughout in BMan initSebastian Huber2018-01-231-36/+26
| | | | Update #3277.
* dpaa: Add and use SDK_DPAA_COMPAT_STATICSebastian Huber2018-01-232-0/+52
| | | | Update #3277.
* dpaa: Support FQ_TYPE_RX_PCDSebastian Huber2018-01-232-0/+25
| | | | Update #3277.
* dpaa: Disable unused bman_pool membersSebastian Huber2018-01-231-0/+2
| | | | Update #3277.
* linux/of_address.h: of_address_to_resource()Sebastian Huber2018-01-232-23/+8
| | | | | | Translate address in of_address_to_resource(). Update #3277.
* Fix general PowerPC buildSebastian Huber2017-10-265-5/+22
|
* dpaa: Reduce receive buffer seedSebastian Huber2017-10-231-0/+4
| | | | | | 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().
* dpaa: Improve QMan portal initializationSebastian Huber2017-10-231-51/+61
| | | | Be less dependent on the device tree content.
* dpaa: Reduce PFDR space from 32MiB to 16MiBSebastian Huber2017-10-231-1/+1
|
* dpaa: Add "libbsd,dedicated-portal" to QMan portalsSebastian Huber2017-10-237-0/+113
| | | | | | | | | | | | | | | | | 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"; }; }; }; };
* dpaa: Add "libbsd,dequeue" to QMan portalsSebastian Huber2017-10-231-13/+32
| | | | | | | | | | | | | | | 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"; }; }; };
* dpaa: Set portal interrupt affinitySebastian Huber2017-10-232-0/+32
|
* Update to Linux 4.12Sebastian Huber2017-10-232-1/+3
| | | | Linux baseline 6f7da290413ba713f0cdd9ff1a2a9bb129ef4f6c (v4.12).
* dpaa: Add <soc/fsl/dpaa.h>Sebastian Huber2017-10-231-0/+31
|
* soc/qbman: Simplify bman_release()Sebastian Huber2017-10-231-9/+6
| | | | | | Get the affine portal only once for the complete transaction. Signed-off-by: Sebastian Huber <sebastian.huber@embedded-brains.de>
* soc/qman: Do not enable stashing without PAMUSebastian Huber2017-10-231-0/+2
| | | | | | | 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>
* qman_api.c: Prevent false clearing of IRQ statusSebastian Huber2017-10-231-2/+4
| | | | | | | 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.
* dpaa: Disable QMAN_VOLATILE_FLAG_WAIT_INTSebastian Huber2017-10-232-0/+6
|
* dpaa: Avoid QMan work queueSebastian Huber2017-10-231-6/+32
|
* dpaa: Use receive checksum offloadSebastian Huber2017-10-231-2/+10
|
* dpaa: Enable preemption in qm_mr_process_task()Sebastian Huber2017-10-231-0/+6
|
* dpaa: Disable unused CGR codeSebastian Huber2017-10-231-0/+4
|
* Linux update to 4.12-rc1+Sebastian Huber2017-10-2312-150/+387
| | | | Linux baseline b23afd384801711ab6dbccd259cc14cb09a1dcaf.
* qbman: Fix platform_get_irq() error checksSebastian Huber2017-10-233-3/+3
|
* Linux update to 4.11-rc5Sebastian Huber2017-10-2344-16319/+9927
| | | | Linux baseline a71c9a1c779f2499fb2afc0553e543f18aff6edf (4.11-rc5).
* Import DPAA driver snapshotSebastian Huber2017-10-2353-0/+32364
Imported from Freescale Linux repository git://git.freescale.com/ppc/upstream/linux.git commit 2774c204cd8bfc56a200ff4dcdfc9cdf5b6fc161. Linux compatibility layer is partly from FreeBSD.