
On Tue, 2020-04-21 at 18:50 +0200, Sylwester Nawrocki wrote:
This patch adds a Kconfig option which allows accessing 64-bit xHCI IO registers only with 2 double word accesses rather than using a single quad word access. There might be HW configurations where single quad word access doesn't work, even though the CPU is 64-bit. That seems to be the case on rpi4 board with Broadcom BCM2711 SoC, where the VL805 USB xHCI hub is connected to the PCIe controller behind the SCB bridge.
Signed-off-by: Sylwester Nawrocki s.nawrocki@samsung.com
So far I couldn't come up with anything better to make the xHCI host controller working on the rpi4 board. For some reason dereferencing a 64-bit pointer to access 64-bit registers doesn't work there, might be a limitation of the PCIe bridge behind the SCB. In Linux always 2 double word accesses are used.
Out of curiosity, what are the benefits of using 64bit accesses anyway? I'm under the impression that 64 bit accesses are not used that much in xHCI anyway. We could simply default Linux's behavior and save some maintenance burden.
Regards, Nicolas