All of lore.kernel.org
 help / color / mirror / Atom feed
From: Robin Murphy <robin.murphy@arm.com>
To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>,
	Sricharan R <sricharan@codeaurora.org>,
	"Wangzhou (B)" <wangzhou1@hisilicon.com>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"tn@semihalf.com" <tn@semihalf.com>,
	hanjun.guo@linaro.o
Subject: Re: [PATCH V9 00/11] IOMMU probe deferral support
Date: Mon, 27 Mar 2017 17:18:15 +0100	[thread overview]
Message-ID: <f67fb561-4238-6933-04f3-0f910f9232d1@arm.com> (raw)
In-Reply-To: <5FC3163CFD30C246ABAA99954A238FA81750CCC4@lhreml504-mbs>

On 27/03/17 16:58, Shameerali Kolothum Thodi wrote:
> 
> 
>> -----Original Message-----
>> From: Shameerali Kolothum Thodi
>> Sent: Monday, March 27, 2017 3:53 PM
>> To: 'Robin Murphy'; Sricharan R; Wangzhou (B); will.deacon@arm.com;
>> joro@8bytes.org; lorenzo.pieralisi@arm.com; iommu@lists.linux-
>> foundation.org; linux-arm-kernel@lists.infradead.org; linux-arm-
>> msm@vger.kernel.org; m.szyprowski@samsung.com;
>> bhelgaas@google.com; linux-pci@vger.kernel.org; linux-
>> acpi@vger.kernel.org; tn@semihalf.com; hanjun.guo@linaro.org;
>> okaya@codeaurora.org
>> Subject: RE: [PATCH V9 00/11] IOMMU probe deferral support
>>
>>
>>> -----Original Message-----
>>> From: Robin Murphy [mailto:robin.murphy@arm.com]
>>> Sent: Friday, March 24, 2017 6:39 PM
>>> To: Shameerali Kolothum Thodi; Sricharan R; Wangzhou (B);
>>> will.deacon@arm.com; joro@8bytes.org; lorenzo.pieralisi@arm.com;
>>> iommu@lists.linux-foundation.org; linux-arm-kernel@lists.infradead.org;
>>> linux-arm-msm@vger.kernel.org; m.szyprowski@samsung.com;
>>> bhelgaas@google.com; linux-pci@vger.kernel.org; linux-
>>> acpi@vger.kernel.org; tn@semihalf.com; hanjun.guo@linaro.org;
>>> okaya@codeaurora.org
>>> Subject: Re: [PATCH V9 00/11] IOMMU probe deferral support
>>>
>>> On 24/03/17 09:27, Shameerali Kolothum Thodi wrote:
>>>> Hi Sricharan,
>>>>
>>>>> -----Original Message-----
>>>>> From: Sricharan R [mailto:sricharan@codeaurora.org]
>> [...]
>>>>> Looks like this triggers the start of the bug.
>>>>> So the below check in iommu_dma_init_domain fails,
>>>>>
>>>>>          if (domain->geometry.force_aperture) {
>>>>>                  if (base > domain->geometry.aperture_end ||
>>>>>                      base + size <= domain->geometry.aperture_start) {
>>>>>
>>>>> and the rest goes out of sync after that. Can you print out the base,
>>>>> aperture_start and end values to see why the check fails ?
>>>>
>>>> dev_info(dev, "0x%llx 0x%llx, 0x%llx 0x%llx, 0x%llx 0x%llx\n", base, size,
>>> domain->geometry.aperture_start, domain->geometry.aperture_end,
>>> *dev->dma_mask, dev->coherent_dma_mask);
>>>>
>>>> [  183.752100] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>>> 0xffffffff 0xffffffff
>>>> .....
>>>> [  319.508037] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff,
>>> 0xffffffffffffffff 0xffffffffffffffff
>>>>
>>>> Yes, size seems to be the problem here. When the VF  device gets
>> attached
>>> to vfio-pci,
>>>> somehow the dev->coherent_dma_mask is set to 64 bits and size
>> become
>>> zero.
>>>
>>> AFAICS, this is either down to patch 3 (which should apply on its own
>>> easily enough for testing), or patch 6, implying that somehow the
>>> vfio-pci device gets its DMA mask widened to 64 bits somewhere between
>>> very soon after after creation (where we originally called
>>> of_dma_configure()) and immediately before probe (where we now call
>> it).
>>>
>>> Either way I guess this is yet more motivation to write that "change the
>>> arch_setup_dma_ops() interface to take a mask instead of a size" patch...
>>
>> Just applying the patch 3 and binding the device into vfio-pci is fine. Please
>> find the
>> log below (with  dev_info debug added to iommu_dma_init_domain ).
>> ...
>> [  142.851906] iommu: Adding device 0000:81:10.0 to group 6
>> [  142.852063] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff   ---->dev_info()
>> [  142.852836] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  142.852962] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  142.853833] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  142.863956] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  142.863960] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  142.865689] ixgbevf 0000:81:10.0: da:9f:f8:1e:57:3a
>> [  142.865692] ixgbevf 0000:81:10.0: MAC: 1
>> [  142.865693] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  142.939145] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  152.902894] nfs: server 172.18.45.166 not responding, still trying
>> [  188.980933] nfs: server 172.18.45.166 not responding, still trying
>> [  188.981298] nfs: server 172.18.45.166 OK
>> [  188.981593] nfs: server 172.18.45.166 OK
>> [  221.755626] VFIO - User Level meta-driver version: 0.3
>> ...
>>
>> Applied up to patch 6, and the issue appeared,
>>
>> [  145.212351] iommu: Adding device 0000:81:10.0 to group 5
>> [  145.212367] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff
>> [  145.213261] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  145.213394] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  145.214272] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  145.224379] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  145.224384] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  145.225941] ixgbevf 0000:81:10.0: 1a:85:06:48:a7:19
>> [  145.225944] ixgbevf 0000:81:10.0: MAC: 1
>> [  145.225946] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  145.299961] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  154.947742] nfs: server 172.18.45.166 not responding, still trying
>> [  191.025780] nfs: server 172.18.45.166 not responding, still trying
>> [  191.026122] nfs: server 172.18.45.166 OK
>> [  191.026317] nfs: server 172.18.45.166 OK
>> [  263.706402] VFIO - User Level meta-driver version: 0.3
>> [  269.757613] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff
>> 0xffffffffffffffff
>> [  269.757617] specified DMA range outside IOMMU capability
>> [  269.757618] Failed to set up IOMMU for device 0000:81:10.0; retaining
>> platform DMA ops
>>
>>  From the logs its clear that  when ixgbevf driver originally probes and adds
>> the device
>>  to smmu  the dma mask is 32, but when it binds to vfio-pci, it becomes 64 bit.
> 
> Just to add to that, the mask is set to 64 bit in the ixgebvf driver probe[1]

