Hi,
On 9/2/20 5:34 PM, Peter Robinson wrote:
On Wed, Sep 2, 2020 at 4:08 PM Hans de Goede <hdegoede@xxxxxxxxxx> wrote:
Hi All,
5.8 introduces a new CONFIG_USB_XHCI_PCI_RENESAS Kconfig symbol.
The current Fedora kernel config says this to 'm'. I assume that
this was done because the help-text suggests that doing so will
make support for some special XHCI controllers which need to
be "booted" (have firmware loaded) by the kernel modular, while
keeping the generic xhci-pci code builtin so that we start probing
XHCI USB busses ASAP during boot.
But, and this is somewhat of a surprise, the xhci-pci-renesas
code does not use the xhci-pci code as a library on top of
which it builds. Instead it offers some hooks for the xhci-pci
code to call in and having CONFIG_USB_XHCI_PCI_RENESAS set will
thus make xhci-pci.ko depend on xhci-pci-renesas.ko.
Which means that if xhci-pci-renesas.ko is not builtin, this
also forces xhci-pci.ko to not be builtin.
As said I assume that this xhci-pci.ko no longer being builtin
is not intentional, so that the right way to fix this would
be to set CONFIG_USB_XHCI_PCI_RENESAS=y, right ?
We don't need to enable CONFIG_USB_XHCI_PCI_RENESAS because we don't
enable ARCH_RENESAS, if that controller has some weirdisms upstream
likely should have made it something like "default y if ARCH_RENESAS"
or similar.
This is not about ARCH_RENESAS, RENESAS also makes standalone
PCI-e XHCI chips like:
https://h-node.org/hostcontrollers/view/en/1627/Renesas-Technology-Corp--uPD720201-USB-3-0-Host-Controller--rev-03-
I found this webpage by searching for one of the 2 PCI-ids which
use the new CONFIG_USB_XHCI_PCI_RENESAS code.
It seems these are the same as the standalone Nec PCI-e XHCI
controllers, and these are used on PCI-e add-on cards like e.g.:
https://www.newegg.ca/syba-model-sd-pex20139-pci-express-to-usb-card/p/N82E16815124120
I have a couple of these cards, including some models
using Nec chips, and they worked fine before this new
kernel support for firmware-loading. I guess that in
most cases they just boot of an external SPI flash which
these cards seem to have.
So me might indeed still be fine with disabling this option,
but I wanted to make it clear that AFAICT this is not
related to ARCH_RENESAS being set or not.
OTOH the xhci-pci-renesas.c file is tiny so just building
it in would not be a big deal. With that said, if we take
that approach to every Kconfig option a lot of small
bits of extra code do add up. So maybe we should indeed
disable it until someone comes along who actually needs it?
Regards,
Hans
_______________________________________________
kernel mailing list -- kernel@xxxxxxxxxxxxxxxxxxxxxxx
To unsubscribe send an email to kernel-leave@xxxxxxxxxxxxxxxxxxxxxxx
Fedora Code of Conduct: https://docs.fedoraproject.org/en-US/project/code-of-conduct/
List Guidelines: https://fedoraproject.org/wiki/Mailing_list_guidelines
List Archives: https://lists.fedoraproject.org/archives/list/kernel@xxxxxxxxxxxxxxxxxxxxxxx