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

Reply via email to