Date: Wed, 10 Jun 2020 15:37:50 +0200 From: =?utf-8?Q?Klaus_K=C3=BCchemann?= <maciphone2@googlemail.com> To: Robert Crowston <crowston@protonmail.com>, freebsd-arm@freebsd.org Subject: Re: Report: FreeBSD on Rpi4 8 GB model Message-ID: <65649C30-79B7-4001-ABBF-71E2C8F52B06@googlemail.com> In-Reply-To: <vZ3qJTOGzo9Cg-9N3Y3BJXsbSXiMQ57DZXJsK7j-T7Xp7xH9ItIua8vcHu2qQj992QAIDfN19Opz0gPRYRgXStldvEslmQL4_OENaE0uyDQ=@protonmail.com> References: <kb9ZDoXeXjZQGaI_pHItcwGDLz9nl5FzAe-_mxkI1N9MAFSkDpvFbwt-JUy-YmoOg-3C9bFyiNYgUoGvAnJZvsxbbGVHP4ZlUC84EgCd6A0=@protonmail.com> <vZ3qJTOGzo9Cg-9N3Y3BJXsbSXiMQ57DZXJsK7j-T7Xp7xH9ItIua8vcHu2qQj992QAIDfN19Opz0gPRYRgXStldvEslmQL4_OENaE0uyDQ=@protonmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
> Am 10.06.2020 um 01:16 schrieb Robert Crowston via freebsd-arm = <freebsd-arm@freebsd.org>: >=20 > I figured out how to start the xhci driver. >=20 > The snag is, it seems the message to the VC to reinstall the xhci = firmware has to be delivered *after* the bridge memory window is = configured on the controller by the pci_pci bridge, and *before* the = xhci controller is started. >=20 > That kind of ordering is not straightforward to arrange, as far as I = can see: I cannot hack the message onto the end of the pcie attach = function, since we need the bridge child to have attached, but not the = xhci grandchild. >=20 > I think the best way then is to create a shim driver for the xhci = controller whose probe() is designed only to succeed on the Rpi4. The = shim's attach() will instruct the VC to load the xhci firmware, and then = defer to the generic xhci_pci_attach(). All other methods will be = inherited from the xhci_pci driver. >=20 > Another idea is to put the logic directly in the xhci_pci.c file, but = I think creating a dependency out to the Rpi4 mailbox API from the = generic XHCI framework is quite a hack. >=20 > Anyone have any thoughts? Since your driver is dedicated RPi4_ONLY your shim-if_bcm_thing sounds = logical. Especially when we consider that you think that this is the best way,=20 because nobody knows more about your driver than you :-)=20
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?65649C30-79B7-4001-ABBF-71E2C8F52B06>