[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Bug#785707: Add USB support for APM Mustang



Here's patch v2...

-- 
Steve McIntyre, Cambridge, UK.                                steve@einval.com
Into the distance, a ribbon of black
Stretched to the point of no turning back
diff -Nru linux-3.16.7-ckt9/debian/changelog linux-3.16.7-ckt9/debian/changelog
--- linux-3.16.7-ckt9/debian/changelog	2015-04-13 01:01:55.000000000 +0000
+++ linux-3.16.7-ckt9/debian/changelog	2015-05-15 08:47:00.000000000 +0000
@@ -1,3 +1,10 @@
+linux (3.16.7-ckt9-2.1) unstable; urgency=medium
+
+  * arm64: enable XHCI USB on APM X-Gene
+  * usb: host: allow 64-bit DMA mask for XHCI
+
+ -- Steve McIntyre <93sam@debian.org>  Fri, 15 May 2015 09:41:31 +0100
+
 linux (3.16.7-ckt9-2) unstable; urgency=medium
 
   * btrfs: simplify insert_orphan_item (Closes: #782362)
diff -Nru linux-3.16.7-ckt9/debian/config/arm64/config linux-3.16.7-ckt9/debian/config/arm64/config
--- linux-3.16.7-ckt9/debian/config/arm64/config	2015-01-02 03:46:07.000000000 +0000
+++ linux-3.16.7-ckt9/debian/config/arm64/config	2015-05-15 08:54:05.000000000 +0000
@@ -120,6 +120,8 @@
 CONFIG_USB_EHCI_HCD_PLATFORM=m
 CONFIG_USB_OHCI_HCD=m
 CONFIG_USB_OHCI_HCD_PLATFORM=m
+CONFIG_USB_XHCI_HCD=m
+CONFIG_USB_XHCI_PLATFORM=y
 
 ##
 ## file: drivers/virtio/Kconfig
diff -Nru linux-3.16.7-ckt9/debian/patches/features/arm64/xgene-enable-xhci-usb.patch linux-3.16.7-ckt9/debian/patches/features/arm64/xgene-enable-xhci-usb.patch
--- linux-3.16.7-ckt9/debian/patches/features/arm64/xgene-enable-xhci-usb.patch	1970-01-01 00:00:00.000000000 +0000
+++ linux-3.16.7-ckt9/debian/patches/features/arm64/xgene-enable-xhci-usb.patch	2015-05-15 10:48:28.000000000 +0000
@@ -0,0 +1,61 @@
+From: Mark Langsdorf <mlangsdo@redhat.com>
+Date: Wed, 20 May 2015 00:19:13 +0100
+Subject: [usb] make xhci platform driver use 64 bit or 32 bit DMA
+Bug-Debian: https://bugs.debian.org/785707
+Forwarded: no
+
+The xhci platform driver needs to work on systems that either only
+support 64-bit DMA or only support 32-bit DMA. Attempt to set a
+coherent dma mask for 64-bit DMA, and attempt again with 32-bit
+DMA if that fails.
+
+Signed-off-by: Mark Langsdorf <mlangsdo@redhat.com>
+Signed-off-by: Steve McIntyre <steve@einval.com>
+
+Index: linux-3.16.7-ckt9/drivers/usb/host/xhci-plat.c
+===================================================================
+--- linux-3.16.7-ckt9.orig/drivers/usb/host/xhci-plat.c
++++ linux-3.16.7-ckt9/drivers/usb/host/xhci-plat.c
+@@ -115,14 +115,18 @@ static int xhci_plat_probe(struct platfo
+ 	if (!res)
+ 		return -ENODEV;
+ 
+-	/* Initialize dma_mask and coherent_dma_mask to 32-bits */
+-	ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
+-	if (ret)
+-		return ret;
++	/* Try setting the coherent_dma_mask to 64 bits, then try 32 bits */
++	if (sizeof(dma_addr_t) < 8 ||
++		dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) {
++		ret = dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(32));
++		if (ret)
++			return ret;
++	}
+ 	if (!pdev->dev.dma_mask)
+ 		pdev->dev.dma_mask = &pdev->dev.coherent_dma_mask;
+ 	else
+-		dma_set_mask(&pdev->dev, DMA_BIT_MASK(32));
++		dma_set_mask(&pdev->dev, pdev->dev.coherent_dma_mask);
++
+ 
+ 	hcd = usb_create_hcd(driver, &pdev->dev, dev_name(&pdev->dev));
+ 	if (!hcd)
+Index: linux-3.16.7-ckt9/drivers/usb/host/Kconfig
+===================================================================
+--- linux-3.16.7-ckt9.orig/drivers/usb/host/Kconfig
++++ linux-3.16.7-ckt9/drivers/usb/host/Kconfig
+@@ -27,7 +27,13 @@
+ if USB_XHCI_HCD
+ 
+ config USB_XHCI_PLATFORM
+-	tristate
++	tristate "Generic XHCI driver for a platform device"
++	default n
++	---help---
++	  Adds an XHCI host driver for a generic platform device, which
++	  provides a memory space and an irq.
++
++	  If unsure, say N.
+ 
+ config USB_XHCI_MVEBU
+ 	tristate "xHCI support for Marvell Armada 375/38x"
diff -Nru linux-3.16.7-ckt9/debian/patches/series linux-3.16.7-ckt9/debian/patches/series
--- linux-3.16.7-ckt9/debian/patches/series	2015-04-13 00:40:38.000000000 +0000
+++ linux-3.16.7-ckt9/debian/patches/series	2015-05-15 08:47:26.000000000 +0000
@@ -578,3 +578,4 @@
 debian/procfs-avoid-abi-change-in-3.16.7-ckt8.patch
 
 bugfix/all/btrfs-simplify-insert_orphan_item.patch
+features/arm64/xgene-enable-xhci-usb.patch

Reply to: