summaryrefslogtreecommitdiff
path: root/drivers/usb
diff options
context:
space:
mode:
authorJay Cheng <jacheng@nvidia.com>2011-06-10 16:50:15 -0400
committerNiket Sirsi <nsirsi@nvidia.com>2011-06-22 11:42:15 -0700
commit5f6c159f73520b187a58cdc1235e5e31d204ca1a (patch)
tree1dff84a681fbabbca5632b7b00839a12e7d21fbe /drivers/usb
parentbdcc03f4e1fbaf2c8624a61536b7434185da7af6 (diff)
ARM: tegra: usb: prefetch engine buffer coherency protection
The prefetcher fetches a total of 128 bytes, and then responding to sequential reads with this prefetched data. To avoid coherency issues, it discards the prefetched data if a non sequential read occurs. Allocate dtd with 128 bytes boundary to make 2 consecutive dtd 128 bytes apart. bug 825970 Reviewed-on: http://git-master/r/36157 (cherry picked from commit bf623c5edbc8f0f5b23d5580aea1038418893792) Change-Id: I1f48dd3906a7f18208b4415a20c3c166d2a88252 Reviewed-on: http://git-master/r/37020 Tested-by: Cho-Che Cheng <jacheng@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com> Reviewed-by: Rakesh Bodla <rbodla@nvidia.com>
Diffstat (limited to 'drivers/usb')
-rw-r--r--drivers/usb/gadget/fsl_usb2_udc.h4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/gadget/fsl_usb2_udc.h b/drivers/usb/gadget/fsl_usb2_udc.h
index 717d89c986e2..de42fbb978f4 100644
--- a/drivers/usb/gadget/fsl_usb2_udc.h
+++ b/drivers/usb/gadget/fsl_usb2_udc.h
@@ -548,7 +548,11 @@ struct ep_td_struct {
DTD_STATUS_DATA_BUFF_ERR | \
DTD_STATUS_TRANSACTION_ERR)
/* Alignment requirements; must be a power of two */
+#if defined(CONFIG_ARCH_TEGRA)
+#define DTD_ALIGNMENT 0x80
+#else
#define DTD_ALIGNMENT 0x20
+#endif
#define QH_ALIGNMENT 2048
#define QH_OFFSET 0x1000