Re: [PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
Chuck: Thanks for the information. Sorry that we missed the patch. It was not done out of specific reason. As you have commented, it is a very large patch with alot of changes. We wanted to submit the patch to make sure the fundamental structure of the driver align with the kernel. Once that is in place, additional patch will be easier. Fushen will make sure this change is in place on the next submission. Thanks Feng Kan On Tue, Jul 13, 2010 at 3:16 PM, Chuck Meade wrote: > On 07/12/2010 07:16 PM, Fushen Chen wrote: > > The DWC OTG driver module provides the initialization and cleanup > > entry points for the DWC OTG USB driver. > > > > Signed-off-by: Fushen Chen > > Signed-off-by: Mark Miesfeld > > --- > > This reply is to the patch series, not just this 1/9 patch section. > > Fushen, why did you pick and choose which fixes to incorporate from the > Denx > tree's version of the dwc_otg driver? > > I'm not taking the time here to go through this multipart patch and check > that > you incorporated every fix, but I *did* randomly pick one fix that I made > to that > driver, to see if you incorporated it, and it appears you did not. > I would have expected that you would have incorporated the fixes that were > made > to this driver in the Denx tree. > > The one that I checked is in the data toggle error interrupt handling, in > handle_hc_chhltd_intr_dma() (see your 5/9 email in this patch series). It > looks > like you left out the fix I made to this logic that averts an interrupt > storm. > > I assume that since I checked one particular fix, and it was missing from > your > patch series, that there are likely more fixes you omitted. Can you > explain why > you would leave this out, after Stefan asked you to incorporate the code > changes > made in the Denx tree's version of the driver? > > Chuck > ___ > Linuxppc-dev mailing list > Linuxppc-dev@lists.ozlabs.org > https://lists.ozlabs.org/listinfo/linuxppc-dev > -- Feng Kan ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
> > and make the OTG functionality > > key on the generic OTG symbol, not a DW-specific one. > > > > > Use "drivers/usb/otg/otg.c and include/linux/usb/otg.h"? Maybe; CONFIG_USB_OTG specifically, though (or whatever that generic symbol is) ... ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
On 07/12/2010 07:16 PM, Fushen Chen wrote: > The DWC OTG driver module provides the initialization and cleanup > entry points for the DWC OTG USB driver. > > Signed-off-by: Fushen Chen > Signed-off-by: Mark Miesfeld > --- This reply is to the patch series, not just this 1/9 patch section. Fushen, why did you pick and choose which fixes to incorporate from the Denx tree's version of the dwc_otg driver? I'm not taking the time here to go through this multipart patch and check that you incorporated every fix, but I *did* randomly pick one fix that I made to that driver, to see if you incorporated it, and it appears you did not. I would have expected that you would have incorporated the fixes that were made to this driver in the Denx tree. The one that I checked is in the data toggle error interrupt handling, in handle_hc_chhltd_intr_dma() (see your 5/9 email in this patch series). It looks like you left out the fix I made to this logic that averts an interrupt storm. I assume that since I checked one particular fix, and it was missing from your patch series, that there are likely more fixes you omitted. Can you explain why you would leave this out, after Stefan asked you to incorporate the code changes made in the Denx tree's version of the driver? Chuck ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
On Mon, 2010-07-12 at 16:55 -0700, David Brownell wrote: > Please remove all the changes not related to > this Synopsis IP ... Could you clarify what is not Synopsis IP related in the patch? > and make the OTG functionality > key on the generic OTG symbol, not a DW-specific one. > > Use "drivers/usb/otg/otg.c and include/linux/usb/otg.h"? Thanks, Fushen ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
Re: [PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
Please remove all the changes not related to this Synopsis IP ... and make the OTG functionality key on the generic OTG symbol, not a DW-specific one. ___ Linuxppc-dev mailing list Linuxppc-dev@lists.ozlabs.org https://lists.ozlabs.org/listinfo/linuxppc-dev
[PATCH 1/9 v1.01] Add Synopsys DesignWare HS USB OTG Controller driver.
The DWC OTG driver module provides the initialization and cleanup entry points for the DWC OTG USB driver. Signed-off-by: Fushen Chen Signed-off-by: Mark Miesfeld --- drivers/usb/gadget/Kconfig| 32 +- drivers/usb/gadget/gadget_chips.h |7 + drivers/usb/otg/Kconfig | 87 +++ drivers/usb/otg/Makefile | 10 + drivers/usb/otg/dwc_otg_driver.c | 1238 + drivers/usb/otg/dwc_otg_driver.h | 97 +++ 6 files changed, 1455 insertions(+), 16 deletions(-) create mode 100644 drivers/usb/otg/dwc_otg_driver.c create mode 100644 drivers/usb/otg/dwc_otg_driver.h diff --git a/drivers/usb/gadget/Kconfig b/drivers/usb/gadget/Kconfig index dd3b251..130626a 100644 --- a/drivers/usb/gadget/Kconfig +++ b/drivers/usb/gadget/Kconfig @@ -109,8 +109,8 @@ config USB_GADGET_SELECTED # - discrete ones (including all PCI-only controllers) # - debug/dummy gadget+hcd is last. # -choice - prompt "USB Peripheral Controller" +menuconfig USB_PERIPHERAL_CONTROLLER + bool "USB Peripheral Controller" depends on USB_GADGET help A USB device uses a controller to talk to its host. @@ -122,6 +122,8 @@ choice # Integrated controllers # +if USB_PERIPHERAL_CONTROLLER + config USB_GADGET_AT91 boolean "Atmel AT91 USB Device Port" depends on ARCH_AT91 && !ARCH_AT91SAM9RL && !ARCH_AT91CAP9 && !ARCH_AT91SAM9G45 @@ -542,7 +544,7 @@ config USB_DUMMY_HCD # NOTE: Please keep dummy_hcd LAST so that "real hardware" appears # first and will be selected by default. -endchoice +endif # USB_PERIPHERAL_CONTROLLER config USB_GADGET_DUALSPEED bool @@ -714,7 +716,6 @@ config USB_GADGETFS config USB_FUNCTIONFS tristate "Function Filesystem (EXPERIMENTAL)" depends on EXPERIMENTAL - select USB_FUNCTIONFS_GENERIC if !(USB_FUNCTIONFS_ETH || USB_FUNCTIONFS_RNDIS) help The Function Filesystem (FunctioFS) lets one create USB composite functions in user space in the same way as GadgetFS @@ -723,31 +724,31 @@ config USB_FUNCTIONFS implemented in kernel space (for instance Ethernet, serial or mass storage) and other are implemented in user space. - If you say "y" or "m" here you will be able what kind of - configurations the gadget will provide. - Say "y" to link the driver statically, or "m" to build a dynamically linked module called "g_ffs". config USB_FUNCTIONFS_ETH - bool "Include configuration with CDC ECM (Ethernet)" + bool "Include CDC ECM (Ethernet) function" depends on USB_FUNCTIONFS && NET help - Include a configuration with CDC ECM funcion (Ethernet) and the - Funcion Filesystem. + Include an CDC ECM (Ethernet) funcion in the CDC ECM (Funcion) + Filesystem. If you also say "y" to the RNDIS query below the + gadget will have two configurations. config USB_FUNCTIONFS_RNDIS - bool "Include configuration with RNDIS (Ethernet)" + bool "Include RNDIS (Ethernet) function" depends on USB_FUNCTIONFS && NET help - Include a configuration with RNDIS funcion (Ethernet) and the Filesystem. + Include an RNDIS (Ethernet) funcion in the Funcion Filesystem. + If you also say "y" to the CDC ECM query above the gadget will + have two configurations. config USB_FUNCTIONFS_GENERIC bool "Include 'pure' configuration" - depends on USB_FUNCTIONFS + depends on USB_FUNCTIONFS && (USB_FUNCTIONFS_ETH || USB_FUNCTIONFS_RNDIS) help - Include a configuration with the Function Filesystem alone with - no Ethernet interface. + Include a configuration with FunctionFS and no Ethernet + configuration. config USB_FILE_STORAGE tristate "File-backed Storage Gadget" @@ -864,7 +865,6 @@ config USB_G_NOKIA config USB_G_MULTI tristate "Multifunction Composite Gadget (EXPERIMENTAL)" depends on BLOCK && NET - select USB_G_MULTI_CDC if !USB_G_MULTI_RNDIS help The Multifunction Composite Gadget provides Ethernet (RNDIS and/or CDC Ethernet), mass storage and ACM serial link diff --git a/drivers/usb/gadget/gadget_chips.h b/drivers/usb/gadget/gadget_chips.h index e511fec..c0dec12 100644 --- a/drivers/usb/gadget/gadget_chips.h +++ b/drivers/usb/gadget/gadget_chips.h @@ -142,6 +142,11 @@ #define gadget_is_s3c_hsotg(g)0 #endif +#if defined(CONFIG_DWC_OTG_MODE) || defined(CONFIG_DWC_DEVICE_ONLY) +#definegadget_is_dwc_otg_pcd(g)(!strcmp("dwc_otg_pcd", (g)->name)) +#else +#definegadget_is_dwc_otg_pcd(g)0 +#endif /** * usb_gadget_controller_number - support bcdDevice id convention @@ -200,6 +205,8 @@ static inline int usb_gadget_controller_number(struct usb_gadget *gadget) return 0x25; else if (gadget_is_s3c_hsotg(gadget))