Date: Wed, 08 Jul 2020 15:21:30 +0000 From: Dan Kotowski <dan.kotowski@a9development.com> To: Dan Kotowski <dan.kotowski@a9development.com> Cc: "greg@unrelenting.technology" <greg@unrelenting.technology>, freebsd-arm <freebsd-arm@freebsd.org> Subject: Re: FreeBSD on Layerscape/QorIQ LX2160X Message-ID: <HwL1YHc3qPA3Pzugqlg2GKfOfgbCXwCcLCIqkWf7MHrjxVZVTreIOIgcTa1NUW1oxWvnh99sKzczZPaAMMHfCZEPZkL7Zt9AlJ5GNizm_Zk=@a9development.com> In-Reply-To: <NjCT8lw8ervuOZE15IDG1EmZ0REgf1C9jafUcNgi7DG0Wt-OaynULhaEpdhAgrNmI8I81GjAEkC_i4NiWRjwmsWp_Fur4M-YyGtZfbkb7NQ=@a9development.com> References: =?us-ascii?Q?<82UUBttUqS5j5wotn5ibAhp3w3JveSof3dsBLqW68NkaOu1xc6txd62UJeyJgV6hk9mLNYqhAJDyEej=5FPPtiv=5Fps9vROdUI529pKfxp4lbs=3D@a9development.com>_<kkodEYp=5F933GKBWBelm63luHcdDwaJ9WtfRtjVABbaYbQRXhH1W3w45T4PALvtMXXo6NNWbB7pgRdYZxJDNUHFKibY1FuHqIpPjiXZBAnxs=3D@a9development.com>_<NkmJNP=3D5FBMdinQ07E7zvRW9EQtYTkHLISOPlALNNcbFXi7d0dsuvgHD2IW73ptiSh1kEml7=3D5FVHb9=3D5FeTIMaLAIeAici=3D5Fqpz2UyIrBWzXR4mvE=3D3D@a9development.com>=5F<D2780D27-20F4-4706-9956-7E188AD73F62@unrelenting.technology>=5F<iIPsVK-flf-29Ti4agFHulCx5v1aEOVnPY6tyxErDGGxUlRvonYC7xCUGxHNgH64ZOpBLbwzAubg8gARrYPgd8qLOVfFk1PmcxSp0QNB=3D5Fjs=3D3D@a9development.com>=5F<BE2611FE-FC83-4E3D-9977-E502DE8537A7@unrelenting.technology>=5F<z-iiKTafA-iirmiH=3D5FwVWUM9BHEa9uhccyljIc5=3D5FbuK8CgCdzAXdUgQuViiaULImI0BVmx9N3lKO=3D5F9=3D5FNN9IHfSYCv1H9W9P8n98ltXG02MT4=3D3D@a9development.com>=5F<71481BF5-3972-45A3-8287-FCEB1FCCDC41@unrelenting.technology>_<A16FE19C-C34D-4100-9229-99FD098F8DE4@unrelenting.technology>_<aG=5FBP2g5oB3XsAIQof?= =?us-ascii?Q?WKiBCgLpUrPkxZQ6y11ArFprHlTKKvnUDrXRcFPJBAhZWKJMGuGmkEP1QAaRijb4Yv0R2v=5F4RrmRWyPOtO6jQlAzE=3D@a9development.com>_<C4EFD0F3-FFD0-4789-B976-3DBA00395CCC@unrelenting.technology>_<8a3f78ddd5136ef22c59e9f7b1b23ca6@unrelenting.technology>_<a5b8fd2df391c4c4da914f5f425ef23f@unrelenting.technology>_<NjCT8lw8ervuOZE15IDG1EmZ0REgf1C9jafUcNgi7DG0Wt-OaynULhaEpdhAgrNmI8I81GjAEkC=5Fi4NiWRjwmsWp=5FFur4M-YyGtZfbkb7NQ=3D@a9development.com>?=
next in thread | previous in thread | raw e-mail | index | archive | help
> > > > In the old firmware, under the Root Complex Nodes, `Output referenc= e: 0x30` points to the ITS Node > > > > with node offset 0x30. > > > > Then in the new firmware, under the Root Copmlex Nodes, `Output ref= erence: 0x48` points to the SMMU > > > > with node offset 0x48. > > > > Is this what you meant when you said everything is "behind the SMMU= "? > > > > Yes. > > > > What patches are we applying right now? I think some new builds wou= ld be good, including one with > > > > all the stuff we've fixed - like AHCI - but with the NXP PCIe code = so I can test on the old > > > > firmware. If I'm keeping track correctly, this includes: > > > > > > > > - D20835: enable tagged pointers > > > > - D20974: Port sbsawdt drive from NetBSD > > > > - D21017: armv8crypto: add AES-XTS support > > > > - D24423: arm/pmu: add ACPI attachment, more FDT names > > > > > > > > These are not directly related to running on NXP, just random impro= vements :) > > > > > > > > - D25145: acpi_resource: support multiple IRQs > > > > - D25157: ahci_generic: add quirk for NXP0004 > > > > - D25179: acpi_iort: fix mapping end calculation > > > > > > > > Yes, these three. > > > > Here's the pci_layerscape patch: > > > > https://github.com/DankBSD/base/commit/c1ea44aa33b29f74daed89eee82b= 3dfeb105d376.patch > > > > If we haven't tried it + acpi_iort fix before, which is quite likel= y, maybe that's a combination > > > > that would work. > > > > (I remember when we tried it only, there was only the same interrup= t problem as usual..) > > > > It's honestly kinda weird that "old" FW requires the custom control= ler access while "new" FW > > > > requires not doing it >_< > > > > > > Any tips on where to add verbosity to dmesg during boot? You had a ha= ndful of extras in there to > > > print things things from the IORT. > > > > That thing is here: > > https://github.com/freebsd/freebsd/blob/6cee1596c05e8a9ab64812444627b61= c584ca6bc/sys/arm64/acpica/acpi_iort.c#L169 > > > > > Also seeing that NVMe hangs in nvme_ctrlr_start_config_hook, > > > maybe we want to add some verbosity to sys/dev/nvme/nvme_ctrlr.c to s= ee what it's waiting for? > > > > We know it's an interrupt.. everything is waiting for an interrupt. > > Well, at least we're stable enough to buildworld and buildkernel on-syste= m! :partyparrot: > > Waiting on a new SSD, but building on a USB uSD: > > -------------------------------------------------------------------------= --------------------------------------------------------------------- > > > > > World build completed on Wed Jul 8 02:47:59 UTC 2020 > > > > World built in 6897 seconds, ncpu: 16, make -j16 > > Forgot to copy off the buildkernel time, but it was just under 900 second= s. > > Interestingly, we have real temp readouts from thermal zones, which is ne= w. Did I add something back in that we had previously removed? Here's something: https://gist.github.com/agrajag9/11efe00514513100232999e0= a9ec612c NVMe is working. It mapped an interrupt. I have no idea what changed to mak= e this work other than compiling my own kernel. I applied the 7 patches abo= ve and added a bunch of my own debug printfs (dmesg.boot lines beginning wi= th A9DEBUG), but it's the same POC ECAM firmware we've been using for a whi= le. I'll test with the HBA later this week - it's currently in use elsehwer= e in my homelab doing zfs send|receive things.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?HwL1YHc3qPA3Pzugqlg2GKfOfgbCXwCcLCIqkWf7MHrjxVZVTreIOIgcTa1NUW1oxWvnh99sKzczZPaAMMHfCZEPZkL7Zt9AlJ5GNizm_Zk=>