From: laurentiu.tudor@nxp.com
To: devicetree@vger.kernel.org, netdev@vger.kernel.org,
linux-kernel@vger.kernel.org,
linux-arm-kernel@lists.infradead.org
Cc: roy.pledge@nxp.com, madalin.bucur@nxp.com, davem@davemloft.net,
shawnguo@kernel.org, leoyang.li@nxp.com, robin.murphy@arm.com,
bharat.bhushan@nxp.com, Laurentiu Tudor <laurentiu.tudor@nxp.com>
Subject: [PATCH v2 00/22] SMMU enablement for NXP LS1043A and LS1046A
Date: Wed, 26 Sep 2018 16:22:25 +0300 [thread overview]
Message-ID: <20180926132247.10971-1-laurentiu.tudor@nxp.com> (raw)
From: Laurentiu Tudor <laurentiu.tudor@nxp.com>
This patch series adds SMMU support for NXP LS1043A and LS1046A chips
and consists mostly in important driver fixes and the required device
tree updates. It touches several subsystems and consists of three main
parts:
- changes in soc/drivers/fsl/qbman drivers adding iommu mapping of
reserved memory areas, fixes and defered probe support
- changes in drivers/net/ethernet/freescale/dpaa_eth drivers
consisting in misc dma mapping related fixes and probe ordering
- addition of the actual arm smmu device tree node together with
various adjustments to the device trees
Performance impact
Running iperf benchmarks in a back-to-back setup (both sides
having smmu enabled) on a 10GBps port show an important
networking performance degradation of around 40% (9.48Gbps
linerate vs 5.45Gbps) and around 30%-35% with iommu.strict=1.
If you need performance but without SMMU support you can use
"iommu.passthrough=1" to disable SMMU.
The patch set is based on net-next so, if generally agreed, I'd suggest
to get the patches through the netdev tree after getting all the Acks.
Changes in v2:
- dropped confusing comments in smmu interrupt property (Robin)
- add an intermediate simple-bus for usb to fix dma size issue (Robin)
- use defines instead of numbers in smmu interrupt definition
- drop redundant double iommu_get_domain_for_dev() call in few qbman
patches
Laurentiu Tudor (22):
soc/fsl/qman: fixup liodns only on ppc targets
soc/fsl/bman: map FBPR area in the iommu
soc/fsl/qman: map FQD and PFDR areas in the iommu
soc/fsl/qman-portal: map CENA area in the iommu
soc/fsl/qbman: add APIs to retrieve the probing status
soc/fsl/qman_portals: defer probe after qman's probe
soc/fsl/bman_portals: defer probe after bman's probe
soc/fsl/qbman_portals: add APIs to retrieve the probing status
fsl/fman: backup and restore ICID registers
fsl/fman: add API to get the device behind a fman port
dpaa_eth: defer probing after qbman
dpaa_eth: base dma mappings on the fman rx port
dpaa_eth: fix iova handling for contiguous frames
dpaa_eth: fix iova handling for sg frames
dpaa_eth: fix SG frame cleanup
arm64: dts: ls1046a: add smmu node
arm64: dts: ls1043a: add smmu node
arm64: dts: ls104xa: set mask to drop TBU ID from StreamID
arm64: dts: ls104x: add missing dma ranges property
arm64: dts: ls104x: add iommu-map to pci controllers
arm64: dts: ls104x: make dma-coherent global to the SoC
arm64: dts: ls104x: use a pseudo-bus to constrain usb dma size
.../arm64/boot/dts/freescale/fsl-ls1043a.dtsi | 106 ++++++++++----
.../arm64/boot/dts/freescale/fsl-ls1046a.dtsi | 102 ++++++++++---
.../net/ethernet/freescale/dpaa/dpaa_eth.c | 136 ++++++++++++------
drivers/net/ethernet/freescale/fman/fman.c | 35 ++++-
drivers/net/ethernet/freescale/fman/fman.h | 4 +
.../net/ethernet/freescale/fman/fman_port.c | 14 ++
.../net/ethernet/freescale/fman/fman_port.h | 2 +
drivers/soc/fsl/qbman/bman_ccsr.c | 22 +++
drivers/soc/fsl/qbman/bman_portal.c | 20 ++-
drivers/soc/fsl/qbman/qman_ccsr.c | 28 ++++
drivers/soc/fsl/qbman/qman_portal.c | 35 +++++
include/soc/fsl/bman.h | 16 +++
include/soc/fsl/qman.h | 17 +++
13 files changed, 438 insertions(+), 99 deletions(-)
--
2.17.1
next reply other threads:[~2018-09-26 13:22 UTC|newest]
Thread overview: 30+ messages / expand[flat|nested] mbox.gz Atom feed top
2018-09-26 13:22 laurentiu.tudor [this message]
2018-09-26 13:22 ` [PATCH v2 01/22] soc/fsl/qman: fixup liodns only on ppc targets laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 02/22] soc/fsl/bman: map FBPR area in the iommu laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 03/22] soc/fsl/qman: map FQD and PFDR areas " laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 04/22] soc/fsl/qman-portal: map CENA area " laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 05/22] soc/fsl/qbman: add APIs to retrieve the probing status laurentiu.tudor
2018-09-27 20:37 ` Li Yang
2018-09-26 13:22 ` [PATCH v2 06/22] soc/fsl/qman_portals: defer probe after qman's probe laurentiu.tudor
2018-09-27 20:37 ` Li Yang
2018-09-26 13:22 ` [PATCH v2 07/22] soc/fsl/bman_portals: defer probe after bman's probe laurentiu.tudor
2018-09-27 20:40 ` Li Yang
2018-09-26 13:22 ` [PATCH v2 08/22] soc/fsl/qbman_portals: add APIs to retrieve the probing status laurentiu.tudor
2018-09-27 20:03 ` Li Yang
2018-10-03 10:50 ` Laurentiu Tudor
2018-10-03 12:27 ` Robin Murphy
2018-09-26 13:22 ` [PATCH v2 09/22] fsl/fman: backup and restore ICID registers laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 10/22] fsl/fman: add API to get the device behind a fman port laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 11/22] dpaa_eth: defer probing after qbman laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 12/22] dpaa_eth: base dma mappings on the fman rx port laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 13/22] dpaa_eth: fix iova handling for contiguous frames laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 14/22] dpaa_eth: fix iova handling for sg frames laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 15/22] dpaa_eth: fix SG frame cleanup laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 16/22] arm64: dts: ls1046a: add smmu node laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 17/22] arm64: dts: ls1043a: " laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 18/22] arm64: dts: ls104xa: set mask to drop TBU ID from StreamID laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 19/22] arm64: dts: ls104x: add missing dma ranges property laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 20/22] arm64: dts: ls104x: add iommu-map to pci controllers laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 21/22] arm64: dts: ls104x: make dma-coherent global to the SoC laurentiu.tudor
2018-09-26 13:22 ` [PATCH v2 22/22] arm64: dts: ls104x: use a pseudo-bus to constrain usb dma size laurentiu.tudor
2018-09-27 13:39 ` [PATCH v2 00/22] SMMU enablement for NXP LS1043A and LS1046A Madalin-cristian Bucur
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20180926132247.10971-1-laurentiu.tudor@nxp.com \
--to=laurentiu.tudor@nxp.com \
--cc=bharat.bhushan@nxp.com \
--cc=davem@davemloft.net \
--cc=devicetree@vger.kernel.org \
--cc=leoyang.li@nxp.com \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=madalin.bucur@nxp.com \
--cc=netdev@vger.kernel.org \
--cc=robin.murphy@arm.com \
--cc=roy.pledge@nxp.com \
--cc=shawnguo@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox
all inboxes | Powered by JetHome®