usb: dwc2: Disable descriptor dma mode by default
authorDinh Nguyen <dinguyen@altera.com>
Wed, 7 May 2014 13:30:33 +0000 (08:30 -0500)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Tue, 27 May 2014 22:42:41 +0000 (15:42 -0700)
Even though the IP supports Descriptor DMA mode, it does not support SPLIT
transactions in this mode. So the driver, in its currently form, will not
support LS/FS devices when connected to a HS Hub if Descriptor DMA mode is
enabled.

So we should just default to disable descriptor dma mode.

Signed-off-by: Dinh Nguyen <dinguyen@altera.com>
Acked-by: Paul Zimmerman <paulz@synopsys.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/dwc2/platform.c

index eaba547ce26b53699744adb4bcc77fa1627a7c05..a10e7a3535768aab9e5d8128dbdb012979f32092 100644 (file)
@@ -134,6 +134,12 @@ static int dwc2_driver_probe(struct platform_device *dev)
                /* Default all params to autodetect */
                dwc2_set_all_params(&defparams, -1);
                params = &defparams;
+
+               /*
+                * Disable descriptor dma mode by default as the HW can support
+                * it, but does not support it for SPLIT transactions.
+                */
+               defparams.dma_desc_enable = 0;
        }
 
        hsotg = devm_kzalloc(&dev->dev, sizeof(*hsotg), GFP_KERNEL);