All of lore.kernel.org
 help / color / mirror / Atom feed
* [PATCH 0/6] arm: omap iommu: add initial support
@ 2009-01-16  8:37 Hiroshi DOYU
  2009-01-16  8:37 ` [PATCH 1/6] omap iommu: tlb and pagetable primitives Hiroshi DOYU
                   ` (5 more replies)
  0 siblings, 6 replies; 43+ messages in thread
From: Hiroshi DOYU @ 2009-01-16  8:37 UTC (permalink / raw)
  To: linux-kernel; +Cc: linux-arm-kernel, linux-omap

The following patches add initial support of omap iommu.

Some of TI OMAP series have the peripheral devices with their own
MMU(iommu), which is composed of its own tlb and optional h/w
pagetable(twl). These MMUs don't depend on mpu(arm) mmu at all, but
their algorithms are somewhat similar and they share the same physical
address space. This patch provides with common in-kernel iommu APIs
such OMAP peripheral devices(Camera ISP, IVA1, IVA2, DSP and the
equivalent ones in the latest OMAP successors) to handle peripheral
device iommus in the same manner.

---

Hiroshi DOYU (6):
      omap2 iommu: entries for Kconfig and Makefile
      omap iommu: entries for Kconfig and Makefile
      omap iommu: simple virtual address space management
      omap iommu: omap3 iommu device registration
      omap iommu: omap2 architecture specific functions
      omap iommu: tlb and pagetable primitives


 arch/arm/include/asm/io.h                |    6 
 arch/arm/mach-omap2/Makefile             |    5 
 arch/arm/mach-omap2/iommu2.c             |  325 +++++++++++
 arch/arm/mach-omap2/omap3-iommu.c        |  111 ++++
 arch/arm/mm/ioremap.c                    |   11 
 arch/arm/plat-omap/Kconfig               |    8 
 arch/arm/plat-omap/Makefile              |    1 
 arch/arm/plat-omap/include/mach/iommu.h  |  157 +++++
 arch/arm/plat-omap/include/mach/iommu2.h |   94 +++
 arch/arm/plat-omap/include/mach/iovmm.h  |   94 +++
 arch/arm/plat-omap/iommu.c               |  913 ++++++++++++++++++++++++++++++
 arch/arm/plat-omap/iopgtable.h           |   72 ++
 arch/arm/plat-omap/iovmm.c               |  892 +++++++++++++++++++++++++++++
 13 files changed, 2689 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/iommu2.c
 create mode 100644 arch/arm/mach-omap2/omap3-iommu.c
 create mode 100644 arch/arm/plat-omap/include/mach/iommu.h
 create mode 100644 arch/arm/plat-omap/include/mach/iommu2.h
 create mode 100644 arch/arm/plat-omap/include/mach/iovmm.h
 create mode 100644 arch/arm/plat-omap/iommu.c
 create mode 100644 arch/arm/plat-omap/iopgtable.h
 create mode 100644 arch/arm/plat-omap/iovmm.c

-- 
   Hiroshi DOYU

