From: Murali Karicheri <m-karicheri2-l0cyMroinI0@public.gmane.org>
To: Arnd Bergmann <arnd-r2nGTMty4D4@public.gmane.org>,
bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org
Cc: linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org,
grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org,
robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org,
iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org,
linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
will.deacon-5wv7dgnIgG8@public.gmane.org,
linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org
Subject: Re: [PATCH v3 0/4] PCI: get DMA configuration from parent device
Date: Wed, 7 Jan 2015 18:04:41 -0500 [thread overview]
Message-ID: <54ADBB89.8070503@ti.com> (raw)
In-Reply-To: <4057859.4ynbgz66iN@wuerfel>
On 01/07/2015 04:18 PM, Arnd Bergmann wrote:
> On Wednesday 07 January 2015 13:49:50 Murali Karicheri wrote:
>> PCI devices on Keystone doesn't have correct dma_pfn_offset set. This patch
>> add capability to set the dma configuration such as dma-mask, dma_pfn_offset,
>> and dma ops etc using the information from DT. The prior RFCs and discussions
>> are available at [1] and [2] below.
>>
>> [2] : https://www.mail-archive.com/linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org/msg790244.html
>> [1] : http://www.gossamer-threads.com/lists/linux/kernel/2024591
>
> Looks all good to me in this version, I'm just unsure about one thing:
>
>> - Limit the of_iommu_configure to non pci devices
>
> My last recommendation was to pass the b/d/f number into
> of_pci_dma_configure to handle this correctly. What was your
> reason for not doing it in the end?
Arnd,
I had responded to this already on the list and reproduced below your
remark and my response below from that thread.
---------------cut-------------------------------------------------------
> Actually regarding the bit I wrote above, it might be helpful to pass
> the PCI_DEVID() into both of_iommu_configure and of_dma_configure.
>
> While this may or may not be sufficient, I think there is no question
> about it being needed for the ARM SMMU with PCI, so we may as well add
> it at the point when you touch the same lines already. In the platform
> bus case, just pass zero here.
Arnd,
PCI_DEVID() is defined as
#define PCI_DEVID(bus, devfn) ((((u16)(bus)) << 8) | (devfn))
So PCI_DEVID of 0 is a valid PCI DEVID.
How about checking if the device is PCI in of_iommu_configure() using
dev_is_pci(dev) macro and return immediately for PCI? Need to include
pci.h in this file though.
Some of the iommu drivers already include this.
a0868495@ares-ubuntu:~/projects/linux-keystone$ grep -r pci.h drivers/iommu/
drivers/iommu/amd_iommu_v2.c:#include <linux/pci.h>
drivers/iommu/dmar.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_types.h:#include <linux/pci.h>
drivers/iommu/amd_iommu.c:#include <linux/pci.h>
drivers/iommu/fsl_pamu_domain.c:#include <sysdev/fsl_pci.h>
drivers/iommu/iommu.c:#include <linux/pci.h>
drivers/iommu/intel-iommu.c:#include <linux/pci.h>
drivers/iommu/intel_irq_remapping.c:#include <linux/pci.h>
drivers/iommu/arm-smmu.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_init.c:#include <linux/pci.h>
drivers/iommu/irq_remapping.c:#include <linux/pci.h>
This will allow us to re-visit this later for IOMMU support for PCI
without polluting the API.
-----------------------cut-end---------------------------------------
I assumed you want to use value of zero for b/d/f to indicate it is for
platform. Also use the non zero value to skip the DT attribute parsing
for IOMMU DT attribute in of_iommu_configure() for PCI.
I did dev_is_pci() for skipping the processing for PCI. I thought it is
better to add the b/d/f argument later when this is re-visited later.
BTW,
I still haven't received any comment from Bjorn w.r.t PCI part.
BJorn, could you review and comment on 3/4 and 4/4?
Regards,
Murali
>
> We will likely have to change this again if we take your current version,
> but that can be a follow-up patch. I believe AMD requires it to use
> PCI on their their Seattle platform.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Murali Karicheri
Linux Kernel, Texas Instruments
--
To unsubscribe from this list: send the line "unsubscribe devicetree" in
the body of a message to majordomo-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
WARNING: multiple messages have this Message-ID (diff)
From: Murali Karicheri <m-karicheri2@ti.com>
To: Arnd Bergmann <arnd@arndb.de>, <bhelgaas@google.com>
Cc: <linux-arm-kernel@lists.infradead.org>, <joro@8bytes.org>,
<grant.likely@linaro.org>, <robh+dt@kernel.org>,
<iommu@lists.linux-foundation.org>,
<linux-kernel@vger.kernel.org>, <devicetree@vger.kernel.org>,
<linux-pci@vger.kernel.org>, <will.deacon@arm.com>,
<linux@arm.linux.org.uk>
Subject: Re: [PATCH v3 0/4] PCI: get DMA configuration from parent device
Date: Wed, 7 Jan 2015 18:04:41 -0500 [thread overview]
Message-ID: <54ADBB89.8070503@ti.com> (raw)
In-Reply-To: <4057859.4ynbgz66iN@wuerfel>
On 01/07/2015 04:18 PM, Arnd Bergmann wrote:
> On Wednesday 07 January 2015 13:49:50 Murali Karicheri wrote:
>> PCI devices on Keystone doesn't have correct dma_pfn_offset set. This patch
>> add capability to set the dma configuration such as dma-mask, dma_pfn_offset,
>> and dma ops etc using the information from DT. The prior RFCs and discussions
>> are available at [1] and [2] below.
>>
>> [2] : https://www.mail-archive.com/linux-kernel@vger.kernel.org/msg790244.html
>> [1] : http://www.gossamer-threads.com/lists/linux/kernel/2024591
>
> Looks all good to me in this version, I'm just unsure about one thing:
>
>> - Limit the of_iommu_configure to non pci devices
>
> My last recommendation was to pass the b/d/f number into
> of_pci_dma_configure to handle this correctly. What was your
> reason for not doing it in the end?
Arnd,
I had responded to this already on the list and reproduced below your
remark and my response below from that thread.
---------------cut-------------------------------------------------------
> Actually regarding the bit I wrote above, it might be helpful to pass
> the PCI_DEVID() into both of_iommu_configure and of_dma_configure.
>
> While this may or may not be sufficient, I think there is no question
> about it being needed for the ARM SMMU with PCI, so we may as well add
> it at the point when you touch the same lines already. In the platform
> bus case, just pass zero here.
Arnd,
PCI_DEVID() is defined as
#define PCI_DEVID(bus, devfn) ((((u16)(bus)) << 8) | (devfn))
So PCI_DEVID of 0 is a valid PCI DEVID.
How about checking if the device is PCI in of_iommu_configure() using
dev_is_pci(dev) macro and return immediately for PCI? Need to include
pci.h in this file though.
Some of the iommu drivers already include this.
a0868495@ares-ubuntu:~/projects/linux-keystone$ grep -r pci.h drivers/iommu/
drivers/iommu/amd_iommu_v2.c:#include <linux/pci.h>
drivers/iommu/dmar.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_types.h:#include <linux/pci.h>
drivers/iommu/amd_iommu.c:#include <linux/pci.h>
drivers/iommu/fsl_pamu_domain.c:#include <sysdev/fsl_pci.h>
drivers/iommu/iommu.c:#include <linux/pci.h>
drivers/iommu/intel-iommu.c:#include <linux/pci.h>
drivers/iommu/intel_irq_remapping.c:#include <linux/pci.h>
drivers/iommu/arm-smmu.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_init.c:#include <linux/pci.h>
drivers/iommu/irq_remapping.c:#include <linux/pci.h>
This will allow us to re-visit this later for IOMMU support for PCI
without polluting the API.
-----------------------cut-end---------------------------------------
I assumed you want to use value of zero for b/d/f to indicate it is for
platform. Also use the non zero value to skip the DT attribute parsing
for IOMMU DT attribute in of_iommu_configure() for PCI.
I did dev_is_pci() for skipping the processing for PCI. I thought it is
better to add the b/d/f argument later when this is re-visited later.
BTW,
I still haven't received any comment from Bjorn w.r.t PCI part.
BJorn, could you review and comment on 3/4 and 4/4?
Regards,
Murali
>
> We will likely have to change this again if we take your current version,
> but that can be a follow-up patch. I believe AMD requires it to use
> PCI on their their Seattle platform.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo@vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Murali Karicheri
Linux Kernel, Texas Instruments
WARNING: multiple messages have this Message-ID (diff)
From: m-karicheri2@ti.com (Murali Karicheri)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH v3 0/4] PCI: get DMA configuration from parent device
Date: Wed, 7 Jan 2015 18:04:41 -0500 [thread overview]
Message-ID: <54ADBB89.8070503@ti.com> (raw)
In-Reply-To: <4057859.4ynbgz66iN@wuerfel>
On 01/07/2015 04:18 PM, Arnd Bergmann wrote:
> On Wednesday 07 January 2015 13:49:50 Murali Karicheri wrote:
>> PCI devices on Keystone doesn't have correct dma_pfn_offset set. This patch
>> add capability to set the dma configuration such as dma-mask, dma_pfn_offset,
>> and dma ops etc using the information from DT. The prior RFCs and discussions
>> are available at [1] and [2] below.
>>
>> [2] : https://www.mail-archive.com/linux-kernel at vger.kernel.org/msg790244.html
>> [1] : http://www.gossamer-threads.com/lists/linux/kernel/2024591
>
> Looks all good to me in this version, I'm just unsure about one thing:
>
>> - Limit the of_iommu_configure to non pci devices
>
> My last recommendation was to pass the b/d/f number into
> of_pci_dma_configure to handle this correctly. What was your
> reason for not doing it in the end?
Arnd,
I had responded to this already on the list and reproduced below your
remark and my response below from that thread.
---------------cut-------------------------------------------------------
> Actually regarding the bit I wrote above, it might be helpful to pass
> the PCI_DEVID() into both of_iommu_configure and of_dma_configure.
>
> While this may or may not be sufficient, I think there is no question
> about it being needed for the ARM SMMU with PCI, so we may as well add
> it at the point when you touch the same lines already. In the platform
> bus case, just pass zero here.
Arnd,
PCI_DEVID() is defined as
#define PCI_DEVID(bus, devfn) ((((u16)(bus)) << 8) | (devfn))
So PCI_DEVID of 0 is a valid PCI DEVID.
How about checking if the device is PCI in of_iommu_configure() using
dev_is_pci(dev) macro and return immediately for PCI? Need to include
pci.h in this file though.
Some of the iommu drivers already include this.
a0868495@ares-ubuntu:~/projects/linux-keystone$ grep -r pci.h drivers/iommu/
drivers/iommu/amd_iommu_v2.c:#include <linux/pci.h>
drivers/iommu/dmar.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_types.h:#include <linux/pci.h>
drivers/iommu/amd_iommu.c:#include <linux/pci.h>
drivers/iommu/fsl_pamu_domain.c:#include <sysdev/fsl_pci.h>
drivers/iommu/iommu.c:#include <linux/pci.h>
drivers/iommu/intel-iommu.c:#include <linux/pci.h>
drivers/iommu/intel_irq_remapping.c:#include <linux/pci.h>
drivers/iommu/arm-smmu.c:#include <linux/pci.h>
drivers/iommu/amd_iommu_init.c:#include <linux/pci.h>
drivers/iommu/irq_remapping.c:#include <linux/pci.h>
This will allow us to re-visit this later for IOMMU support for PCI
without polluting the API.
-----------------------cut-end---------------------------------------
I assumed you want to use value of zero for b/d/f to indicate it is for
platform. Also use the non zero value to skip the DT attribute parsing
for IOMMU DT attribute in of_iommu_configure() for PCI.
I did dev_is_pci() for skipping the processing for PCI. I thought it is
better to add the b/d/f argument later when this is re-visited later.
BTW,
I still haven't received any comment from Bjorn w.r.t PCI part.
BJorn, could you review and comment on 3/4 and 4/4?
Regards,
Murali
>
> We will likely have to change this again if we take your current version,
> but that can be a follow-up patch. I believe AMD requires it to use
> PCI on their their Seattle platform.
>
> Arnd
> --
> To unsubscribe from this list: send the line "unsubscribe linux-pci" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at http://vger.kernel.org/majordomo-info.html
--
Murali Karicheri
Linux Kernel, Texas Instruments
next prev parent reply other threads:[~2015-01-07 23:04 UTC|newest]
Thread overview: 79+ messages / expand[flat|nested] mbox.gz Atom feed top
2015-01-07 18:49 [PATCH v3 0/4] PCI: get DMA configuration from parent device Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
[not found] ` <1420656594-8908-1-git-send-email-m-karicheri2-l0cyMroinI0@public.gmane.org>
2015-01-07 18:49 ` [PATCH v3 1/4] of: iommu: add ptr to OF node arg to of_iommu_configure() Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
[not found] ` <1420656594-8908-2-git-send-email-m-karicheri2-l0cyMroinI0@public.gmane.org>
2015-01-07 23:30 ` Rob Herring
2015-01-07 23:30 ` Rob Herring
2015-01-07 23:30 ` Rob Herring
2015-01-08 18:29 ` Murali Karicheri
2015-01-08 18:29 ` Murali Karicheri
2015-01-07 23:05 ` [PATCH v3 0/4] PCI: get DMA configuration from parent device Murali Karicheri
2015-01-07 23:05 ` Murali Karicheri
2015-01-07 23:05 ` Murali Karicheri
[not found] ` <54ADBBCF.8020206-l0cyMroinI0@public.gmane.org>
2015-01-07 23:08 ` Bjorn Helgaas
2015-01-07 23:08 ` Bjorn Helgaas
2015-01-07 23:08 ` Bjorn Helgaas
[not found] ` <CAErSpo46UAn9ckbzrgzAoQbu2D=oyOOL_rO24NWEg_iDLSuCLA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-08 15:52 ` Murali Karicheri
2015-01-08 15:52 ` Murali Karicheri
2015-01-08 15:52 ` Murali Karicheri
2015-01-07 18:49 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c to help re-use Murali Karicheri
2015-01-07 18:49 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Murali Karicheri
2015-01-07 18:49 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c " Murali Karicheri
2015-01-07 23:37 ` Rob Herring
2015-01-07 23:37 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Rob Herring
[not found] ` <CAL_Jsq+pKeXuGnZV_NYHn6iZgeOs404OPhcUb0FJs=-7j2P1Ug-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2015-01-08 8:40 ` Arnd Bergmann
2015-01-08 8:40 ` Arnd Bergmann
2015-01-08 8:40 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c " Arnd Bergmann
2015-01-08 19:26 ` Murali Karicheri
2015-01-08 19:26 ` Murali Karicheri
2015-01-08 22:24 ` Arnd Bergmann
2015-01-08 22:24 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Arnd Bergmann
2015-01-08 23:44 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c " Murali Karicheri
2015-01-08 23:44 ` Murali Karicheri
2015-01-08 23:44 ` Murali Karicheri
[not found] ` <54AF165F.7070909-l0cyMroinI0@public.gmane.org>
2015-01-09 0:05 ` Arnd Bergmann
2015-01-09 0:05 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Arnd Bergmann
2015-01-09 0:05 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c " Arnd Bergmann
2015-01-09 15:34 ` Rob Herring
2015-01-09 15:34 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Rob Herring
2015-01-09 15:34 ` [PATCH v3 2/4] of: move of_dma_configure() to device,c " Rob Herring
2015-01-23 18:19 ` Murali Karicheri
2015-01-23 18:19 ` Murali Karicheri
2015-01-23 18:35 ` Rob Herring
2015-01-23 18:35 ` [PATCH v3 2/4] of: move of_dma_configure() to device, c " Rob Herring
2015-01-07 18:49 ` [PATCH v3 3/4] of/pci: add of_pci_dma_configure() update dma configuration Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-08 16:06 ` Will Deacon
2015-01-08 16:06 ` Will Deacon
2015-01-08 19:52 ` Murali Karicheri
2015-01-08 19:52 ` Murali Karicheri
[not found] ` <54AEDFED.8060008-l0cyMroinI0@public.gmane.org>
2015-01-08 22:25 ` Arnd Bergmann
2015-01-08 22:25 ` Arnd Bergmann
2015-01-08 22:25 ` Arnd Bergmann
2015-01-08 22:46 ` Murali Karicheri
2015-01-08 22:46 ` Murali Karicheri
2015-01-08 22:46 ` Murali Karicheri
2015-01-09 11:32 ` Will Deacon
2015-01-09 11:32 ` Will Deacon
2015-01-07 18:49 ` [PATCH v3 4/4] PCI: update dma configuration from DT Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-07 18:49 ` Murali Karicheri
2015-01-07 21:18 ` [PATCH v3 0/4] PCI: get DMA configuration from parent device Arnd Bergmann
2015-01-07 21:18 ` Arnd Bergmann
2015-01-07 23:04 ` Murali Karicheri [this message]
2015-01-07 23:04 ` Murali Karicheri
2015-01-07 23:04 ` Murali Karicheri
[not found] ` <54ADBB89.8070503-l0cyMroinI0@public.gmane.org>
2015-01-08 8:56 ` Arnd Bergmann
2015-01-08 8:56 ` Arnd Bergmann
2015-01-08 8:56 ` Arnd Bergmann
2015-01-08 15:54 ` Will Deacon
2015-01-08 15:54 ` Will Deacon
2015-01-08 15:54 ` Will Deacon
2015-01-08 22:27 ` Arnd Bergmann
2015-01-08 22:27 ` Arnd Bergmann
2015-01-08 22:46 ` Murali Karicheri
2015-01-08 22:46 ` Murali Karicheri
2015-01-08 22:46 ` 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=54ADBB89.8070503@ti.com \
--to=m-karicheri2-l0cymroini0@public.gmane.org \
--cc=arnd-r2nGTMty4D4@public.gmane.org \
--cc=bhelgaas-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org \
--cc=devicetree-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=grant.likely-QSEj5FYQhm4dnm+yROfE0A@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=joro-zLv9SwRftAIdnm+yROfE0A@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=linux-lFZ/pmaqli7XmaaqVzeoHQ@public.gmane.org \
--cc=linux-pci-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=robh+dt-DgEjT+Ai2ygdnm+yROfE0A@public.gmane.org \
--cc=will.deacon-5wv7dgnIgG8@public.gmane.org \
/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.