RE: [PATCH v22 4/4] scsi: ufs: Add HPB 2.0 support
From: Avri Altman <Avri.Altman@wdc.com>
Date: 2021-02-24 08:15:41
Also in:
lkml
From: Avri Altman <Avri.Altman@wdc.com>
Date: 2021-02-24 08:15:41
Also in:
lkml
+ copied = ufshpb_fill_ppn_from_page(hpb, srgn->mctx, srgn_offset, + pre_req->wb.len - offset, + &addr[offset]); + + if (copied < 0) + goto mctx_error; + + offset += copied; + srgn_offset += offset;
This seems wrong. How come the region offset is affected from the offset inside the pages?
+
+ if (srgn_offset == hpb->entries_per_srgn) {
+ srgn_offset = 0;
+
+ if (++srgn_idx == hpb->srgns_per_rgn) {
+ srgn_idx = 0;
+ rgn_idx++;
+ }
+ }
+
+ if (offset < pre_req->wb.len)
+ goto next_offset;If the 512k resides in a single subregion, and span across pages, fill_ppn should take care of that. If the 512k spans across subregion regions, than it spans across 2 subregions at most, and maybe you can use it.