> -----Original Message----- > From: John Youn [mailto:John.Youn@xxxxxxxxxxxx] > Sent: Wednesday, February 11, 2015 11:00 PM > To: Zhangfei Gao; Kaukab, Yousaf > Cc: balbi@xxxxxx; john.youn@xxxxxxxxxxxx; linux-usb@xxxxxxxxxxxxxxx > Subject: Re: [PATCH 2/2] usb: dwc2: gadget reuse ahbcfg assigned from > platform > > On 2/6/2015 2:23 PM, John Youn wrote: > > On 2/6/2015 6:02 AM, Zhangfei Gao wrote: > >> On 6 February 2015 at 16:07, Kaukab, Yousaf <yousaf.kaukab@xxxxxxxxx> > wrote: > >>>>>> GAHBCFG_HBSTLEN_INCR4 << diff --git a/drivers/usb/dwc2/gadget.c > >>>>>> b/drivers/usb/dwc2/gadget.c index 15aa578..20085de 100644 > >>>>>> --- a/drivers/usb/dwc2/gadget.c > >>>>>> +++ b/drivers/usb/dwc2/gadget.c > >>>>>> @@ -2314,9 +2314,13 @@ void > >>>>>> s3c_hsotg_core_init_disconnected(struct > >>>>>> dwc2_hsotg *hsotg, > >>>>>> GINTSTS_USBSUSP | GINTSTS_WKUPINT, > >>>>>> hsotg->regs + GINTMSK); > >>>>>> > >>>>>> + if ((hsotg->core_params) && (hsotg->core_params->ahbcfg != > >>>>>> + - > >>>>>> 1)) > >>>>>> + val = hsotg->core_params->ahbcfg & > >>>>>> ~GAHBCFG_CTRL_MASK; > >>>>>> + else > >>>>>> + val = GAHBCFG_HBSTLEN_INCR4 << > >>>>>> GAHBCFG_HBSTLEN_SHIFT; > >>>>>> + > >>>>>> if (using_dma(hsotg)) > >>>>>> - writel(GAHBCFG_GLBL_INTR_EN | > >>>>>> GAHBCFG_DMA_EN | > >>>>>> - (GAHBCFG_HBSTLEN_INCR4 << > >>>>>> GAHBCFG_HBSTLEN_SHIFT), > >>>>>> + writel(GAHBCFG_GLBL_INTR_EN | > >>>>>> GAHBCFG_DMA_EN | val, > >>>>>> hsotg->regs + GAHBCFG); > >>>>>> else > >>>>>> writel(((hsotg->dedicated_fifos) ? > >>>>>> (GAHBCFG_NP_TXF_EMP_LVL | > >>>>> > >>>>> There are other bits in GAHBCFG that can be set from platform. > >>>>> They will be > >>>> preserved by your patch, as they are not part of GAHBCFG_CTRL_MASK, > >>>> but only in case dma is enabled. Perhaps preserve them in non-dma case > as well. > >>>> > >>>> Here may have issue if also set hsotg->core_params->ahbcfg for > >>>> non-dma case, since GAHBCFG[4:1] may be set. > >>> > >>> You can mask off HBstLen in that case. However, I don't think setting burst > length will be an issue in non DMA case as DWC2 will not act as a bus master. > John, can you please confirm if setting burst length will be an issue in non-dma > case? > > > > I don't think it hurts to preserve those bits, but I will check. > > > > I can confirm that AHB_SINGLE, NOTI_ALL_DMA_WRIT, REM_MEM_SUPP, > HBSTLEN, and INV_DESC_ENDIANNESS only apply in DMA mode and are > ignored in slave mode operation. John, thank you! So, there is no harm in setting these in non-dma mode. > > John > > BR, Yousaf ��.n��������+%������w��{.n�����{���)��jg��������ݢj����G�������j:+v���w�m������w�������h�����٥