quoted
quoted
+ put_unaligned_be64(ppn, &cdb[6]);
You are assuming the HPB entries read out by "HPB Read Buffer" cmd
are
in Little
Endian, which is why you are using put_unaligned_be64 here. However,
this assumption
is not right for all the other flash vendors - HPB entries read out
by
"HPB Read Buffer"
cmd may come in Big Endian, if so, their random read performance are
screwed.
For this question, it is very hard to make a correct format since the
Spec doesn't give a clear definition. Should we have a default format,
if there is conflict, and then add quirk or add a vendor-specific
table?
Hi Avri
Do you have a good idea?
I don't know. Better let Daejun answer this.
This was working for me for both Galaxy S20 (Exynos) as well as Xiaomi Mi10 (8250).
Thanks,
Avri