Aha, but of course it's still the same struct device getting bound to
VFIO later, so whatever mask the first driver set is still in there when
we go through of_dma_configure() the second time (and the fact that we
go through more than once being the new behaviour). So yes, this is a
legitimate problem and we really do need to be robust against size
overflow. I reckon the below tweak of your fix is probably the way to
go; cleaning up the arch_setup_dma_ops() interface can happen later.

Robin.

-----8<-----
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 9933077df7b7..77d080bde52d 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -107,7 +107,7 @@ void of_dma_configure(struct device *dev, struct
device_node *np)
 	ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
 	if (ret < 0) {
 		dma_addr = offset = 0;
-		size = dev->coherent_dma_mask + 1;
+		size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1);
 	} else {
 		offset = PFN_DOWN(paddr - dma_addr);


----->8-----

> [  127.914001] ixgbe 0000:81:00.0 eth0: SR-IOV enabled with 1 VFs
> [  127.914106] ixgbe 0000:81:00.0: removed PHC on eth0
> [  128.125166] ixgbe 0000:81:00.0: Multiqueue Enabled: Rx Queue count = 4, Tx Queue count = 4
> [  128.143857] ixgbe 0000:81:00.0: registered PHC device on eth0
> [  128.314754] ixgbe 0000:81:00.0 eth0: detected SFP+: 11
> [  128.357878] pci 0000:81:10.0: [8086:10ed] type 00 class 0x020000
> [  128.358416] iommu: Adding device 0000:81:10.0 to group 5
> [  128.358443] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff, 0xffffffff 0xffffffff
> [  128.359326] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
> [  128.359333] Shameer: ixgbevf_probe, 64 bit			------------->mask set to 64 bit
> [  128.359462] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
> [  128.360331] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you may have to assign one manually
> [  128.370470] ixgbevf 0000:81:10.0: MAC address not assigned by administrator.
> [  128.370474] ixgbevf 0000:81:10.0: Assigning random MAC address
> [  128.372172] ixgbevf 0000:81:10.0: ea:40:b9:e9:cb:04
> [  128.372176] ixgbevf 0000:81:10.0: MAC: 1
> [  128.372178] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
> [  128.445551] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control: None
> [  138.089869] nfs: server 172.18.45.166 not responding, still trying
> [  174.697868] nfs: server 172.18.45.166 not responding, still trying
> [  174.698359] nfs: server 172.18.45.166 OK
> [  174.698582] nfs: server 172.18.45.166 OK
> [  465.942259] VFIO - User Level meta-driver version: 0.3
>  [  472.754074] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff 0xffffffffffffffff
> [  472.754075] specified DMA range outside IOMMU capability
> [  472.754077] Failed to set up IOMMU for device 0000:81:10.0; retaining platform DMA ops
> 
> 1. http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c#L3996
> 
> 
>  
> 


WARNING: multiple messages have this Message-ID (diff)
From: Robin Murphy <robin.murphy@arm.com>
To: Shameerali Kolothum Thodi <shameerali.kolothum.thodi@huawei.com>,
	Sricharan R <sricharan@codeaurora.org>,
	"Wangzhou (B)" <wangzhou1@hisilicon.com>,
	"will.deacon@arm.com" <will.deacon@arm.com>,
	"joro@8bytes.org" <joro@8bytes.org>,
	"lorenzo.pieralisi@arm.com" <lorenzo.pieralisi@arm.com>,
	"iommu@lists.linux-foundation.org"
	<iommu@lists.linux-foundation.org>,
	"linux-arm-kernel@lists.infradead.org"
	<linux-arm-kernel@lists.infradead.org>,
	"linux-arm-msm@vger.kernel.org" <linux-arm-msm@vger.kernel.org>,
	"m.szyprowski@samsung.com" <m.szyprowski@samsung.com>,
	"bhelgaas@google.com" <bhelgaas@google.com>,
	"linux-pci@vger.kernel.org" <linux-pci@vger.kernel.org>,
	"linux-acpi@vger.kernel.org" <linux-acpi@vger.kernel.org>,
	"tn@semihalf.com" <tn@semihalf.com>,
	"hanjun.guo@linaro.org" <hanjun.guo@linaro.org>,
	"okaya@codeaurora.org" <okaya@codeaurora.org>
Subject: Re: [PATCH V9 00/11] IOMMU probe deferral support
Date: Mon, 27 Mar 2017 17:18:15 +0100	[thread overview]
Message-ID: <f67fb561-4238-6933-04f3-0f910f9232d1@arm.com> (raw)
In-Reply-To: <5FC3163CFD30C246ABAA99954A238FA81750CCC4@lhreml504-mbs>

On 27/03/17 16:58, Shameerali Kolothum Thodi wrote:
> 
> 
>> -----Original Message-----
>> From: Shameerali Kolothum Thodi
>> Sent: Monday, March 27, 2017 3:53 PM
>> To: 'Robin Murphy'; Sricharan R; Wangzhou (B); will.deacon@arm.com;
>> joro@8bytes.org; lorenzo.pieralisi@arm.com; iommu@lists.linux-
>> foundation.org; linux-arm-kernel@lists.infradead.org; linux-arm-
>> msm@vger.kernel.org; m.szyprowski@samsung.com;
>> bhelgaas@google.com; linux-pci@vger.kernel.org; linux-
>> acpi@vger.kernel.org; tn@semihalf.com; hanjun.guo@linaro.org;
>> okaya@codeaurora.org
>> Subject: RE: [PATCH V9 00/11] IOMMU probe deferral support
>>
>>
>>> -----Original Message-----
>>> From: Robin Murphy [mailto:robin.murphy@arm.com]
>>> Sent: Friday, March 24, 2017 6:39 PM
>>> To: Shameerali Kolothum Thodi; Sricharan R; Wangzhou (B);
>>> will.deacon@arm.com; joro@8bytes.org; lorenzo.pieralisi@arm.com;
>>> iommu@lists.linux-foundation.org; linux-arm-kernel@lists.infradead.org;
>>> linux-arm-msm@vger.kernel.org; m.szyprowski@samsung.com;
>>> bhelgaas@google.com; linux-pci@vger.kernel.org; linux-
>>> acpi@vger.kernel.org; tn@semihalf.com; hanjun.guo@linaro.org;
>>> okaya@codeaurora.org
>>> Subject: Re: [PATCH V9 00/11] IOMMU probe deferral support
>>>
>>> On 24/03/17 09:27, Shameerali Kolothum Thodi wrote:
>>>> Hi Sricharan,
>>>>
>>>>> -----Original Message-----
>>>>> From: Sricharan R [mailto:sricharan@codeaurora.org]
>> [...]
>>>>> Looks like this triggers the start of the bug.
>>>>> So the below check in iommu_dma_init_domain fails,
>>>>>
>>>>>          if (domain->geometry.force_aperture) {
>>>>>                  if (base > domain->geometry.aperture_end ||
>>>>>                      base + size <= domain->geometry.aperture_start) {
>>>>>
>>>>> and the rest goes out of sync after that. Can you print out the base,
>>>>> aperture_start and end values to see why the check fails ?
>>>>
>>>> dev_info(dev, "0x%llx 0x%llx, 0x%llx 0x%llx, 0x%llx 0x%llx\n", base, size,
>>> domain->geometry.aperture_start, domain->geometry.aperture_end,
>>> *dev->dma_mask, dev->coherent_dma_mask);
>>>>
>>>> [  183.752100] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>>> 0xffffffff 0xffffffff
>>>> .....
>>>> [  319.508037] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff,
>>> 0xffffffffffffffff 0xffffffffffffffff
>>>>
>>>> Yes, size seems to be the problem here. When the VF  device gets
>> attached
>>> to vfio-pci,
>>>> somehow the dev->coherent_dma_mask is set to 64 bits and size
>> become
>>> zero.
>>>
>>> AFAICS, this is either down to patch 3 (which should apply on its own
>>> easily enough for testing), or patch 6, implying that somehow the
>>> vfio-pci device gets its DMA mask widened to 64 bits somewhere between
>>> very soon after after creation (where we originally called
>>> of_dma_configure()) and immediately before probe (where we now call
>> it).
>>>
>>> Either way I guess this is yet more motivation to write that "change the
>>> arch_setup_dma_ops() interface to take a mask instead of a size" patch...
>>
>> Just applying the patch 3 and binding the device into vfio-pci is fine. Please
>> find the
>> log below (with  dev_info debug added to iommu_dma_init_domain ).
>> ...
>> [  142.851906] iommu: Adding device 0000:81:10.0 to group 6
>> [  142.852063] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff   ---->dev_info()
>> [  142.852836] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  142.852962] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  142.853833] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  142.863956] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  142.863960] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  142.865689] ixgbevf 0000:81:10.0: da:9f:f8:1e:57:3a
>> [  142.865692] ixgbevf 0000:81:10.0: MAC: 1
>> [  142.865693] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  142.939145] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  152.902894] nfs: server 172.18.45.166 not responding, still trying
>> [  188.980933] nfs: server 172.18.45.166 not responding, still trying
>> [  188.981298] nfs: server 172.18.45.166 OK
>> [  188.981593] nfs: server 172.18.45.166 OK
>> [  221.755626] VFIO - User Level meta-driver version: 0.3
>> ...
>>
>> Applied up to patch 6, and the issue appeared,
>>
>> [  145.212351] iommu: Adding device 0000:81:10.0 to group 5
>> [  145.212367] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff
>> [  145.213261] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  145.213394] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  145.214272] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  145.224379] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  145.224384] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  145.225941] ixgbevf 0000:81:10.0: 1a:85:06:48:a7:19
>> [  145.225944] ixgbevf 0000:81:10.0: MAC: 1
>> [  145.225946] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  145.299961] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  154.947742] nfs: server 172.18.45.166 not responding, still trying
>> [  191.025780] nfs: server 172.18.45.166 not responding, still trying
>> [  191.026122] nfs: server 172.18.45.166 OK
>> [  191.026317] nfs: server 172.18.45.166 OK
>> [  263.706402] VFIO - User Level meta-driver version: 0.3
>> [  269.757613] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff
>> 0xffffffffffffffff
>> [  269.757617] specified DMA range outside IOMMU capability
>> [  269.757618] Failed to set up IOMMU for device 0000:81:10.0; retaining
>> platform DMA ops
>>
>>  From the logs its clear that  when ixgbevf driver originally probes and adds
>> the device
>>  to smmu  the dma mask is 32, but when it binds to vfio-pci, it becomes 64 bit.
> 
> Just to add to that, the mask is set to 64 bit in the ixgebvf driver probe[1]

