linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
* [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
@ 2012-11-22 11:31 Cho KyongHo
  2012-11-23  8:07 ` Kukjin Kim
  0 siblings, 1 reply; 7+ messages in thread
From: Cho KyongHo @ 2012-11-22 11:31 UTC (permalink / raw)
  To: linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel
  Cc: 'Joerg Roedel', 'Sanghyun Lee',
	'Kukjin Kim', sw0312.kim, 'Subash Patel',
	prathyush.k, rahul.sharma

The current exynos-iommu(System MMU) driver does not work autonomously
since it is lack of support for power management of peripheral blocks.
For example, MFC device driver must ensure that its System MMU is disabled
before MFC block is power-down not to invalidate IOTLB in the System MMU
when I/O memory mapping is changed. Because A System MMU is resides in the
same H/W block, access to control registers of System MMU while the H/W
block is turned off must be prohibited.

This set of changes solves the above problem with setting each System MMUs
as the parent of the device which owns the System MMU to recieve the
information when the device is turned off or turned on.

Another big change to the driver is the support for devicetree.
The bindings for System MMU is described in
Documentation/devicetree/bindings/arm/samsung/system-mmu.txt

In addition, this patchset also includes several bug fixes and enhancements
of the current driver.

Change log:
v4:
- Remove Change-Id from v3 patches
- Change the order of the third and the first patch
  Thanks to Kukjin Kim.
- Fix memory leak when allocating and assigning exynos_iommu_owner to client
  device if the client device has multiple System MMUs.
  Thanks to Rahul Sharma.

v3:
- Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
- Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
  Thanks to Prathyush.

v2:
- Split the patch to iommu/exynos into 9 patches
- Support for System MMU 3.3
- Some code compaction

Patch summary:
[PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
[PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
[PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos tree
[PATCH v4 04/12] iommu/exynos: support for device tree
[PATCH v4 05/12] iommu/exynos: pass version information from DT
[PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
[PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
[PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client device
[PATCH v4 09/12] iommu/exynos: add support for runtime pm and suspend/resume
[PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
[PATCH v4 11/12] iommu/exynos: add literal name of System MMU for debugging
[PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU

Diffstats:
 .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
 arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
 arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
 arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
 arch/arm/mach-exynos/Kconfig                       |    5 -
 arch/arm/mach-exynos/Makefile                      |    1 -
 arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
 arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
 arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
 arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
 arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
 arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
 arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
 arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
 drivers/iommu/Kconfig                              |    2 +-
 drivers/iommu/exynos-iommu.c                       | 1428 +++++++++++++++-----
 16 files changed, 1720 insertions(+), 732 deletions(-)


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

* RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-22 11:31 [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT Cho KyongHo
@ 2012-11-23  8:07 ` Kukjin Kim
  2012-11-26  1:27   ` Cho KyongHo
                     ` (2 more replies)
  0 siblings, 3 replies; 7+ messages in thread
From: Kukjin Kim @ 2012-11-23  8:07 UTC (permalink / raw)
  To: 'Cho KyongHo',
	linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel
  Cc: 'Joerg Roedel', 'Sanghyun Lee',
	sw0312.kim, 'Subash Patel',
	prathyush.k, rahul.sharma

Cho KyongHo wrote:
> 
> The current exynos-iommu(System MMU) driver does not work autonomously
> since it is lack of support for power management of peripheral blocks.
> For example, MFC device driver must ensure that its System MMU is disabled
> before MFC block is power-down not to invalidate IOTLB in the System MMU
> when I/O memory mapping is changed. Because A System MMU is resides in the
> same H/W block, access to control registers of System MMU while the H/W
> block is turned off must be prohibited.
> 
> This set of changes solves the above problem with setting each System MMUs
> as the parent of the device which owns the System MMU to recieve the
> information when the device is turned off or turned on.
> 
> Another big change to the driver is the support for devicetree.
> The bindings for System MMU is described in
> Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
> 
> In addition, this patchset also includes several bug fixes and
> enhancements
> of the current driver.
> 
> Change log:
> v4:
> - Remove Change-Id from v3 patches
> - Change the order of the third and the first patch
>   Thanks to Kukjin Kim.
> - Fix memory leak when allocating and assigning exynos_iommu_owner to
> client
>   device if the client device has multiple System MMUs.
>   Thanks to Rahul Sharma.
> 
> v3:
> - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
> - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
>   Thanks to Prathyush.
> 
> v2:
> - Split the patch to iommu/exynos into 9 patches
> - Support for System MMU 3.3
> - Some code compaction
> 
> Patch summary:
> [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
> [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
> [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
> tree
> [PATCH v4 04/12] iommu/exynos: support for device tree
> [PATCH v4 05/12] iommu/exynos: pass version information from DT
> [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
> [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
> [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
> device
> [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
> suspend/resume
> [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
> [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
> debugging
> [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
> 
> Diffstats:
>  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
>  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
>  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
>  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
>  arch/arm/mach-exynos/Kconfig                       |    5 -
>  arch/arm/mach-exynos/Makefile                      |    1 -
>  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
>  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
>  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
>  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
>  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
>  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
>  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
>  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
>  drivers/iommu/Kconfig                              |    2 +-
>  drivers/iommu/exynos-iommu.c                       | 1428
+++++++++++++++-----
>  16 files changed, 1720 insertions(+), 732 deletions(-)

Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
patches can go to upstream for v3.8 without any dependency. So I will.

The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
should be sent to upstream with others.

BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
changes for v3.8...

Joerg, please let me know about iommu/exynos stuff so that I can decide to
take 3rd patch or not for v3.8.

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


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

* RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-23  8:07 ` Kukjin Kim
@ 2012-11-26  1:27   ` Cho KyongHo
  2012-11-26  1:54   ` Cho KyongHo
  2012-11-29 10:55   ` Cho KyongHo
  2 siblings, 0 replies; 7+ messages in thread
From: Cho KyongHo @ 2012-11-26  1:27 UTC (permalink / raw)
  To: 'Kukjin Kim',
	linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel
  Cc: 'Joerg Roedel', 'Sanghyun Lee',
	sw0312.kim, 'Subash Patel',
	prathyush.k, rahul.sharma

> -----Original Message-----
> From: Kukjin Kim [mailto:kgene.kim@samsung.com]
> Sent: Friday, November 23, 2012 5:08 PM
> Subject: RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
> 
> Cho KyongHo wrote:
> >
> > The current exynos-iommu(System MMU) driver does not work autonomously
> > since it is lack of support for power management of peripheral blocks.
> > For example, MFC device driver must ensure that its System MMU is disabled
> > before MFC block is power-down not to invalidate IOTLB in the System MMU
> > when I/O memory mapping is changed. Because A System MMU is resides in the
> > same H/W block, access to control registers of System MMU while the H/W
> > block is turned off must be prohibited.
> >
> > This set of changes solves the above problem with setting each System MMUs
> > as the parent of the device which owns the System MMU to recieve the
> > information when the device is turned off or turned on.
> >
> > Another big change to the driver is the support for devicetree.
> > The bindings for System MMU is described in
> > Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
> >
> > In addition, this patchset also includes several bug fixes and
> > enhancements
> > of the current driver.
> >
> > Change log:
> > v4:
> > - Remove Change-Id from v3 patches
> > - Change the order of the third and the first patch
> >   Thanks to Kukjin Kim.
> > - Fix memory leak when allocating and assigning exynos_iommu_owner to
> > client
> >   device if the client device has multiple System MMUs.
> >   Thanks to Rahul Sharma.
> >
> > v3:
> > - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
> > - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
> >   Thanks to Prathyush.
> >
> > v2:
> > - Split the patch to iommu/exynos into 9 patches
> > - Support for System MMU 3.3
> > - Some code compaction
> >
> > Patch summary:
> > [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
> > [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
> > [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
> > tree
> > [PATCH v4 04/12] iommu/exynos: support for device tree
> > [PATCH v4 05/12] iommu/exynos: pass version information from DT
> > [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
> > [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
> > [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
> > device
> > [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
> > suspend/resume
> > [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
> > [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
> > debugging
> > [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
> >
> > Diffstats:
> >  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
> >  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
> >  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
> >  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
> >  arch/arm/mach-exynos/Kconfig                       |    5 -
> >  arch/arm/mach-exynos/Makefile                      |    1 -
> >  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
> >  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
> >  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
> >  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
> >  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
> >  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
> >  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
> >  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
> >  drivers/iommu/Kconfig                              |    2 +-
> >  drivers/iommu/exynos-iommu.c                       | 1428
> +++++++++++++++-----
> >  16 files changed, 1720 insertions(+), 732 deletions(-)
> 
> Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
> patches can go to upstream for v3.8 without any dependency. So I will.
> 
> The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
> should be sent to upstream with others.
> 
> BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
> prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
> changes for v3.8...
> 
> Joerg, please let me know about iommu/exynos stuff so that I can decide to
> take 3rd patch or not for v3.8.
> 

Hi, Kukjin Kim.

I found that control bit fields of clock gating of System MMU of MFC L/R is inversed.
That is reported by Prathyush Kalashwaram.

I will post v5 patchset that solves this.

Thank you.

Cho KyongHo.


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

* RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-23  8:07 ` Kukjin Kim
  2012-11-26  1:27   ` Cho KyongHo
@ 2012-11-26  1:54   ` Cho KyongHo
  2012-11-29 10:55   ` Cho KyongHo
  2 siblings, 0 replies; 7+ messages in thread
From: Cho KyongHo @ 2012-11-26  1:54 UTC (permalink / raw)
  To: 'Cho KyongHo', 'Kukjin Kim',
	linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel
  Cc: 'Joerg Roedel', 'Sanghyun Lee',
	sw0312.kim, 'Subash Patel',
	prathyush.k, rahul.sharma

> -----Original Message-----
> From: Cho KyongHo [mailto:pullip.cho@samsung.com]
> Sent: Monday, November 26, 2012 10:28 AM
> 
> > -----Original Message-----
> > From: Kukjin Kim [mailto:kgene.kim@samsung.com]
> > Sent: Friday, November 23, 2012 5:08 PM
> > Subject: RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
> >
> > Cho KyongHo wrote:
> > >
> > > The current exynos-iommu(System MMU) driver does not work autonomously
> > > since it is lack of support for power management of peripheral blocks.
> > > For example, MFC device driver must ensure that its System MMU is disabled
> > > before MFC block is power-down not to invalidate IOTLB in the System MMU
> > > when I/O memory mapping is changed. Because A System MMU is resides in the
> > > same H/W block, access to control registers of System MMU while the H/W
> > > block is turned off must be prohibited.
> > >
> > > This set of changes solves the above problem with setting each System MMUs
> > > as the parent of the device which owns the System MMU to recieve the
> > > information when the device is turned off or turned on.
> > >
> > > Another big change to the driver is the support for devicetree.
> > > The bindings for System MMU is described in
> > > Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
> > >
> > > In addition, this patchset also includes several bug fixes and
> > > enhancements
> > > of the current driver.
> > >
> > > Change log:
> > > v4:
> > > - Remove Change-Id from v3 patches
> > > - Change the order of the third and the first patch
> > >   Thanks to Kukjin Kim.
> > > - Fix memory leak when allocating and assigning exynos_iommu_owner to
> > > client
> > >   device if the client device has multiple System MMUs.
> > >   Thanks to Rahul Sharma.
> > >
> > > v3:
> > > - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
> > > - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
> > >   Thanks to Prathyush.
> > >
> > > v2:
> > > - Split the patch to iommu/exynos into 9 patches
> > > - Support for System MMU 3.3
> > > - Some code compaction
> > >
> > > Patch summary:
> > > [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
> > > [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
> > > [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
> > > tree
> > > [PATCH v4 04/12] iommu/exynos: support for device tree
> > > [PATCH v4 05/12] iommu/exynos: pass version information from DT
> > > [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
> > > [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
> > > [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
> > > device
> > > [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
> > > suspend/resume
> > > [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
> > > [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
> > > debugging
> > > [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
> > >
> > > Diffstats:
> > >  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
> > >  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
> > >  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
> > >  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
> > >  arch/arm/mach-exynos/Kconfig                       |    5 -
> > >  arch/arm/mach-exynos/Makefile                      |    1 -
> > >  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
> > >  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
> > >  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
> > >  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
> > >  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
> > >  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
> > >  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
> > >  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
> > >  drivers/iommu/Kconfig                              |    2 +-
> > >  drivers/iommu/exynos-iommu.c                       | 1428
> > +++++++++++++++-----
> > >  16 files changed, 1720 insertions(+), 732 deletions(-)
> >
> > Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
> > patches can go to upstream for v3.8 without any dependency. So I will.
> >
> > The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
> > should be sent to upstream with others.
> >
> > BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
> > prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
> > changes for v3.8...
> >
> > Joerg, please let me know about iommu/exynos stuff so that I can decide to
> > take 3rd patch or not for v3.8.
> >
> 
> Hi, Kukjin Kim.
> 
> I found that control bit fields of clock gating of System MMU of MFC L/R is inversed.
> That is reported by Prathyush Kalashwaram.
> 
> I will post v5 patchset that solves this.
> 

I did not posted v5 patchset.
Instead, I posted just the fix for the 03/12 patch mentioned above
as the reply to the 03/12 patch.

Thank you.

Cho KyongHo.





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

* RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-23  8:07 ` Kukjin Kim
  2012-11-26  1:27   ` Cho KyongHo
  2012-11-26  1:54   ` Cho KyongHo
@ 2012-11-29 10:55   ` Cho KyongHo
  2012-11-29 11:21     ` Rahul Sharma
  2 siblings, 1 reply; 7+ messages in thread
From: Cho KyongHo @ 2012-11-29 10:55 UTC (permalink / raw)
  To: 'Cho KyongHo', 'Kukjin Kim',
	linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel
  Cc: 'Joerg Roedel', 'Sanghyun Lee',
	sw0312.kim, 'Subash Patel',
	prathyush.k, rahul.sharma

> -----Original Message-----
> From: Cho KyongHo [mailto:pullip.cho@samsung.com]
> Sent: Monday, November 26, 2012 10:54 AM
> > -----Original Message-----
> > From: Cho KyongHo [mailto:pullip.cho@samsung.com]
> > Sent: Monday, November 26, 2012 10:28 AM
> >
> > > -----Original Message-----
> > > From: Kukjin Kim [mailto:kgene.kim@samsung.com]
> > > Sent: Friday, November 23, 2012 5:08 PM
> > > Subject: RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
> > >
> > > Cho KyongHo wrote:
> > > >
> > > > The current exynos-iommu(System MMU) driver does not work autonomously
> > > > since it is lack of support for power management of peripheral blocks.
> > > > For example, MFC device driver must ensure that its System MMU is disabled
> > > > before MFC block is power-down not to invalidate IOTLB in the System MMU
> > > > when I/O memory mapping is changed. Because A System MMU is resides in the
> > > > same H/W block, access to control registers of System MMU while the H/W
> > > > block is turned off must be prohibited.
> > > >
> > > > This set of changes solves the above problem with setting each System MMUs
> > > > as the parent of the device which owns the System MMU to recieve the
> > > > information when the device is turned off or turned on.
> > > >
> > > > Another big change to the driver is the support for devicetree.
> > > > The bindings for System MMU is described in
> > > > Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
> > > >
> > > > In addition, this patchset also includes several bug fixes and
> > > > enhancements
> > > > of the current driver.
> > > >
> > > > Change log:
> > > > v4:
> > > > - Remove Change-Id from v3 patches
> > > > - Change the order of the third and the first patch
> > > >   Thanks to Kukjin Kim.
> > > > - Fix memory leak when allocating and assigning exynos_iommu_owner to
> > > > client
> > > >   device if the client device has multiple System MMUs.
> > > >   Thanks to Rahul Sharma.
> > > >
> > > > v3:
> > > > - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
> > > > - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
> > > >   Thanks to Prathyush.
> > > >
> > > > v2:
> > > > - Split the patch to iommu/exynos into 9 patches
> > > > - Support for System MMU 3.3
> > > > - Some code compaction
> > > >
> > > > Patch summary:
> > > > [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
> > > > [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
> > > > [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
> > > > tree
> > > > [PATCH v4 04/12] iommu/exynos: support for device tree
> > > > [PATCH v4 05/12] iommu/exynos: pass version information from DT
> > > > [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
> > > > [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
> > > > [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
> > > > device
> > > > [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
> > > > suspend/resume
> > > > [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
> > > > [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
> > > > debugging
> > > > [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
> > > >
> > > > Diffstats:
> > > >  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
> > > >  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
> > > >  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
> > > >  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
> > > >  arch/arm/mach-exynos/Kconfig                       |    5 -
> > > >  arch/arm/mach-exynos/Makefile                      |    1 -
> > > >  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
> > > >  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
> > > >  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
> > > >  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
> > > >  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
> > > >  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
> > > >  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
> > > >  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
> > > >  drivers/iommu/Kconfig                              |    2 +-
> > > >  drivers/iommu/exynos-iommu.c                       | 1428
> > > +++++++++++++++-----
> > > >  16 files changed, 1720 insertions(+), 732 deletions(-)
> > >
> > > Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
> > > patches can go to upstream for v3.8 without any dependency. So I will.
> > >
> > > The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
> > > should be sent to upstream with others.
> > >
> > > BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
> > > prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
> > > changes for v3.8...
> > >
> > > Joerg, please let me know about iommu/exynos stuff so that I can decide to
> > > take 3rd patch or not for v3.8.
> > >
> >
> > Hi, Kukjin Kim.
> >
> > I found that control bit fields of clock gating of System MMU of MFC L/R is inversed.
> > That is reported by Prathyush Kalashwaram.
> >
> > I will post v5 patchset that solves this.
> >
> 
> I did not posted v5 patchset.
> Instead, I posted just the fix for the 03/12 patch mentioned above
> as the reply to the 03/12 patch.
> 

Hi, Joerg.

I am waiting for your comment about the patchset.
The latest version is v4.
And a fix of [patch v4 03/12] mentioned above is posted as a reply.

If you have any concern about the patches, please let me know

Thank you.

Cho KyongHo.


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

* Re: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-29 10:55   ` Cho KyongHo
@ 2012-11-29 11:21     ` Rahul Sharma
  2012-11-30 10:55       ` Kukjin Kim
  0 siblings, 1 reply; 7+ messages in thread
From: Rahul Sharma @ 2012-11-29 11:21 UTC (permalink / raw)
  To: Cho KyongHo
  Cc: Kukjin Kim, linux-arm-kernel, linux-samsung-soc, iommu,
	linux-kernel, prathyush.k, sw0312.kim, Subash Patel,
	Sanghyun Lee, rahul.sharma

Hi Mr. Cho,

We have verified the above patchset for following usecases on exynos5.

1) MFC decoding using Sysmmu_L and R. (with the bit Inversion fix)
2) GSC operations.
3) FIMD and MIXER (HDMI) as displays.

Thanks for your effort.

regards,
Rahul Sharma.

On Thu, Nov 29, 2012 at 4:25 PM, Cho KyongHo <pullip.cho@samsung.com> wrote:
>> -----Original Message-----
>> From: Cho KyongHo [mailto:pullip.cho@samsung.com]
>> Sent: Monday, November 26, 2012 10:54 AM
>> > -----Original Message-----
>> > From: Cho KyongHo [mailto:pullip.cho@samsung.com]
>> > Sent: Monday, November 26, 2012 10:28 AM
>> >
>> > > -----Original Message-----
>> > > From: Kukjin Kim [mailto:kgene.kim@samsung.com]
>> > > Sent: Friday, November 23, 2012 5:08 PM
>> > > Subject: RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
>> > >
>> > > Cho KyongHo wrote:
>> > > >
>> > > > The current exynos-iommu(System MMU) driver does not work autonomously
>> > > > since it is lack of support for power management of peripheral blocks.
>> > > > For example, MFC device driver must ensure that its System MMU is disabled
>> > > > before MFC block is power-down not to invalidate IOTLB in the System MMU
>> > > > when I/O memory mapping is changed. Because A System MMU is resides in the
>> > > > same H/W block, access to control registers of System MMU while the H/W
>> > > > block is turned off must be prohibited.
>> > > >
>> > > > This set of changes solves the above problem with setting each System MMUs
>> > > > as the parent of the device which owns the System MMU to recieve the
>> > > > information when the device is turned off or turned on.
>> > > >
>> > > > Another big change to the driver is the support for devicetree.
>> > > > The bindings for System MMU is described in
>> > > > Documentation/devicetree/bindings/arm/samsung/system-mmu.txt
>> > > >
>> > > > In addition, this patchset also includes several bug fixes and
>> > > > enhancements
>> > > > of the current driver.
>> > > >
>> > > > Change log:
>> > > > v4:
>> > > > - Remove Change-Id from v3 patches
>> > > > - Change the order of the third and the first patch
>> > > >   Thanks to Kukjin Kim.
>> > > > - Fix memory leak when allocating and assigning exynos_iommu_owner to
>> > > > client
>> > > >   device if the client device has multiple System MMUs.
>> > > >   Thanks to Rahul Sharma.
>> > > >
>> > > > v3:
>> > > > - Fix prefetch buffer flag definition for System MMU 3.3 (patch 10/12)
>> > > > - Fix incorrect setting for SET_RUNTIME_PM_OPS (patch 09/12)
>> > > >   Thanks to Prathyush.
>> > > >
>> > > > v2:
>> > > > - Split the patch to iommu/exynos into 9 patches
>> > > > - Support for System MMU 3.3
>> > > > - Some code compaction
>> > > >
>> > > > Patch summary:
>> > > > [PATCH v4 01/12] ARM: EXYNOS: Add clk_ops for gating clocks of System MMU
>> > > > [PATCH v4 02/12] ARM: EXYNOS: add System MMU definition to DT
>> > > > [PATCH v4 03/12] ARM: EXYNOS: remove system mmu initialization from exynos
>> > > > tree
>> > > > [PATCH v4 04/12] iommu/exynos: support for device tree
>> > > > [PATCH v4 05/12] iommu/exynos: pass version information from DT
>> > > > [PATCH v4 06/12] iommu/exynos: allocate lv2 page table from own slab
>> > > > [PATCH v4 07/12] iommu/exynos: change rwlock to spinlock
>> > > > [PATCH v4 08/12] iommu/exynos: set System MMU as the parent of client
>> > > > device
>> > > > [PATCH v4 09/12] iommu/exynos: add support for runtime pm and
>> > > > suspend/resume
>> > > > [PATCH v4 10/12] iommu/exynos: add support for System MMU 3.2 and 3.3
>> > > > [PATCH v4 11/12] iommu/exynos: add literal name of System MMU for
>> > > > debugging
>> > > > [PATCH v4 12/12] iommu/exynos: add debugfs entries for System MMU
>> > > >
>> > > > Diffstats:
>> > > >  .../devicetree/bindings/arm/exynos/system-mmu.txt  |   86 ++
>> > > >  arch/arm/boot/dts/exynos4210.dtsi                  |   96 ++
>> > > >  arch/arm/boot/dts/exynos4x12.dtsi                  |  124 ++
>> > > >  arch/arm/boot/dts/exynos5250.dtsi                  |  147 +-
>> > > >  arch/arm/mach-exynos/Kconfig                       |    5 -
>> > > >  arch/arm/mach-exynos/Makefile                      |    1 -
>> > > >  arch/arm/mach-exynos/clock-exynos4.c               |   41 +-
>> > > >  arch/arm/mach-exynos/clock-exynos4210.c            |    9 +-
>> > > >  arch/arm/mach-exynos/clock-exynos4212.c            |   23 +-
>> > > >  arch/arm/mach-exynos/clock-exynos5.c               |   86 +-
>> > > >  arch/arm/mach-exynos/dev-sysmmu.c                  |  274 ----
>> > > >  arch/arm/mach-exynos/include/mach/sysmmu.h         |   66 -
>> > > >  arch/arm/mach-exynos/mach-exynos4-dt.c             |   34 +
>> > > >  arch/arm/mach-exynos/mach-exynos5-dt.c             |   30 +
>> > > >  drivers/iommu/Kconfig                              |    2 +-
>> > > >  drivers/iommu/exynos-iommu.c                       | 1428
>> > > +++++++++++++++-----
>> > > >  16 files changed, 1720 insertions(+), 732 deletions(-)
>> > >
>> > > Looks good to me 1st~3rd patches. After quick review, I think, 1st and 2nd
>> > > patches can go to upstream for v3.8 without any dependency. So I will.
>> > >
>> > > The 3rd patch has a dependency with other driver changes (4th ~ 12th), so it
>> > > should be sent to upstream with others.
>> > >
>> > > BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so I'd
>> > > prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos driver
>> > > changes for v3.8...
>> > >
>> > > Joerg, please let me know about iommu/exynos stuff so that I can decide to
>> > > take 3rd patch or not for v3.8.
>> > >
>> >
>> > Hi, Kukjin Kim.
>> >
>> > I found that control bit fields of clock gating of System MMU of MFC L/R is inversed.
>> > That is reported by Prathyush Kalashwaram.
>> >
>> > I will post v5 patchset that solves this.
>> >
>>
>> I did not posted v5 patchset.
>> Instead, I posted just the fix for the 03/12 patch mentioned above
>> as the reply to the 03/12 patch.
>>
>
> Hi, Joerg.
>
> I am waiting for your comment about the patchset.
> The latest version is v4.
> And a fix of [patch v4 03/12] mentioned above is posted as a reply.
>
> If you have any concern about the patches, please let me know
>
> Thank you.
>
> Cho KyongHo.
>
> _______________________________________________
> iommu mailing list
> iommu@lists.linux-foundation.org
> https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* RE: [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT
  2012-11-29 11:21     ` Rahul Sharma
@ 2012-11-30 10:55       ` Kukjin Kim
  0 siblings, 0 replies; 7+ messages in thread
From: Kukjin Kim @ 2012-11-30 10:55 UTC (permalink / raw)
  To: 'Rahul Sharma', 'Cho KyongHo'
  Cc: linux-arm-kernel, linux-samsung-soc, iommu, linux-kernel,
	prathyush.k, sw0312.kim, 'Subash Patel',
	'Sanghyun Lee',
	rahul.sharma

Rahul Sharma wrote:
>
> Hi Mr. Cho,
> 
> We have verified the above patchset for following usecases on exynos5.
> 
> 1) MFC decoding using Sysmmu_L and R. (with the bit Inversion fix)
> 2) GSC operations.
> 3) FIMD and MIXER (HDMI) as displays.
> 
> Thanks for your effort.
> 
Thanks for your test on board.

[...]

> >> > >
> >> > > Looks good to me 1st~3rd patches. After quick review, I think, 1st
> and 2nd
> >> > > patches can go to upstream for v3.8 without any dependency. So I
> will.
> >> > >
> >> > > The 3rd patch has a dependency with other driver changes (4th ~
> 12th), so it
> >> > > should be sent to upstream with others.
> >> > >
> >> > > BTW since the 3rd patch touches many Samsung stuff in arch/arm/ so
> I'd
> >> > > prefer to take it in Samsung tree. If Joerg is ok on iommu/exynos
> driver
> >> > > changes for v3.8...
> >> > >
> >> > > Joerg, please let me know about iommu/exynos stuff so that I can
> decide to
> >> > > take 3rd patch or not for v3.8.
> >> > >
> >> >
> >> > Hi, Kukjin Kim.
> >> >
> >> > I found that control bit fields of clock gating of System MMU of MFC
> L/R is inversed.
> >> > That is reported by Prathyush Kalashwaram.
> >> >
> >> > I will post v5 patchset that solves this.
> >> >
> >>
> >> I did not posted v5 patchset.
> >> Instead, I posted just the fix for the 03/12 patch mentioned above
> >> as the reply to the 03/12 patch.
> >>
> >
> > Hi, Joerg.
> >
> > I am waiting for your comment about the patchset.

Same here.

> > The latest version is v4.
> > And a fix of [patch v4 03/12] mentioned above is posted as a reply.
> >
> > If you have any concern about the patches, please let me know
> >

If there is no reply, as I said, I will apply 1st and 2nd patches...

Thanks.

Best regards,
Kgene.
--
Kukjin Kim <kgene.kim@samsung.com>, Senior Engineer,
SW Solution Development Team, Samsung Electronics Co., Ltd.


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

end of thread, other threads:[~2012-11-30 10:55 UTC | newest]

Thread overview: 7+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-11-22 11:31 [PATCH v4 00/12] iommu/exynos: Fixes and Enhancements of System MMU driver with DT Cho KyongHo
2012-11-23  8:07 ` Kukjin Kim
2012-11-26  1:27   ` Cho KyongHo
2012-11-26  1:54   ` Cho KyongHo
2012-11-29 10:55   ` Cho KyongHo
2012-11-29 11:21     ` Rahul Sharma
2012-11-30 10:55       ` Kukjin Kim

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).