diff options
| author | Puneet Saxena <puneets@nvidia.com> | 2012-04-03 14:56:06 +0530 | 
|---|---|---|
| committer | Marek Vasut <marex@denx.de> | 2012-05-20 08:32:32 +0200 | 
| commit | f57661394a8b00029e37a5567a869e92bd13f3b8 (patch) | |
| tree | d00363f82c23324c8e69353c7bfb38ae183c803c /common/usb.c | |
| parent | 66cf64107b891d1cc8112ff76b5687195af2f5b0 (diff) | |
| download | olio-uboot-2014.01-f57661394a8b00029e37a5567a869e92bd13f3b8.tar.xz olio-uboot-2014.01-f57661394a8b00029e37a5567a869e92bd13f3b8.zip | |
USB: Align buffers at cacheline
This avoids cache-alignment warnings shown in console
when a usb command is entered.
Whenever X bytes of unaligned buffer is invalidated, arm core
invalidates X + Y bytes as per the cache line size and throws
these warnings.
Signed-off-by: Puneet Saxena <puneets@nvidia.com>
Signed-off-by: Marek Vasut <marex@denx.de>
Diffstat (limited to 'common/usb.c')
| -rw-r--r-- | common/usb.c | 22 | 
1 files changed, 11 insertions, 11 deletions
| diff --git a/common/usb.c b/common/usb.c index 71b4b2b2c..c80155ce7 100644 --- a/common/usb.c +++ b/common/usb.c @@ -170,7 +170,7 @@ int usb_control_msg(struct usb_device *dev, unsigned int pipe,  			unsigned short value, unsigned short index,  			void *data, unsigned short size, int timeout)  { -	struct devrequest setup_packet; +	ALLOC_CACHE_ALIGN_BUFFER(struct devrequest, setup_packet, 1);  	if ((timeout == 0) && (!asynch_allowed)) {  		/* request for a asynch control pipe is not allowed */ @@ -178,17 +178,17 @@ int usb_control_msg(struct usb_device *dev, unsigned int pipe,  	}  	/* set setup command */ -	setup_packet.requesttype = requesttype; -	setup_packet.request = request; -	setup_packet.value = cpu_to_le16(value); -	setup_packet.index = cpu_to_le16(index); -	setup_packet.length = cpu_to_le16(size); +	setup_packet->requesttype = requesttype; +	setup_packet->request = request; +	setup_packet->value = cpu_to_le16(value); +	setup_packet->index = cpu_to_le16(index); +	setup_packet->length = cpu_to_le16(size);  	USB_PRINTF("usb_control_msg: request: 0x%X, requesttype: 0x%X, " \  		   "value 0x%X index 0x%X length 0x%X\n",  		   request, requesttype, value, index, size);  	dev->status = USB_ST_NOT_PROC; /*not yet processed */ -	submit_control_msg(dev, pipe, data, size, &setup_packet); +	submit_control_msg(dev, pipe, data, size, setup_packet);  	if (timeout == 0)  		return (int)size; @@ -682,7 +682,7 @@ static int usb_string_sub(struct usb_device *dev, unsigned int langid,   */  int usb_string(struct usb_device *dev, int index, char *buf, size_t size)  { -	unsigned char mybuf[USB_BUFSIZ]; +	ALLOC_CACHE_ALIGN_BUFFER(unsigned char, mybuf, USB_BUFSIZ);  	unsigned char *tbuf;  	int err;  	unsigned int u, idx; @@ -782,7 +782,7 @@ int usb_new_device(struct usb_device *dev)  {  	int addr, err;  	int tmp; -	unsigned char tmpbuf[USB_BUFSIZ]; +	ALLOC_CACHE_ALIGN_BUFFER(unsigned char, tmpbuf, USB_BUFSIZ);  	/* We still haven't set the Address yet */  	addr = dev->devnum; @@ -909,8 +909,8 @@ int usb_new_device(struct usb_device *dev)  	le16_to_cpus(&dev->descriptor.idProduct);  	le16_to_cpus(&dev->descriptor.bcdDevice);  	/* only support for one config for now */ -	usb_get_configuration_no(dev, &tmpbuf[0], 0); -	usb_parse_config(dev, &tmpbuf[0], 0); +	usb_get_configuration_no(dev, tmpbuf, 0); +	usb_parse_config(dev, tmpbuf, 0);  	usb_set_maxpacket(dev);  	/* we set the default configuration here */  	if (usb_set_configuration(dev, dev->config.desc.bConfigurationValue)) { |