IOMMU Archive on lore.kernel.org
 help / color / Atom feed
* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
       [not found] <F1EBB706-73DF-430E-9020-C214EC8ED5DA@xenosoft.de>
@ 2019-11-21  7:29 ` Christoph Hellwig
  2019-11-21 12:16   ` Christian Zigotzky
  0 siblings, 1 reply; 20+ messages in thread
From: Christoph Hellwig @ 2019-11-21  7:29 UTC (permalink / raw)
  To: Christian Zigotzky
  Cc: linux-arch, darren, mad skateman, Benjamin Herrenschmidt,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, rtd2,
	contact, linuxppc-dev, Christoph Hellwig, nsaenzjulienne

On Sat, Nov 16, 2019 at 08:06:05AM +0100, Christian Zigotzky wrote:
> /*
>  *  DMA addressing mode.
>  *
>  *  0 : 32 bit addressing for all chips.
>  *  1 : 40 bit addressing when supported by chip.
>  *  2 : 64 bit addressing when supported by chip,
>  *      limited to 16 segments of 4 GB -> 64 GB max.
>  */
> #define   SYM_CONF_DMA_ADDRESSING_MODE CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
> 
> Cyrus config:
> 
> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
> 
> I will configure “0 : 32 bit addressing for all chips” for the RC8. Maybe this is the solution.

0 means you are going to do bounce buffering a lot, which seems
generally like a bad idea.

But why are we talking about the sym53c8xx driver now?  The last issue
you reported was about video4linux allocations.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21  7:29 ` Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M Christoph Hellwig
@ 2019-11-21 12:16   ` Christian Zigotzky
  2019-11-21 12:21     ` Christian Zigotzky
  0 siblings, 1 reply; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-21 12:16 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, mad skateman, Benjamin Herrenschmidt,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, rtd2,
	contact, linuxppc-dev, nsaenzjulienne

On 21 November 2019 at 08:29 am, Christoph Hellwig wrote:
> On Sat, Nov 16, 2019 at 08:06:05AM +0100, Christian Zigotzky wrote:
>> /*
>>   *  DMA addressing mode.
>>   *
>>   *  0 : 32 bit addressing for all chips.
>>   *  1 : 40 bit addressing when supported by chip.
>>   *  2 : 64 bit addressing when supported by chip,
>>   *      limited to 16 segments of 4 GB -> 64 GB max.
>>   */
>> #define   SYM_CONF_DMA_ADDRESSING_MODE CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
>>
>> Cyrus config:
>>
>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
>>
>> I will configure “0 : 32 bit addressing for all chips” for the RC8. Maybe this is the solution.
> 0 means you are going to do bounce buffering a lot, which seems
> generally like a bad idea.
>
> But why are we talking about the sym53c8xx driver now?  The last issue
> you reported was about video4linux allocations.
>
Both drivers have the same problem. They don't work if we have more than 
3.5GB RAM. I try to find a solution until your have a good solution. I 
have already a solution for V4L but I still need one for the sym53c8xx 
driver.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 12:16   ` Christian Zigotzky
@ 2019-11-21 12:21     ` Christian Zigotzky
  2019-11-21 13:33       ` Robin Murphy
  0 siblings, 1 reply; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-21 12:21 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, mad skateman, Benjamin Herrenschmidt,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, rtd2,
	contact, linuxppc-dev, nsaenzjulienne

On 21 November 2019 at 01:16 pm, Christian Zigotzky wrote:
> On 21 November 2019 at 08:29 am, Christoph Hellwig wrote:
>> On Sat, Nov 16, 2019 at 08:06:05AM +0100, Christian Zigotzky wrote:
>>> /*
>>>   *  DMA addressing mode.
>>>   *
>>>   *  0 : 32 bit addressing for all chips.
>>>   *  1 : 40 bit addressing when supported by chip.
>>>   *  2 : 64 bit addressing when supported by chip,
>>>   *      limited to 16 segments of 4 GB -> 64 GB max.
>>>   */
>>> #define   SYM_CONF_DMA_ADDRESSING_MODE 
>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
>>>
>>> Cyrus config:
>>>
>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
>>>
>>> I will configure “0 : 32 bit addressing for all chips” for the RC8. 
>>> Maybe this is the solution.
>> 0 means you are going to do bounce buffering a lot, which seems
>> generally like a bad idea.
>>
>> But why are we talking about the sym53c8xx driver now?  The last issue
>> you reported was about video4linux allocations.
>>
> Both drivers have the same problem. They don't work if we have more 
> than 3.5GB RAM. I try to find a solution until you have a good 
> solution. I have already a solution for V4L but I still need one for 
> the sym53c8xx driver.
OK, you mean that "0" is a bad idea but maybe it works until you have a 
solution. ;-)

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 12:21     ` Christian Zigotzky
@ 2019-11-21 13:33       ` Robin Murphy
  2019-11-21 16:34         ` Christian Zigotzky
  0 siblings, 1 reply; 20+ messages in thread
From: Robin Murphy @ 2019-11-21 13:33 UTC (permalink / raw)
  To: Christian Zigotzky, Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linux-kernel,
	linux-mm, iommu, Rob Herring, paulus, mad skateman, contact,
	linuxppc-dev, nsaenzjulienne

On 21/11/2019 12:21 pm, Christian Zigotzky wrote:
> On 21 November 2019 at 01:16 pm, Christian Zigotzky wrote:
>> On 21 November 2019 at 08:29 am, Christoph Hellwig wrote:
>>> On Sat, Nov 16, 2019 at 08:06:05AM +0100, Christian Zigotzky wrote:
>>>> /*
>>>>   *  DMA addressing mode.
>>>>   *
>>>>   *  0 : 32 bit addressing for all chips.
>>>>   *  1 : 40 bit addressing when supported by chip.
>>>>   *  2 : 64 bit addressing when supported by chip,
>>>>   *      limited to 16 segments of 4 GB -> 64 GB max.
>>>>   */
>>>> #define   SYM_CONF_DMA_ADDRESSING_MODE 
>>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
>>>>
>>>> Cyrus config:
>>>>
>>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
>>>>
>>>> I will configure “0 : 32 bit addressing for all chips” for the RC8. 
>>>> Maybe this is the solution.
>>> 0 means you are going to do bounce buffering a lot, which seems
>>> generally like a bad idea.
>>>
>>> But why are we talking about the sym53c8xx driver now?  The last issue
>>> you reported was about video4linux allocations.
>>>
>> Both drivers have the same problem. They don't work if we have more 
>> than 3.5GB RAM. I try to find a solution until you have a good 
>> solution. I have already a solution for V4L but I still need one for 
>> the sym53c8xx driver.
> OK, you mean that "0" is a bad idea but maybe it works until you have a 
> solution. ;-)

Is this on the same machine with the funny non-power-of-two bus_dma_mask 
as your other report? If so, does Nicolas' latest patch[1] help at all?

Robin.

[1] 
https://lore.kernel.org/linux-iommu/20191121092646.8449-1-nsaenzjulienne@suse.de/T/#u
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 13:33       ` Robin Murphy
@ 2019-11-21 16:34         ` Christian Zigotzky
  2019-11-21 18:02           ` Christoph Hellwig
  0 siblings, 1 reply; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-21 16:34 UTC (permalink / raw)
  To: Robin Murphy, Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linux-kernel,
	linux-mm, iommu, Rob Herring, paulus, mad skateman, contact,
	linuxppc-dev, nsaenzjulienne

[-- Attachment #1: Type: text/plain, Size: 1957 bytes --]

Am 21.11.19 um 14:33 schrieb Robin Murphy:
> On 21/11/2019 12:21 pm, Christian Zigotzky wrote:
>> On 21 November 2019 at 01:16 pm, Christian Zigotzky wrote:
>>> On 21 November 2019 at 08:29 am, Christoph Hellwig wrote:
>>>> On Sat, Nov 16, 2019 at 08:06:05AM +0100, Christian Zigotzky wrote:
>>>>> /*
>>>>>   *  DMA addressing mode.
>>>>>   *
>>>>>   *  0 : 32 bit addressing for all chips.
>>>>>   *  1 : 40 bit addressing when supported by chip.
>>>>>   *  2 : 64 bit addressing when supported by chip,
>>>>>   *      limited to 16 segments of 4 GB -> 64 GB max.
>>>>>   */
>>>>> #define   SYM_CONF_DMA_ADDRESSING_MODE 
>>>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE
>>>>>
>>>>> Cyrus config:
>>>>>
>>>>> CONFIG_SCSI_SYM53C8XX_DMA_ADDRESSING_MODE=1
>>>>>
>>>>> I will configure “0 : 32 bit addressing for all chips” for the 
>>>>> RC8. Maybe this is the solution.
>>>> 0 means you are going to do bounce buffering a lot, which seems
>>>> generally like a bad idea.
>>>>
>>>> But why are we talking about the sym53c8xx driver now?  The last issue
>>>> you reported was about video4linux allocations.
>>>>
>>> Both drivers have the same problem. They don't work if we have more 
>>> than 3.5GB RAM. I try to find a solution until you have a good 
>>> solution. I have already a solution for V4L but I still need one for 
>>> the sym53c8xx driver.
>> OK, you mean that "0" is a bad idea but maybe it works until you have 
>> a solution. ;-)
>
> Is this on the same machine with the funny non-power-of-two 
> bus_dma_mask as your other report? If so, does Nicolas' latest 
> patch[1] help at all?
>
> Robin.
>
> [1] 
> https://lore.kernel.org/linux-iommu/20191121092646.8449-1-nsaenzjulienne@suse.de/T/#u
>
Robin,

I modified the patch and compiled a new RC8 of kernel 5.4 today. (patch 
attached)

We have to wait to Rolands test results with his SCSI PCI card. I tested 
it today but my TV card doesn't work with this patch.

Thanks

