On 2022/08/22 10:51, matoro wrote: > Hi Damien, were you able to put together a fix to test? We're up to > 5.19.3 now and 5.18 was just marked EOL, so I want to make sure this > doesn't drop off the radar. No, sorry, I have been busy as I am traveling. Flying back home this week, so likely will have more time next week. > > -------- Original Message -------- > Subject: Re: [PATCH v3 0/5] Fix mpt3sas driver sparse warnings > Date: 2022-08-11 15:17 > From: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> > To: matoro <matoro_mailinglist_kernel@xxxxxxxxx> > > On 2022/08/11 12:05, matoro wrote: >> Just a small update, the module stuff turned out to be a separate, >> unrelated regression. I bisected that one also (applying these reverts >> each time to allow me to boot) and reported it to Masahiro, who put in >> a >> fix for it here: >> https://lore.kernel.org/all/20220809141117.641543-1-masahiroy@xxxxxxxxxx/ >> . So you can ignore that stuff. Are these two commits still planned >> to >> be reverted? > > Revert should be a last resort (I really want to get rid of all these > sparse > warnings !). Let me first try to generate a fix for you to test. > >> >> -------- Original Message -------- >> Subject: Re: [PATCH v3 0/5] Fix mpt3sas driver sparse warnings >> Date: 2022-08-02 19:36 >> From: Damien Le Moal <damien.lemoal@xxxxxxxxxxxxxxxxxx> >> To: matoro <matoro_mailinglist_kernel@xxxxxxxxx>, Sreekanth Reddy >> <sreekanth.reddy@xxxxxxxxxxxx> >> >> On 8/3/22 05:27, matoro wrote: >>> Hi folks, sorry for the lateness, unfortunately this is in fact broken >>> on BE. I use mpt3sas on sparc and my drives fail to come up on 5.19, >>> bisected to this patchset. Reverting both of the endian-related >>> commits, b4efbec4c2a75b619fae4e8768be379e88c78687 and >>> 7ab4d2441b952977556672c2fe3f4c2a698cbb37, allows it to boot. However, >>> after booting, I can't load any modules - everything errors with >>> "disagrees about version of symbol module_layout". I have completely >>> wiped out kernel sources, the module tree, and the kernel image, >>> rebuilding both from scratch with ONLY the revert patch applied, but I >>> still can't load any modules. Presumably it would work with >>> CONFIG_MODVERSIONS=n, but these CRC checks are there for a reason and >>> I >>> can't tell if it has something to do with the revert or not. >> >> For b4efbec4c2a75b619fae4e8768be379e88c78687, removing the >> cpu_to_le32() >> call results in the bytes actually being reversed by writel()/readl() >> for >> your BE machine. So it looks like the values that need to be written to >> the HBA have to be in CPU endian, not le32. Should be easy to fix. >> And for 7ab4d2441b952977556672c2fe3f4c2a698cbb37, this looks like the >> same >> problem. >> >> I will be traveling and busy this week, but I can have a look at a fix >> next Monday. If the Broadcom folks can send a fix faster than that, >> that >> is of course welcome :) >> >>> >>> $ modprobe --dump-modversions >>> /lib/modules/5.19.0-gentoo-sparc64/kernel/fs/openpromfs/openpromfs.ko >>> | >>> grep "module_layout" >>> 0xa6c23707 module_layout >>> $ grep "module_layout" /usr/src/linux/Module.symvers >>> 0xa6c23707 module_layout vmlinux EXPORT_SYMBOL >>> >>> If you need real hardware access and do not have any on hand, please >>> reach out and I can provide temporary access! >>> >>> Here is the full error on vanilla 5.19: >>> >>> mpt3sas version 42.100.00.00 loaded >>> mpt2sas_cm0: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem >>> (32650280 kB) >>> mpt2sas_cm0: _base_wait_for_doorbell_not_used: failed due to timeout >>> count(5000), doorbell_reg(18000000)! >>> mpt2sas_cm0: CurrentHostPageSize is 0: Setting default host page size >>> to >>> 4k >>> mpt2sas_cm0: MSI-X vectors supported: 1 >>> no of cores: 64, max_msix_vectors: -1 >>> mpt2sas_cm0: 0 1 1 >>> mpt2sas_cm0: pci_alloc_irq_vectors failed (r=-22) !!! >>> mpt2sas_cm0: High IOPs queues : disabled >>> mpt2sas0: IO-APIC enabled: IRQ 4 >>> mpt2sas_cm0: iomem(0x0000084100000000), mapped(0x(____ptrval____)), >>> size(16384) >>> mpt2sas_cm0: ioport(0x0000085100000000), size(256) >>> mpt2sas_cm0: doorbell is in use (line=6869) >>> mpt2sas_cm0: _base_get_ioc_facts: handshake failed (r=-14) >>> mpt2sas_cm0: failure at >>> drivers/scsi/mpt3sas/mpt3sas_scsih.c:12336/_scsih_probe()! >>> mpt2sas_cm1: 64 BIT PCI BUS DMA ADDRESSING SUPPORTED, total mem >>> (32650280 kB) >>> mpt2sas_cm1: _base_wait_for_doorbell_not_used: failed due to timeout >>> count(5000), doorbell_reg(18000000)! >>> mpt2sas_cm1: CurrentHostPageSize is 0: Setting default host page size >>> to >>> 4k >>> mpt2sas_cm1: MSI-X vectors supported: 1 >>> no of cores: 64, max_msix_vectors: -1 >>> mpt2sas_cm1: 0 1 1 >>> mpt2sas_cm1: pci_alloc_irq_vectors failed (r=-22) !!! >>> mpt2sas_cm1: High IOPs queues : disabled >>> mpt2sas1: IO-APIC enabled: IRQ 5 >>> mpt2sas_cm1: iomem(0x0000084120000000), mapped(0x(____ptrval____)), >>> size(16384) >>> mpt2sas_cm1: ioport(0x0000085100002000), size(256) >>> mpt2sas_cm1: doorbell is in use (line=6869) >>> mpt2sas_cm1: _base_get_ioc_facts: handshake failed (r=-14) >>> mpt2sas_cm1: failure at >>> drivers/scsi/mpt3sas/mpt3sas_scsih.c:12336/_scsih_probe()! >>> >>> -------- Original Message -------- >>> Subject: Re: [PATCH v3 0/5] Fix mpt3sas driver sparse warnings >>> Date: 2022-03-09 01:35 >>> From: Sreekanth Reddy <sreekanth.reddy@xxxxxxxxxxxx> >>> To: "Martin K. Petersen" <martin.petersen@xxxxxxxxxx> >>> >>> On Wed, Mar 9, 2022 at 9:26 AM Martin K. Petersen >>> <martin.petersen@xxxxxxxxxx> wrote: >>>> >>>> >>>> Sreekanth, >>>> >>>>> This series fix (remove) all sparse warnings generated when >>>>> compiling >>>>> the mpt3sas driver. All warnings are related to __iomem access and >>>>> endianness. >>>> >>>> Please review this series and validate the patch 5 modification. >>> >>> Martin, >>> This patch set looks good, but before acknowledging this patch set I >>> just wanted to do some basic testing on a big endian machine. >>> Currently I don't have a big endian machine, internally I am checking >>> to get access to big endian machines. Meanwhile if anyone does a basic >>> testing on any big endian machine then please let me know. I will add >>> the acknowledgement signature. >>> >>> Thanks, >>> Sreekanth >>> >>>> >>>> Thanks! >>>> >>>> -- >>>> Martin K. Petersen Oracle Linux Engineering >> > -- Damien Le Moal Western Digital Research