Files
linux/drivers
Sarah Sharp 8e595a5d30 USB: xhci: Represent 64-bit addresses with one u64.
There are several xHCI data structures that use two 32-bit fields to
represent a 64-bit address.  Since some architectures don't support 64-bit
PCI writes, the fields need to be written in two 32-bit writes.  The xHCI
specification says that if a platform is incapable of generating 64-bit
writes, software must write the low 32-bits first, then the high 32-bits.
Hardware that supports 64-bit addressing will wait for the high 32-bit
write before reading the revised value, and hardware that only supports
32-bit writes will ignore the high 32-bit write.

Previous xHCI code represented 64-bit addresses with two u32 values.  This
lead to buggy code that would write the 32-bits in the wrong order, or
forget to write the upper 32-bits.  Change the two u32s to one u64 and
create a function call to write all 64-bit addresses in the proper order.
This new function could be modified in the future if all platforms support
64-bit writes.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2009-07-28 14:31:12 -07:00
..
2009-07-12 12:22:34 -07:00
2009-06-16 19:50:13 -07:00
2009-06-17 09:35:24 -07:00
2009-07-12 12:22:34 -07:00
2009-07-15 00:03:56 +01:00
2009-07-20 16:38:43 -07:00
2009-07-03 15:45:29 +01:00
2009-07-12 12:22:34 -07:00
2009-07-12 12:22:34 -07:00
2009-06-18 13:04:04 -07:00
2009-06-15 16:47:25 +10:00
2009-07-06 13:57:03 -07:00
2009-07-12 12:22:34 -07:00
2009-06-30 18:56:00 -07:00
2009-07-12 12:22:34 -07:00
2009-06-01 12:03:15 +01:00
2009-07-01 11:19:47 +02:00
2009-06-18 13:04:04 -07:00
2009-06-18 13:04:04 -07:00