Aha, but of course it's still the same struct device getting bound to
VFIO later, so whatever mask the first driver set is still in there when
we go through of_dma_configure() the second time (and the fact that we
go through more than once being the new behaviour). So yes, this is a
legitimate problem and we really do need to be robust against size
overflow. I reckon the below tweak of your fix is probably the way to
go; cleaning up the arch_setup_dma_ops() interface can happen later.

Robin.

-----8<-----
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 9933077df7b7..77d080bde52d 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -107,7 +107,7 @@ void of_dma_configure(struct device *dev, struct
device_node *np)
 	ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
 	if (ret < 0) {
 		dma_addr = offset = 0;
-		size = dev->coherent_dma_mask + 1;
+		size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1);
 	} else {
 		offset = PFN_DOWN(paddr - dma_addr);


----->8-----

> [  127.914001] ixgbe 0000:81:00.0 eth0: SR-IOV enabled with 1 VFs
> [  127.914106] ixgbe 0000:81:00.0: removed PHC on eth0
> [  128.125166] ixgbe 0000:81:00.0: Multiqueue Enabled: Rx Queue count = 4, Tx Queue count = 4
> [  128.143857] ixgbe 0000:81:00.0: registered PHC device on eth0
> [  128.314754] ixgbe 0000:81:00.0 eth0: detected SFP+: 11
> [  128.357878] pci 0000:81:10.0: [8086:10ed] type 00 class 0x020000
> [  128.358416] iommu: Adding device 0000:81:10.0 to group 5
> [  128.358443] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff, 0xffffffff 0xffffffff
> [  128.359326] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
> [  128.359333] Shameer: ixgbevf_probe, 64 bit			------------->mask set to 64 bit
> [  128.359462] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
> [  128.360331] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you may have to assign one manually
> [  128.370470] ixgbevf 0000:81:10.0: MAC address not assigned by administrator.
> [  128.370474] ixgbevf 0000:81:10.0: Assigning random MAC address
> [  128.372172] ixgbevf 0000:81:10.0: ea:40:b9:e9:cb:04
> [  128.372176] ixgbevf 0000:81:10.0: MAC: 1
> [  128.372178] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
> [  128.445551] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control: None
> [  138.089869] nfs: server 172.18.45.166 not responding, still trying
> [  174.697868] nfs: server 172.18.45.166 not responding, still trying
> [  174.698359] nfs: server 172.18.45.166 OK
> [  174.698582] nfs: server 172.18.45.166 OK
> [  465.942259] VFIO - User Level meta-driver version: 0.3
>  [  472.754074] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff 0xffffffffffffffff
> [  472.754075] specified DMA range outside IOMMU capability
> [  472.754077] Failed to set up IOMMU for device 0000:81:10.0; retaining platform DMA ops
> 
> 1. http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c#L3996
> 
> 
>  
> 


_______________________________________________
linux-arm-kernel mailing list
linux-arm-kernel@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-arm-kernel

WARNING: multiple messages have this Message-ID (diff)
From: robin.murphy@arm.com (Robin Murphy)
To: linux-arm-kernel@lists.infradead.org
Subject: [PATCH V9 00/11] IOMMU probe deferral support
Date: Mon, 27 Mar 2017 17:18:15 +0100	[thread overview]
Message-ID: <f67fb561-4238-6933-04f3-0f910f9232d1@arm.com> (raw)
In-Reply-To: <5FC3163CFD30C246ABAA99954A238FA81750CCC4@lhreml504-mbs>

On 27/03/17 16:58, Shameerali Kolothum Thodi wrote:
> 
> 
>> -----Original Message-----
>> From: Shameerali Kolothum Thodi
>> Sent: Monday, March 27, 2017 3:53 PM
>> To: 'Robin Murphy'; Sricharan R; Wangzhou (B); will.deacon at arm.com;
>> joro at 8bytes.org; lorenzo.pieralisi at arm.com; iommu at lists.linux-
>> foundation.org; linux-arm-kernel at lists.infradead.org; linux-arm-
>> msm at vger.kernel.org; m.szyprowski at samsung.com;
>> bhelgaas at google.com; linux-pci at vger.kernel.org; linux-
>> acpi at vger.kernel.org; tn at semihalf.com; hanjun.guo at linaro.org;
>> okaya at codeaurora.org
>> Subject: RE: [PATCH V9 00/11] IOMMU probe deferral support
>>
>>
>>> -----Original Message-----
>>> From: Robin Murphy [mailto:robin.murphy at arm.com]
>>> Sent: Friday, March 24, 2017 6:39 PM
>>> To: Shameerali Kolothum Thodi; Sricharan R; Wangzhou (B);
>>> will.deacon at arm.com; joro at 8bytes.org; lorenzo.pieralisi at arm.com;
>>> iommu at lists.linux-foundation.org; linux-arm-kernel at lists.infradead.org;
>>> linux-arm-msm at vger.kernel.org; m.szyprowski at samsung.com;
>>> bhelgaas at google.com; linux-pci at vger.kernel.org; linux-
>>> acpi at vger.kernel.org; tn at semihalf.com; hanjun.guo at linaro.org;
>>> okaya at codeaurora.org
>>> Subject: Re: [PATCH V9 00/11] IOMMU probe deferral support
>>>
>>> On 24/03/17 09:27, Shameerali Kolothum Thodi wrote:
>>>> Hi Sricharan,
>>>>
>>>>> -----Original Message-----
>>>>> From: Sricharan R [mailto:sricharan at codeaurora.org]
>> [...]
>>>>> Looks like this triggers the start of the bug.
>>>>> So the below check in iommu_dma_init_domain fails,
>>>>>
>>>>>          if (domain->geometry.force_aperture) {
>>>>>                  if (base > domain->geometry.aperture_end ||
>>>>>                      base + size <= domain->geometry.aperture_start) {
>>>>>
>>>>> and the rest goes out of sync after that. Can you print out the base,
>>>>> aperture_start and end values to see why the check fails ?
>>>>
>>>> dev_info(dev, "0x%llx 0x%llx, 0x%llx 0x%llx, 0x%llx 0x%llx\n", base, size,
>>> domain->geometry.aperture_start, domain->geometry.aperture_end,
>>> *dev->dma_mask, dev->coherent_dma_mask);
>>>>
>>>> [  183.752100] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>>> 0xffffffff 0xffffffff
>>>> .....
>>>> [  319.508037] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff,
>>> 0xffffffffffffffff 0xffffffffffffffff
>>>>
>>>> Yes, size seems to be the problem here. When the VF  device gets
>> attached
>>> to vfio-pci,
>>>> somehow the dev->coherent_dma_mask is set to 64 bits and size
>> become
>>> zero.
>>>
>>> AFAICS, this is either down to patch 3 (which should apply on its own
>>> easily enough for testing), or patch 6, implying that somehow the
>>> vfio-pci device gets its DMA mask widened to 64 bits somewhere between
>>> very soon after after creation (where we originally called
>>> of_dma_configure()) and immediately before probe (where we now call
>> it).
>>>
>>> Either way I guess this is yet more motivation to write that "change the
>>> arch_setup_dma_ops() interface to take a mask instead of a size" patch...
>>
>> Just applying the patch 3 and binding the device into vfio-pci is fine. Please
>> find the
>> log below (with  dev_info debug added to iommu_dma_init_domain ).
>> ...
>> [  142.851906] iommu: Adding device 0000:81:10.0 to group 6
>> [  142.852063] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff   ---->dev_info()
>> [  142.852836] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  142.852962] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  142.853833] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  142.863956] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  142.863960] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  142.865689] ixgbevf 0000:81:10.0: da:9f:f8:1e:57:3a
>> [  142.865692] ixgbevf 0000:81:10.0: MAC: 1
>> [  142.865693] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  142.939145] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  152.902894] nfs: server 172.18.45.166 not responding, still trying
>> [  188.980933] nfs: server 172.18.45.166 not responding, still trying
>> [  188.981298] nfs: server 172.18.45.166 OK
>> [  188.981593] nfs: server 172.18.45.166 OK
>> [  221.755626] VFIO - User Level meta-driver version: 0.3
>> ...
>>
>> Applied up to patch 6, and the issue appeared,
>>
>> [  145.212351] iommu: Adding device 0000:81:10.0 to group 5
>> [  145.212367] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff,
>> 0xffffffff 0xffffffff
>> [  145.213261] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
>> [  145.213394] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
>> [  145.214272] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you
>> may have to assign one manually
>> [  145.224379] ixgbevf 0000:81:10.0: MAC address not assigned by
>> administrator.
>> [  145.224384] ixgbevf 0000:81:10.0: Assigning random MAC address
>> [  145.225941] ixgbevf 0000:81:10.0: 1a:85:06:48:a7:19
>> [  145.225944] ixgbevf 0000:81:10.0: MAC: 1
>> [  145.225946] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
>> [  145.299961] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control:
>> None
>> [  154.947742] nfs: server 172.18.45.166 not responding, still trying
>> [  191.025780] nfs: server 172.18.45.166 not responding, still trying
>> [  191.026122] nfs: server 172.18.45.166 OK
>> [  191.026317] nfs: server 172.18.45.166 OK
>> [  263.706402] VFIO - User Level meta-driver version: 0.3
>> [  269.757613] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff
>> 0xffffffffffffffff
>> [  269.757617] specified DMA range outside IOMMU capability
>> [  269.757618] Failed to set up IOMMU for device 0000:81:10.0; retaining
>> platform DMA ops
>>
>>  From the logs its clear that  when ixgbevf driver originally probes and adds
>> the device
>>  to smmu  the dma mask is 32, but when it binds to vfio-pci, it becomes 64 bit.
> 
> Just to add to that, the mask is set to 64 bit in the ixgebvf driver probe[1]

