Hi Tom, On Wed, Sep 13, 2023 at 1:13 PM Tom Rini <tr...@konsulko.com> wrote: > > On Wed, Sep 13, 2023 at 12:56:53PM -0700, Tony Dinh wrote: > > Hi Tom, > > > > On Wed, Sep 13, 2023 at 9:22 AM Tom Rini <tr...@konsulko.com> wrote: > > > > > > On Tue, Sep 12, 2023 at 12:38:00PM -0700, Tony Dinh wrote: > > > > > > > I've been testing the boostd for a few Marvell boards and seeing this > > > > error on the Thecus N2350 (Marvell Armada 385, dual-core CPU). The > > > > "bootflow scan scsi" command triggered the "CACHE: Misaligned > > > > operation at range" error. However, this error did not affect the > > > > result of the scan, i.e. the bootflow for scsi partition was created > > > > correctly, and u-boot is running normally. > > > > > > > > Enabling CONFIG_SYS_DCACHE_OFF got rid of the errors altogether. > > > > Perhaps this is a case where the DCACHE is not required and should be > > > > turned off? > > > > > > > > Please see the log after the break below. > > > > > > Can you please try -next ? There's at least one SCSI related cache > > > alignment fix there that's not in master, thanks. > > > > Unfortunately I got the same errors. This time the ranges are > > different, of course. > > > > master: > > > > N2350 > bootflow scan scsi > > CACHE: Misaligned operation at range [3fb99f88, 3fb9a388] > > CACHE: Misaligned operation at range [3fb99f88, 3fb9a388] > > CACHE: Misaligned operation at range [3fb99f88, 3fb9a388] > > ERROR: v7_outer_cache_inval_range - start address is not aligned - > > 0x3fb99f88 > > ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x3fb9a388 > > > > next: > > > > N2350 > bootflow scan scsi > > CACHE: Misaligned operation at range [3fb80388, 3fb80788] > > CACHE: Misaligned operation at range [3fb80388, 3fb80788] > > CACHE: Misaligned operation at range [3fb80388, 3fb80788] > > ERROR: v7_outer_cache_inval_range - start address is not aligned - > > 0x3fb80388 > > ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x3fb80788 > > Can you debug to where these calls are so we can align these buffers? > See 02660defdc8a ("scsi: Cache align temporary buffer") for an example.
I've added some printfs to the code. Looks like the last calls were SCSI_READ16 (0x48) in this sequence: scsi_exec() --> ahci_scsi_exec() --> ata_scsiop_read_write() Note that the misaligned errors do not always occur. I've also looked at the other recent commit by Marek and tried to enable CONFIG_BOUNCE_BUFFER: https://github.com/u-boot/u-boot/commit/4f543e82b9831333bc0effe9540d8e6a9dde3cb5 But I think it is a noop without a callback from the driver. Please see the boot log below after the break. Thanks, Tony ============ U-Boot 2023.10-rc4-tld-1-00284-gce67ba1e30-dirty (Sep 13 2023 - 16:44:56 -0700) Thecus N2350 SoC: MV88F6820-A0 at 1066 MHz DRAM: 1 GiB (533 MHz, 32-bit, ECC not enabled) Core: 65 devices, 23 uclasses, devicetree: separate NAND: 512 MiB MMC: Loading Environment from SPIFlash... SF: Detected mx25l3205d with page size 256 Bytes, erase size 4 KiB, total 4 MiB *** Warning - bad CRC, using default environment Model: Thecus N2350 Net: Warning: ethernet@70000 (eth0) using random MAC address - a2:6f:f1:4a:2e:51 eth0: ethernet@70000 Hit any key to stop autoboot: 0 N2350 > env def -a ## Resetting to default environment N2350 > bootdev l Seq Probed Status Uclass Name --- ------ ------ -------- ------------------ 0 [ ] OK ethernet ethernet@70000.bootdev --- ------ ------ -------- ------------------ (1 bootdev) N2350 > bootdev hunt scsi Hunting with: scsi pcie0.0: Link down pcie1.0: Link down scsi_scan scanning bus for devices... scsi_scan_dev SATA link 0 timeout. Target spinup took 0 ms. AHCI 0001.0000 32 slots 2 ports 6 Gbps 0x3 impl SATA mode flags: 64bit ncq led only pmp fbss pio slum part sxs do_scsi_scan_one scsi_detect_dev scsi_setup_inquiry scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x12 do_scsi_scan_one scsi_detect_dev scsi_setup_inquiry scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x12 scsi_ident_cpy scsi_ident_cpy scsi_ident_cpy scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x0 scsi_read_capacity scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x25 scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write Device 0: (1:0) Vendor: ATA Prod.: ST750LX003-1AC15 Rev: SM12 Type: Hard Disk Capacity: 715404.8 MB = 698.6 GB (1465149168 x 512) N2350 > bootflow scan scsi scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x28 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] ERROR: v7_outer_cache_inval_range - start address is not aligned - 0x3fb6f8d8 ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x3fb6fcd8 CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] CACHE: Misaligned operation at range [3fb6f8d8, 3fb6fcd8] ERROR: v7_outer_cache_inval_range - start address is not aligned - 0x3fb6f8d8 ERROR: v7_outer_cache_inval_range - stop address is not aligned - 0x3fb6fcd8 scsi_exec ahci_scsi_exec ahci_scsi_exec cmd = 0x48 ata_scsiop_read_write ** File not found /boot/boot.bmp ** > > -- > Tom