Re: Generic-xhci driver issue and changes for 64-but physical memory space

From: Sha Faisal via freebsd-hackers <freebsd-hackers_at_FreeBSD.org>
Date: Thu, 29 Jul 2021 11:20:13 UTC
Mailing to freebsd-hackers, after adding my email id to subscriber list.
Please assist with the below query.

Regards
Faisal

From: Sha Faisal <sfaisal@juniper.net>
Date: Thursday, 29 July 2021 at 12:19 AM
To: "hackers@freebsd.org" <hackers@freebsd.org>
Cc: Justin Hibbits <jhibbits@juniper.net>, Kumara N Babu <bkumara@juniper.net>, Vikram M Gadagkar <vikramg@juniper.net>
Subject: Generic-xhci driver issue and changes for 64-but physical memory space

Hello FreeBSD-hackers

Inn one of our new platforms we have physical RAM placed above the 4GB mark.
And the eUSB device is capable of doing 64-bit DMA.

The USBPHY uses the generic-xhci driver and when we were bringing-up we hit the issue below and the code panic’s

xhci0: <Marvell Integrated USB 3.0 controller> mem 0x10243000-0x10243fff irq 15 on simplebus1
xhci0: 64 bytes context size, 32-bit DMA
panic: vm_wait in early boot

I modified the below function call , and the usb driver is up and it works fine. Please suggest if this change is fine and can be incorporated.


#define IS_DMA_32B      1

#define IS_DMA_64B      0


err = xhci_init(sc, dev, IS_DMA_64B);


Regards
Faisal



Juniper Business Use Only