diff options
author | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-09-02 13:31:18 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2019-09-02 13:31:18 -0400 |
commit | 7a81146204859c6f8d8daf3ab7a25af17dfecd5f (patch) | |
tree | 6bcd14e38f8f44621521faf66565a97ee6ad461e /drivers/usb/host | |
parent | 96e46dcfb8534494859936b3da4f3018de53a53f (diff) | |
parent | 089cf7f6ecb266b6a4164919a2e69bd2f938374a (diff) |
Merge 5.3-rc7 into usb-next
We need the usb fixes in here for testing
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'drivers/usb/host')
-rw-r--r-- | drivers/usb/host/ohci-hcd.c | 15 | ||||
-rw-r--r-- | drivers/usb/host/xhci-rcar.c | 2 | ||||
-rw-r--r-- | drivers/usb/host/xhci-tegra.c | 10 |
3 files changed, 23 insertions, 4 deletions
diff --git a/drivers/usb/host/ohci-hcd.c b/drivers/usb/host/ohci-hcd.c index 1eb8d17e19db..4de91653a2c7 100644 --- a/drivers/usb/host/ohci-hcd.c +++ b/drivers/usb/host/ohci-hcd.c | |||
@@ -419,8 +419,7 @@ static void ohci_usb_reset (struct ohci_hcd *ohci) | |||
419 | * other cases where the next software may expect clean state from the | 419 | * other cases where the next software may expect clean state from the |
420 | * "firmware". this is bus-neutral, unlike shutdown() methods. | 420 | * "firmware". this is bus-neutral, unlike shutdown() methods. |
421 | */ | 421 | */ |
422 | static void | 422 | static void _ohci_shutdown(struct usb_hcd *hcd) |
423 | ohci_shutdown (struct usb_hcd *hcd) | ||
424 | { | 423 | { |
425 | struct ohci_hcd *ohci; | 424 | struct ohci_hcd *ohci; |
426 | 425 | ||
@@ -436,6 +435,16 @@ ohci_shutdown (struct usb_hcd *hcd) | |||
436 | ohci->rh_state = OHCI_RH_HALTED; | 435 | ohci->rh_state = OHCI_RH_HALTED; |
437 | } | 436 | } |
438 | 437 | ||
438 | static void ohci_shutdown(struct usb_hcd *hcd) | ||
439 | { | ||
440 | struct ohci_hcd *ohci = hcd_to_ohci(hcd); | ||
441 | unsigned long flags; | ||
442 | |||
443 | spin_lock_irqsave(&ohci->lock, flags); | ||
444 | _ohci_shutdown(hcd); | ||
445 | spin_unlock_irqrestore(&ohci->lock, flags); | ||
446 | } | ||
447 | |||
439 | /*-------------------------------------------------------------------------* | 448 | /*-------------------------------------------------------------------------* |
440 | * HC functions | 449 | * HC functions |
441 | *-------------------------------------------------------------------------*/ | 450 | *-------------------------------------------------------------------------*/ |
@@ -760,7 +769,7 @@ static void io_watchdog_func(struct timer_list *t) | |||
760 | died: | 769 | died: |
761 | usb_hc_died(ohci_to_hcd(ohci)); | 770 | usb_hc_died(ohci_to_hcd(ohci)); |
762 | ohci_dump(ohci); | 771 | ohci_dump(ohci); |
763 | ohci_shutdown(ohci_to_hcd(ohci)); | 772 | _ohci_shutdown(ohci_to_hcd(ohci)); |
764 | goto done; | 773 | goto done; |
765 | } else { | 774 | } else { |
766 | /* No write back because the done queue was empty */ | 775 | /* No write back because the done queue was empty */ |
diff --git a/drivers/usb/host/xhci-rcar.c b/drivers/usb/host/xhci-rcar.c index 8616c52849c6..2b0ccd150209 100644 --- a/drivers/usb/host/xhci-rcar.c +++ b/drivers/usb/host/xhci-rcar.c | |||
@@ -104,7 +104,7 @@ static int xhci_rcar_is_gen2(struct device *dev) | |||
104 | return of_device_is_compatible(node, "renesas,xhci-r8a7790") || | 104 | return of_device_is_compatible(node, "renesas,xhci-r8a7790") || |
105 | of_device_is_compatible(node, "renesas,xhci-r8a7791") || | 105 | of_device_is_compatible(node, "renesas,xhci-r8a7791") || |
106 | of_device_is_compatible(node, "renesas,xhci-r8a7793") || | 106 | of_device_is_compatible(node, "renesas,xhci-r8a7793") || |
107 | of_device_is_compatible(node, "renensas,rcar-gen2-xhci"); | 107 | of_device_is_compatible(node, "renesas,rcar-gen2-xhci"); |
108 | } | 108 | } |
109 | 109 | ||
110 | static int xhci_rcar_is_gen3(struct device *dev) | 110 | static int xhci_rcar_is_gen3(struct device *dev) |
diff --git a/drivers/usb/host/xhci-tegra.c b/drivers/usb/host/xhci-tegra.c index dafc65911fc0..2ff7c911fbd0 100644 --- a/drivers/usb/host/xhci-tegra.c +++ b/drivers/usb/host/xhci-tegra.c | |||
@@ -1194,6 +1194,16 @@ static int tegra_xusb_probe(struct platform_device *pdev) | |||
1194 | 1194 | ||
1195 | tegra_xusb_config(tegra, regs); | 1195 | tegra_xusb_config(tegra, regs); |
1196 | 1196 | ||
1197 | /* | ||
1198 | * The XUSB Falcon microcontroller can only address 40 bits, so set | ||
1199 | * the DMA mask accordingly. | ||
1200 | */ | ||
1201 | err = dma_set_mask_and_coherent(tegra->dev, DMA_BIT_MASK(40)); | ||
1202 | if (err < 0) { | ||
1203 | dev_err(&pdev->dev, "failed to set DMA mask: %d\n", err); | ||
1204 | goto put_rpm; | ||
1205 | } | ||
1206 | |||
1197 | err = tegra_xusb_load_firmware(tegra); | 1207 | err = tegra_xusb_load_firmware(tegra); |
1198 | if (err < 0) { | 1208 | if (err < 0) { |
1199 | dev_err(&pdev->dev, "failed to load firmware: %d\n", err); | 1209 | dev_err(&pdev->dev, "failed to load firmware: %d\n", err); |