On Tue, May 25, 2010 at 11:00:39AM +0530, Maulik Mankad wrote: > On Tue, May 25, 2010 at 10:06 AM, Ben Dooks <ben-linux@xxxxxxxxx> wrote: > > Some versions of the S3C HS OtG block startup with overlapping TX FIFO > > information, so change the fifo_init code to ensure that known values > > are set into the FIFO registers at initialisation/reset time. > > > > This also ensures that the FIFO RAM pointers are in a known state > > before use. > > > > Signed-off-by: Ben Dooks <ben-linux@xxxxxxxxx> > > --- > > drivers/usb/gadget/s3c-hsotg.c | 25 +++++++++++++++++++++++++ > > 1 files changed, 25 insertions(+), 0 deletions(-) > > > > diff --git a/drivers/usb/gadget/s3c-hsotg.c b/drivers/usb/gadget/s3c-hsotg.c > > index dce9366..2ee75a7 100644 > > --- a/drivers/usb/gadget/s3c-hsotg.c > > +++ b/drivers/usb/gadget/s3c-hsotg.c > > @@ -298,6 +298,11 @@ static void s3c_hsotg_ctrl_epint(struct s3c_hsotg *hsotg, > > */ > > static void s3c_hsotg_init_fifo(struct s3c_hsotg *hsotg) > > { > > + unsigned int ep; > > + unsigned int addr; > > + unsigned int size; > > + u32 val; > > + > > /* the ryu 2.6.24 release ahs > > writel(0x1C0, hsotg->regs + S3C_GRXFSIZ); > > writel(S3C_GNPTXFSIZ_NPTxFStAddr(0x200) | > > @@ -311,6 +316,26 @@ static void s3c_hsotg_init_fifo(struct s3c_hsotg *hsotg) > > writel(S3C_GNPTXFSIZ_NPTxFStAddr(2048) | > > S3C_GNPTXFSIZ_NPTxFDep(0x1C0), > > hsotg->regs + S3C_GNPTXFSIZ); > > + > > + /* arange all the rest of the TX FIFOs, as some versions of this > > + * block have overlapping default addresses. This also ensures > > + * that if the settings have been changed, then they are set to > > + * known values. */ > > Please see Documentation/CodingStyle for multi-line comments. > > > + > > + /* start at the end of the GNPTXFSIZ, rounded up */ > > + addr = 2048 + 1024; > > + size = 768; > > + > > + /* currently we allocate TX FIFOs for all possible endpoints, > > + * and assume that they are all the same size. */ > > Same here. > > > + > > + for (ep = 0; ep <= 15; ep++) { > > + val = addr; > > + val |= size << S3C_DPTXFSIZn_DPTxFSize_SHIFT; > > + addr += size; > > + > > + writel(val, hsotg->regs + S3C_DPTXFSIZn(ep)); > > + } > > } > > Regards, > Maulik ok, fixed both, -- Ben Q: What's a light-year? A: One-third less calories than a regular year. -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html