mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-30 11:41:38 -04:00
USB/PHY patches for 4.11-rc1
Here is the big USB and PHY driver updates for 4.11-rc1. Nothing major, just the normal amount of churn in the usb gadget and dwc and xhci controllers, new device ids, new phy drivers, a new usb-serial driver, and a few other minor changes in different USB drivers. All have been in linux-next for a long time with no reported issues. Signed-off-by: Greg Kroah-Hartman <[email protected]> -----BEGIN PGP SIGNATURE----- iG0EABECAC0WIQT0tgzFv3jCIUoxPcsxR9QN2y37KQUCWK2lrg8cZ3JlZ0Brcm9h aC5jb20ACgkQMUfUDdst+ykh7ACffotTJvB/gwpuSIWh6qhA8KQ9mH8AnjlxMafv b5b3vfOXJ8/N0Go25VwI =7fqN -----END PGP SIGNATURE----- Merge tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb Pull USB/PHY updates from Greg KH: "Here is the big USB and PHY driver updates for 4.11-rc1. Nothing major, just the normal amount of churn in the usb gadget and dwc and xhci controllers, new device ids, new phy drivers, a new usb-serial driver, and a few other minor changes in different USB drivers. All have been in linux-next for a long time with no reported issues" * tag 'usb-4.11-rc1' of git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb: (265 commits) usb: cdc-wdm: remove logically dead code USB: serial: keyspan: drop header file USB: serial: io_edgeport: drop io-tables header file usb: musb: add code comment for clarification usb: misc: add USB251xB/xBi Hi-Speed Hub Controller Driver usb: misc: usbtest: remove redundant check on retval < 0 USB: serial: upd78f0730: sort device ids USB: serial: upd78f0730: add ID for EVAL-ADXL362Z ohci-hub: fix typo in dbg_port macro usb: musb: dsps: Manage CPPI 4.1 DMA interrupt in DSPS usb: musb: tusb6010: Clean up tusb_omap_dma structure usb: musb: cppi_dma: Clean up cppi41_dma_controller structure usb: musb: cppi_dma: Clean up cppi structure usb: musb: cppi41: Detect aborted transfers in cppi41_dma_callback() usb: musb: dma: Add a DMA completion platform callback drivers: usb: usbip: Add missing break statement to switch usb: mtu3: remove redundant dev_err call in get_ssusb_rscs() USB: serial: mos7840: fix another NULL-deref at open USB: serial: console: clean up sanity checks USB: serial: console: fix uninitialised spinlock ...
This commit is contained in:
commit
8ff546b801
193 changed files with 7780 additions and 4460 deletions
|
|
@ -79,14 +79,6 @@
|
|||
#define QMGR_QUEUE_C(n) (0x2008 + (n) * 0x10)
|
||||
#define QMGR_QUEUE_D(n) (0x200c + (n) * 0x10)
|
||||
|
||||
/* Glue layer specific */
|
||||
/* USBSS / USB AM335x */
|
||||
#define USBSS_IRQ_STATUS 0x28
|
||||
#define USBSS_IRQ_ENABLER 0x2c
|
||||
#define USBSS_IRQ_CLEARR 0x30
|
||||
|
||||
#define USBSS_IRQ_PD_COMP (1 << 2)
|
||||
|
||||
/* Packet Descriptor */
|
||||
#define PD2_ZERO_LENGTH (1 << 19)
|
||||
|
||||
|
|
@ -294,14 +286,8 @@ static irqreturn_t cppi41_irq(int irq, void *data)
|
|||
{
|
||||
struct cppi41_dd *cdd = data;
|
||||
struct cppi41_channel *c;
|
||||
u32 status;
|
||||
int i;
|
||||
|
||||
status = cppi_readl(cdd->usbss_mem + USBSS_IRQ_STATUS);
|
||||
if (!(status & USBSS_IRQ_PD_COMP))
|
||||
return IRQ_NONE;
|
||||
cppi_writel(status, cdd->usbss_mem + USBSS_IRQ_STATUS);
|
||||
|
||||
for (i = QMGR_PENDING_SLOT_Q(FIST_COMPLETION_QUEUE); i < QMGR_NUM_PEND;
|
||||
i++) {
|
||||
u32 val;
|
||||
|
|
@ -618,6 +604,7 @@ static void cppi41_compute_td_desc(struct cppi41_desc *d)
|
|||
|
||||
static int cppi41_tear_down_chan(struct cppi41_channel *c)
|
||||
{
|
||||
struct dmaengine_result abort_result;
|
||||
struct cppi41_dd *cdd = c->cdd;
|
||||
struct cppi41_desc *td;
|
||||
u32 reg;
|
||||
|
|
@ -701,6 +688,12 @@ static int cppi41_tear_down_chan(struct cppi41_channel *c)
|
|||
c->td_seen = 0;
|
||||
c->td_desc_seen = 0;
|
||||
cppi_writel(0, c->gcr_reg);
|
||||
|
||||
/* Invoke the callback to do the necessary clean-up */
|
||||
abort_result.result = DMA_TRANS_ABORTED;
|
||||
dma_cookie_complete(&c->txd);
|
||||
dmaengine_desc_get_callback_invoke(&c->txd, &abort_result);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -1066,8 +1059,6 @@ static int cppi41_dma_probe(struct platform_device *pdev)
|
|||
goto err_irq;
|
||||
}
|
||||
|
||||
cppi_writel(USBSS_IRQ_PD_COMP, cdd->usbss_mem + USBSS_IRQ_ENABLER);
|
||||
|
||||
ret = devm_request_irq(&pdev->dev, irq, glue_info->isr, IRQF_SHARED,
|
||||
dev_name(dev), cdd);
|
||||
if (ret)
|
||||
|
|
@ -1091,7 +1082,6 @@ err_of:
|
|||
dma_async_device_unregister(&cdd->ddev);
|
||||
err_dma_reg:
|
||||
err_irq:
|
||||
cppi_writel(0, cdd->usbss_mem + USBSS_IRQ_CLEARR);
|
||||
cleanup_chans(cdd);
|
||||
err_chans:
|
||||
deinit_cppi41(dev, cdd);
|
||||
|
|
@ -1119,7 +1109,6 @@ static int cppi41_dma_remove(struct platform_device *pdev)
|
|||
of_dma_controller_free(pdev->dev.of_node);
|
||||
dma_async_device_unregister(&cdd->ddev);
|
||||
|
||||
cppi_writel(0, cdd->usbss_mem + USBSS_IRQ_CLEARR);
|
||||
devm_free_irq(&pdev->dev, cdd->irq, cdd);
|
||||
cleanup_chans(cdd);
|
||||
deinit_cppi41(&pdev->dev, cdd);
|
||||
|
|
@ -1138,7 +1127,6 @@ static int __maybe_unused cppi41_suspend(struct device *dev)
|
|||
struct cppi41_dd *cdd = dev_get_drvdata(dev);
|
||||
|
||||
cdd->dma_tdfdq = cppi_readl(cdd->ctrl_mem + DMA_TDFDQ);
|
||||
cppi_writel(0, cdd->usbss_mem + USBSS_IRQ_CLEARR);
|
||||
disable_sched(cdd);
|
||||
|
||||
return 0;
|
||||
|
|
@ -1164,8 +1152,6 @@ static int __maybe_unused cppi41_resume(struct device *dev)
|
|||
cppi_writel(QMGR_SCRATCH_SIZE, cdd->qmgr_mem + QMGR_LRAM_SIZE);
|
||||
cppi_writel(0, cdd->qmgr_mem + QMGR_LRAM1_BASE);
|
||||
|
||||
cppi_writel(USBSS_IRQ_PD_COMP, cdd->usbss_mem + USBSS_IRQ_ENABLER);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
Loading…
Reference in a new issue