Re: [PATCH v3 1/2] acpi/nfit: Update nfit driver to comply with ACPI 6.1

From: Dan Williams
Date: Mon Jun 18 2018 - 15:46:46 EST


On Mon, Jun 18, 2018 at 12:39 PM, Kani, Toshi <toshi.kani@xxxxxxx> wrote:
> On Mon, 2018-06-18 at 12:01 -0700, Dan Williams wrote:
>> On Mon, Apr 25, 2016 at 2:43 PM Toshi Kani <toshi.kani@xxxxxxx> wrote:
>> >
>> > ACPI 6.1, Table 5-133, updates NVDIMM Control Region Structure
>> > as follows.
>> > - Valid Fields, Manufacturing Location, and Manufacturing Date
>> > are added from reserved range. No change in the structure size.
>> > - IDs (SPD values) are stored as arrays of bytes (i.e. big-endian
>> > format). The spec clarifies that they need to be represented
>> > as arrays of bytes as well.
>> >
>>
>> Circling back on this a couple years too late... where are you reading
>> this "arrays of bytes" note. As far as I can see this is wrong. JEDEC
>> says that vendor id is stored LSB of the id is stored at the lowest
>> byte in SPD, which is little endian. So it seems Linux has showing the
>> incorrect value for a long time now.
>
> This follows ACPI 6.2a section 5.2.25.10 NVDIMM Representation Format,
> which Robert cited in his comment below:
> https://patchwork.kernel.org/patch/10237609/

Right, the representation format has the fields big-endian for some
reason, but the individual values for sysfs should be show
little-endian as far as I can see. What am I missing?