Hi Marek, > On Wednesday, February 05, 2014 at 10:10:41 AM, Lukasz Majewski wrote: > > Calls to malloc() have been replaced by memalign. It now provides > > proper buffer alignment. > > > > Signed-off-by: Lukasz Majewski <l.majew...@samsung.com> > > Cc: Marek Vasut <ma...@denx.de> > > > > --- > > Changes for v2: > > - Remove Change-Id. > > --- > > drivers/usb/gadget/f_mass_storage.c | 4 ++-- > > 1 file changed, 2 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/usb/gadget/f_mass_storage.c > > b/drivers/usb/gadget/f_mass_storage.c index b1fe8bd..f896169 100644 > > --- a/drivers/usb/gadget/f_mass_storage.c > > +++ b/drivers/usb/gadget/f_mass_storage.c > > @@ -2515,7 +2515,7 @@ static struct fsg_common > > *fsg_common_init(struct fsg_common *common, buffhds_first_it: > > bh->inreq_busy = 0; > > bh->outreq_busy = 0; > > - bh->buf = kmalloc(FSG_BUFLEN, GFP_KERNEL); > > + bh->buf = memalign(CONFIG_SYS_CACHELINE_SIZE, > > FSG_BUFLEN); if (unlikely(!bh->buf)) { > > rc = -ENOMEM; > > goto error_release; > > @@ -2622,7 +2622,7 @@ usb_copy_descriptors(struct > > usb_descriptor_header **src) bytes += (*tmp)->bLength; > > bytes += (n_desc + 1) * sizeof(*tmp); > > > > - mem = kmalloc(bytes, GFP_KERNEL); > > + mem = memalign(CONFIG_SYS_CACHELINE_SIZE, bytes); > > I wonder, does this align the begining of the buffer as well or only > the size? Can we rely on the fact the begining is also > cacheline-aligned ?
In this case, the memalign assures, that beginning of the buffer is aligned to a cache line. It is the programmer's responsibility to either have "bytes" aligned to cache line size or use a wrapper like DEFINE_CACHE_ALIGN_BUFFER(). > > > if (!mem) > > return NULL; > > Best regards, > Marek Vasut -- Best regards, Lukasz Majewski Samsung R&D Institute Poland (SRPOL) | Linux Platform Group _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot