RE: [PATCH 2/2] usb: dwc2: gadget reuse ahbcfg assigned from platform

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> -----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�����٥





[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux