From: Suman Anna <s-anna-l0cyMroinI0@public.gmane.org>
To: Joerg Roedel <joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org>,
Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
Cc: devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
Laurent Pinchart
<laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org>,
Florian Vaussard <florian.vaussard-p8DiymsW2f8@public.gmane.org>,
linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org
Subject: [PATCHv2 00/16] OMAP IOMMU DT adaptation and cleanup
Date: Thu, 13 Feb 2014 12:15:31 -0600 [thread overview]
Message-ID: <1392315347-32967-1-git-send-email-s-anna@ti.com> (raw)
Hi,
This is an updated series to the initial OMAP IOMMU DT driver
adaptation series [1], that primarily dealt with just the OMAP3
ISP MMU. This series is based on 3.14-rc2, and the patches were
developed in collaboration with Florian. I am hoping that the
series can make the 3.15 merge window.
This series updates the bindings for IOMMUs for all OMAP2+ SoCs
(OMAP3, OMAP4, OMAP5, DRA7), and includes new patches for adding
the support to iommus on OMAP4 and OMAP5, and IVA IOMMU on OMAP3.
The DT bindings and adaptation is done mainly in patches 3 and 4.
The differences between IOMMUs between different OMAP generations
is explained in the previous posting [1], and the differentiation
is achieved through two optional properties keeping the compatible
strings to a minimum. This could also have been achieved through
driver match data with a compatible string per sub-system, so do
let me know if that should be the preferred approach.
All the MMUs other than the OMAP3 ISP leverage omap_device reset
functions, performed through platform data ops previously. With
the removal of the legacy mode, the same functionality is achieved
for DT nodes through pdata quirks until a TI PRCM reset driver is
available.
The first 7 patches in the series are in drivers/iommu, with all the
remaining patches in the arch/arm/mach-omap2 layer.
Tony,
The last 3 patches are cleanup of the legacy mode, so IOMMU devices
cannot be instantiated after these patches. Please let me know if
legacy mode on OMAP3 needs to be supported for 3.15, in which case,
the last 3 can be dropped for now and I would have to revise the OMAP3
ISP archdata change (Patch 9) to support both legacy and DT boots.
At present, I have made the change to support OMAP3 ISP with DT-boot
only.
Detailed changes in v2:
- Cleanup of driver probe/release to use devm_ interfaces (Patch 1)
- The DT bindings are split into a separate patch, and updated based
on discussion on v1 [1] (Patch 3)
- Updated DT adaptation patch with improved error checking, and
support for DRA7 compatible IOMMUs in the driver (Patch 4)
- Added support for throwing a bus error response back to the processor
cores on MMUs associated with IPUs (Patch 5)
- Added preliminary support to DT-based IOMMU users (Patch 6)
- Added preparatory patches to enable and use the hwmod for IVA MMU
on OMAP3 (Patches 8 and 11)
- Adapt the OMAP3 ISP archdata to support DT boot (Patch 9). Legacy
mode will not work after this patch, and this will be cleaned up
anyway once OMAP3ISP is converted to a DT node.
- Reset functionality enablement with DT-boots using pdata quirks
for OMAP3 IVA, OMAP4 and OMAP5 DSP & IPU MMUs (Patches 10, 13)
- Added the basic hwmod data for OMAP5 iommus (Patch 12)
- Clean up the iommu hwmod data and remove the legacy file for creating
IOMMU devices (Patches 14, 15, 16).
- Dropped the "iommu/omap: Do bus_set_iommu() only if probe() succeeds"
patch from previous series.
- Dropped the OMAP3 ISP MMU DTS patch (posting separately).
I have validated the functionality of all the different IOMMUs on
OMAP3, OMAP4 and OMAP5. Florian has verified the OMAP3 ISP usage as
well. The full branch including the DTS patches is here for reference,
https://github.com/sumananna/omap-kernel/commits/iommu/3.14-rc2-dt-support-v2
v1:
- Couple of cleanup and initial DT adaptation for OMAP3 ISP.
http://marc.info/?l=linux-omap&m=138728485600624&w=2
[1] http://marc.info/?l=linux-omap&m=138782819732435&w=2
Florian Vaussard (8):
iommu/omap: omap_iommu_attach() should return ENODEV, not NULL
Documentation: dt: add OMAP iommu bindings
iommu/omap: add devicetree support
iommu/omap: allow enable/disable even without pdata
ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2
ARM: OMAP3: hwmod data: cleanup data for IOMMUs
ARM: OMAP4: hwmod data: cleanup data for IOMMUs
ARM: OMAP2+: Remove legacy omap-iommu.c
Laurent Pinchart (1):
iommu/omap: allocate archdata on the fly for DT-based devices
Suman Anna (7):
iommu/omap: convert to devm_* interfaces
iommu/omap: enable bus-error back on supported iommus
ARM: OMAP2+: change the ISP device archdata MMU name
ARM: OMAP2+: use pdata quirks for iommu reset lines
ARM: OMAP3: fix iva mmu programming issues
ARM: OMAP5: hwmod data: add mmu data for ipu & dsp
ARM: OMAP2+: extend iommu pdata-quirks to OMAP5
.../devicetree/bindings/iommu/ti,omap-iommu.txt | 28 ++++
arch/arm/mach-omap2/Makefile | 3 -
arch/arm/mach-omap2/clockdomains3xxx_data.c | 2 +-
arch/arm/mach-omap2/devices.c | 2 +-
arch/arm/mach-omap2/omap-iommu.c | 74 ----------
arch/arm/mach-omap2/omap_hwmod_3xxx_data.c | 58 +-------
arch/arm/mach-omap2/omap_hwmod_44xx_data.c | 35 -----
arch/arm/mach-omap2/omap_hwmod_54xx_data.c | 83 +++++++++++
arch/arm/mach-omap2/pdata-quirks.c | 24 ++++
arch/arm/plat-omap/Kconfig | 3 -
drivers/iommu/omap-iommu.c | 154 +++++++++++++--------
drivers/iommu/omap-iommu.h | 5 +
drivers/iommu/omap-iommu2.c | 3 +
13 files changed, 247 insertions(+), 227 deletions(-)
create mode 100644 Documentation/devicetree/bindings/iommu/ti,omap-iommu.txt
delete mode 100644 arch/arm/mach-omap2/omap-iommu.c
--
1.8.5.3
next reply other threads:[~2014-02-13 18:15 UTC|newest]
Thread overview: 49+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-02-13 18:15 Suman Anna [this message]
2014-02-13 18:15 ` [PATCHv2 01/16] iommu/omap: convert to devm_* interfaces Suman Anna
[not found] ` <1392315347-32967-2-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-25 21:10 ` Laurent Pinchart
2014-02-13 18:15 ` [PATCHv2 08/16] ARM: OMAP3: remove deprecated CONFIG_OMAP_IOMMU_IVA2 Suman Anna
[not found] ` <1392315347-32967-9-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-25 21:17 ` Laurent Pinchart
2014-02-26 17:09 ` Tony Lindgren
2014-02-26 17:15 ` Tony Lindgren
2014-02-28 19:58 ` Paul Walmsley
[not found] ` <alpine.DEB.2.02.1402281958170.453-rwI8Ez+7Ko+d5PgPZx9QOdBPR1lH4CV8@public.gmane.org>
2014-02-28 20:42 ` Suman Anna
[not found] ` <1392315347-32967-1-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-13 18:15 ` [PATCHv2 02/16] iommu/omap: omap_iommu_attach() should return ENODEV, not NULL Suman Anna
[not found] ` <1392315347-32967-3-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-25 21:13 ` Laurent Pinchart
2014-02-25 22:32 ` Suman Anna
[not found] ` <530D19E3.9030407-l0cyMroinI0@public.gmane.org>
2014-02-26 2:05 ` Laurent Pinchart
2014-02-26 16:45 ` Suman Anna
2014-02-13 18:15 ` [PATCHv2 03/16] Documentation: dt: add OMAP iommu bindings Suman Anna
2014-02-24 12:57 ` Florian Vaussard
2014-02-24 18:09 ` Suman Anna
[not found] ` <1392315347-32967-4-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-25 21:26 ` Laurent Pinchart
2014-02-25 23:02 ` Suman Anna
2014-02-26 2:13 ` Laurent Pinchart
2014-02-26 17:02 ` Suman Anna
[not found] ` <530E1E20.9000301-l0cyMroinI0@public.gmane.org>
2014-02-26 19:32 ` Laurent Pinchart
2014-02-26 20:23 ` Suman Anna
2014-02-26 20:36 ` Laurent Pinchart
2014-02-26 22:18 ` Suman Anna
[not found] ` <530E682D.9070005-l0cyMroinI0@public.gmane.org>
2014-02-26 22:28 ` Suman Anna
2014-02-26 22:43 ` Laurent Pinchart
2014-02-26 23:14 ` Suman Anna
2014-02-13 18:15 ` [PATCHv2 04/16] iommu/omap: add devicetree support Suman Anna
2014-02-26 17:08 ` Tony Lindgren
2014-02-13 18:15 ` [PATCHv2 05/16] iommu/omap: enable bus-error back on supported iommus Suman Anna
2014-02-13 18:15 ` [PATCHv2 06/16] iommu/omap: allocate archdata on the fly for DT-based devices Suman Anna
2014-02-13 18:15 ` [PATCHv2 07/16] iommu/omap: allow enable/disable even without pdata Suman Anna
[not found] ` <1392315347-32967-8-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-25 21:15 ` Laurent Pinchart
2014-02-25 22:41 ` Suman Anna
2014-02-13 18:15 ` [PATCHv2 09/16] ARM: OMAP2+: change the ISP device archdata MMU name Suman Anna
2014-02-13 18:15 ` [PATCHv2 10/16] ARM: OMAP2+: use pdata quirks for iommu reset lines Suman Anna
[not found] ` <1392315347-32967-11-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-26 17:17 ` Tony Lindgren
[not found] ` <20140226171731.GG11654-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-02-26 18:04 ` Suman Anna
2014-02-13 18:15 ` [PATCHv2 11/16] ARM: OMAP3: fix iva mmu programming issues Suman Anna
2014-02-13 18:15 ` [PATCHv2 12/16] ARM: OMAP5: hwmod data: add mmu data for ipu & dsp Suman Anna
2014-02-13 18:15 ` [PATCHv2 16/16] ARM: OMAP2+: Remove legacy omap-iommu.c Suman Anna
2014-02-13 18:15 ` [PATCHv2 13/16] ARM: OMAP2+: extend iommu pdata-quirks to OMAP5 Suman Anna
2014-02-13 18:15 ` [PATCHv2 14/16] ARM: OMAP3: hwmod data: cleanup data for IOMMUs Suman Anna
[not found] ` <1392315347-32967-15-git-send-email-s-anna-l0cyMroinI0@public.gmane.org>
2014-02-26 17:18 ` Tony Lindgren
[not found] ` <20140226171824.GH11654-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2014-02-26 17:59 ` Suman Anna
[not found] ` <530E2B67.9050300-l0cyMroinI0@public.gmane.org>
2014-02-27 9:16 ` Florian Vaussard
[not found] ` <530F0255.0-p8DiymsW2f8@public.gmane.org>
2014-02-28 0:25 ` Tony Lindgren
2014-02-13 18:15 ` [PATCHv2 15/16] ARM: OMAP4: " Suman Anna
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=1392315347-32967-1-git-send-email-s-anna@ti.com \
--to=s-anna-l0cymroini0@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=florian.vaussard-p8DiymsW2f8@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
--cc=laurent.pinchart-ryLnwIuWjnjg/C1BVhZhaw@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.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;
as well as URLs for NNTP newsgroup(s).