iommu.lists.linux-foundation.org archive mirror
 help / color / mirror / Atom feed
* Re: IOMMU DMA-mapping API for arm64 ?
@ 2014-02-27  5:15 Ritesh Harjani
       [not found] ` <CAD15agaps45rZT5ko9JKP2CfRF_iTV+0JMDwa239ExgKrRzBYQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
  0 siblings, 1 reply; 12+ messages in thread
From: Ritesh Harjani @ 2014-02-27  5:15 UTC (permalink / raw)
  To: Catalin Marinas,
	m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org, Will Deacon
  Cc: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	Arnd Bergmann

Hi Everyone,

I was going through some iommu code in arch/arm and of some other
archs code. I have some doubts on this for refactoring and may need
some suggestions from you guys.

1. So, looking at other arch code, looks like they have their
different way of implementation of iova management and buffer
allocation. So to refactor the iommu common code out from arch/arm/ to
lib/iommu-helper, do we need to take care across all arch  ?

2. Should the approach be like take the common code(between arm/arm64)
and move it into lib/iommu-helper.c ?

Could someone give an example of what sort of code(will be better if
this is little more specific) we are talking here to be taken out to
lib/iommu-helper.c ? Earlier I was thinking of iova management can be
taken out but then I saw it might not be suited across all archs.

I am ready to do this work, but need some guidance from the experts .



Thanks
Ritesh






On Thu, Feb 6, 2014 at 5:29 PM, Ritesh Harjani <ritesh.harjani-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org> wrote:
> On Thu, Feb 6, 2014 at 3:43 PM, Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org> wrote:
>> On Thu, Feb 06, 2014 at 05:21:53AM +0000, Ritesh Harjani wrote:
>>> I also saw one mail discussion between you guys on what is the best place for
>>> adding iommu support in ARM64, but couldn't see any followed up patches for the
>>> same.
>>
>> The decision was to make take the iommu code from arch/arm and turn it
>> into a library similar to swiotlb which can be used by the arch code. It
>> is on our to-do list but no ETA yet. If you volunteer to help it would
>> be great ;)
>
> Sure Catalin, will take out the common code from arch/arm and put into
> lib/iommu-helper which is the best place as discussed in many mail
> chains.
> Let me see how far I can go. Will keep you posted.
>
>>
>> --
>> Catalin
>
> Thanks
> Ritesh

^ permalink raw reply	[flat|nested] 12+ messages in thread
* IOMMU DMA-mapping API for arm64 ?
@ 2014-02-06  5:05 Ritesh Harjani
  2014-02-06 10:07 ` Will Deacon
  0 siblings, 1 reply; 12+ messages in thread
From: Ritesh Harjani @ 2014-02-06  5:05 UTC (permalink / raw)
  To: Catalin Marinas, Will Deacon, Arnd Bergmann,
	hdoyu-DDmLM1+adcrQT0dZR+AlfA, m.szyprowski-Sze3O3UU22JBDgjK7y7TUQ,
	Ritesh Harjani
  Cc: linaro-mm-sig-cunTk1MwBs8s++Sfvej+rw,
	iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
	linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r


[-- Attachment #1.1: Type: text/plain, Size: 1434 bytes --]

Hi everyone,

I tried looking for IOMMU support in ARM64 but what I was able to see is
only swiotlb is currently supported.

Based on my understanding for IOMMU support, we need DMA-MAPPING API to
have IOMMU ops field, similar to what is present in arm32.
I could see the iommu field added in dev_archdata in below mentioned patch
(arch/arm64/include/asm/device.h), but there is no ops field in
arch/arm64/mm/dma-mapping.c ?

I also saw one mail discussion between you guys on what is the best place
for adding iommu support in ARM64, but couldn't see any followed up patches
for the same.

Please tell us the current status/updates on the same. Your feedback will
be greatly appreciated.


commit 73150c983ac1f9b7653cfd3823b1ad4a44aad3bf
Author: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
Date:   Mon Jun 10 19:34:42 2013 +0100

    arm64: device: add iommu pointer to device archdata

    When using an IOMMU for device mappings, it is necessary to keep a
    pointer between the device and the IOMMU to which it is attached in
    order to obtain the correct IOMMU when attaching the device to a domain.

    This patch adds an iommu pointer to the dev_archdata structure, in a
    similar manner to other architectures (ARM, PowerPC, x86, ...).

    Signed-off-by: Will Deacon <will.deacon-5wv7dgnIgG8@public.gmane.org>
    Signed-off-by: Catalin Marinas <catalin.marinas-5wv7dgnIgG8@public.gmane.org>


Thanks
Ritesh

[-- Attachment #1.2: Type: text/html, Size: 1932 bytes --]

[-- Attachment #2: Type: text/plain, Size: 0 bytes --]



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

end of thread, other threads:[~2014-04-29 17:27 UTC | newest]

Thread overview: 12+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2014-02-27  5:15 IOMMU DMA-mapping API for arm64 ? Ritesh Harjani
     [not found] ` <CAD15agaps45rZT5ko9JKP2CfRF_iTV+0JMDwa239ExgKrRzBYQ-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-02-27 18:52   ` Will Deacon
     [not found]     ` <20140227185211.GM30003-MRww78TxoiP5vMa5CHWGZ34zcgK1vI+I0E9HWUfgJXw@public.gmane.org>
2014-03-03  8:12       ` Ritesh Harjani
     [not found]         ` <CAD15agZpoT9r7jJgWBgLtinsqgZW=dFLCDE-gmU94T03GeCwQw-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-03-03 10:04           ` Marek Szyprowski
     [not found]             ` <53145390.4010408-Sze3O3UU22JBDgjK7y7TUQ@public.gmane.org>
2014-03-03 10:25               ` Ritesh Harjani
2014-02-27 19:06   ` Arnd Bergmann
     [not found]     ` <201402272006.51057.arnd-r2nGTMty4D4@public.gmane.org>
2014-03-03  4:21       ` Ritesh Harjani
2014-04-26 14:28       ` Ritesh Harjani
     [not found]         ` <CAD15aga3VAHH9aV134tfp+CgA8x25R_H4DKoPKNkFyAC9FTxBg-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2014-04-29 12:52           ` Will Deacon
     [not found]             ` <20140429125259.GA27770-5wv7dgnIgG8@public.gmane.org>
2014-04-29 17:27               ` Ritesh Harjani
  -- strict thread matches above, loose matches on Subject: below --
2014-02-06  5:05 Ritesh Harjani
2014-02-06 10:07 ` Will Deacon

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