From: Will Deacon <will.deacon@arm.com>
To: Murali Karicheri <m-karicheri2@ti.com>
Cc: Rob Herring <robherring2@gmail.com>,
Arnd Bergmann <arnd@arndb.de>,
Russell King - ARM Linux <linux@arm.linux.org.uk>,
"linux-arm-kernel@lists.infradead.org"
<linux-arm-kernel@lists.infradead.org>,
"linux-kernel@vger.kernel.org" <linux-kernel@vger.kernel.org>,
"grant.likely@linaro.org" <grant.likely@linaro.org>,
Rob Herring <robh+dt@kernel.org>,
"devicetree@vger.kernel.org" <devicetree@vger.kernel.org>,
Bjorn Helgaas <bhelgaas@google.com>,
"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>
Subject: Re: [PATCH v2 1/2] of/pci: add of_pci_dma_configure() update dma configuration
Date: Tue, 6 Jan 2015 19:50:33 +0000 [thread overview]
Message-ID: <20150106195033.GH32449@arm.com> (raw)
In-Reply-To: <54A71CD1.4070107@ti.com>
On Fri, Jan 02, 2015 at 10:33:53PM +0000, Murali Karicheri wrote:
> On 01/02/2015 03:45 PM, Rob Herring wrote:
> > On Fri, Jan 2, 2015 at 11:20 AM, Murali Karicheri<m-karicheri2@ti.com> wrote:
> >> On 12/26/2014 02:33 PM, Rob Herring wrote:
> >>> On Wed, Dec 24, 2014 at 4:11 PM, Murali Karicheri<m-karicheri2@ti.com>
> >>>> + coherent = of_dma_is_coherent(parent_np);
> >>>> + dev_dbg(dev, "device is%sdma coherent\n",
> >>>> + coherent ? " " : " not ");
> >>>> +
> >>>> + arch_setup_dma_ops(dev, dma_addr, size, NULL, coherent);
> >>>
> >>>
> >>> This is the same code as of_dma_configure. The only difference I see
> >>> is which node ptr is passed to of_dma_get_range. You need to make that
> >>> a function param of of_dma_configure.
> >>>
> >>> of_dma_configure also has iommu handling now. You will probably need
> >>> something similar for PCI in that you setup an iommu based on the root
> >>> bus DT properties.
> >>>
> >> Initially I had the same idea to re-use the existing function
> >> of_dma_configure() for this. I wanted to defer this until we have an
> >> agreement on the changes required for the subject functionality. My quick
> >> review of the code suggestio this would require additional API changes as
> >> below. I did a quick test of the changes and it works for Keystone, but need
> >> to be reviewed by everyone as I touch the IOMMU functionality here and I
> >> don't have a platform with IOMMU. Need test by someone to make sure I don't
> >> break anything.
> >
> > The IOMMU changes look trivial. We may want to address the comment in
> > of_iommu_configure about parent nodes. We should be sure these changes
> > work with how we would do searching parent nodes.
>
> I have no experience with IOMMU and may not offer much help here as I
> originally wrote above. Will Deacon has added this API and probably able
> to offer some help in this discussion.
>
> Will Deacon,
>
> Any comment?
Sorry for the delay; I'm still catching up on email after the Christmas
break, but I *will* get around to looking at this. If you have a new version
to post based on the comments from Rob and Arnd, feel free to send that and
I'll look at that instead.
Will
WARNING: multiple messages have this Message-ID (diff)
From: will.deacon@arm.com (Will Deacon)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v2 1/2] of/pci: add of_pci_dma_configure() update dma configuration
Date: Tue, 6 Jan 2015 19:50:33 +0000 [thread overview]
Message-ID: <20150106195033.GH32449@arm.com> (raw)
In-Reply-To: <54A71CD1.4070107@ti.com>
On Fri, Jan 02, 2015 at 10:33:53PM +0000, Murali Karicheri wrote:
> On 01/02/2015 03:45 PM, Rob Herring wrote:
> > On Fri, Jan 2, 2015 at 11:20 AM, Murali Karicheri<m-karicheri2@ti.com> wrote:
> >> On 12/26/2014 02:33 PM, Rob Herring wrote:
> >>> On Wed, Dec 24, 2014 at 4:11 PM, Murali Karicheri<m-karicheri2@ti.com>
> >>>> + coherent = of_dma_is_coherent(parent_np);
> >>>> + dev_dbg(dev, "device is%sdma coherent\n",
> >>>> + coherent ? " " : " not ");
> >>>> +
> >>>> + arch_setup_dma_ops(dev, dma_addr, size, NULL, coherent);
> >>>
> >>>
> >>> This is the same code as of_dma_configure. The only difference I see
> >>> is which node ptr is passed to of_dma_get_range. You need to make that
> >>> a function param of of_dma_configure.
> >>>
> >>> of_dma_configure also has iommu handling now. You will probably need
> >>> something similar for PCI in that you setup an iommu based on the root
> >>> bus DT properties.
> >>>
> >> Initially I had the same idea to re-use the existing function
> >> of_dma_configure() for this. I wanted to defer this until we have an
> >> agreement on the changes required for the subject functionality. My quick
> >> review of the code suggestio this would require additional API changes as
> >> below. I did a quick test of the changes and it works for Keystone, but need
> >> to be reviewed by everyone as I touch the IOMMU functionality here and I
> >> don't have a platform with IOMMU. Need test by someone to make sure I don't
> >> break anything.
> >
> > The IOMMU changes look trivial. We may want to address the comment in
> > of_iommu_configure about parent nodes. We should be sure these changes
> > work with how we would do searching parent nodes.
>
> I have no experience with IOMMU and may not offer much help here as I
> originally wrote above. Will Deacon has added this API and probably able
> to offer some help in this discussion.
>
> Will Deacon,
>
> Any comment?
Sorry for the delay; I'm still catching up on email after the Christmas
break, but I *will* get around to looking at this. If you have a new version
to post based on the comments from Rob and Arnd, feel free to send that and
I'll look at that instead.
Will
next prev parent reply other threads:[~2015-01-06 19:50 UTC|newest]
Thread overview: 37+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-12-24 22:11 [PATCH v2 0/2] PCI: get DMA configuration from parent device Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
2014-12-24 22:11 ` [PATCH v2 1/2] of/pci: add of_pci_dma_configure() update dma configuration Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
2014-12-26 19:33 ` Rob Herring
2014-12-26 19:33 ` Rob Herring
2015-01-02 17:20 ` Murali Karicheri
2015-01-02 17:20 ` Murali Karicheri
2015-01-02 20:45 ` Rob Herring
2015-01-02 20:45 ` Rob Herring
2015-01-02 22:33 ` Murali Karicheri
2015-01-02 22:33 ` Murali Karicheri
2015-01-03 21:37 ` Arnd Bergmann
2015-01-03 21:37 ` Arnd Bergmann
2015-01-03 21:37 ` Arnd Bergmann
2015-01-05 20:06 ` Murali Karicheri
2015-01-05 20:06 ` Murali Karicheri
2015-01-05 20:06 ` Murali Karicheri
2015-01-05 22:26 ` Arnd Bergmann
2015-01-05 22:26 ` Arnd Bergmann
2015-01-05 23:35 ` Murali Karicheri
2015-01-05 23:35 ` Murali Karicheri
2015-01-06 19:50 ` Will Deacon [this message]
2015-01-06 19:50 ` Will Deacon
2015-01-06 21:08 ` Murali Karicheri
2015-01-06 21:08 ` Murali Karicheri
2015-01-06 21:08 ` Murali Karicheri
2015-01-02 20:57 ` Arnd Bergmann
2015-01-02 20:57 ` Arnd Bergmann
2015-01-02 21:12 ` Murali Karicheri
2015-01-02 21:12 ` Murali Karicheri
2015-01-02 21:12 ` Murali Karicheri
2014-12-24 22:11 ` [PATCH v2 2/2] PCI: update dma configuration from DT Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
2014-12-24 22:11 ` Murali Karicheri
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=20150106195033.GH32449@arm.com \
--to=will.deacon@arm.com \
--cc=arnd@arndb.de \
--cc=bhelgaas@google.com \
--cc=devicetree@vger.kernel.org \
--cc=grant.likely@linaro.org \
--cc=linux-arm-kernel@lists.infradead.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=linux@arm.linux.org.uk \
--cc=m-karicheri2@ti.com \
--cc=robh+dt@kernel.org \
--cc=robherring2@gmail.com \
/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 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.