Hi,
On 9/2/20 5:34 PM, Peter Robinson wrote:
On Wed, Sep 2, 2020 at 4:08 PM Hans de Goede
<hdegoede(a)redhat.com> 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--...
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/N8...
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