On Thursday, July 10, 2014 at 12:06:20 PM, Masahiro Yamada wrote: > Hi Marek,
Hi! > On Fri, 4 Jul 2014 16:34:11 +0200 > > Marek Vasut <ma...@denx.de> wrote: > > > +static void read_data_from_flash_mem(uint8_t *buf, int len) > > > +{ > > > + int i; > > > + uint32_t *buf32; > > > + > > > + /* transfer the data from the flash */ > > > + buf32 = (uint32_t *)buf; > > > + for (i = 0; i < len / 4; i++) > > > + *buf32++ = readl(denali_flash_mem + INDEX_DATA_REG); > > > > Won't this trigger unaligned access if $buf is not aligned to 4-byte > > boundary ? > > Thanks for catching this. > > Actually, it would seldom happen because the aligned load address is > generally given. > > But I will add a sanity check here in v2, just in case. Or just use put_unaligned() ? > > > + > > > + /* setup the pipeline command */ > > > + index_addr(cmd, 0x2000 | page_count); > > > > Magic value 0x2000 should be fixed here. > > Actually, this part is the same as that of the normal Denali driver > by Chin Liang See > http://patchwork.ozlabs.org/patch/357717/ > > Moreover, it is the same as in Linux Kernel. > > I understand what you mean, but I guess we can excuse here. OK, I see. Is there any chance to fix this in Linux maybe eventually? [...] Best regards, Marek Vasut _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot