Re: [PATCH] usb: host: xhci: parameterize Renesas delay/retry

From: retpolanne
Date: Mon Jun 19 2023 - 06:06:25 EST


On 19.06.2023 07:46, Greg Kroah-Hartman wrote:
On Sun, Jun 18, 2023 at 10:46:57PM +0000, Anne Macedo wrote:
Cards based on Renesas uPD720202 have their firmware downloaded during
boot by xhci-pci. At this step, the status of the firmware is read and
it takes a while for this read to happen (up to a few seconds). The
macros RENESAS_RETRY and RENESAS_DELAY are used to retry reading this
status byte from PCI a few times. If it can't read the status byte in
RENESAS_RETRY tries, it times out.

However, since this may vary from card to card, these retry and delay
values need to be tweaked. In order to avoid having to patch the code to
change these values, CONFIG_USB_XHCI_PCI_RENESAS_RETRY and
CONFIG_USB_XHCI_PCI_RENESAS_DELAY are introduced.

No, a build-time option that affects all devices controlled by this
driver is not how you handle this, sorry.

Sorry, I completely forgot that other environments might have multiple cards.
Mine only has one and I was focused on making it work.

Make this a dynamic value, either determined automatically by the device
itself (as you know what device is being controlled), or worst case, a
sysfs attribute that you can modify if things are not working properly.


I'll follow Christian's tip and check the uPD720202 user manual and see
if there's something I can look for in order to make this value dynamic.

But a build-time option will never work, as it will never be changed,
and it would not allow for multiple devices in the system that are
different.

thanks,

greg k-h