[-- Attachment #2: dma-v1.patch --]
[-- Type: text/x-patch, Size: 8305 bytes --]

diff -rupN a/arch/powerpc/sysdev/fsl_pci.c b/arch/powerpc/sysdev/fsl_pci.c
--- a/arch/powerpc/sysdev/fsl_pci.c	2019-11-17 23:47:30.000000000 +0100
+++ b/arch/powerpc/sysdev/fsl_pci.c	2019-11-21 15:32:50.216488955 +0100
@@ -115,8 +115,8 @@ static void pci_dma_dev_setup_swiotlb(st
 {
 	struct pci_controller *hose = pci_bus_to_host(pdev->bus);
 
-	pdev->dev.bus_dma_mask =
-		hose->dma_window_base_cur + hose->dma_window_size;
+	pdev->dev.bus_dma_limit =
+		hose->dma_window_base_cur + hose->dma_window_size - 1;
 }
 
 static void setup_swiotlb_ops(struct pci_controller *hose)
@@ -135,7 +135,7 @@ static void fsl_pci_dma_set_mask(struct
 	 * mapping that allows addressing any RAM address from across PCI.
 	 */
 	if (dev_is_pci(dev) && dma_mask >= pci64_dma_offset * 2 - 1) {
-		dev->bus_dma_mask = 0;
+		dev->bus_dma_limit = 0;
 		dev->archdata.dma_offset = pci64_dma_offset;
 	}
 }
diff -rupN a/drivers/iommu/dma-iommu.c b/drivers/iommu/dma-iommu.c
--- a/drivers/iommu/dma-iommu.c	2019-11-17 23:47:30.000000000 +0100
+++ b/drivers/iommu/dma-iommu.c	2019-11-21 15:32:50.216488955 +0100
@@ -405,8 +405,7 @@ static dma_addr_t iommu_dma_alloc_iova(s
 	if (iova_len < (1 << (IOVA_RANGE_CACHE_MAX_SIZE - 1)))
 		iova_len = roundup_pow_of_two(iova_len);
 
-	if (dev->bus_dma_mask)
-		dma_limit &= dev->bus_dma_mask;
+	dma_limit = min_not_zero(dma_limit, dev->bus_dma_limit);
 
 	if (domain->geometry.force_aperture)
 		dma_limit = min(dma_limit, domain->geometry.aperture_end);
diff -rupN a/drivers/of/device.c b/drivers/of/device.c
--- a/drivers/of/device.c	2019-11-17 23:47:30.000000000 +0100
+++ b/drivers/of/device.c	2019-11-21 15:32:50.216488955 +0100
@@ -93,7 +93,7 @@ int of_dma_configure(struct device *dev,
 	bool coherent;
 	unsigned long offset;
 	const struct iommu_ops *iommu;
-	u64 mask;
+	u64 mask, end;
 
 	ret = of_dma_get_range(np, &dma_addr, &paddr, &size);
 	if (ret < 0) {
@@ -148,12 +148,13 @@ int of_dma_configure(struct device *dev,
 	 * Limit coherent and dma mask based on size and default mask
 	 * set by the driver.
 	 */
-	mask = DMA_BIT_MASK(ilog2(dma_addr + size - 1) + 1);
+	end = dma_addr + size - 1;
+	mask = DMA_BIT_MASK(ilog2(end) + 1);
 	dev->coherent_dma_mask &= mask;
 	*dev->dma_mask &= mask;
-	/* ...but only set bus mask if we found valid dma-ranges earlier */
+	/* ...but only set bus limit if we found valid dma-ranges earlier */
 	if (!ret)
-		dev->bus_dma_mask = mask;
+		dev->bus_dma_limit = end;
 
 	coherent = of_dma_is_coherent(np);
 	dev_dbg(dev, "device is%sdma coherent\n",
diff -rupN a/include/linux/device.h b/include/linux/device.h
--- a/include/linux/device.h	2019-11-17 23:47:30.000000000 +0100
+++ b/include/linux/device.h	2019-11-21 15:32:50.216488955 +0100
@@ -1186,8 +1186,8 @@ struct dev_links_info {
  * @coherent_dma_mask: Like dma_mask, but for alloc_coherent mapping as not all
  * 		hardware supports 64-bit addresses for consistent allocations
  * 		such descriptors.
- * @bus_dma_mask: Mask of an upstream bridge or bus which imposes a smaller DMA
- *		limit than the device itself supports.
+ * @bus_dma_limit: Limit of an upstream bridge or bus which imposes a smaller
+ *		DMA limit than the device itself supports.
  * @dma_pfn_offset: offset of DMA memory range relatively of RAM
  * @dma_parms:	A low level driver may set these to teach IOMMU code about
  * 		segment limitations.
@@ -1270,7 +1270,7 @@ struct device {
 					     not all hardware supports
 					     64 bit addresses for consistent
 					     allocations such descriptors. */
-	u64		bus_dma_mask;	/* upstream dma_mask constraint */
+	u64		bus_dma_limit;	/* upstream dma constraint */
 	unsigned long	dma_pfn_offset;
 
 	struct device_dma_parameters *dma_parms;
diff -rupN a/include/linux/dma-direct.h b/include/linux/dma-direct.h
--- a/include/linux/dma-direct.h	2019-11-17 23:47:30.000000000 +0100
+++ b/include/linux/dma-direct.h	2019-11-21 15:37:40.091564417 +0100
@@ -28,7 +28,7 @@ static inline bool dma_capable(struct de
 		return false;
 
 	return addr + size - 1 <=
-		min_not_zero(*dev->dma_mask, dev->bus_dma_mask);
+		min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
 }
 #endif /* !CONFIG_ARCH_HAS_PHYS_TO_DMA */
 
diff -rupN a/include/linux/dma-mapping.h b/include/linux/dma-mapping.h
--- a/include/linux/dma-mapping.h	2019-11-17 23:47:30.000000000 +0100
+++ b/include/linux/dma-mapping.h	2019-11-21 15:32:50.220488949 +0100
@@ -693,7 +693,7 @@ static inline int dma_coerce_mask_and_co
  */
 static inline bool dma_addressing_limited(struct device *dev)
 {
-	return min_not_zero(dma_get_mask(dev), dev->bus_dma_mask) <
+	return min_not_zero(dma_get_mask(dev), dev->bus_dma_limit) <
 			    dma_get_required_mask(dev);
 }
 
diff -rupN a/kernel/dma/direct.c b/kernel/dma/direct.c
--- a/kernel/dma/direct.c	2019-11-17 23:47:30.000000000 +0100
+++ b/kernel/dma/direct.c	2019-11-21 15:50:09.570609847 +0100
@@ -27,10 +27,10 @@ static void report_addr(struct device *d
 {
 	if (!dev->dma_mask) {
 		dev_err_once(dev, "DMA map on device without dma_mask\n");
-	} else if (*dev->dma_mask >= DMA_BIT_MASK(32) || dev->bus_dma_mask) {
+	} else if (*dev->dma_mask >= DMA_BIT_MASK(32) || dev->bus_dma_limit) {
 		dev_err_once(dev,
-			"overflow %pad+%zu of DMA mask %llx bus mask %llx\n",
-			&dma_addr, size, *dev->dma_mask, dev->bus_dma_mask);
+			"overflow %pad+%zu of DMA mask %llx bus limit %llx\n",
+			&dma_addr, size, *dev->dma_mask, dev->bus_dma_limit);
 	}
 	WARN_ON_ONCE(1);
 }
@@ -51,15 +51,14 @@ u64 dma_direct_get_required_mask(struct
 }
 
 static gfp_t __dma_direct_optimal_gfp_mask(struct device *dev, u64 dma_mask,
-		u64 *phys_mask)
+		u64 *phys_limit)
 {
-	if (dev->bus_dma_mask && dev->bus_dma_mask < dma_mask)
-		dma_mask = dev->bus_dma_mask;
+	u64 dma_limit = min_not_zero(dma_mask, dev->bus_dma_limit);
 
 	if (force_dma_unencrypted(dev))
-		*phys_mask = __dma_to_phys(dev, dma_mask);
+		*phys_limit = __dma_to_phys(dev, dma_limit);
 	else
-		*phys_mask = dma_to_phys(dev, dma_mask);
+		*phys_limit = dma_to_phys(dev, dma_limit);
 
 	/*
 	 * Optimistically try the zone that the physical address mask falls
@@ -69,9 +68,9 @@ static gfp_t __dma_direct_optimal_gfp_ma
 	 * Note that GFP_DMA32 and GFP_DMA are no ops without the corresponding
 	 * zones.
 	 */
-	if (*phys_mask <= DMA_BIT_MASK(ARCH_ZONE_DMA_BITS))
+	if (*phys_limit <= DMA_BIT_MASK(ARCH_ZONE_DMA_BITS))
 		return GFP_DMA;
-	if (*phys_mask <= DMA_BIT_MASK(32))
+	if (*phys_limit <= DMA_BIT_MASK(32))
 		return GFP_DMA32;
 	return 0;
 }
@@ -79,7 +78,7 @@ static gfp_t __dma_direct_optimal_gfp_ma
 static bool dma_coherent_ok(struct device *dev, phys_addr_t phys, size_t size)
 {
 	return phys_to_dma_direct(dev, phys) + size - 1 <=
-			min_not_zero(dev->coherent_dma_mask, dev->bus_dma_mask);
+			min_not_zero(dev->coherent_dma_mask, dev->bus_dma_limit);
 }
 
 struct page *__dma_direct_alloc_pages(struct device *dev, size_t size,
@@ -88,7 +87,7 @@ struct page *__dma_direct_alloc_pages(st
 	size_t alloc_size = PAGE_ALIGN(size);
 	int node = dev_to_node(dev);
 	struct page *page = NULL;
-	u64 phys_mask;
+	u64 phys_limit;
 
 	if (attrs & DMA_ATTR_NO_WARN)
 		gfp |= __GFP_NOWARN;
@@ -96,7 +95,7 @@ struct page *__dma_direct_alloc_pages(st
 	/* we always manually zero the memory once we are done: */
 	gfp &= ~__GFP_ZERO;
 	gfp |= __dma_direct_optimal_gfp_mask(dev, dev->coherent_dma_mask,
-			&phys_mask);
+			&phys_limit);
 	page = dma_alloc_contiguous(dev, alloc_size, gfp);
 	if (page && !dma_coherent_ok(dev, page_to_phys(page), size)) {
 		dma_free_contiguous(dev, page, alloc_size);
@@ -110,7 +109,7 @@ again:
 		page = NULL;
 
 		if (IS_ENABLED(CONFIG_ZONE_DMA32) &&
-		    phys_mask < DMA_BIT_MASK(64) &&
+		    phys_limit < DMA_BIT_MASK(64) &&
 		    !(gfp & (GFP_DMA32 | GFP_DMA))) {
 			gfp |= GFP_DMA32;
 			goto again;
diff -rupN a/arch/powerpc/include/asm/dma-direct.h b/arch/powerpc/include/asm/dma-direct.h
--- a/arch/powerpc/include/asm/dma-direct.h	2019-11-17 23:47:30.000000000 +0100
+++ b/arch/powerpc/include/asm/dma-direct.h	2019-11-21 16:18:13.316815445 +0100
@@ -8,7 +8,7 @@ static inline bool dma_capable(struct de
 		return false;
 
 	return addr + size - 1 <=
-		min_not_zero(*dev->dma_mask, dev->bus_dma_mask);
+		min_not_zero(*dev->dma_mask, dev->bus_dma_limit);
 }
 
 static inline dma_addr_t __phys_to_dma(struct device *dev, phys_addr_t paddr)

[-- Attachment #3: Type: text/plain, Size: 156 bytes --]

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 16:34         ` Christian Zigotzky
@ 2019-11-21 18:02           ` Christoph Hellwig
  2019-11-21 18:21             ` Christian Zigotzky
  2019-11-23 11:42             ` Christian Zigotzky
  0 siblings, 2 replies; 20+ messages in thread
From: Christoph Hellwig @ 2019-11-21 18:02 UTC (permalink / raw)
  To: Christian Zigotzky
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, Christoph Hellwig, nsaenzjulienne

On Thu, Nov 21, 2019 at 05:34:48PM +0100, Christian Zigotzky wrote:
> I modified the patch and compiled a new RC8 of kernel 5.4 today. (patch 
> attached)
>
> We have to wait to Rolands test results with his SCSI PCI card. I tested it 
> today but my TV card doesn't work with this patch.

I think we have two sorta overlapping issues here.  One is that I think
we need the bus_dma_limit, which should mostly help for something like
a SCSI controller that doesn't need streaming mappings (btw, do we
have more details on that somewhere?).

And something weird with the videobuf things.  Your change of the dma
masks suggests that the driver doesn't do the right allocations and thus
hits bounce buffering (swiotlb).  We should fix that for real, but the
fact that the bounce buffering itself also fails is even more interesting.

Can you try this git branch:

    git://git.infradead.org/users/hch/misc.git fsl-dma-debugging

Gitweb:

    http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/fsl-dma-debugging

and send me the dmesg with that with your TV adapter?
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 18:02           ` Christoph Hellwig
@ 2019-11-21 18:21             ` Christian Zigotzky
  2019-11-23 11:42             ` Christian Zigotzky
  1 sibling, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-21 18:21 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, nsaenzjulienne

On 21. Nov 2019, at 19:02, Christoph Hellwig <hch@lst.de> wrote:

On Thu, Nov 21, 2019 at 05:34:48PM +0100, Christian Zigotzky wrote:
I modified the patch and compiled a new RC8 of kernel 5.4 today. (patch 
attached)

We have to wait to Rolands test results with his SCSI PCI card. I tested it 
today but my TV card doesn't work with this patch.

I think we have two sorta overlapping issues here.  One is that I think
we need the bus_dma_limit, which should mostly help for something like
a SCSI controller that doesn't need streaming mappings (btw, do we
have more details on that somewhere?).

And something weird with the videobuf things.  Your change of the dma
masks suggests that the driver doesn't do the right allocations and thus
hits bounce buffering (swiotlb).  We should fix that for real, but the
fact that the bounce buffering itself also fails is even more interesting.

Can you try this git branch:

   git://git.infradead.org/users/hch/misc.git fsl-dma-debugging

Gitweb:

   http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/fsl-dma-debugging

and send me the dmesg with that with your TV adapter?

- - -

Yes, I will test it at the weekend. Thanks for your help.

Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-21 18:02           ` Christoph Hellwig
  2019-11-21 18:21             ` Christian Zigotzky
@ 2019-11-23 11:42             ` Christian Zigotzky
  2019-11-25  7:39               ` Christoph Hellwig
  1 sibling, 1 reply; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-23 11:42 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, nsaenzjulienne

[-- Attachment #1: Type: text/plain, Size: 1262 bytes --]

On 21 November 2019 at 07:02 pm, Christoph Hellwig wrote:
> On Thu, Nov 21, 2019 at 05:34:48PM +0100, Christian Zigotzky wrote:
>> I modified the patch and compiled a new RC8 of kernel 5.4 today. (patch
>> attached)
>>
>> We have to wait to Rolands test results with his SCSI PCI card. I tested it
>> today but my TV card doesn't work with this patch.
> I think we have two sorta overlapping issues here.  One is that I think
> we need the bus_dma_limit, which should mostly help for something like
> a SCSI controller that doesn't need streaming mappings (btw, do we
> have more details on that somewhere?).
>
> And something weird with the videobuf things.  Your change of the dma
> masks suggests that the driver doesn't do the right allocations and thus
> hits bounce buffering (swiotlb).  We should fix that for real, but the
> fact that the bounce buffering itself also fails is even more interesting.
>
> Can you try this git branch:
>
>      git://git.infradead.org/users/hch/misc.git fsl-dma-debugging
>
> Gitweb:
>
>      http://git.infradead.org/users/hch/misc.git/shortlog/refs/heads/fsl-dma-debugging
>
> and send me the dmesg with that with your TV adapter?
>
Hello Christoph,

Please find attached the dmesg of your Git kernel.

Thanks,
Christian

[-- Attachment #2: dmesg_p5040_2019-11-23.txt --]
[-- Type: text/plain, Size: 55152 bytes --]

[    0.000000] OF: reserved mem: initialized node qman-fqd, compatible id fsl,qman-fqd
[    0.000000] OF: reserved mem: initialized node qman-pfdr, compatible id fsl,qman-pfdr
[    0.000000] OF: reserved mem: initialized node bman-fbpr, compatible id fsl,bman-fbpr
[    0.000000] MMU: Supported page sizes
[    0.000000]          4 KB as direct
[    0.000000]       4096 KB as direct
[    0.000000]      16384 KB as direct
[    0.000000]      65536 KB as direct
[    0.000000]     262144 KB as direct
[    0.000000]    1048576 KB as direct
[    0.000000] MMU: Book3E HW tablewalk not supported
[    0.000000] Linux version 5.4.0-rc9_A-EON_X5000-119069-gc70373c2f0af-dirty (christian@christian-TUXEDO-InfinityBook-14-v2) (gcc version 7.4.0 (Ubuntu 7.4.0-1ubuntu1~18.04.1)) #1 SMP PREEMPT Fri Nov 22 03:51:42 CET 2019
[    0.000000] Using CoreNet Generic machine description
[    0.000000] Found legacy serial port 0 for /soc@ffe000000/serial@11c500
[    0.000000]   mem=ffe11c500, taddr=ffe11c500, irq=0, clk=400000000, speed=0
[    0.000000] Found legacy serial port 1 for /soc@ffe000000/serial@11c600
[    0.000000]   mem=ffe11c600, taddr=ffe11c600, irq=0, clk=400000000, speed=0
[    0.000000] Found legacy serial port 2 for /soc@ffe000000/serial@11d500
[    0.000000]   mem=ffe11d500, taddr=ffe11d500, irq=0, clk=400000000, speed=0
[    0.000000] Found legacy serial port 3 for /soc@ffe000000/serial@11d600
[    0.000000]   mem=ffe11d600, taddr=ffe11d600, irq=0, clk=400000000, speed=0
[    0.000000] CPU maps initialized for 1 thread per core
[    0.000000]  (thread shift is 0)
[    0.000000] Allocated 1824 bytes for 4 pacas
[    0.000000] -----------------------------------------------------
[    0.000000] phys_mem_size     = 0x200000000
[    0.000000] dcache_bsize      = 0x40
[    0.000000] icache_bsize      = 0x40
[    0.000000] cpu_features      = 0x00000003008003b4
[    0.000000]   possible        = 0x00000003009003b4
[    0.000000]   always          = 0x00000003008003b4
[    0.000000] cpu_user_features = 0xcc008000 0x08000000
[    0.000000] mmu_features      = 0x000a0010
[    0.000000] firmware_features = 0x0000000000000000
[    0.000000] -----------------------------------------------------
[    0.000000] CoreNet Generic board
[    0.000000] barrier-nospec: using isync; sync as speculation barrier
[    0.000000] barrier-nospec: patched 572 locations
[    0.000000] Top of RAM: 0x200000000, Total RAM: 0x200000000
[    0.000000] Memory hole size: 0MB
[    0.000000] Zone ranges:
[    0.000000]   DMA      [mem 0x0000000000000000-0x000000007fffffff]
[    0.000000]   Normal   [mem 0x0000000080000000-0x00000001ffffffff]
[    0.000000] Movable zone start for each node
[    0.000000] Early memory node ranges
[    0.000000]   node   0: [mem 0x0000000000000000-0x00000001ffffffff]
[    0.000000] Initmem setup node 0 [mem 0x0000000000000000-0x00000001ffffffff]
[    0.000000] On node 0 totalpages: 2097152
[    0.000000]   DMA zone: 7168 pages used for memmap
[    0.000000]   DMA zone: 0 pages reserved
[    0.000000]   DMA zone: 524288 pages, LIFO batch:63
[    0.000000]   Normal zone: 21504 pages used for memmap
[    0.000000]   Normal zone: 1572864 pages, LIFO batch:63
[    0.000000] MMU: Allocated 2112 bytes of context maps for 255 contexts
[    0.000000] percpu: Embedded 20 pages/cpu s45008 r0 d36912 u262144
[    0.000000] pcpu-alloc: s45008 r0 d36912 u262144 alloc=1*1048576
[    0.000000] pcpu-alloc: [0] 0 1 2 3 
[    0.000000] Built 1 zonelists, mobility grouping on.  Total pages: 2068480
[    0.000000] Kernel command line: root=/dev/sda2
[    0.000000] Dentry cache hash table entries: 1048576 (order: 11, 8388608 bytes, linear)
[    0.000000] Inode-cache hash table entries: 524288 (order: 10, 4194304 bytes, linear)
[    0.000000] mem auto-init: stack:off, heap alloc:off, heap free:off
[    0.000000] Memory: 8117180K/8388608K available (12268K kernel code, 2212K rwdata, 8676K rodata, 412K init, 735K bss, 271428K reserved, 0K cma-reserved)
[    0.000000] SLUB: HWalign=64, Order=0-3, MinObjects=0, CPUs=4, Nodes=1
[    0.000000] rcu: Preemptible hierarchical RCU implementation.
[    0.000000] 	Tasks RCU enabled.
[    0.000000] rcu: RCU calculated value of scheduler-enlistment delay is 100 jiffies.
[    0.000000] NR_IRQS: 512, nr_irqs: 512, preallocated irqs: 16
[    0.000000] mpic: Setting up MPIC " OpenPIC  " version 1.2 at ffe040000, max 4 CPUs
[    0.000000] mpic: ISU size: 512, shift: 9, mask: 1ff
[    0.000000] mpic: Initializing for 512 sources
[    0.000000] random: get_random_u64 called from .start_kernel+0x378/0x5ac with crng_init=0
[    0.000000] time_init: decrementer frequency = 50.000000 MHz
[    0.000000] time_init: processor frequency   = 2200.000000 MHz
[    0.000003] clocksource: timebase: mask: 0xffffffffffffffff max_cycles: 0xb8812736b, max_idle_ns: 440795202655 ns
[    0.000006] clocksource: timebase mult[14000000] shift[24] registered
[    0.000017] clockevent: decrementer mult[ccccccd] shift[32] cpu[0]
[    0.001578] Console: colour dummy device 80x25
[    0.001810] printk: console [tty0] enabled
[    0.001825] pid_max: default: 32768 minimum: 301
[    0.001915] Mount-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.001957] Mountpoint-cache hash table entries: 16384 (order: 5, 131072 bytes, linear)
[    0.001995] *** VALIDATE tmpfs ***
[    0.002266] *** VALIDATE proc ***
[    0.002324] *** VALIDATE cgroup1 ***
[    0.002331] *** VALIDATE cgroup2 ***
[    0.007595] e500 family performance monitor hardware support registered
[    0.009587] rcu: Hierarchical SRCU implementation.
[    0.013603] smp: Bringing up secondary CPUs ...
[    0.037940] smp: Brought up 1 node, 4 CPUs
[    0.037949] Using standard scheduler topology
[    0.038246] devtmpfs: initialized
[    0.041099] clocksource: jiffies: mask: 0xffffffff max_cycles: 0xffffffff, max_idle_ns: 1911260446275000 ns
[    0.041120] futex hash table entries: 1024 (order: 4, 65536 bytes, linear)
[    0.041221] xor: measuring software checksum speed
[    0.050736]    8regs     :  4508.000 MB/sec
[    0.060756]    8regs_prefetch:  3696.000 MB/sec
[    0.070775]    32regs    :  4804.000 MB/sec
[    0.080795]    32regs_prefetch:  3704.000 MB/sec
[    0.080801] xor: using function: 32regs (4804.000 MB/sec)
[    0.081160] NET: Registered protocol family 16
[    0.082010] cpuidle: using governor ladder
[    0.082027] cpuidle: using governor menu
[    0.088995] Machine: varisys,CYRUS5040
[    0.089005] SoC family: QorIQ
[    0.089009] SoC ID: svr:0x82040021, Revision: 2.1
[    0.091841] Found FSL PCI host bridge at 0x0000000ffe200000. Firmware bus number: 0->1
[    0.091860] PCI host bridge /pcie@ffe200000  ranges:
[    0.091871]  MEM 0x0000000c00000000..0x0000000c1fffffff -> 0x00000000e0000000 
[    0.091880]   IO 0x0000000ff8000000..0x0000000ff800ffff -> 0x0000000000000000
[    0.091911] /pcie@ffe200000: PCICSRBAR @ 0xdf000000
[    0.091917] setup_pci_atmu: end of DRAM 200000000
[    0.091927] /pcie@ffe200000: Setup 64-bit PCI DMA window
[    0.091933] /pcie@ffe200000: DMA window size is 0xdf000000
[    0.092253] Found FSL PCI host bridge at 0x0000000ffe201000. Firmware bus number: 0->8
[    0.092263] PCI host bridge /pcie@ffe201000  ranges:
[    0.092272]  MEM 0x0000000c20000000..0x0000000c3fffffff -> 0x00000000e0000000 
[    0.092281]   IO 0x0000000ff8010000..0x0000000ff801ffff -> 0x0000000000000000
[    0.092301] /pcie@ffe201000: PCICSRBAR @ 0xdf000000
[    0.092306] setup_pci_atmu: end of DRAM 200000000
[    0.092316] /pcie@ffe201000: Setup 64-bit PCI DMA window
[    0.092322] /pcie@ffe201000: DMA window size is 0xdf000000
[    0.094017] software IO TLB: mapped [mem 0xfbfff000-0xfffff000] (64MB)
[    0.094027] PCI: Probing PCI hardware
[    0.094120] fsl-pci ffe200000.pcie: PCI host bridge to bus 0000:00
[    0.094131] pci_bus 0000:00: root bus resource [io  0x8000080000010000-0x800008000001ffff] (bus address [0x0000-0xffff])
[    0.094144] pci_bus 0000:00: root bus resource [mem 0xc00000000-0xc1fffffff] (bus address [0xe0000000-0xffffffff])
[    0.094156] pci_bus 0000:00: root bus resource [bus 00-01]
[    0.094164] pci_bus 0000:00: busn_res: [bus 00-01] end is updated to ff
[    0.094187] pci 0000:00:00.0: [1957:0451] type 01 class 0x0b2000
[    0.094213] pci 0000:00:00.0: reg 0x10: [mem 0xdf000000-0xdfffffff]
[    0.094269] pci 0000:00:00.0: supports D1 D2
[    0.094276] pci 0000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.096051] pci 0000:01:00.0: [1002:6718] type 00 class 0x030000
[    0.096084] pci 0000:01:00.0: reg 0x10: [mem 0xc00000000-0xc0fffffff 64bit pref]
[    0.096101] pci 0000:01:00.0: reg 0x18: [mem 0xc10000000-0xc1001ffff 64bit]
[    0.096115] pci 0000:01:00.0: reg 0x20: [io  0x8000080000011000-0x80000800000110ff]
[    0.096134] pci 0000:01:00.0: reg 0x30: [mem 0x00000000-0x0001ffff pref]
[    0.096148] pci 0000:01:00.0: enabling Extended Tags
[    0.096207] pci 0000:01:00.0: supports D1 D2
[    0.096240] pci 0000:01:00.0: 8.000 Gb/s available PCIe bandwidth, limited by 2.5 GT/s x4 link at 0000:00:00.0 (capable of 32.000 Gb/s with 2.5 GT/s x16 link)
[    0.096350] pci 0000:01:00.1: [1002:aa80] type 00 class 0x040300
[    0.096382] pci 0000:01:00.1: reg 0x10: [mem 0xc10020000-0xc10023fff 64bit]
[    0.096422] pci 0000:01:00.1: enabling Extended Tags
[    0.096479] pci 0000:01:00.1: supports D1 D2
[    0.100390] pci 0000:00:00.0: PCI bridge to [bus 01-ff]
[    0.100402] pci 0000:00:00.0:   bridge window [io  0x8000080000011000-0x8000080000011fff]
[    0.100412] pci 0000:00:00.0:   bridge window [mem 0xc00000000-0xc100fffff]
[    0.100475] pci_bus 0000:01: busn_res: [bus 01-ff] end is updated to 01
[    0.100485] pci_bus 0000:00: busn_res: [bus 00-ff] end is updated to 01
[    0.100576] fsl-pci ffe201000.pcie: PCI host bridge to bus 1000:00
[    0.100586] pci_bus 1000:00: root bus resource [io  0x8000080000021000-0x8000080000030fff] (bus address [0x0000-0xffff])
[    0.100599] pci_bus 1000:00: root bus resource [mem 0xc20000000-0xc3fffffff] (bus address [0xe0000000-0xffffffff])
[    0.100610] pci_bus 1000:00: root bus resource [bus 00-08]
[    0.100618] pci_bus 1000:00: busn_res: [bus 00-08] end is updated to ff
[    0.100637] pci 1000:00:00.0: [1957:0451] type 01 class 0x0b2000
[    0.100656] pci 1000:00:00.0: reg 0x10: [mem 0xdf000000-0xdfffffff]
[    0.100702] pci 1000:00:00.0: supports D1 D2
[    0.100709] pci 1000:00:00.0: PME# supported from D0 D1 D2 D3hot D3cold
[    0.102430] pci 1000:01:00.0: [111d:8092] type 01 class 0x060400
[    0.102524] pci 1000:01:00.0: enabling Extended Tags
[    0.102617] pci 1000:01:00.0: PME# supported from D0 D3hot D3cold
[    0.106474] pci 1000:00:00.0: PCI bridge to [bus 01-ff]
[    0.106486] pci 1000:00:00.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.106496] pci 1000:00:00.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.106692] pci 1000:02:01.0: [111d:8092] type 01 class 0x060400
[    0.106789] pci 1000:02:01.0: enabling Extended Tags
[    0.106899] pci 1000:02:01.0: PME# supported from D0 D3hot D3cold
[    0.107111] pci 1000:02:02.0: [111d:8092] type 01 class 0x060400
[    0.107208] pci 1000:02:02.0: enabling Extended Tags
[    0.107317] pci 1000:02:02.0: PME# supported from D0 D3hot D3cold
[    0.107523] pci 1000:02:03.0: [111d:8092] type 01 class 0x060400
[    0.107620] pci 1000:02:03.0: enabling Extended Tags
[    0.107728] pci 1000:02:03.0: PME# supported from D0 D3hot D3cold
[    0.108128] pci 1000:02:08.0: [111d:8092] type 01 class 0x060400
[    0.108226] pci 1000:02:08.0: enabling Extended Tags
[    0.108337] pci 1000:02:08.0: PME# supported from D0 D3hot D3cold
[    0.108870] pci 1000:02:10.0: [111d:8092] type 01 class 0x060400
[    0.108955] pci 1000:02:10.0: enabling Extended Tags
[    0.109049] pci 1000:02:10.0: PME# supported from D0 D3hot D3cold
[    0.109938] pci 1000:01:00.0: PCI bridge to [bus 02-ff]
[    0.109954] pci 1000:01:00.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.109967] pci 1000:01:00.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.110184] pci 1000:03:00.0: [12d8:e111] type 01 class 0x060400
[    0.110265] pci 1000:03:00.0: enabling Extended Tags
[    0.110279] pci 1000:03:00.0: Enable PCIe Retrain Link quirk
[    0.110369] pci 1000:03:00.0: PME# supported from D0 D3hot D3cold
[    0.114568] pci 1000:02:01.0: PCI bridge to [bus 03-ff]
[    0.114584] pci 1000:02:01.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.114597] pci 1000:02:01.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.114706] pci_bus 1000:04: extended config space not accessible
[    0.114978] pci 1000:04:04.0: [10ec:8139] type 00 class 0x020000
[    0.115010] pci 1000:04:04.0: reg 0x10: [io  0x8000080000022000-0x80000800000220ff]
[    0.115029] pci 1000:04:04.0: reg 0x14: [mem 0xc20000000-0xc200000ff]
[    0.115154] pci 1000:04:04.0: supports D1 D2
[    0.115161] pci 1000:04:04.0: PME# supported from D1 D2 D3hot D3cold
[    0.115328] pci 1000:04:05.0: [109e:036e] type 00 class 0x040000
[    0.115361] pci 1000:04:05.0: reg 0x10: [mem 0xc20001000-0xc20001fff pref]
[    0.115609] pci 1000:04:05.1: [109e:0878] type 00 class 0x048000
[    0.115641] pci 1000:04:05.1: reg 0x10: [mem 0xc20002000-0xc20002fff pref]
[    0.117179] pci 1000:03:00.0: PCI bridge to [bus 04-ff]
[    0.117194] pci 1000:03:00.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.117206] pci 1000:03:00.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.117262] pci_bus 1000:04: busn_res: [bus 04-ff] end is updated to 04
[    0.117273] pci_bus 1000:03: busn_res: [bus 03-ff] end is updated to 04
[    0.118853] pci 1000:02:02.0: PCI bridge to [bus 05-ff]
[    0.118883] pci_bus 1000:05: busn_res: [bus 05-ff] end is updated to 05
[    0.120469] pci 1000:02:03.0: PCI bridge to [bus 06-ff]
[    0.120499] pci_bus 1000:06: busn_res: [bus 06-ff] end is updated to 06
[    0.122077] pci 1000:02:08.0: PCI bridge to [bus 07-ff]
[    0.122108] pci_bus 1000:07: busn_res: [bus 07-ff] end is updated to 07
[    0.123682] pci 1000:02:10.0: PCI bridge to [bus 08-ff]
[    0.123712] pci_bus 1000:08: busn_res: [bus 08-ff] end is updated to 08
[    0.123722] pci_bus 1000:02: busn_res: [bus 02-ff] end is updated to 08
[    0.123732] pci_bus 1000:01: busn_res: [bus 01-ff] end is updated to 08
[    0.123742] pci_bus 1000:00: busn_res: [bus 00-ff] end is updated to 08
[    0.123757] PCI: Cannot allocate resource region 0 of device 0000:00:00.0, will remap
[    0.123773] PCI: Cannot allocate resource region 0 of device 1000:00:00.0, will remap
[    0.123841] PCI 0000:00 Cannot reserve Legacy IO [io  0x8000080000010000-0x10fff]
[    0.123844] PCI 1000:00 Cannot reserve Legacy IO [io  0x8000080000021000-0x21fff]
[    0.123857] pci 0000:00:00.0: BAR 0: no space for [mem size 0x01000000]
[    0.123866] pci 0000:00:00.0: BAR 0: failed to assign [mem size 0x01000000]
[    0.123877] pci 0000:01:00.0: BAR 6: assigned [mem 0xc10040000-0xc1005ffff pref]
[    0.123887] pci 0000:00:00.0: PCI bridge to [bus 01]
[    0.123895] pci 0000:00:00.0:   bridge window [io  0x8000080000010000-0x800008000001ffff]
[    0.123905] pci 0000:00:00.0:   bridge window [mem 0xc00000000-0xc1fffffff]
[    0.123915] pci_bus 0000:00: Some PCI device resources are unassigned, try booting with pci=realloc
[    0.123926] pci_bus 0000:00: resource 4 [io  0x8000080000010000-0x800008000001ffff]
[    0.123935] pci_bus 0000:00: resource 5 [mem 0xc00000000-0xc1fffffff]
[    0.123943] pci_bus 0000:01: resource 0 [io  0x8000080000010000-0x800008000001ffff]
[    0.123952] pci_bus 0000:01: resource 1 [mem 0xc00000000-0xc1fffffff]
[    0.123968] pci 1000:00:00.0: BAR 0: no space for [mem size 0x01000000]
[    0.123976] pci 1000:00:00.0: BAR 0: failed to assign [mem size 0x01000000]
[    0.123987] pci 1000:03:00.0: PCI bridge to [bus 04]
[    0.123996] pci 1000:03:00.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.124005] pci 1000:03:00.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.124017] pci 1000:02:01.0: PCI bridge to [bus 03-04]
[    0.124026] pci 1000:02:01.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.124036] pci 1000:02:01.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.124050] pci 1000:02:02.0: PCI bridge to [bus 05]
[    0.124067] pci 1000:02:03.0: PCI bridge to [bus 06]
[    0.124084] pci 1000:02:08.0: PCI bridge to [bus 07]
[    0.124102] pci 1000:02:10.0: PCI bridge to [bus 08]
[    0.124119] pci 1000:01:00.0: PCI bridge to [bus 02-08]
[    0.124128] pci 1000:01:00.0:   bridge window [io  0x8000080000022000-0x8000080000022fff]
[    0.124138] pci 1000:01:00.0:   bridge window [mem 0xc20000000-0xc200fffff]
[    0.124152] pci 1000:00:00.0: PCI bridge to [bus 01-08]
[    0.124159] pci 1000:00:00.0:   bridge window [io  0x8000080000021000-0x8000080000030fff]
[    0.124169] pci 1000:00:00.0:   bridge window [mem 0xc20000000-0xc3fffffff]
[    0.124179] pci_bus 1000:00: Some PCI device resources are unassigned, try booting with pci=realloc
[    0.124190] pci_bus 1000:00: resource 4 [io  0x8000080000021000-0x8000080000030fff]
[    0.124198] pci_bus 1000:00: resource 5 [mem 0xc20000000-0xc3fffffff]
[    0.124206] pci_bus 1000:01: resource 0 [io  0x8000080000021000-0x8000080000030fff]
[    0.124215] pci_bus 1000:01: resource 1 [mem 0xc20000000-0xc3fffffff]
[    0.124223] pci_bus 1000:02: resource 0 [io  0x8000080000022000-0x8000080000022fff]
[    0.124237] pci_bus 1000:02: resource 1 [mem 0xc20000000-0xc200fffff]
[    0.124245] pci_bus 1000:03: resource 0 [io  0x8000080000022000-0x8000080000022fff]
[    0.124254] pci_bus 1000:03: resource 1 [mem 0xc20000000-0xc200fffff]
[    0.124262] pci_bus 1000:04: resource 0 [io  0x8000080000022000-0x8000080000022fff]
[    0.124270] pci_bus 1000:04: resource 1 [mem 0xc20000000-0xc200fffff]
[    0.124289] PCI: Probing PCI hardware done
[    0.124689] Setting up Freescale MSI support
[    0.124940] Setting up Freescale MSI support
[    0.125170] Setting up Freescale MSI support
[    0.161368] raid6: int64x8  gen()   867 MB/s
[    0.178437] raid6: int64x8  xor()   548 MB/s
[    0.195476] raid6: int64x4  gen()   906 MB/s
[    0.212487] raid6: int64x4  xor()   578 MB/s
[    0.229514] raid6: int64x2  gen()  1316 MB/s
[    0.246519] raid6: int64x2  xor()  1042 MB/s
[    0.263544] raid6: int64x1  gen()   839 MB/s
[    0.280578] raid6: int64x1  xor()   775 MB/s
[    0.280584] raid6: using algorithm int64x2 gen() 1316 MB/s
[    0.280590] raid6: .... xor() 1042 MB/s, rmw enabled
[    0.280595] raid6: using intx1 recovery algorithm
[    0.280669] Freescale Elo series DMA driver
[    0.280904] fsl-elo-dma ffe100300.dma: #0 (fsl,eloplus-dma-channel), irq 28
[    0.280950] fsl-elo-dma ffe100300.dma: #1 (fsl,eloplus-dma-channel), irq 29
[    0.280998] fsl-elo-dma ffe100300.dma: #2 (fsl,eloplus-dma-channel), irq 30
[    0.281046] fsl-elo-dma ffe100300.dma: #3 (fsl,eloplus-dma-channel), irq 31
[    0.281296] fsl-elo-dma ffe101300.dma: #0 (fsl,eloplus-dma-channel), irq 32
[    0.281342] fsl-elo-dma ffe101300.dma: #1 (fsl,eloplus-dma-channel), irq 33
[    0.281387] fsl-elo-dma ffe101300.dma: #2 (fsl,eloplus-dma-channel), irq 34
[    0.281434] fsl-elo-dma ffe101300.dma: #3 (fsl,eloplus-dma-channel), irq 35
[    0.281859] pci 0000:01:00.0: vgaarb: VGA device added: decodes=io+mem,owns=none,locks=none
[    0.281882] pci 0000:01:00.0: vgaarb: bridge control possible
[    0.281890] pci 0000:01:00.0: vgaarb: setting as boot device (VGA legacy resources not available)
[    0.281899] vgaarb: loaded
[    0.282087] SCSI subsystem initialized
[    0.282189] libata version 3.00 loaded.
[    0.282316] usbcore: registered new interface driver usbfs
[    0.282343] usbcore: registered new interface driver hub
[    0.282379] usbcore: registered new device driver usb
[    0.282458] pps_core: LinuxPPS API ver. 1 registered
[    0.282465] pps_core: Software ver. 5.3.6 - Copyright 2005-2007 Rodolfo Giometti <giometti@linux.it>
[    0.282484] PTP clock support registered
[    0.282577] EDAC MC: Ver: 3.0.0
[    0.282900] Advanced Linux Sound Architecture Driver Initialized.
[    0.283168] NET: Registered protocol family 8
[    0.283174] NET: Registered protocol family 20
[    0.283411] clocksource: Switched to clocksource timebase
[    0.283498] FS-Cache: Loaded
[    0.283504] *** VALIDATE ramfs ***
[    0.283553] CacheFiles: Loaded
[    0.286633] thermal_sys: Registered thermal governor 'step_wise'
[    0.286876] NET: Registered protocol family 2
[    0.287141] tcp_listen_portaddr_hash hash table entries: 4096 (order: 4, 65536 bytes, linear)
[    0.287200] TCP established hash table entries: 65536 (order: 7, 524288 bytes, linear)
[    0.287517] TCP bind hash table entries: 65536 (order: 8, 1048576 bytes, linear)
[    0.288115] TCP: Hash tables configured (established 65536 bind 65536)
[    0.288215] UDP hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.288308] UDP-Lite hash table entries: 4096 (order: 5, 131072 bytes, linear)
[    0.288498] NET: Registered protocol family 1
[    0.288731] RPC: Registered named UNIX socket transport module.
[    0.288738] RPC: Registered udp transport module.
[    0.288743] RPC: Registered tcp transport module.
[    0.288748] RPC: Registered tcp NFSv4.1 backchannel transport module.
[    0.288785] pci 0000:01:00.1: D0 power state depends on 0000:01:00.0
[    0.288849] PCI: CLS 32 bytes, default 64
[    0.289819] Initialise system trusted keyrings
[    0.289889] workingset: timestamp_bits=62 max_order=21 bucket_order=0
[    0.292478] zbud: loaded
[    0.293071] squashfs: version 4.0 (2009/01/31) Phillip Lougher
[    0.293786] Key type cifs.idmap registered
[    0.293797] ntfs: driver 2.1.32 [Flags: R/W].
[    0.293901] jffs2: version 2.2. (NAND) (SUMMARY)  © 2001-2006 Red Hat, Inc.
[    0.294059] *** VALIDATE jffs2 ***
[    0.294126] fuse: init (API version 7.31)
[    0.294162] *** VALIDATE fuse ***
[    0.294168] *** VALIDATE fuse ***
[    0.303619] NET: Registered protocol family 38
[    0.303643] async_tx: api initialized (async)
[    0.303650] Key type asymmetric registered
[    0.303656] Asymmetric key parser 'x509' registered
[    0.303681] Block layer SCSI generic (bsg) driver version 0.4 loaded (major 248)
[    0.303690] io scheduler mq-deadline registered
[    0.303696] io scheduler kyber registered
[    0.304524] crc32: CRC_LE_BITS = 64, CRC_BE BITS = 64
[    0.304531] crc32: self tests passed, processed 225944 bytes in 392240 nsec
[    0.304939] crc32c: CRC_LE_BITS = 64
[    0.304943] crc32c: self tests passed, processed 225944 bytes in 196400 nsec
[    0.333732] crc32_combine: 8373 self tests passed
[    0.362507] crc32c_combine: 8373 self tests passed
[    0.362963] pcieport 0000:00:00.0: PME: Signaling with IRQ 482
[    0.363081] pcieport 0000:00:00.0: AER: enabled with IRQ 482
[    0.363235] pcieport 1000:00:00.0: PME: Signaling with IRQ 481
[    0.363359] pcieport 1000:00:00.0: AER: enabled with IRQ 481
[    0.397920] bman_portal ff4000000.bman-portal: Portal initialised, cpu 0
[    0.397993] bman_portal ff4004000.bman-portal: Portal initialised, cpu 1
[    0.398046] bman_portal ff4008000.bman-portal: Portal initialised, cpu 2
[    0.398105] bman_portal ff400c000.bman-portal: Portal initialised, cpu 3
[    0.398507] qman_portal ff4200000.qman-portal: Portal initialised, cpu 0
[    0.398565] qman_portal ff4204000.qman-portal: Portal initialised, cpu 1
[    0.398622] qman_portal ff4208000.qman-portal: Portal initialised, cpu 2
[    0.398779] qman_portal ff420c000.qman-portal: Portal initialised, cpu 3
[    0.418352] Serial: 8250/16550 driver, 4 ports, IRQ sharing enabled
[    0.419084] serial8250.0: ttyS0 at MMIO 0xffe11c500 (irq = 36, base_baud = 25000000) is a 16550A
[    0.419354] serial8250.0: ttyS1 at MMIO 0xffe11c600 (irq = 36, base_baud = 25000000) is a 16550A
[    0.419625] serial8250.0: ttyS2 at MMIO 0xffe11d500 (irq = 37, base_baud = 25000000) is a 16550A
[    0.419882] serial8250.0: ttyS3 at MMIO 0xffe11d600 (irq = 37, base_baud = 25000000) is a 16550A
[    0.420107] ePAPR hypervisor byte channel driver
[    0.420450] [drm] radeon kernel modesetting enabled.
[    0.420525] radeon 0000:01:00.0: remove_conflicting_pci_framebuffers: bar 0: 0xc00000000 -> 0xc0fffffff
[    0.420537] radeon 0000:01:00.0: remove_conflicting_pci_framebuffers: bar 2: 0xc10000000 -> 0xc1001ffff
[    0.420548] radeon 0000:01:00.0: vgaarb: deactivate vga console
[    0.420767] [drm] initializing kernel modesetting (CAYMAN 0x1002:0x6718 0x1682:0x3130 0x00).
[    0.591074] ATOM BIOS: CAYMAN
[    0.591149] radeon 0000:01:00.0: VRAM: 2048M 0x0000000000000000 - 0x000000007FFFFFFF (2048M used)
[    0.591160] radeon 0000:01:00.0: GTT: 1024M 0x0000000080000000 - 0x00000000BFFFFFFF
[    0.591168] [drm] Detected VRAM RAM=2048M, BAR=256M
[    0.591173] [drm] RAM width 256bits DDR
[    0.591273] [TTM] Zone  kernel: Available graphics memory: 4058590 KiB
[    0.591281] [TTM] Zone   dma32: Available graphics memory: 2097152 KiB
[    0.591287] [TTM] Initializing pool allocator
[    0.591298] [TTM] Initializing DMA pool allocator
[    0.591334] [drm] radeon: 2048M of VRAM memory ready
[    0.591340] [drm] radeon: 1024M of GTT memory ready.
[    0.591360] [drm] Loading CAYMAN Microcode
[    0.591377] [drm] Internal thermal controller with fan control
[    0.597393] [drm] radeon: dpm initialized
[    0.597454] [drm] GART: num cpu pages 262144, num gpu pages 262144
[    0.599486] [drm] enabling PCIE gen 2 link speeds, disable with radeon.pcie_gen2=0
[    0.622115] [drm] PCIE GART of 1024M enabled (table at 0x0000000000162000).
[    0.622244] radeon 0000:01:00.0: WB enabled
[    0.622253] radeon 0000:01:00.0: fence driver on ring 0 use gpu addr 0x0000000080000c00 and cpu addr 0x(____ptrval____)
[    0.626469] radeon 0000:01:00.0: fence driver on ring 5 use gpu addr 0x0000000000072118 and cpu addr 0x(____ptrval____)
[    0.626482] radeon 0000:01:00.0: fence driver on ring 1 use gpu addr 0x0000000080000c04 and cpu addr 0x(____ptrval____)
[    0.626495] radeon 0000:01:00.0: fence driver on ring 2 use gpu addr 0x0000000080000c08 and cpu addr 0x(____ptrval____)
[    0.626507] radeon 0000:01:00.0: fence driver on ring 3 use gpu addr 0x0000000080000c0c and cpu addr 0x(____ptrval____)
[    0.626519] radeon 0000:01:00.0: fence driver on ring 4 use gpu addr 0x0000000080000c10 and cpu addr 0x(____ptrval____)
[    0.626532] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[    0.626539] [drm] Driver supports precise vblank timestamp query.
[    0.626546] radeon 0000:01:00.0: radeon: MSI limited to 32-bit
[    0.626618] radeon 0000:01:00.0: radeon: using MSI.
[    0.626656] [drm] radeon: irq initialized.
[    0.645440] [drm] ring test on 0 succeeded in 2 usecs
[    0.645455] [drm] ring test on 3 succeeded in 4 usecs
[    0.645467] [drm] ring test on 4 succeeded in 4 usecs
[    0.822579] [drm] ring test on 5 succeeded in 2 usecs
[    0.822591] [drm] UVD initialized successfully.
[    0.822846] [drm] ib test on ring 0 succeeded in 0 usecs
[    0.822918] [drm] ib test on ring 3 succeeded in 0 usecs
[    0.822988] [drm] ib test on ring 4 succeeded in 0 usecs
[    1.474434] [drm] ib test on ring 5 succeeded
[    1.475320] [drm] Radeon Display Connectors
[    1.475327] [drm] Connector 0:
[    1.475330] [drm]   DP-1
[    1.475334] [drm]   HPD5
[    1.475338] [drm]   DDC: 0x6430 0x6430 0x6434 0x6434 0x6438 0x6438 0x643c 0x643c
[    1.475345] [drm]   Encoders:
[    1.475349] [drm]     DFP1: INTERNAL_UNIPHY2
[    1.475354] [drm] Connector 1:
[    1.475357] [drm]   DP-2
[    1.475360] [drm]   HPD4
[    1.475364] [drm]   DDC: 0x6440 0x6440 0x6444 0x6444 0x6448 0x6448 0x644c 0x644c
[    1.475371] [drm]   Encoders:
[    1.475374] [drm]     DFP2: INTERNAL_UNIPHY2
[    1.475379] [drm] Connector 2:
[    1.475382] [drm]   HDMI-A-1
[    1.475385] [drm]   HPD6
[    1.475390] [drm]   DDC: 0x6460 0x6460 0x6464 0x6464 0x6468 0x6468 0x646c 0x646c
[    1.475407] [drm]   Encoders:
[    1.475412] [drm]     DFP3: INTERNAL_UNIPHY1
[    1.475416] [drm] Connector 3:
[    1.475420] [drm]   DVI-D-1
[    1.475423] [drm]   HPD1
[    1.475427] [drm]   DDC: 0x6450 0x6450 0x6454 0x6454 0x6458 0x6458 0x645c 0x645c
[    1.475434] [drm]   Encoders:
[    1.475437] [drm]     DFP4: INTERNAL_UNIPHY1
[    1.475442] [drm] Connector 4:
[    1.475445] [drm]   DVI-I-1
[    1.475448] [drm]   HPD3
[    1.475453] [drm]   DDC: 0x6470 0x6470 0x6474 0x6474 0x6478 0x6478 0x647c 0x647c
[    1.475459] [drm]   Encoders:
[    1.475463] [drm]     DFP5: INTERNAL_UNIPHY
[    1.475467] [drm]     CRT1: INTERNAL_KLDSCP_DAC1
[    1.587761] [drm] fb mappable at 0xC00371000
[    1.587768] [drm] vram apper at 0xC00000000
[    1.587772] [drm] size 7680000
[    1.587776] [drm] fb depth is 24
[    1.587779] [drm]    pitch is 6400
[    1.738129] Console: switching to colour frame buffer device 200x75
[    1.761352] radeon 0000:01:00.0: fb0: radeondrmfb frame buffer device
[    1.761533] [drm] Initialized radeon 2.50.0 20080528 for 0000:01:00.0 on minor 0
[    1.765327] brd: module loaded
[    1.767675] loop: module loaded
[    1.767936] zram: Added device: zram0
[    2.576747] fsl-sata ffe220000.sata: Sata FSL Platform/CSB Driver init
[    2.577187] scsi host0: sata_fsl
[    2.577359] ata1: SATA max UDMA/133 irq 68
[    2.577477] fsl-sata ffe221000.sata: Sata FSL Platform/CSB Driver init
[    2.577859] scsi host1: sata_fsl
[    2.577987] ata2: SATA max UDMA/133 irq 69
[    2.579012] fsl_espi ffe110000.spi: at 0x(____ptrval____) (irq = 53)
[    2.579905] libphy: Fixed MDIO Bus: probed
[    2.581135] libphy: Freescale PowerQUICC MII Bus: probed
[    2.583297] libphy: Freescale PowerQUICC MII Bus: probed
[    2.583954] libphy: Freescale PowerQUICC MII Bus: probed
[    2.584517] libphy: Freescale PowerQUICC MII Bus: probed
[    2.585073] libphy: Freescale PowerQUICC MII Bus: probed
[    2.585859] libphy: Freescale XGMAC MDIO Bus: probed
[    2.591336] libphy: Freescale PowerQUICC MII Bus: probed
[    2.592101] libphy: Freescale PowerQUICC MII Bus: probed
[    2.592757] libphy: Freescale PowerQUICC MII Bus: probed
[    2.593415] libphy: Freescale PowerQUICC MII Bus: probed
[    2.594058] libphy: Freescale PowerQUICC MII Bus: probed
[    2.594811] libphy: Freescale XGMAC MDIO Bus: probed
[    2.600870] fsl_dpaa_mac ffe4e6000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e6000) failed
[    2.601060] fsl_dpaa_mac: probe of ffe4e6000.ethernet failed with error -22
[    2.601225] fsl_dpaa_mac ffe4e8000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e8000) failed
[    2.601414] fsl_dpaa_mac: probe of ffe4e8000.ethernet failed with error -22
[    2.601608] fsl_dpaa_mac ffe4e0000.ethernet: of_get_phy_mode() for /soc@ffe000000/fman@400000/ethernet@e0000 failed. Defaulting to SGMII
[    2.602103] fsl_dpaa_mac ffe4e0000.ethernet: FMan dTSEC version: 0x08240101
[    2.602410] fsl_dpaa_mac ffe4e0000.ethernet: FMan MAC address: 00:04:a3:6b:41:65
[    2.602677] fsl_dpaa_mac ffe4e2000.ethernet: of_get_phy_mode() for /soc@ffe000000/fman@400000/ethernet@e2000 failed. Defaulting to SGMII
[    2.602915] fsl_dpaa_mac ffe4e2000.ethernet: FMan dTSEC version: 0x00000000
[    2.603255] fsl_dpaa_mac ffe4e2000.ethernet: FMan MAC address: 00:1e:c0:f8:01:59
[    2.603494] fsl_dpaa_mac ffe4e4000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@e4000) failed
[    2.603683] fsl_dpaa_mac: probe of ffe4e4000.ethernet failed with error -22
[    2.603867] fsl_dpaa_mac ffe4f0000.ethernet: of_get_mac_address(/soc@ffe000000/fman@400000/ethernet@f0000) failed
[    2.604055] fsl_dpaa_mac: probe of ffe4f0000.ethernet failed with error -22
[    2.604251] fsl_dpaa_mac ffe5e0000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@e0000) failed
[    2.604444] fsl_dpaa_mac: probe of ffe5e0000.ethernet failed with error -22
[    2.604632] fsl_dpaa_mac ffe5e2000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@e2000) failed
[    2.604820] fsl_dpaa_mac: probe of ffe5e2000.ethernet failed with error -22
[    2.605008] fsl_dpaa_mac ffe5e4000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@e4000) failed
[    2.605196] fsl_dpaa_mac: probe of ffe5e4000.ethernet failed with error -22
[    2.610663] fsl_dpaa_mac ffe5e6000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@e6000) failed
[    2.616206] fsl_dpaa_mac: probe of ffe5e6000.ethernet failed with error -22
[    2.621920] fsl_dpaa_mac ffe5e8000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@e8000) failed
[    2.627635] fsl_dpaa_mac: probe of ffe5e8000.ethernet failed with error -22
[    2.633435] fsl_dpaa_mac ffe5f0000.ethernet: of_get_mac_address(/soc@ffe000000/fman@500000/ethernet@f0000) failed
[    2.639276] fsl_dpaa_mac: probe of ffe5f0000.ethernet failed with error -22
[    2.647844] fsl_dpaa_mac ffe4e0000.ethernet eth0: Probed interface eth0
[    2.655969] fsl_dpaa_mac ffe4e2000.ethernet eth1: Probed interface eth1
[    2.661936] e1000: Intel(R) PRO/1000 Network Driver - version 7.3.21-k8-NAPI
[    2.667938] e1000: Copyright (c) 1999-2006 Intel Corporation.
[    2.673894] e1000e: Intel(R) PRO/1000 Network Driver - 3.2.6-k
[    2.679838] e1000e: Copyright(c) 1999 - 2015 Intel Corporation.
[    2.685926] 8139cp: 8139cp: 10/100 PCI Ethernet driver v1.3 (Mar 22, 2004)
[    2.692026] 8139cp 1000:04:04.0: This (id 10ec:8139 rev 10) is not an 8139C+ compatible chip, use 8139too
[    2.698347] 8139too: 8139too Fast Ethernet driver 0.9.28
[    2.705654] 8139too 1000:04:04.0 eth2: RealTek RTL8139 at 0x(____ptrval____), 00:50:fc:cb:51:81, IRQ 18
[    2.712145] PPP generic driver version 2.4.2
[    2.718585] PPP BSD Compression module registered
[    2.724936] PPP Deflate Compression module registered
[    2.731348] PPP MPPE Compression module registered
[    2.737764] NET: Registered protocol family 24
[    2.744265] ehci_hcd: USB 2.0 'Enhanced' Host Controller (EHCI) Driver
[    2.751037] ehci-pci: EHCI PCI platform driver
[    2.757642] ohci_hcd: USB 1.1 'Open' Host Controller (OHCI) Driver
[    2.764494] ohci-pci: OHCI PCI platform driver
[    2.771806] ehci-fsl: Freescale EHCI Host controller driver
[    2.778370] fsl-ehci fsl-ehci.0: Freescale On-Chip EHCI Host Controller
[    2.784994] fsl-ehci fsl-ehci.0: new USB bus registered, assigned bus number 1
[    2.801637] fsl-ehci fsl-ehci.0: irq 44, io mem 0xffe210000
[    2.814408] fsl-ehci fsl-ehci.0: USB 2.0 started, EHCI 1.00
[    2.820983] usb usb1: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    2.827572] usb usb1: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.834194] usb usb1: Product: Freescale On-Chip EHCI Host Controller
[    2.840816] usb usb1: Manufacturer: Linux 5.4.0-rc9_A-EON_X5000-119069-gc70373c2f0af-dirty ehci_hcd
[    2.847529] usb usb1: SerialNumber: fsl-ehci.0
[    2.854511] hub 1-0:1.0: USB hub found
[    2.861170] hub 1-0:1.0: 1 port detected
[    2.867945] fsl-ehci fsl-ehci.1: Freescale On-Chip EHCI Host Controller
[    2.874683] fsl-ehci fsl-ehci.1: new USB bus registered, assigned bus number 2
[    2.891475] fsl-ehci fsl-ehci.1: irq 45, io mem 0xffe211000
[    2.904409] fsl-ehci fsl-ehci.1: USB 2.0 started, EHCI 1.00
[    2.911293] usb usb2: New USB device found, idVendor=1d6b, idProduct=0002, bcdDevice= 5.04
[    2.918259] usb usb2: New USB device strings: Mfr=3, Product=2, SerialNumber=1
[    2.925277] usb usb2: Product: Freescale On-Chip EHCI Host Controller
[    2.932329] usb usb2: Manufacturer: Linux 5.4.0-rc9_A-EON_X5000-119069-gc70373c2f0af-dirty ehci_hcd
[    2.939513] usb usb2: SerialNumber: fsl-ehci.1
[    2.946913] hub 2-0:1.0: USB hub found
[    2.954177] hub 2-0:1.0: 1 port detected
[    2.961757] usbcore: registered new interface driver usblp
[    2.969191] usbcore: registered new interface driver usb-storage
[    2.976482] usbcore: registered new interface driver usbserial_generic
[    2.983624] usbserial: USB Serial support registered for generic
[    2.990691] usbcore: registered new interface driver ftdi_sio
[    2.997695] usbserial: USB Serial support registered for FTDI USB Serial Device
[    3.005171] mousedev: PS/2 mouse device common for all mice
[    3.012181] i2c /dev entries driver
[    3.019956] mpc-i2c ffe118100.i2c: timeout 1000000 us
[    3.026989] mpc-i2c ffe119100.i2c: timeout 1000000 us
[    3.035549] rtc-ds1307 11-006f: registered as rtc0
[    3.042336] mpc-i2c ffe118000.i2c: timeout 1000000 us
[    3.049058] mpc-i2c ffe119000.i2c: timeout 1000000 us
[    3.056070] ptp_qoriq: device tree node missing required elements, try automatic configuration
[    3.062691] pps pps0: new PPS source ptp0
[    3.069138] ptp_qoriq: device tree node missing required elements, try automatic configuration
[    3.075742] pps pps1: new PPS source ptp1
[    3.082408] ata2: Signature Update detected @ 503 msecs
[    3.082411] ata1: Signature Update detected @ 503 msecs
[    3.083355] device-mapper: ioctl: 4.41.0-ioctl (2019-09-16) initialised: dm-devel@redhat.com
[    3.101357] sdhci: Secure Digital Host Controller Interface driver
[    3.107511] sdhci: Copyright(c) Pierre Ossman
[    3.113621] sdhci-pltfm: SDHCI platform and OF driver helper
[    3.145331] mmc0: SDHCI controller on ffe114000.sdhc [ffe114000.sdhc] using ADMA
[    3.151624] ledtrig-cpu: registered to indicate activity on CPUs
[    3.157779] hidraw: raw HID events driver (C) Jiri Kosina
[    3.164293] usbcore: registered new interface driver usbhid
[    3.170093] usbhid: USB HID core driver
[    3.175847] exFAT: Version 1.3.0
[    3.181780] Freescale hypervisor management driver
[    3.187566] fsl-hv: no hypervisor found
[    3.189409] usb 1-1: new high-speed USB device number 2 using fsl-ehci
[    3.195364] snd_hda_intel 0000:01:00.1: Force to snoop mode by module option
[    3.197041] mmc0: new high speed SDHC card at address 59b4
[    3.200259] mmcblk0: mmc0:59b4 USD   3.73 GiB 
[    3.205273] usbcore: registered new interface driver snd-usb-audio
[    3.222053] usbcore: registered new interface driver snd-ua101
[    3.227648] usbcore: registered new interface driver snd-usb-usx2y
[    3.228481] input: HDA ATI HDMI HDMI/DP,pcm=3 as /devices/platform/ffe200000.pcie/pci0000:00/0000:00:00.0/0000:01:00.1/sound/card1/input0
[    3.233492] ipip: IPv4 and MPLS over IPv4 tunneling driver
[    3.234417] ata1: SATA link up 1.5 Gbps (SStatus 113 SControl 300)
[    3.238856] ata1.00: ATAPI: ATAPI   iHAS124   F, CL9N, max UDMA/133
[    3.244555] ata2: SATA link up 3.0 Gbps (SStatus 123 SControl 300)
[    3.250657] IPv4 over IPsec tunneling driver
[    3.260289] ata2.00: ATA-9: SanDisk Ultra II 1TB, X41100WD, max UDMA/133
[    3.261849] ata1.00: configured for UDMA/133
[    3.262097] Initializing XFRM netlink socket
[    3.262337] NET: Registered protocol family 10
[    3.267541] ata2.00: 1953525168 sectors, multi 1: LBA48 NCQ (depth 16/32)
[    3.267543] ata2.00: failed to get Identify Device Data, Emask 0x1
[    3.274747] Segment Routing with IPv6
[    3.281003] ata2.00: failed to get Identify Device Data, Emask 0x1
[    3.284981] mip6: Mobile IPv6
[    3.290492] ata2.00: configured for UDMA/133
[    3.296297] scsi 0:0:0:0: CD-ROM            ATAPI    iHAS124   F      CL9N PQ: 0 ANSI: 5
[    3.302250] sit: IPv6, IPv4 and MPLS over IPv4 tunneling driver
[    3.302410] usb 2-1: new high-speed USB device number 2 using fsl-ehci
[    3.331111] NET: Registered protocol family 17
[    3.336767] NET: Registered protocol family 15
[    3.342354] lec:lane_module_init: lec.c: initialized
[    3.347981] mpoa:atm_mpoa_init: mpc.c: initialized
[    3.353634] l2tp_core: L2TP core driver, V2.0
[    3.359229] sr 0:0:0:0: [sr0] scsi3-mmc drive: 48x/48x writer cd/rw xa/form2 cdda tray
[    3.359240] usb 1-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[    3.364935] cdrom: Uniform CD-ROM driver Revision: 3.20
[    3.370664] DCCP: Activated CCID 2 (TCP-like)
[    3.370676] DCCP: Activated CCID 3 (TCP-Friendly Rate Control)
[    3.370715] usb 1-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.371082] sctp: Hash tables configured (bind 256/256)
[    3.371362] NET: Registered protocol family 21
[    3.371489] Registered RDS/tcp transport
[    3.371491] tipc: Activated (version 2.0.0)
[    3.371556] NET: Registered protocol family 30
[    3.371591] tipc: Started in single node mode
[    3.372070] Key type dns_resolver registered
[    3.373252] batman_adv: B.A.T.M.A.N. advanced 2019.4 (compatibility version 15) loaded
[    3.373356] drmem: No dynamic reconfiguration memory found
[    3.373465] Loading compiled-in X.509 certificates
[    3.373511] zswap: loaded using pool lzo/zbud
[    3.373567] Key type ._fscrypt registered
[    3.373568] Key type .fscrypt registered
[    3.374262] Btrfs loaded, crc32c=crc32c-generic
[    3.374684] Key type encrypted registered
[    3.432695] rtc-ds1307 11-006f: setting system clock to 2019-11-23T11:17:11 UTC (1574507831)
[    3.438805] hub 1-1:1.0: USB hub found
[    3.438842] sr 0:0:0:0: Attached scsi CD-ROM sr0
[    3.439040] sr 0:0:0:0: Attached scsi generic sg0 type 5
[    3.444359] scsi 1:0:0:0: Direct-Access     ATA      SanDisk Ultra II 00WD PQ: 0 ANSI: 5
[    3.450005] hub 1-1:1.0: 4 ports detected
[    3.455772] ALSA device list:
[    3.456026] sd 1:0:0:0: [sda] 1953525168 512-byte logical blocks: (1.00 TB/932 GiB)
[    3.456053] sd 1:0:0:0: [sda] Write Protect is off
[    3.456056] sd 1:0:0:0: [sda] Mode Sense: 00 3a 00 00
[    3.456100] sd 1:0:0:0: [sda] Write cache: enabled, read cache: enabled, doesn't support DPO or FUA
[    3.461327] sd 1:0:0:0: Attached scsi generic sg1 type 0
[    3.467163]   #0: Virtual MIDI Card 1
[    3.467691]  sda: sda1 sda2 sda3 sda4
[    3.468358] sd 1:0:0:0: [sda] Attached SCSI disk
[    3.501611] usb 2-1: New USB device found, idVendor=0424, idProduct=2514, bcdDevice= b.b3
[    3.507286]   #1: HDA ATI HDMI at 0xc10020000 irq 41
[    3.512956] usb 2-1: New USB device strings: Mfr=0, Product=0, SerialNumber=0
[    3.524616] hub 2-1:1.0: USB hub found
[    3.576216] hub 2-1:1.0: 4 ports detected
[    3.583041] md: Waiting for all devices to be available before autodetect
[    3.588900] md: If you don't use raid, use raid=noautodetect
[    3.594931] md: Autodetecting RAID arrays.
[    3.600674] md: autorun ...
[    3.606321] md: ... autorun DONE.
[    3.623638] EXT4-fs (sda2): mounted filesystem with ordered data mode. Opts: (null)
[    3.629434] VFS: Mounted root (ext4 filesystem) readonly on device 8:2.
[    3.637254] devtmpfs: mounted
[    3.643273] Freeing unused kernel memory: 412K
[    3.648954] This architecture does not have kernel memory protection.
[    3.654555] Run /sbin/init as init process
[    3.705035] random: fast init done
[    3.742408] usb 1-1.1: new high-speed USB device number 3 using fsl-ehci
[    3.765556] random: systemd: uninitialized urandom read (16 bytes read)
[    3.774466] systemd[1]: systemd 229 running in system mode. (+PAM +AUDIT +SELINUX +IMA +APPARMOR +SMACK +SYSVINIT +UTMP +LIBCRYPTSETUP +GCRYPT +GNUTLS +ACL +XZ -LZ4 +SECCOMP +BLKID +ELFUTILS +KMOD -IDN)
[    3.780644] systemd[1]: Detected architecture ppc64.
[    3.810503] systemd[1]: Set hostname to <DC1>.
[    3.826979] random: systemd: uninitialized urandom read (16 bytes read)
[    3.838507] usb 1-1.1: New USB device found, idVendor=0781, idProduct=5581, bcdDevice= 1.00
[    3.840969] random: systemd: uninitialized urandom read (16 bytes read)
[    3.845808] usb 1-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    3.856780] usb 1-1.1: Product: Ultra
[    3.863029] usb 1-1.1: Manufacturer: SanDisk
[    3.868985] usb 1-1.1: SerialNumber: 4C530001011202103365
[    3.870424] usb 2-1.1: new full-speed USB device number 3 using fsl-ehci
[    3.875717] usb-storage 1-1.1:1.0: USB Mass Storage device detected
[    3.887489] scsi host2: usb-storage 1-1.1:1.0
[    3.969412] usb 1-1.2: new low-speed USB device number 4 using fsl-ehci
[    4.070471] usb 2-1.1: New USB device found, idVendor=041e, idProduct=323d, bcdDevice=10.01
[    4.071628] usb 1-1.2: New USB device found, idVendor=0c45, idProduct=5303, bcdDevice= 0.01
[    4.076607] usb 2-1.1: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.082574] systemd[1]: Listening on Journal Socket (/dev/log).
[    4.082608] usb 1-1.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.082612] usb 1-1.2: Product: USB Device
[    4.088624] usb 2-1.1: Product: Sound Blaster Play! 2
[    4.094663] usb 1-1.2: Manufacturer: Device
[    4.097158] hid-generic 0003:0C45:5303.0001: hiddev0,hidraw0: USB HID v1.00 Device [Device USB Device] on usb-fsl-ehci.0-1.2/input0
[    4.100740] usb 2-1.1: Manufacturer: Creative Technology Ltd
[    4.100743] usb 2-1.1: SerialNumber: 000000029777
[    4.141695] input: Device USB Device as /devices/platform/ffe000000.soc/ffe210000.usb/fsl-ehci.0/usb1/1-1/1-1.2/1-1.2:1.1/0003:0C45:5303.0002/input/input1
[    4.141907] hid-generic 0003:0C45:5303.0002: input,hidraw1: USB HID v1.00 Mouse [Device USB Device] on usb-fsl-ehci.0-1.2/input1
[    4.163964] systemd[1]: Created slice System Slice.
[    4.179103] systemd[1]: Created slice User and Session Slice.
[    4.194739] systemd[1]: Set up automount Arbitrary Executable File Formats File System Automount Point.
[    4.196943] input: Creative Technology Ltd Sound Blaster Play! 2 Consumer Control as /devices/platform/ffe000000.soc/ffe211000.usb/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1:1.3/0003:041E:323D.0003/input/input2
[    4.217893] systemd[1]: Listening on udev Control Socket.
[    4.233978] systemd[1]: Reached target User and Group Name Lookups.
[    4.249981] systemd[1]: Reached target Remote File Systems (Pre).
[    4.260531] input: Creative Technology Ltd Sound Blaster Play! 2 as /devices/platform/ffe000000.soc/ffe211000.usb/fsl-ehci.1/usb2/2-1/2-1.1/2-1.1:1.3/0003:041E:323D.0003/input/input3
[    4.260726] hid-generic 0003:041E:323D.0003: input,hiddev1,hidraw2: USB HID v1.00 Device [Creative Technology Ltd Sound Blaster Play! 2] on usb-fsl-ehci.1-1.1/input3
[    4.332407] usb 1-1.4: new high-speed USB device number 5 using fsl-ehci
[    4.433516] usb 1-1.4: New USB device found, idVendor=05ac, idProduct=1006, bcdDevice=96.15
[    4.441249] usb 1-1.4: New USB device strings: Mfr=1, Product=2, SerialNumber=3
[    4.441252] usb 1-1.4: Product: Keyboard Hub
[    4.441254] usb 1-1.4: Manufacturer: Apple, Inc.
[    4.441257] usb 1-1.4: SerialNumber: 000000000000
[    4.444415] usb 2-1.2: new full-speed USB device number 4 using fsl-ehci
[    4.456665] hub 1-1.4:1.0: USB hub found
[    4.486881] hub 1-1.4:1.0: 3 ports detected
[    4.572355] usb 2-1.2: New USB device found, idVendor=0a12, idProduct=0001, bcdDevice=88.91
[    4.572360] usb 2-1.2: New USB device strings: Mfr=0, Product=2, SerialNumber=0
[    4.572362] usb 2-1.2: Product: CSR8510 A10
[    4.763423] usb 1-1.4.2: new low-speed USB device number 6 using fsl-ehci
[    4.850007] usb 1-1.4.2: New USB device found, idVendor=05ac, idProduct=0221, bcdDevice= 0.69
[    4.850013] usb 1-1.4.2: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[    4.850016] usb 1-1.4.2: Product: Apple Keyboard
[    4.850018] usb 1-1.4.2: Manufacturer: Apple, Inc
[    4.855458] input: Apple, Inc Apple Keyboard as /devices/platform/ffe000000.soc/ffe210000.usb/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.2/1-1.4.2:1.0/0003:05AC:0221.0004/input/input4
[    4.899424] scsi 2:0:0:0: Direct-Access     SanDisk  Ultra            1.00 PQ: 0 ANSI: 6
[    4.899786] sd 2:0:0:0: Attached scsi generic sg2 type 0
[    4.900388] sd 2:0:0:0: [sdb] 240254976 512-byte logical blocks: (123 GB/115 GiB)
[    4.902471] sd 2:0:0:0: [sdb] Write Protect is off
[    4.902476] sd 2:0:0:0: [sdb] Mode Sense: 43 00 00 00
[    4.903132] sd 2:0:0:0: [sdb] Write cache: disabled, read cache: enabled, doesn't support DPO or FUA
[    4.907823] apple 0003:05AC:0221.0004: input,hidraw3: USB HID v1.11 Keyboard [Apple, Inc Apple Keyboard] on usb-fsl-ehci.0-1.4.2/input0
[    4.910956] input: Apple, Inc Apple Keyboard as /devices/platform/ffe000000.soc/ffe210000.usb/fsl-ehci.0/usb1/1-1/1-1.4/1-1.4.2/1-1.4.2:1.1/0003:05AC:0221.0005/input/input5
[    4.926404]  sdb: sdb1 sdb2
[    4.929387] sd 2:0:0:0: [sdb] Attached SCSI removable disk
[    4.962609] apple 0003:05AC:0221.0005: input,hidraw4: USB HID v1.11 Device [Apple, Inc Apple Keyboard] on usb-fsl-ehci.0-1.4.2/input1
[    5.167945] EXT4-fs (sda2): re-mounted. Opts: errors=remount-ro
[    5.290568] systemd-journald[2470]: Received request to flush runtime journal from PID 1
[    5.542486] Bluetooth: Core ver 2.22
[    5.542563] NET: Registered protocol family 31
[    5.542565] Bluetooth: HCI device and connection manager initialized
[    5.542576] Bluetooth: HCI socket layer initialized
[    5.542580] Bluetooth: L2CAP socket layer initialized
[    5.542590] Bluetooth: SCO socket layer initialized
[    5.547671] usbcore: registered new interface driver btusb
[    5.773840] 8139too 1000:04:04.0 enP4096p4s4: renamed from eth2
[    5.780475] mc: Linux media interface: v0.10
[    5.793475] videodev: Linux video capture interface: v2.00
[    5.827156] bttv: driver version 0.9.19 loaded
[    5.827161] bttv: using 8 buffers with 2080k (520 pages) each for capture
[    5.827282] bttv: Bt8xx card found (0)
[    5.827329] bttv: 0: Bt878 (rev 17) at 1000:04:05.0, irq: 19, latency: 128, mmio: 0xc20001000
[    5.827340] bttv: 0: using: Typhoon TView RDS + FM Stereo / KNC1 TV Station RDS [card=53,insmod option]
[    5.827834] bttv: 0: tuner type=5
[    5.911958] bttv: 0: audio absent, no audio device found!
[    5.961348] tea5767: All bytes are equal. It is not a TEA5767
[    5.961364] tuner: 14-0060: Tuner -1 found with type(s) Radio TV.
[    6.015921] tuner-simple 14-0060: creating new instance
[    6.015927] tuner-simple 14-0060: type set to 5 (Philips PAL_BG (FI1216 and compatibles))
[    6.017844] bttv: 0: Setting PLL: 28636363 => 35468950 (needs up to 100ms)
[    6.041422] bttv: PLL set ok
[    6.042363] bttv: 0: registered device video0
[    6.042456] bttv: 0: registered device vbi0
[    6.042537] bttv: 0: registered device radio0
[    6.364457] Bluetooth: BNEP (Ethernet Emulation) ver 1.3
[    6.364460] Bluetooth: BNEP filters: protocol multicast
[    6.364472] Bluetooth: BNEP socket layer initialized
[    7.405231] fsl_dpaa_mac ffe4e0000.ethernet eth0: init_phy() failed
[    7.517659] fsl_dpaa_mac ffe4e2000.ethernet eth1: init_phy() failed
[    7.547168] 8139too 1000:04:04.0 enP4096p4s4: link up, 100Mbps, full-duplex, lpa 0xC1E1
[    7.662435] radeon_dp_aux_transfer_native: 190 callbacks suppressed
[    9.818710] random: crng init done
[    9.818718] random: 7 urandom warning(s) missed due to ratelimiting
[   10.175254] Bluetooth: RFCOMM TTY layer initialized
[   10.175268] Bluetooth: RFCOMM socket layer initialized
[   10.175280] Bluetooth: RFCOMM ver 1.11
[   10.302676] snd_hda_intel 0000:01:00.1: IRQ timing workaround is activated for card #1. Suggest a bigger bdl_pos_adj.
[   15.155420] radeon_dp_aux_transfer_native: 158 callbacks suppressed
[   19.344564] EXT4-fs (sdb2): mounted filesystem with ordered data mode. Opts: (null)
[   19.394774] FAT-fs (sdb1): Volume was not properly unmounted. Some data may be corrupt. Please run fsck.
[  127.386143] bttv 1000:04:05.0: swiotlb buffer overflow 0x00000000ff2fd000+4096 of DMA mask ffffffff bus limit deffffff
[  127.386173] ------------[ cut here ]------------
[  127.386184] WARNING: CPU: 0 PID: 5746 at .swiotlb_map+0x138/0x164
[  127.386186] Modules linked in: rfcomm bnep tuner_simple tuner_types tea5767 tuner tda7432 tvaudio msp3400 bttv tea575x tveeprom videobuf_dma_sg videobuf_core rc_core videodev mc uio_pdrv_genirq uio btusb btrtl btbcm btintel bluetooth ecdh_generic ecc
[  127.386216] CPU: 0 PID: 5746 Comm: tvtime Not tainted 5.4.0-rc9_A-EON_X5000-119069-gc70373c2f0af-dirty #1
[  127.386218] NIP:  c0000000000b4ab8 LR: c0000000000b4ab4 CTR: c00000000051a424
[  127.386220] REGS: c0000001dab2f170 TRAP: 0700   Not tainted  (5.4.0-rc9_A-EON_X5000-119069-gc70373c2f0af-dirty)
[  127.386222] MSR:  0000000080029002 <CE,EE,ME>  CR: 24002842  XER: 20000000
[  127.386227] IRQMASK: 0 
               GPR00: c0000000000b4ab4 c0000001dab2f400 c0000000016df400 000000000000006a 
               GPR04: c0000001ffa008a0 c0000001ffa075a0 0000000000000000 0000000000000000 
               GPR08: 0000000000000007 0000000000000000 0000000000000000 0000000000000010 
               GPR12: 0000000022002844 c0000000017c1000 0000000000000000 0000000010476f50 
               GPR16: 0000000000000001 0000000000000000 c0000001dab2f9e8 80000000009bac18 
               GPR20: c0000001d72c0800 c0000001d73bbc00 0000000000000000 0000000000000800 
               GPR24: c0000001f34410b0 0000000000000000 c0000001dab2f520 0000000000000000 
               GPR28: 0000000000000002 0000000000001000 c0000001dab2f518 c0000001f34410b0 
[  127.386254] NIP [c0000000000b4ab8] .swiotlb_map+0x138/0x164
[  127.386257] LR [c0000000000b4ab4] .swiotlb_map+0x134/0x164
[  127.386259] Call Trace:
[  127.386262] [c0000001dab2f400] [c0000000000b4ab4] .swiotlb_map+0x134/0x164 (unreliable)
[  127.386266] [c0000001dab2f4a0] [c0000000000b32e4] .dma_direct_map_page+0xe0/0x104
[  127.386270] [c0000001dab2f530] [c0000000000b3364] .dma_direct_map_sg+0x5c/0xac
[  127.386280] [c0000001dab2f5e0] [80000000007f2e88] .__videobuf_iolock+0x660/0x6d8 [videobuf_dma_sg]
[  127.386296] [c0000001dab2f6b0] [8000000000819274] .videobuf_iolock+0x98/0xb4 [videobuf_core]
[  127.386344] [c0000001dab2f720] [80000000009a26e8] .buffer_prepare+0x150/0x268 [bttv]
[  127.386350] [c0000001dab2f7c0] [8000000000819afc] .videobuf_qbuf+0x2b8/0x428 [videobuf_core]
[  127.386361] [c0000001dab2f860] [80000000009a2f6c] .bttv_qbuf+0x50/0x64 [bttv]
[  127.386459] [c0000001dab2f8e0] [8000000000966208] .v4l_qbuf+0x54/0x60 [videodev]
[  127.386478] [c0000001dab2f970] [8000000000968eac] .__video_do_ioctl+0x30c/0x3f8 [videodev]
[  127.386498] [c0000001dab2fa80] [800000000096ac08] .video_usercopy+0x18c/0x3dc [videodev]
[  127.386516] [c0000001dab2fc00] [800000000096214c] .v4l2_ioctl+0x60/0x78 [videodev]
[  127.386536] [c0000001dab2fc90] [800000000097ac48] .v4l2_compat_ioctl32+0x9b4/0x1850 [videodev]
[  127.386544] [c0000001dab2fd70] [c0000000001adab8] .__se_compat_sys_ioctl+0x284/0x127c
[  127.386548] [c0000001dab2fe20] [c00000000000067c] system_call+0x60/0x6c
[  127.386550] Instruction dump:
[  127.386552] e91f01f0 3c82ffc5 e8e70000 39200001 60000000 7fa6eb78 992255d3 7f45d378 
[  127.386559] 38842316 7fe3fb78 485abb69 60000000 <0fe00000> e89e0000 63680020 7f87e378 
[  127.386566] ---[ end trace 55ce18c7116264ae ]---
[  127.386695] videobuf_dma_map: videobuf_map_sg failed
[  127.387557] videobuf_dma_map: videobuf_map_sg failed
[  127.388215] videobuf_dma_map: videobuf_map_sg failed
[  127.388905] videobuf_dma_map: videobuf_map_sg failed
[  127.390841] videobuf_dma_map: videobuf_map_sg failed
[  127.390970] videobuf_dma_map: videobuf_map_sg failed
[  127.391133] videobuf_dma_map: videobuf_map_sg failed
[  127.391243] videobuf_dma_map: videobuf_map_sg failed

[-- Attachment #3: Type: text/plain, Size: 156 bytes --]

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-23 11:42             ` Christian Zigotzky
@ 2019-11-25  7:39               ` Christoph Hellwig
  2019-11-25  9:32                 ` Mike Rapoport
                                   ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Christoph Hellwig @ 2019-11-25  7:39 UTC (permalink / raw)
  To: Christian Zigotzky
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, Mike Rapoport, linux-mm, iommu, Rob Herring,
	paulus, mad skateman, contact, Robin Murphy, nsaenzjulienne

On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
> Hello Christoph,
>
> Please find attached the dmesg of your Git kernel.

Thanks.  It looks like on your platform the swiotlb buffer isn't
actually addressable based on the bus dma mask limit, which is rather
interesting.  swiotlb_init uses memblock_alloc_low to allocate the
buffer, and I'll need some help from Mike and the powerpc maintainers
to figure out how that select where to allocate the buffer from, and
how we can move it to a lower address.  My gut feeling would be to try
to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
without needing too much arch specific magic.

As a quick hack can you try this patch on top of the tree from Friday?

diff --git a/include/linux/memblock.h b/include/linux/memblock.h
index f491690d54c6..e3f95c362922 100644
--- a/include/linux/memblock.h
+++ b/include/linux/memblock.h
@@ -344,7 +344,7 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
 #define MEMBLOCK_LOW_LIMIT 0
 
 #ifndef ARCH_LOW_ADDRESS_LIMIT
-#define ARCH_LOW_ADDRESS_LIMIT  0xffffffffUL
+#define ARCH_LOW_ADDRESS_LIMIT  0x0fffffffUL
 #endif
 
 phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-25  7:39               ` Christoph Hellwig
@ 2019-11-25  9:32                 ` Mike Rapoport
  2019-11-25 16:38                   ` Christian Zigotzky
  2019-11-26 11:57                   ` Christian Zigotzky
  2019-11-25 16:36                 ` Christian Zigotzky
  2019-11-26 11:26                 ` Christian Zigotzky
  2 siblings, 2 replies; 20+ messages in thread
From: Mike Rapoport @ 2019-11-25  9:32 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	Christian Zigotzky, contact, Robin Murphy, nsaenzjulienne

On Mon, Nov 25, 2019 at 08:39:23AM +0100, Christoph Hellwig wrote:
> On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
> > Hello Christoph,
> >
> > Please find attached the dmesg of your Git kernel.
> 
> Thanks.  It looks like on your platform the swiotlb buffer isn't
> actually addressable based on the bus dma mask limit, which is rather
> interesting.  swiotlb_init uses memblock_alloc_low to allocate the
> buffer, and I'll need some help from Mike and the powerpc maintainers
> to figure out how that select where to allocate the buffer from, and
> how we can move it to a lower address.  My gut feeling would be to try
> to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
> without needing too much arch specific magic.

Presuming the problem is relevant for all CoreNet boards something like
this could work:
 
diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h
index 1b4f0254868f..7c6cfeeaff52 100644
--- a/arch/powerpc/include/asm/dma.h
+++ b/arch/powerpc/include/asm/dma.h
@@ -347,5 +347,11 @@ extern int isa_dma_bridge_buggy;
 #define isa_dma_bridge_buggy	(0)
 #endif
 
+#ifdef CONFIG_CORENET_GENERIC
+extern phys_addr_t ppc_dma_phys_limit;
+#define ARCH_LOW_ADDRESS_LIMIT	(ppc_dma_phys_limit - 1)
+#endif
+
+
 #endif /* __KERNEL__ */
 #endif	/* _ASM_POWERPC_DMA_H */
diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c
index fe0606439b5a..346b436b6d3f 100644
--- a/arch/powerpc/platforms/85xx/common.c
+++ b/arch/powerpc/platforms/85xx/common.c
@@ -126,3 +126,7 @@ void __init mpc85xx_qe_par_io_init(void)
 	}
 }
 #endif
+
+#ifdef CONFIG_CORENET_GENERIC
+phys_addr_t ppc_dma_phys_limit = 0xffffffffUL;
+#endif
diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c
index 7ee2c6628f64..673bcbdc7c75 100644
--- a/arch/powerpc/platforms/85xx/corenet_generic.c
+++ b/arch/powerpc/platforms/85xx/corenet_generic.c
@@ -64,7 +64,7 @@ void __init corenet_gen_setup_arch(void)
 	mpc85xx_smp_init();
 
 	swiotlb_detect_4g();
-
+	ppc_dma_phys_limit = 0x0fffffffUL;
 	pr_info("%s board\n", ppc_md.name);
 
 	mpc85xx_qe_init();

> As a quick hack can you try this patch on top of the tree from Friday?
> 
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index f491690d54c6..e3f95c362922 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -344,7 +344,7 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>  #define MEMBLOCK_LOW_LIMIT 0
>  
>  #ifndef ARCH_LOW_ADDRESS_LIMIT
> -#define ARCH_LOW_ADDRESS_LIMIT  0xffffffffUL
> +#define ARCH_LOW_ADDRESS_LIMIT  0x0fffffffUL
>  #endif
>  
>  phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,

-- 
Sincerely yours,
Mike.

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-25  7:39               ` Christoph Hellwig
  2019-11-25  9:32                 ` Mike Rapoport
@ 2019-11-25 16:36                 ` Christian Zigotzky
  2019-11-26 11:26                 ` Christian Zigotzky
  2 siblings, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-25 16:36 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, Mike Rapoport, linux-mm, iommu, Rob Herring,
	paulus, mad skateman, contact, Robin Murphy, nsaenzjulienne

On 25 November 2019 at 08:39 am, Christoph Hellwig wrote:
> On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
>> Hello Christoph,
>>
>> Please find attached the dmesg of your Git kernel.
> Thanks.  It looks like on your platform the swiotlb buffer isn't
> actually addressable based on the bus dma mask limit, which is rather
> interesting.  swiotlb_init uses memblock_alloc_low to allocate the
> buffer, and I'll need some help from Mike and the powerpc maintainers
> to figure out how that select where to allocate the buffer from, and
> how we can move it to a lower address.  My gut feeling would be to try
> to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
> without needing too much arch specific magic.
>
> As a quick hack can you try this patch on top of the tree from Friday?
>
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index f491690d54c6..e3f95c362922 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -344,7 +344,7 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>   #define MEMBLOCK_LOW_LIMIT 0
>   
>   #ifndef ARCH_LOW_ADDRESS_LIMIT
> -#define ARCH_LOW_ADDRESS_LIMIT  0xffffffffUL
> +#define ARCH_LOW_ADDRESS_LIMIT  0x0fffffffUL
>   #endif
>   
>   phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,
>
Hello Christoph,

Thanks a lot for your help! I will test your patch tomorrow.

Cheers,
Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-25  9:32                 ` Mike Rapoport
@ 2019-11-25 16:38                   ` Christian Zigotzky
  2019-11-26 11:57                   ` Christian Zigotzky
  1 sibling, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-25 16:38 UTC (permalink / raw)
  To: Mike Rapoport, Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, nsaenzjulienne

On 25 November 2019 at 10:32 am, Mike Rapoport wrote:
> On Mon, Nov 25, 2019 at 08:39:23AM +0100, Christoph Hellwig wrote:
>> On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
>>> Hello Christoph,
>>>
>>> Please find attached the dmesg of your Git kernel.
>> Thanks.  It looks like on your platform the swiotlb buffer isn't
>> actually addressable based on the bus dma mask limit, which is rather
>> interesting.  swiotlb_init uses memblock_alloc_low to allocate the
>> buffer, and I'll need some help from Mike and the powerpc maintainers
>> to figure out how that select where to allocate the buffer from, and
>> how we can move it to a lower address.  My gut feeling would be to try
>> to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
>> without needing too much arch specific magic.
> Presuming the problem is relevant for all CoreNet boards something like
> this could work:
>   
> diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h
> index 1b4f0254868f..7c6cfeeaff52 100644
> --- a/arch/powerpc/include/asm/dma.h
> +++ b/arch/powerpc/include/asm/dma.h
> @@ -347,5 +347,11 @@ extern int isa_dma_bridge_buggy;
>   #define isa_dma_bridge_buggy	(0)
>   #endif
>   
> +#ifdef CONFIG_CORENET_GENERIC
> +extern phys_addr_t ppc_dma_phys_limit;
> +#define ARCH_LOW_ADDRESS_LIMIT	(ppc_dma_phys_limit - 1)
> +#endif
> +
> +
>   #endif /* __KERNEL__ */
>   #endif	/* _ASM_POWERPC_DMA_H */
> diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c
> index fe0606439b5a..346b436b6d3f 100644
> --- a/arch/powerpc/platforms/85xx/common.c
> +++ b/arch/powerpc/platforms/85xx/common.c
> @@ -126,3 +126,7 @@ void __init mpc85xx_qe_par_io_init(void)
>   	}
>   }
>   #endif
> +
> +#ifdef CONFIG_CORENET_GENERIC
> +phys_addr_t ppc_dma_phys_limit = 0xffffffffUL;
> +#endif
> diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c
> index 7ee2c6628f64..673bcbdc7c75 100644
> --- a/arch/powerpc/platforms/85xx/corenet_generic.c
> +++ b/arch/powerpc/platforms/85xx/corenet_generic.c
> @@ -64,7 +64,7 @@ void __init corenet_gen_setup_arch(void)
>   	mpc85xx_smp_init();
>   
>   	swiotlb_detect_4g();
> -
> +	ppc_dma_phys_limit = 0x0fffffffUL;
>   	pr_info("%s board\n", ppc_md.name);
>   
>   	mpc85xx_qe_init();
>
>> As a quick hack can you try this patch on top of the tree from Friday?
>>
>> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
>> index f491690d54c6..e3f95c362922 100644
>> --- a/include/linux/memblock.h
>> +++ b/include/linux/memblock.h
>> @@ -344,7 +344,7 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>>   #define MEMBLOCK_LOW_LIMIT 0
>>   
>>   #ifndef ARCH_LOW_ADDRESS_LIMIT
>> -#define ARCH_LOW_ADDRESS_LIMIT  0xffffffffUL
>> +#define ARCH_LOW_ADDRESS_LIMIT  0x0fffffffUL
>>   #endif
>>   
>>   phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,
Hello Mike,

Many thanks for your patch! I will test it tomorrow.

Cheers,
Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-25  7:39               ` Christoph Hellwig
  2019-11-25  9:32                 ` Mike Rapoport
  2019-11-25 16:36                 ` Christian Zigotzky
@ 2019-11-26 11:26                 ` Christian Zigotzky
  2019-11-26 16:40                   ` Christoph Hellwig
  2 siblings, 1 reply; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-26 11:26 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, Mike Rapoport, linux-mm, iommu, Rob Herring,
	paulus, mad skateman, contact, Robin Murphy, nsaenzjulienne

On 25 November 2019 at 08:39 am, Christoph Hellwig wrote:
> On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
>> Hello Christoph,
>>
>> Please find attached the dmesg of your Git kernel.
> Thanks.  It looks like on your platform the swiotlb buffer isn't
> actually addressable based on the bus dma mask limit, which is rather
> interesting.  swiotlb_init uses memblock_alloc_low to allocate the
> buffer, and I'll need some help from Mike and the powerpc maintainers
> to figure out how that select where to allocate the buffer from, and
> how we can move it to a lower address.  My gut feeling would be to try
> to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
> without needing too much arch specific magic.
>
> As a quick hack can you try this patch on top of the tree from Friday?
>
> diff --git a/include/linux/memblock.h b/include/linux/memblock.h
> index f491690d54c6..e3f95c362922 100644
> --- a/include/linux/memblock.h
> +++ b/include/linux/memblock.h
> @@ -344,7 +344,7 @@ static inline int memblock_get_region_node(const struct memblock_region *r)
>   #define MEMBLOCK_LOW_LIMIT 0
>   
>   #ifndef ARCH_LOW_ADDRESS_LIMIT
> -#define ARCH_LOW_ADDRESS_LIMIT  0xffffffffUL
> +#define ARCH_LOW_ADDRESS_LIMIT  0x0fffffffUL
>   #endif
>   
>   phys_addr_t memblock_phys_alloc_range(phys_addr_t size, phys_addr_t align,
>
Hello Christoph,

The PCI TV card works with your patch! I was able to patch your Git 
kernel with the patch above.

I haven't found any error messages in the dmesg yet.

Thank you!

Cheers,
Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-25  9:32                 ` Mike Rapoport
  2019-11-25 16:38                   ` Christian Zigotzky
@ 2019-11-26 11:57                   ` Christian Zigotzky
  1 sibling, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-26 11:57 UTC (permalink / raw)
  To: Mike Rapoport, Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, nsaenzjulienne

On 25 November 2019 at 10:32 am, Mike Rapoport wrote:
> On Mon, Nov 25, 2019 at 08:39:23AM +0100, Christoph Hellwig wrote:
>> On Sat, Nov 23, 2019 at 12:42:27PM +0100, Christian Zigotzky wrote:
>>> Hello Christoph,
>>>
>>> Please find attached the dmesg of your Git kernel.
>> Thanks.  It looks like on your platform the swiotlb buffer isn't
>> actually addressable based on the bus dma mask limit, which is rather
>> interesting.  swiotlb_init uses memblock_alloc_low to allocate the
>> buffer, and I'll need some help from Mike and the powerpc maintainers
>> to figure out how that select where to allocate the buffer from, and
>> how we can move it to a lower address.  My gut feeling would be to try
>> to do what arm64 does and define a new ARCH_LOW_ADDRESS_LIMIT, preferably
>> without needing too much arch specific magic.
> Presuming the problem is relevant for all CoreNet boards something like
> this could work:
>   
> diff --git a/arch/powerpc/include/asm/dma.h b/arch/powerpc/include/asm/dma.h
> index 1b4f0254868f..7c6cfeeaff52 100644
> --- a/arch/powerpc/include/asm/dma.h
> +++ b/arch/powerpc/include/asm/dma.h
> @@ -347,5 +347,11 @@ extern int isa_dma_bridge_buggy;
>   #define isa_dma_bridge_buggy	(0)
>   #endif
>   
> +#ifdef CONFIG_CORENET_GENERIC
> +extern phys_addr_t ppc_dma_phys_limit;
> +#define ARCH_LOW_ADDRESS_LIMIT	(ppc_dma_phys_limit - 1)
> +#endif
> +
> +
>   #endif /* __KERNEL__ */
>   #endif	/* _ASM_POWERPC_DMA_H */
> diff --git a/arch/powerpc/platforms/85xx/common.c b/arch/powerpc/platforms/85xx/common.c
> index fe0606439b5a..346b436b6d3f 100644
> --- a/arch/powerpc/platforms/85xx/common.c
> +++ b/arch/powerpc/platforms/85xx/common.c
> @@ -126,3 +126,7 @@ void __init mpc85xx_qe_par_io_init(void)
>   	}
>   }
>   #endif
> +
> +#ifdef CONFIG_CORENET_GENERIC
> +phys_addr_t ppc_dma_phys_limit = 0xffffffffUL;
> +#endif
> diff --git a/arch/powerpc/platforms/85xx/corenet_generic.c b/arch/powerpc/platforms/85xx/corenet_generic.c
> index 7ee2c6628f64..673bcbdc7c75 100644
> --- a/arch/powerpc/platforms/85xx/corenet_generic.c
> +++ b/arch/powerpc/platforms/85xx/corenet_generic.c
> @@ -64,7 +64,7 @@ void __init corenet_gen_setup_arch(void)
>   	mpc85xx_smp_init();
>   
>   	swiotlb_detect_4g();
> -
> +	ppc_dma_phys_limit = 0x0fffffffUL;
>   	pr_info("%s board\n", ppc_md.name);
>   
>   	mpc85xx_qe_init();
Hello Mike,

My PCI TV card works also with your patch! Before I had to add "#include 
<asm/dma.h>" to the file "arch/powerpc/platforms/85xx/corenet_generic.c" 
because of the following error:

------

   CC      arch/powerpc/platforms/85xx/corenet_generic.o
   CC      ipc/util.o
   CC      ipc/msgutil.o
arch/powerpc/platforms/85xx/corenet_generic.c: In function 
‘corenet_gen_setup_arch’:
arch/powerpc/platforms/85xx/corenet_generic.c:77:2: error: 
‘ppc_dma_phys_limit’ undeclared (first use in this function); did you 
mean ‘cpu_to_phys_id’?
   ppc_dma_phys_limit = 0x0fffffffUL;
   ^~~~~~~~~~~~~~~~~~
   cpu_to_phys_id
arch/powerpc/platforms/85xx/corenet_generic.c:77:2: note: each 
undeclared identifier is reported only once for each function it appears in
scripts/Makefile.build:265: recipe for target 
'arch/powerpc/platforms/85xx/corenet_generic.o' failed
make[3]: *** [arch/powerpc/platforms/85xx/corenet_generic.o] Error 1
scripts/Makefile.build:509: recipe for target 
'arch/powerpc/platforms/85xx' failed
make[2]: *** [arch/powerpc/platforms/85xx] Error 2
scripts/Makefile.build:509: recipe for target 'arch/powerpc/platforms' 
failed
make[1]: *** [arch/powerpc/platforms] Error 2
Makefile:1652: recipe for target 'arch/powerpc' failed
make: *** [arch/powerpc] Error 2

------

After that I was able to compile the latest Git kernel with your patch.

Thanks,
Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-26 11:26                 ` Christian Zigotzky
@ 2019-11-26 16:40                   ` Christoph Hellwig
  2019-11-27  6:56                     ` Mike Rapoport
  0 siblings, 1 reply; 20+ messages in thread
From: Christoph Hellwig @ 2019-11-26 16:40 UTC (permalink / raw)
  To: Christian Zigotzky
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, Mike Rapoport, linux-mm, iommu, Rob Herring,
	paulus, mad skateman, contact, Robin Murphy, Christoph Hellwig,
	nsaenzjulienne

On Tue, Nov 26, 2019 at 12:26:38PM +0100, Christian Zigotzky wrote:
> Hello Christoph,
>
> The PCI TV card works with your patch! I was able to patch your Git kernel 
> with the patch above.
>
> I haven't found any error messages in the dmesg yet.

Thanks.  Unfortunately this is a bit of a hack as we need to set
the mask based on runtime information like the magic FSL PCIe window.
Let me try to draft something better up, and thanks already for testing
this one!
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-26 16:40                   ` Christoph Hellwig
@ 2019-11-27  6:56                     ` Mike Rapoport
  2019-11-27  8:53                       ` Christoph Hellwig
                                         ` (2 more replies)
  0 siblings, 3 replies; 20+ messages in thread
From: Mike Rapoport @ 2019-11-27  6:56 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	Christian Zigotzky, contact, Robin Murphy, nsaenzjulienne

On Tue, Nov 26, 2019 at 05:40:26PM +0100, Christoph Hellwig wrote:
> On Tue, Nov 26, 2019 at 12:26:38PM +0100, Christian Zigotzky wrote:
> > Hello Christoph,
> >
> > The PCI TV card works with your patch! I was able to patch your Git kernel 
> > with the patch above.
> >
> > I haven't found any error messages in the dmesg yet.
> 
> Thanks.  Unfortunately this is a bit of a hack as we need to set
> the mask based on runtime information like the magic FSL PCIe window.
> Let me try to draft something better up, and thanks already for testing
> this one!

Maybe we'll simply force bottom up allocation before calling
swiotlb_init()? Anyway, it's the last memblock allocation.


diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
index 62f74b1b33bd..771e6cf7e2b9 100644
--- a/arch/powerpc/mm/mem.c
+++ b/arch/powerpc/mm/mem.c
@@ -286,14 +286,15 @@ void __init mem_init(void)
 	/*
 	 * book3s is limited to 16 page sizes due to encoding this in
 	 * a 4-bit field for slices.
 	 */
 	BUILD_BUG_ON(MMU_PAGE_COUNT > 16);
 
 #ifdef CONFIG_SWIOTLB
+	memblock_set_bottom_up(true);
 	swiotlb_init(0);
 #endif
 
 	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
 	set_max_mapnr(max_pfn);
 	memblock_free_all();
 
 


-- 
Sincerely yours,
Mike.

_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-27  6:56                     ` Mike Rapoport
@ 2019-11-27  8:53                       ` Christoph Hellwig
  2019-11-27 15:14                       ` Christian Zigotzky
  2019-12-04  8:56                       ` Christoph Hellwig
  2 siblings, 0 replies; 20+ messages in thread
From: Christoph Hellwig @ 2019-11-27  8:53 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	Christian Zigotzky, contact, Robin Murphy, Christoph Hellwig,
	nsaenzjulienne

On Wed, Nov 27, 2019 at 08:56:25AM +0200, Mike Rapoport wrote:
> Maybe we'll simply force bottom up allocation before calling
> swiotlb_init()? Anyway, it's the last memblock allocation.

That should work, but I don't think it is the proper fix.  The underlying
issue here is that ZONE_DMA/DMA32 sizing is something that needs to
be propagated to memblock and dma-direct as is based around addressing
limitations.  But our zone initialization is such a mess that we
can't just reuse a variable.  Nicolas has started to clean some of
this up, but we need to clean that whole zone initialization mess up
a lot more.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-27  6:56                     ` Mike Rapoport
  2019-11-27  8:53                       ` Christoph Hellwig
@ 2019-11-27 15:14                       ` Christian Zigotzky
  2019-12-04  8:56                       ` Christoph Hellwig
  2 siblings, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-11-27 15:14 UTC (permalink / raw)
  To: Mike Rapoport, Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	contact, Robin Murphy, nsaenzjulienne

On 27 November 2019 at 07:56 am, Mike Rapoport wrote:
>
> Maybe we'll simply force bottom up allocation before calling
> swiotlb_init()? Anyway, it's the last memblock allocation.
>
>
> diff --git a/arch/powerpc/mm/mem.c b/arch/powerpc/mm/mem.c
> index 62f74b1b33bd..771e6cf7e2b9 100644
> --- a/arch/powerpc/mm/mem.c
> +++ b/arch/powerpc/mm/mem.c
> @@ -286,14 +286,15 @@ void __init mem_init(void)
>   	/*
>   	 * book3s is limited to 16 page sizes due to encoding this in
>   	 * a 4-bit field for slices.
>   	 */
>   	BUILD_BUG_ON(MMU_PAGE_COUNT > 16);
>   
>   #ifdef CONFIG_SWIOTLB
> +	memblock_set_bottom_up(true);
>   	swiotlb_init(0);
>   #endif
>   
>   	high_memory = (void *) __va(max_low_pfn * PAGE_SIZE);
>   	set_max_mapnr(max_pfn);
>   	memblock_free_all();
>   
>   
Hello Mike,

I tested the latest Git kernel with your new patch today. My PCI TV card 
works without any problems.

Thanks,
Christian
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-11-27  6:56                     ` Mike Rapoport
  2019-11-27  8:53                       ` Christoph Hellwig
  2019-11-27 15:14                       ` Christian Zigotzky
@ 2019-12-04  8:56                       ` Christoph Hellwig
  2019-12-04 12:22                         ` Christian Zigotzky
  2 siblings, 1 reply; 20+ messages in thread
From: Christoph Hellwig @ 2019-12-04  8:56 UTC (permalink / raw)
  To: Mike Rapoport
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, linux-mm, iommu, Rob Herring, paulus, mad skateman,
	Christian Zigotzky, contact, Robin Murphy, Christoph Hellwig,
	nsaenzjulienne

On Wed, Nov 27, 2019 at 08:56:25AM +0200, Mike Rapoport wrote:
> On Tue, Nov 26, 2019 at 05:40:26PM +0100, Christoph Hellwig wrote:
> > On Tue, Nov 26, 2019 at 12:26:38PM +0100, Christian Zigotzky wrote:
> > > Hello Christoph,
> > >
> > > The PCI TV card works with your patch! I was able to patch your Git kernel 
> > > with the patch above.
> > >
> > > I haven't found any error messages in the dmesg yet.
> > 
> > Thanks.  Unfortunately this is a bit of a hack as we need to set
> > the mask based on runtime information like the magic FSL PCIe window.
> > Let me try to draft something better up, and thanks already for testing
> > this one!
> 
> Maybe we'll simply force bottom up allocation before calling
> swiotlb_init()? Anyway, it's the last memblock allocation.

So I think we should go with this fix (plus a source code comment) for
now.  Revamping the whole memory initialization is going to take a
while, and this fix also is easily backportable.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

* Re: Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M
  2019-12-04  8:56                       ` Christoph Hellwig
@ 2019-12-04 12:22                         ` Christian Zigotzky
  0 siblings, 0 replies; 20+ messages in thread
From: Christian Zigotzky @ 2019-12-04 12:22 UTC (permalink / raw)
  To: Christoph Hellwig
  Cc: linux-arch, darren, rtd2, Benjamin Herrenschmidt, linuxppc-dev,
	linux-kernel, Mike Rapoport, linux-mm, iommu, Rob Herring,
	paulus, mad skateman, contact, Robin Murphy, nsaenzjulienne

I think we have to wait to Roland’s test results with his SCSI PCI card.

Christian

Sent from my iPhone

> On 4. Dec 2019, at 09:56, Christoph Hellwig <hch@lst.de> wrote:
> 
>> On Wed, Nov 27, 2019 at 08:56:25AM +0200, Mike Rapoport wrote:
>>> On Tue, Nov 26, 2019 at 05:40:26PM +0100, Christoph Hellwig wrote:
>>>> On Tue, Nov 26, 2019 at 12:26:38PM +0100, Christian Zigotzky wrote:
>>>> Hello Christoph,
>>>> 
>>>> The PCI TV card works with your patch! I was able to patch your Git kernel 
>>>> with the patch above.
>>>> 
>>>> I haven't found any error messages in the dmesg yet.
>>> 
>>> Thanks.  Unfortunately this is a bit of a hack as we need to set
>>> the mask based on runtime information like the magic FSL PCIe window.
>>> Let me try to draft something better up, and thanks already for testing
>>> this one!
>> 
>> Maybe we'll simply force bottom up allocation before calling
>> swiotlb_init()? Anyway, it's the last memblock allocation.
> 
> So I think we should go with this fix (plus a source code comment) for
> now.  Revamping the whole memory initialization is going to take a
> while, and this fix also is easily backportable.
_______________________________________________
iommu mailing list
iommu@lists.linux-foundation.org
https://lists.linuxfoundation.org/mailman/listinfo/iommu

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

end of thread, back to index

Thread overview: 20+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
     [not found] <F1EBB706-73DF-430E-9020-C214EC8ED5DA@xenosoft.de>
2019-11-21  7:29 ` Bug 205201 - Booting halts if Dawicontrol DC-2976 UW SCSI board installed, unless RAM size limited to 3500M Christoph Hellwig
2019-11-21 12:16   ` Christian Zigotzky
2019-11-21 12:21     ` Christian Zigotzky
2019-11-21 13:33       ` Robin Murphy
2019-11-21 16:34         ` Christian Zigotzky
2019-11-21 18:02           ` Christoph Hellwig
2019-11-21 18:21             ` Christian Zigotzky
2019-11-23 11:42             ` Christian Zigotzky
2019-11-25  7:39               ` Christoph Hellwig
2019-11-25  9:32                 ` Mike Rapoport
2019-11-25 16:38                   ` Christian Zigotzky
2019-11-26 11:57                   ` Christian Zigotzky
2019-11-25 16:36                 ` Christian Zigotzky
2019-11-26 11:26                 ` Christian Zigotzky
2019-11-26 16:40                   ` Christoph Hellwig
2019-11-27  6:56                     ` Mike Rapoport
2019-11-27  8:53                       ` Christoph Hellwig
2019-11-27 15:14                       ` Christian Zigotzky
2019-12-04  8:56                       ` Christoph Hellwig
2019-12-04 12:22                         ` Christian Zigotzky

IOMMU Archive on lore.kernel.org

Archives are clonable:
	git clone --mirror https://lore.kernel.org/linux-iommu/0 linux-iommu/git/0.git

	# If you have public-inbox 1.1+ installed, you may
	# initialize and index your mirror using the following commands:
	public-inbox-init -V2 linux-iommu linux-iommu/ https://lore.kernel.org/linux-iommu \
		iommu@lists.linux-foundation.org
	public-inbox-index linux-iommu

Example config snippet for mirrors

Newsgroup available over NNTP:
	nntp://nntp.lore.kernel.org/org.linux-foundation.lists.iommu


AGPL code for this site: git clone https://public-inbox.org/public-inbox.git