Message ID | CAOMZO5CobU64+VyT1ao_VH13ZkketBPypnnX=KM0NsTewrYd+g@mail.gmail.com |
---|---|
State | Superseded |
Delegated to: | Stefano Babic |
Headers | show |
Dear Fabio Estevam, > On Wed, Aug 22, 2012 at 2:42 PM, Marek Vasut <marek.vasut@gmail.com> wrote: > > Dear Fabio Estevam, > > > >> On Tue, Aug 21, 2012 at 11:17 PM, Marek Vasut <marex@denx.de> wrote: > >> > int mxs_dma_go(int chan) > >> > { > >> > > >> > - uint32_t timeout = 10000; > >> > + uint32_t timeout = 10000000; > >> > >> Should we use a proper timeout mechanism instead? > > > > What would that be? I think 10 seconds is more than plenty for now. > > Ok, but we need to change to unsigned int to be able to fit 10000000: Do we? 10M still fits in ... but it's indeed a good idea, can you submit a patch for that please? > --- a/arch/arm/cpu/arm926ejs/mxs/mxs.c > +++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c > @@ -81,7 +81,8 @@ void enable_caches(void) > #endif > } > > -int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t mask, int > timeout) +int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t > mask, unsigned + > int timeout) { > while (--timeout) { > if ((readl(®->reg) & mask) == mask) > @@ -92,7 +93,8 @@ int mxs_wait_mask_set(struct mxs_register_32 *reg, > uint32_t ma return !timeout; > } > > -int mxs_wait_mask_clr(struct mxs_register_32 *reg, uint32_t mask, int > timeout) +int mxs_wait_mask_clr(struct mxs_register_32 *reg, uint32_t > mask, unsigned + > int timeout) { > while (--timeout) { > if ((readl(®->reg) & mask) == 0) > diff --git a/arch/arm/include/asm/arch-mxs/sys_proto.h > b/arch/arm/include/asm/ar index 4610363..983b888 100644 > --- a/arch/arm/include/asm/arch-mxs/sys_proto.h > +++ b/arch/arm/include/asm/arch-mxs/sys_proto.h > @@ -26,10 +26,10 @@ > int mxs_reset_block(struct mxs_register_32 *reg); > int mxs_wait_mask_set(struct mxs_register_32 *reg, > uint32_t mask, > - int timeout); > + unsigned int timeout); > int mxs_wait_mask_clr(struct mxs_register_32 *reg, > uint32_t mask, > - int timeout); > + unsigned int timeout); > > int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int)); > > Regards, > > Fabio Estevam Best regards, Marek Vasut
--- a/arch/arm/cpu/arm926ejs/mxs/mxs.c +++ b/arch/arm/cpu/arm926ejs/mxs/mxs.c @@ -81,7 +81,8 @@ void enable_caches(void) #endif } -int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t mask, int timeout) +int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t mask, unsigned + int timeout) { while (--timeout) { if ((readl(®->reg) & mask) == mask) @@ -92,7 +93,8 @@ int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t ma return !timeout; } -int mxs_wait_mask_clr(struct mxs_register_32 *reg, uint32_t mask, int timeout) +int mxs_wait_mask_clr(struct mxs_register_32 *reg, uint32_t mask, unsigned + int timeout) { while (--timeout) { if ((readl(®->reg) & mask) == 0) diff --git a/arch/arm/include/asm/arch-mxs/sys_proto.h b/arch/arm/include/asm/ar index 4610363..983b888 100644 --- a/arch/arm/include/asm/arch-mxs/sys_proto.h +++ b/arch/arm/include/asm/arch-mxs/sys_proto.h @@ -26,10 +26,10 @@ int mxs_reset_block(struct mxs_register_32 *reg); int mxs_wait_mask_set(struct mxs_register_32 *reg, uint32_t mask, - int timeout); + unsigned int timeout); int mxs_wait_mask_clr(struct mxs_register_32 *reg, uint32_t mask, - int timeout); + unsigned int timeout); int mxsmmc_initialize(bd_t *bis, int id, int (*wp)(int));