usb: gadget: bdc: 64-bit pointer capability check
authorSrinath Mannam <srinath.mannam@broadcom.com>
Thu, 15 Jun 2017 09:09:22 +0000 (14:39 +0530)
committerFelipe Balbi <felipe.balbi@linux.intel.com>
Mon, 19 Jun 2017 06:22:31 +0000 (09:22 +0300)
Corrected the register to check the 64-bit pointer
capability state. 64-bit pointer implementation capability
was checking in wrong register, which causes the BDC
enumeration failure in 64-bit memory address.

Fixes: efed421a94e6 ("usb: gadget: Add UDC driver for
Broadcom USB3.0 device controller IP BDC")

Reviewed-by: Florian Fainelli <f.fainelli@gmail.com>
Signed-off-by: Srinath Mannam <srinath.mannam@broadcom.com>
Signed-off-by: Felipe Balbi <felipe.balbi@linux.intel.com>
drivers/usb/gadget/udc/bdc/bdc_core.c

index ccb9c213cc9f7e5b1ba958b9451df218fe3334bc..e9bd8d4abca00df87aa35672728870d15ba3ba74 100644 (file)
@@ -475,7 +475,7 @@ static int bdc_probe(struct platform_device *pdev)
        bdc->dev = dev;
        dev_dbg(bdc->dev, "bdc->regs: %p irq=%d\n", bdc->regs, bdc->irq);
 
-       temp = bdc_readl(bdc->regs, BDC_BDCSC);
+       temp = bdc_readl(bdc->regs, BDC_BDCCAP1);
        if ((temp & BDC_P64) &&
                        !dma_set_mask_and_coherent(dev, DMA_BIT_MASK(64))) {
                dev_dbg(bdc->dev, "Using 64-bit address\n");