Re: [linux-usb-devel] [PATCH] UDC support for MIPS/AU1200 and Geode/CS5536

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

 



Am Dienstag, 10. Januar 2006 12:02 schrieb Thomas Dahlmann:
> 
> Oliver Neukum wrote:
> 
> >Am Montag, 9. Januar 2006 19:03 schrieb Jordan Crouse:
> >  
> >
> >>>From the "two-birds-one-stone" department, I am pleased to present USB UDC
> >>support for both the MIPS Au1200 SoC and the Geode CS5535 south bridge.  
> >>Also, coming soon (in the next few days), OTG, which has been removed from
> >>the usb_host patch, and put into its own patch (as per David's comments).
> >>
> >>This patch is against current linux-mips git, but it should apply for Linus's
> >>tree as well.
> >>
> >>Regards,
> >>Jordan
> >>
> >>    
> >>
> >+        VDBG("udc_read_bytes(): %d bytes\n", bytes);
> >+
> >+        /* dwords first */
> >+        for (i = 0; i < bytes / UDC_DWORD_BYTES; i++) {
> >+               *((u32*) (buf + (i<<2))) = readl(dev->rxfifo); 
> >+        }
> >
> >Is there any reason you don't increment by 4?
> >
> >	Regards
> >		Oliver
> >
> >
> >
> >  
> >
> The loop is for reading dwords only, so "i < bytes / UDC_DWORD_BYTES" cuts
> off remaining 1,2 or 3 bytes which are handled by the next loop.
> But you are right, incrementing by 4 may look better,  as
> 
>         for (i = 0; i < bytes - bytes % UDC_DWORD_BYTES; i+=4) {
>                *((u32*) (buf + i)) = readl(dev->rxfifo); 
>         }

Not only will it look better, but it'll save you a shift operation.
You might even compute start and finish values before the loop and
save an addition in the body.

	Regards
		Oliver


[Index of Archives]     [Linux MIPS Home]     [LKML Archive]     [Linux ARM Kernel]     [Linux ARM]     [Linux]     [Git]     [Yosemite News]     [Linux SCSI]     [Linux Hams]

  Powered by Linux