^ permalink raw reply	[flat|nested] 43+ messages in thread
* [PATCH 0/6] Initial support for omap iommu driver
@ 2009-05-05 12:46 Hiroshi DOYU
  2009-05-05 12:47 ` [PATCH 3/6] omap iommu: omap3 iommu device registration Hiroshi DOYU
  0 siblings, 1 reply; 43+ messages in thread
From: Hiroshi DOYU @ 2009-05-05 12:46 UTC (permalink / raw)
  To: linux-arm-kernel
  Cc: linux-omap, h-kanigeri2, omar.ramirez, sakari.ailus, tony

Some of TI OMAP series have the peripheral devices with their own
Memory Management Unit(IOMMU), which is composed of its own TLB and
optional H/W pagetable (TWL). These MMUs doesn't depend on MPU(ARM)
MMU at all, but their algorithms are quite similar and they share the
same physical address space. This patch provides with common in-kernel
iommu APIs such OMAP peripheral devices(Camera ISP, IVA1, IVA2, DSP
and the equivalent ones in the latest OMAP successors) to handle
peripheral device IOMMUs in the same manner.

"tlb and pagetable primitives" has been updated with Russell's
comments on:

      http://marc.info/?l=linux-omap&m=122087083712670&w=2

Generalizing this omap iommu code independently from each device
drivers, "Camera(ISP)", "TI bridge(IVA/DSP)", "dspgateway(DSP)" and
the future OMAP equivalent device would be more robust and reduce the
maintenance cost since keeping this critical code at one place can
avoid some risks, like wrong MMU settings, which may cause critical
damages on the system.

---
The following changes since commit 091438dd5668396328a3419abcbc6591159eb8d1:
  Linus Torvalds (1):
        Linux 2.6.30-rc4

are available in the git repository at:

  http://git.gitorious.org/lk/mainline.git iommu

Hiroshi DOYU (6):
      omap iommu: tlb and pagetable primitives
      omap iommu: omap2 architecture specific functions
      omap iommu: omap3 iommu device registration
      omap iommu: simple virtual address space management
      omap iommu: entries for Kconfig and Makefile
      omap2 iommu: entries for Kconfig and Makefile

 arch/arm/include/asm/io.h                |    6 +
 arch/arm/mach-omap2/Makefile             |    5 +
 arch/arm/mach-omap2/iommu2.c             |  323 ++++++++++
 arch/arm/mach-omap2/omap3-iommu.c        |  105 ++++
 arch/arm/mm/ioremap.c                    |   11 +
 arch/arm/plat-omap/Kconfig               |    8 +
 arch/arm/plat-omap/Makefile              |    1 +
 arch/arm/plat-omap/include/mach/iommu.h  |  168 +++++
 arch/arm/plat-omap/include/mach/iommu2.h |   96 +++
 arch/arm/plat-omap/include/mach/iovmm.h  |   94 +++
 arch/arm/plat-omap/iommu.c               |  996 ++++++++++++++++++++++++++++++
 arch/arm/plat-omap/iopgtable.h           |   72 +++
 arch/arm/plat-omap/iovmm.c               |  890 ++++++++++++++++++++++++++
 13 files changed, 2775 insertions(+), 0 deletions(-)
 create mode 100644 arch/arm/mach-omap2/iommu2.c
 create mode 100644 arch/arm/mach-omap2/omap3-iommu.c
 create mode 100644 arch/arm/plat-omap/include/mach/iommu.h
 create mode 100644 arch/arm/plat-omap/include/mach/iommu2.h
 create mode 100644 arch/arm/plat-omap/include/mach/iovmm.h
 create mode 100644 arch/arm/plat-omap/iommu.c
 create mode 100644 arch/arm/plat-omap/iopgtable.h
 create mode 100644 arch/arm/plat-omap/iovmm.c

^ permalink raw reply	[flat|nested] 43+ messages in thread

end of thread, other threads:[~2009-05-18 14:26 UTC | newest]

Thread overview: 43+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2009-01-16  8:37 [PATCH 0/6] arm: omap iommu: add initial support Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 1/6] omap iommu: tlb and pagetable primitives Hiroshi DOYU
2009-01-17 16:06   ` Russell King - ARM Linux
2009-01-17 20:48     ` David Brownell
2009-01-17 20:48       ` David Brownell
2009-01-19  9:44       ` Hiroshi DOYU
2009-01-19  9:44         ` Hiroshi DOYU
2009-01-19 21:58         ` Russell King - ARM Linux
2009-01-19 21:58           ` Russell King - ARM Linux
2009-01-19 22:42           ` David Brownell
2009-01-26 13:41     ` Hiroshi DOYU
2009-01-27 21:31     ` Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 2/6] omap iommu: omap2 architecture specific functions Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 3/6] omap iommu: omap3 iommu device registration Hiroshi DOYU
2009-01-17 16:21   ` Russell King - ARM Linux
2009-01-27 21:29     ` Hiroshi DOYU
2009-01-28 10:41       ` Russell King - ARM Linux
2009-01-28 11:37         ` Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 4/6] omap iommu: simple virtual address space management Hiroshi DOYU
2009-01-17 16:57   ` Russell King - ARM Linux
2009-01-27 21:29     ` Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 5/6] omap iommu: entries for Kconfig and Makefile Hiroshi DOYU
2009-01-16  8:37 ` [PATCH 6/6] omap2 " Hiroshi DOYU
2009-01-17 16:59   ` Russell King - ARM Linux
2009-01-22 15:02     ` Hiroshi DOYU
2009-05-05 12:46 [PATCH 0/6] Initial support for omap iommu driver Hiroshi DOYU
2009-05-05 12:47 ` [PATCH 3/6] omap iommu: omap3 iommu device registration Hiroshi DOYU
2009-05-05 19:32   ` Felipe Contreras
2009-05-06  6:00     ` Hiroshi DOYU
2009-05-07 20:02       ` Felipe Contreras
2009-05-07 20:05   ` Felipe Contreras
2009-05-08  4:10     ` Hiroshi DOYU
2009-05-08  7:32       ` Felipe Contreras
2009-05-08 17:21         ` Aguirre Rodriguez, Sergio Alberto
2009-05-08 22:27           ` Felipe Contreras
2009-05-16  9:20   ` Russell King - ARM Linux
2009-05-16  9:38     ` Felipe Contreras
2009-05-16  9:54       ` Russell King - ARM Linux
2009-05-16  9:56         ` Felipe Contreras
2009-05-16  9:55     ` Russell King - ARM Linux
2009-05-18  5:36       ` Hiroshi DOYU
2009-05-18  9:39       ` Hiroshi DOYU
2009-05-18 14:26       ` Hiroshi DOYU
2009-05-18  5:22     ` Hiroshi DOYU

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.