Aha, but of course it's still the same struct device getting bound to
VFIO later, so whatever mask the first driver set is still in there when
we go through of_dma_configure() the second time (and the fact that we
go through more than once being the new behaviour). So yes, this is a
legitimate problem and we really do need to be robust against size
overflow. I reckon the below tweak of your fix is probably the way to
go; cleaning up the arch_setup_dma_ops() interface can happen later.

Robin.

-----8<-----
diff --git a/drivers/of/device.c b/drivers/of/device.c
index 9933077df7b7..77d080bde52d 100644
--- a/drivers/of/device.c
+++ b/drivers/of/device.c
@@ -107,7 +107,7 @@ void of_dma_configure(struct device *dev, struct
device_node *np)
 	ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
 	if (ret < 0) {
 		dma_addr = offset = 0;
-		size = dev->coherent_dma_mask + 1;
+		size = max(dev->coherent_dma_mask, dev->coherent_dma_mask + 1);
 	} else {
 		offset = PFN_DOWN(paddr - dma_addr);


----->8-----

> [  127.914001] ixgbe 0000:81:00.0 eth0: SR-IOV enabled with 1 VFs
> [  127.914106] ixgbe 0000:81:00.0: removed PHC on eth0
> [  128.125166] ixgbe 0000:81:00.0: Multiqueue Enabled: Rx Queue count = 4, Tx Queue count = 4
> [  128.143857] ixgbe 0000:81:00.0: registered PHC device on eth0
> [  128.314754] ixgbe 0000:81:00.0 eth0: detected SFP+: 11
> [  128.357878] pci 0000:81:10.0: [8086:10ed] type 00 class 0x020000
> [  128.358416] iommu: Adding device 0000:81:10.0 to group 5
> [  128.358443] ixgbevf 0000:81:10.0: 0x0 0x100000000, 0x0 0xffffffffffff, 0xffffffff 0xffffffff
> [  128.359326] ixgbevf 0000:81:10.0: enabling device (0000 -> 0002)
> [  128.359333] Shameer: ixgbevf_probe, 64 bit			------------->mask set to 64 bit
> [  128.359462] ixgbe 0000:81:00.0 eth0: VF Reset msg received from vf 0
> [  128.360331] ixgbe 0000:81:00.0: VF 0 has no MAC address assigned, you may have to assign one manually
> [  128.370470] ixgbevf 0000:81:10.0: MAC address not assigned by administrator.
> [  128.370474] ixgbevf 0000:81:10.0: Assigning random MAC address
> [  128.372172] ixgbevf 0000:81:10.0: ea:40:b9:e9:cb:04
> [  128.372176] ixgbevf 0000:81:10.0: MAC: 1
> [  128.372178] ixgbevf 0000:81:10.0: Intel(R) 82599 Virtual Function
> [  128.445551] ixgbe 0000:81:00.0 eth0: NIC Link is Up 1 Gbps, Flow Control: None
> [  138.089869] nfs: server 172.18.45.166 not responding, still trying
> [  174.697868] nfs: server 172.18.45.166 not responding, still trying
> [  174.698359] nfs: server 172.18.45.166 OK
> [  174.698582] nfs: server 172.18.45.166 OK
> [  465.942259] VFIO - User Level meta-driver version: 0.3
>  [  472.754074] vfio-pci 0000:81:10.0: 0x0 0x0, 0x0 0xffffffffffff, 0xffffffffffffffff 0xffffffffffffffff
> [  472.754075] specified DMA range outside IOMMU capability
> [  472.754077] Failed to set up IOMMU for device 0000:81:10.0; retaining platform DMA ops
> 
> 1. http://lxr.free-electrons.com/source/drivers/net/ethernet/intel/ixgbevf/ixgbevf_main.c#L3996
> 
> 
>  
> 

  reply	other threads:[~2017-03-27 16:18 UTC|newest]

Thread overview: 217+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2017-03-09 19:00 [PATCH V9 00/11] IOMMU probe deferral support Sricharan R
2017-03-09 19:00 ` Sricharan R
2017-03-09 19:00 ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 02/11] iommu/of: Prepare for deferred IOMMU configuration Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 03/11] of: dma: Move range size workaround to of_dma_get_range() Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 04/11] of: dma: Make of_dma_deconfigure() public Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 05/11] ACPI/IORT: Add function to check SMMUs drivers presence Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 06/11] of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 08/11] drivers: acpi: Handle IOMMU lookup failure with deferred probing or error Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:00 ` [PATCH V9 09/11] arm64: dma-mapping: Remove the notifier trick to handle early setting of dma_ops Sricharan R
2017-03-09 19:00   ` Sricharan R
2017-03-09 19:01 ` [PATCH V9 10/11] iommu/arm-smmu: Clean up early-probing workarounds Sricharan R
2017-03-09 19:01   ` Sricharan R
2017-03-09 19:01 ` [PATCH V9 11/11] ACPI/IORT: Remove linker section for IORT entries probing Sricharan R
2017-03-09 19:01   ` Sricharan R
2017-03-24  3:53 ` [PATCH V9 00/11] IOMMU probe deferral support Zhou Wang
2017-03-24  3:53   ` Zhou Wang
2017-03-24  3:53   ` Zhou Wang
     [not found]   ` <58D49845.9060407-C8/M+/jPZTeaMJb+Lgu22Q@public.gmane.org>
2017-03-24  7:09     ` Sricharan R
2017-03-24  7:09       ` Sricharan R
2017-03-24  7:09       ` Sricharan R
     [not found]       ` <0ea8022b-a19b-335d-6cc6-81510196f891-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-24  9:27         ` Shameerali Kolothum Thodi
2017-03-24  9:27           ` Shameerali Kolothum Thodi
2017-03-24  9:27           ` Shameerali Kolothum Thodi
2017-03-24 12:50           ` Sricharan R
2017-03-24 12:50             ` Sricharan R
2017-03-24 12:50             ` Sricharan R
2017-03-24 14:43           ` Lorenzo Pieralisi
2017-03-24 14:43             ` Lorenzo Pieralisi
2017-03-24 14:43             ` Lorenzo Pieralisi
2017-03-24 15:09             ` Shameerali Kolothum Thodi
2017-03-24 15:09               ` Shameerali Kolothum Thodi
2017-03-24 15:09               ` Shameerali Kolothum Thodi
2017-03-24 18:38           ` Robin Murphy
2017-03-24 18:38             ` Robin Murphy
2017-03-24 18:38             ` Robin Murphy
     [not found]             ` <db3d68f8-713c-9ae2-7df9-324bc1b375b1-5wv7dgnIgG8@public.gmane.org>
2017-03-27 14:53               ` Shameerali Kolothum Thodi
2017-03-27 15:58             ` Shameerali Kolothum Thodi
2017-03-27 15:58               ` Shameerali Kolothum Thodi
2017-03-27 15:58               ` Shameerali Kolothum Thodi
2017-03-27 16:18               ` Robin Murphy [this message]
2017-03-27 16:18                 ` Robin Murphy
2017-03-27 16:18                 ` Robin Murphy
     [not found]                 ` <f67fb561-4238-6933-04f3-0f910f9232d1-5wv7dgnIgG8@public.gmane.org>
2017-03-27 17:33                   ` Lorenzo Pieralisi
2017-03-27 17:33                     ` Lorenzo Pieralisi
2017-03-27 17:33                     ` Lorenzo Pieralisi
2017-03-28  4:53                   ` Sricharan R
2017-03-28  4:53                     ` Sricharan R
2017-03-28  4:53                     ` Sricharan R
     [not found]                     ` <8d7ba471-84d4-b9f3-9d2a-de166f6839d4-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-28 14:15                       ` Shameerali Kolothum Thodi
2017-03-28 14:15                         ` Shameerali Kolothum Thodi
2017-03-28 14:15                         ` Shameerali Kolothum Thodi
2017-03-28 16:07                         ` Sricharan R
2017-03-28 16:07                           ` Sricharan R
2017-03-28 16:07                           ` Sricharan R
     [not found] ` <1489086061-9356-1-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-09 19:00   ` [PATCH V9 01/11] iommu/of: Refactor of_iommu_configure() for error handling Sricharan R
2017-03-09 19:00     ` Sricharan R
2017-03-09 19:00     ` Sricharan R
2017-03-09 19:00   ` [PATCH V9 07/11] iommu: of: Handle IOMMU lookup failure with deferred probing or error Sricharan R
2017-03-09 19:00     ` Sricharan R
2017-03-09 19:00     ` Sricharan R
     [not found]     ` <1489086061-9356-8-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-03-28 15:00       ` [V9, " Rob Herring
2017-03-28 15:00         ` Rob Herring
2017-03-28 15:00         ` Rob Herring
2017-03-28 15:11         ` Robin Murphy
2017-03-28 15:11           ` Robin Murphy
2017-03-28 15:11           ` Robin Murphy
2017-03-28 16:06         ` Sricharan R
2017-03-28 16:06           ` Sricharan R
2017-03-28 16:06           ` Sricharan R
2017-04-04 10:18   ` [PATCH V10 00/12] IOMMU probe deferral support Sricharan R
2017-04-04 10:18     ` Sricharan R
2017-04-04 10:18     ` Sricharan R
2017-04-04 10:18     ` Sricharan R
     [not found]     ` <1491301105-5274-1-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 10:18       ` [PATCH V10 01/12] iommu/of: Refactor of_iommu_configure() for error handling Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18       ` [PATCH V10 02/12] iommu/of: Prepare for deferred IOMMU configuration Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18       ` [PATCH V10 03/12] of: dma: Move range size workaround to of_dma_get_range() Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
     [not found]         ` <1491301105-5274-4-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 10:46           ` Robin Murphy
2017-04-04 10:46             ` Robin Murphy
2017-04-04 10:46             ` Robin Murphy
2017-04-04 10:46             ` Robin Murphy
2017-04-06  6:24         ` Frank Rowand
2017-04-06  6:24           ` Frank Rowand
2017-04-06  6:24           ` Frank Rowand
     [not found]           ` <58E5DF13.2020700-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-06  9:35             ` Sricharan R
2017-04-06  9:35               ` Sricharan R
2017-04-06  9:35               ` Sricharan R
2017-04-06  9:35               ` Sricharan R
2017-04-06 10:03             ` Robin Murphy
2017-04-06 10:03               ` Robin Murphy
2017-04-06 10:03               ` Robin Murphy
2017-04-06 10:03               ` Robin Murphy
2017-04-04 10:18       ` [PATCH V10 04/12] of: dma: Make of_dma_deconfigure() public Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
     [not found]         ` <1491301105-5274-5-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 10:47           ` Robin Murphy
2017-04-04 10:47             ` Robin Murphy
2017-04-04 10:47             ` Robin Murphy
2017-04-04 10:47             ` Robin Murphy
2017-04-04 10:18       ` [PATCH V10 05/12] ACPI/IORT: Add function to check SMMUs drivers presence Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
     [not found]         ` <1491301105-5274-6-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 11:04           ` Robin Murphy
2017-04-04 11:04             ` Robin Murphy
2017-04-04 11:04             ` Robin Murphy
2017-04-04 11:04             ` Robin Murphy
2017-04-04 10:18       ` [PATCH V10 06/12] of: device: Fix overflow of coherent_dma_mask Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
     [not found]         ` <1491301105-5274-7-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 11:10           ` Robin Murphy
2017-04-04 11:10             ` Robin Murphy
2017-04-04 11:10             ` Robin Murphy
2017-04-04 11:10             ` Robin Murphy
2017-04-06  7:01         ` Frank Rowand
2017-04-06  7:01           ` Frank Rowand
     [not found]           ` <58E5E7B7.1050400-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-06 10:24             ` Robin Murphy
2017-04-06 10:24               ` Robin Murphy
2017-04-06 10:24               ` Robin Murphy
2017-04-06 10:24               ` Robin Murphy
     [not found]               ` <b081f333-084d-ffa5-635f-f7f1c0232ac3-5wv7dgnIgG8@public.gmane.org>
2017-04-06 13:56                 ` Rob Herring
2017-04-06 13:56                   ` Rob Herring
2017-04-06 13:56                   ` Rob Herring
2017-04-06 13:56                   ` Rob Herring
2017-04-06 13:56                   ` Rob Herring
     [not found]                   ` <CAL_JsqLsE378hfs=xNvSdPV2r+7H81cAFzOwtda2W+mFVoohuA-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2017-04-06 14:45                     ` Robin Murphy
2017-04-06 14:45                       ` Robin Murphy
2017-04-06 14:45                       ` Robin Murphy
2017-04-06 14:45                       ` Robin Murphy
2017-04-06 19:24               ` Frank Rowand
2017-04-06 19:24                 ` Frank Rowand
2017-04-06 19:24                 ` Frank Rowand
2017-04-06 11:01           ` Sricharan R
2017-04-06 11:01             ` Sricharan R
2017-04-06 11:01             ` Sricharan R
     [not found]             ` <b77e3405-f060-bcd5-99f6-7d76f9edf08a-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-06 19:34               ` Frank Rowand
2017-04-06 19:34                 ` Frank Rowand
2017-04-06 19:34                 ` Frank Rowand
2017-04-06 19:34                 ` Frank Rowand
2017-04-07  4:12                 ` Sricharan R
2017-04-07  4:12                   ` Sricharan R
2017-04-07  4:12                   ` Sricharan R
2017-04-07 14:46                 ` Robin Murphy
2017-04-07 14:46                   ` Robin Murphy
2017-04-07 23:13                   ` Frank Rowand
2017-04-07 23:13                     ` Frank Rowand
     [not found]                     ` <58E81D01.8030606-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
2017-04-10 13:25                       ` Robin Murphy
2017-04-10 13:25                         ` Robin Murphy
2017-04-10 13:25                         ` Robin Murphy
2017-04-10 13:25                         ` Robin Murphy
2017-04-07 23:10           ` Frank Rowand
2017-04-07 23:10             ` Frank Rowand
2017-04-04 10:18       ` [PATCH V10 07/12] of/acpi: Configure dma operations at probe time for platform/amba/pci bus devices Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
     [not found]         ` <1491301105-5274-8-git-send-email-sricharan-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
2017-04-04 12:17           ` Robin Murphy
2017-04-04 12:17             ` Robin Murphy
2017-04-04 12:17             ` Robin Murphy
2017-04-04 12:17             ` Robin Murphy
2017-04-04 12:30             ` Sricharan R
2017-04-04 12:30               ` Sricharan R
2017-04-04 12:30               ` Sricharan R
2017-04-04 10:18       ` [PATCH V10 08/12] iommu: of: Handle IOMMU lookup failure with deferred probing or error Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 11:24         ` Robin Murphy
2017-04-04 11:24           ` Robin Murphy
2017-04-04 10:18       ` [PATCH V10 09/12] drivers: acpi: " Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 11:31         ` Robin Murphy
2017-04-04 11:31           ` Robin Murphy
2017-04-04 11:31           ` Robin Murphy
2017-04-04 10:18       ` [PATCH V10 10/12] arm64: dma-mapping: Remove the notifier trick to handle early setting of dma_ops Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18       ` [PATCH V10 11/12] iommu/arm-smmu: Clean up early-probing workarounds Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18       ` [PATCH V10 12/12] ACPI/IORT: Remove linker section for IORT entries probing Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 10:18         ` Sricharan R
2017-04-04 11:33         ` Robin Murphy
2017-04-04 11:33           ` Robin Murphy
2017-04-04 11:33           ` Robin Murphy
2017-04-04 12:49     ` [PATCH V10 00/12] IOMMU probe deferral support Robin Murphy
2017-04-04 12:49       ` Robin Murphy
2017-04-04 12:49       ` Robin Murphy
     [not found]       ` <b0f3a1ec-ea13-7465-1d44-9191e3e803ef-5wv7dgnIgG8@public.gmane.org>
2017-04-05 10:04         ` Lorenzo Pieralisi
2017-04-05 10:04           ` Lorenzo Pieralisi
2017-04-05 10:04           ` Lorenzo Pieralisi
2017-04-05 10:04           ` Lorenzo Pieralisi
2017-04-05  1:23     ` Rob Herring
2017-04-05  1:23       ` Rob Herring
2017-04-05  1:23       ` Rob Herring
2017-04-05  1:23       ` Rob Herring
2017-04-06 18:46       ` Frank Rowand
2017-04-06 18:46         ` Frank Rowand
2017-04-06 18:46         ` Frank Rowand
2017-04-06 18:46         ` Frank Rowand
2017-04-06 18:46         ` Frank Rowand

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=f67fb561-4238-6933-04f3-0f910f9232d1@arm.com \
    --to=robin.murphy@arm.com \
    --cc=bhelgaas@google.com \
    --cc=hanjun.guo@linaro.o \
    --cc=iommu@lists.linux-foundation.org \
    --cc=joro@8bytes.org \
    --cc=linux-acpi@vger.kernel.org \
    --cc=linux-arm-kernel@lists.infradead.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-pci@vger.kernel.org \
    --cc=lorenzo.pieralisi@arm.com \
    --cc=m.szyprowski@samsung.com \
    --cc=shameerali.kolothum.thodi@huawei.com \
    --cc=sricharan@codeaurora.org \
    --cc=tn@semihalf.com \
    --cc=wangzhou1@hisilicon.com \
    --cc=will.deacon@arm.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.