Package: src:linux Version: 3.16.7-ckt9-2 Severity: normal Tags: d-i patch Hi folks,
As described a little at http://blog.einval.com/2015/05/19#mustang_installer I've been working on getting Mustang support working. There's a (quite generic!) patch from Mark Langsdorf for the XHCI platform code that allows for a 64-bit DMA mask: http://www.spinics.net/lists/arm-kernel/msg373699.html AFAICS this is needed for the Mustang, as all of its memory is mapped over 4GiB. The patch hasn't (yet!) been accepted upstream, but I've swapped mail with Mark and he says he's about to propose it again this week. With the small attached patch applied to the Jessie kernel (Mark's code plus a config tweak), I've got things working just fine. It would be lovely if we could get this into Jessie for the 8.1 point release. :-) -- System Information: Debian Release: 8.0 APT prefers stable APT policy: (500, 'stable') Architecture: amd64 (x86_64) Foreign Architectures: i386 Kernel: Linux 3.16.0-4-amd64 (SMP w/4 CPU cores) Locale: LANG=en_GB.UTF-8, LC_CTYPE=en_GB.UTF-8 (charmap=UTF-8) Shell: /bin/sh linked to /bin/dash Init: systemd (via /run/systemd/system)
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 <93...@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,40 @@ +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 +@@ -28,6 +28,7 @@ + + config USB_XHCI_PLATFORM + tristate ++ default m + + 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