On Fri, Feb 26, 2021 at 8:12 PM Jagan Teki <ja...@amarulasolutions.com> wrote: > > Hi Suniel, > > On Mon, Feb 8, 2021 at 7:02 PM Andre Przywara <andre.przyw...@arm.com> wrote: > > > > At the moment nvme_read_completion_status() tries to invidate a single > > member of the cqes[] array, which is shady as just a single entry is > > not cache line aligned. > > The structure is dictated by hardware, and with 16 bytes is smaller than > > any cache line we usually deal with. Also multiple entries need to be > > consecutive in memory, so we can't pad them to cover a whole cache line. > > > > As a consequence we can only always invalidate all of them - U-Boot just > > uses two of them anyway. This is fine, as they are only ever read by the > > CPU (apart from the initial zeroing), so they can't become dirty. > > > > Make this obvious by always invalidating the whole array, regardless of > > the entry number we are about to read. > > Also blow up the allocation size to cover whole cache lines, to avoid > > other heap allocations to sneak in. > > > > Signed-off-by: Andre Przywara <andre.przyw...@arm.com> > > --- > > Hi, > > > > this is just compile tested, and should fix the only questionable > > cache invalidate call in this driver. > > Please verify if this fixes any issues! > > Can you test this on RK3399?
Hi Jagan/All Here are the test results after applying this patch on mainline. The patch has been tested on roc-rk3399-pc an RK3399 based SBC. It looks fine, below is the log: U-Boot TPL 2021.04-rc2-00169-g958c213e3f (Feb 26 2021 - 21:38:32) Trying to boot from BOOTROM Returning to boot ROM... U-Boot SPL 2021.04-rc2-00169-g958c213e3f (Feb 26 2021 - 21:38:32 +0530) Loading Environment from SPIFlash... *** Warning - spi_flash_probe_bus_cs() failed, using default environment Trying to boot from MMC1 U-Boot 2021.04-rc2-00169-g958c213e3f (Feb 26 2021 - 21:38:32 +0530) SoC: Rockchip rk3399 Reset cause: POR Model: Firefly ROC-RK3399-PC Mezzanine Board DRAM: 3.9 GiB PMIC: RK808 MMC: mmc@fe310000: 2, mmc@fe320000: 1, sdhci@fe330000: 0 Loading Environment from SPIFlash... jedec_spi_nor flash@0: unrecognized JEDEC id bytes: ff, ff, ff *** Warning - spi_flash_probe_bus_cs() failed, using default environment In: serial Out: serial Err: serial Model: Firefly ROC-RK3399-PC Mezzanine Board Net: Error: ethernet@fe300000 address not set. No ethernet found. Hit any key to stop autoboot: 0 => => => pci Scanning PCI devices on bus 0 BusDevFun VendorId DeviceId Device Class Sub-Class _____________________________________________________________ 00.00.00 0x1d87 0x0100 Bridge device 0x04 => nvme scan => nvme info Device 0: Vendor: 0x15b7 Rev: 21110001 Prod: 2031C2440521 Type: Hard Disk Capacity: 244198.3 MB = 238.4 GB (500118192 x 512) => nvme device IDE device 0: Vendor: 0x15b7 Rev: 21110001 Prod: 2031C2440521 Type: Hard Disk Capacity: 244198.3 MB = 238.4 GB (500118192 x 512) Tested-by: Suniel Mahesh <su...@amarulasolutions.com> > > Jagan.