Re: [PATCH] ARM: OMAP5: DSS hwmod data

2014-03-16 Thread Dmitry Lifshitz

Hi Tomi,

(resending in the text format)

Where can I get those unpublished omap5 and omap5-uevm display patches 
to test the video out with this patch?
I'll appreciate your assistance in additional setup (like required uEvm 
.dts changes and DSI panel connection short guide).


Thanks you in advance,

Dmitry Lifshitz

On 03/12/2014 12:33 PM, Tomi Valkeinen wrote:

On 12/03/14 12:26, Tomi Valkeinen wrote:

Hi,

This patch adds hwmod data for omap5 display subsystem. I have tested this on
omap5-uevm with a DSI panel. I cannot test omap5-uevm's hdmi output yet, as the
mainline is missing omap5 HDMI driver.

I do see this when booting:

   omap_hwmod: dss_dispc: cannot be enabled for reset (3)
   omap_hwmod: dss_dsi1: cannot be enabled for reset (3)
   omap_hwmod: dss_dsi2: cannot be enabled for reset (3)
   omap_hwmod: dss_hdmi: cannot be enabled for reset (3)
   omap_hwmod: dss_rfbi: cannot be enabled for reset (3)

But at least DSI works just fine.

Oh, I forgot to say that I tested this on top of the DSS DT branch, and
unpublished omap5 and omap5-uevm display patches. So if applied to the
current mainline, the hwmods are not used at all (except the reset at
boot time, I think).

But if this gets merged for 3.15, it'll make adding omap5 DSS support
easier for 3.16 as the HWMOD data is already there.

  Tomi




--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


sürgosen, lépjen kapcsolatba velem

2014-03-16 Thread Marvin Boucher
Gratulál a nap Önnek, legyen szíves szeretnék néhány nagyon fontos információt 
megosztani nektek valamit most fedezem fel. Képviselem egy pénzintézet 
Amszterdamban, és épp most fedezem fel a ragasztott számlát, amely kapcsolódik 
a család, és egy késoi távoli rokona, a tiéd is tartoztak.

Lépjen kapcsolatba velem azonnal, hogy tudjuk megvitatni.
Várja a választ

Mr. Marvin Boucher
+442033182779

--
To unsubscribe from this list: send the line unsubscribe linux-omap in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 0/5] OMAP IOMMU fixes and IOMMU architecture questions

2014-03-16 Thread Sakari Ailus
Hi Laurent and Suman,

On Fri, Mar 14, 2014 at 12:00:16PM +0100, Laurent Pinchart wrote:
 Hi Suman,
 
 (CC'ing Joerg Roedel and Marek Szyprowski for the core IOMMU discussion)
 
 On Thursday 13 March 2014 21:33:37 Suman Anna wrote:
  On 03/07/2014 06:46 PM, Laurent Pinchart wrote:
   Hello,
   
   This patch set fixes miscellaneous issues with the OMAP IOMMU driver,
   found when trying to port the OMAP3 ISP away from omap-iovmm to the ARM
   DMA API. The biggest issue is fixed by patch 5/5, while the other patches
   fix smaller problems that I've noticed when reading the code, without
   experiencing them at runtime.
   
   I'd like to take this as an opportunity to discuss OMAP IOMMU integration
   with the ARM DMA mapping implementation. The idea is to hide the IOMMU
   completely behind the DMA mapping API, making it completely transparent
   to drivers.
 
  Thanks for starting the discussion.
  
   A drivers will only need to allocate memory with dma_alloc_*, and behind
   the scene the ARM DMA mapping implementation will find out that the
   device is behind an IOMMU and will map the buffers through the IOMMU,
   returning an I/O VA address to the driver. No direct call to the OMAP
   IOMMU driver or to the IOMMU core should be necessary anymore.
   
   To use the IOMMU the ARM DMA implementation requires a VA mapping to be
   created with a call to arm_iommu_create_mapping() and to then be attached
   to the device with arm_iommu_attach_device(). This is currently not
   performed by the OMAP IOMMU driver, I have thus added that code to the
   OMAP3 ISP driver for now. I believe this to still be an improvement
   compared to the current situation, as it allows getting rid of custom
   memory allocation code in the OMAP3 ISP driver and custom I/O VA space
   management in omap-iovmm. However, that code should ideally be removed
   from the driver. The question is, where should it be moved to ?
   
   One possible solution would be to add the code to the OMAP IOMMU driver.
   However, this would require all OMAP IOMMU users to be converted to the
   ARM DMA API. I assume there would be issues that I don't foresee though.
  
  Yeah, I think this will pose some problems for the other main user of IOMMUs
  - the remoteproc devices (DSP, Dual-Cortex M3/M4 processors in OMAP4 and
  beyond). A remoteproc device also needs to map memory at specific addresses
  for its code and data sections, and not rely on a I/O VA address being given
  to it. The firmware sections are already linked at specific addresses, and
  so remoteproc needs to allocate memory, load the firmware and map into
  appropriate device addresses. We are doing this currently usage a
  combination of CMA memory to get contiguous memory (there are some
  restrictions for certain sections) and iommu_map/unmap API to program the
  MMU with these pages. This usage is different from what is expected from
  exchanging buffers, which can be allocated from a predefined mapping range.
  Even that one is tricky if we need to support different cache
  properties/attributes as the cache configuration is in general local to
  these processors.
 
 Right, we indeed need two levels of API, one for drivers such as remoteproc 
 that need direct control of the IOMMU, and one for drivers that only need to 
 map buffers without any additional requirement. In the second case the 
 drivers 
 should ideally use the DMA mapping API not even be aware that an IOMMU is 
 present. This would require moving the ARM mapping allocation out of the 
 client driver.
 
 The IOMMU core or the IOMMU driver will need to know whether the driver 
 expects to control the IOMMU directly or to have it managed transparently. As 
 this is a software configuration I don't think the information belongs to DT. 
 The question is, how should this information be conveyed ?

The driver would need to know that, I think.

Currently the DMA mapping API doesn't allow explicit addressing to IOVA
address space AFAIK. The IOMMU API does. It's a good question how to do this
as I don't think there's even a way for the driver to explicitly obtain
access to the IOMMU.

The virtual address space allocation would need to take into account that
some of the address space is actually mapped outside it. The iova library
can do this already.

   I'm not even sure whether the OMAP IOMMU driver would be the best place to
   put that code. Ideally VA spaces should be created by the platform
   somehow, and mapping of devices to IOMMUs should be handled by the IOMMU
   core instead of the IOMMU drivers. We're not there yet, and the path
   might not be straightforward, hence this attempt to start a constructive
   discussion.
   
   A second completely unrelated problem that I'd like to get feedback on is
   the suspend/resume support in the OMAP IOMMU driver, or rather the lack
   thereof. The driver exports omap_iommu_save_ctx() and
   omap_iommu_restore_ctx() functions and expects the IOMMU users to call