> -----Original Message-----
> From: Linux-nvdimm [mailto:[email protected]] On
> Behalf Of Soccer Liu
> Sent: Thursday, February 09, 2017 1:45 PM
> Subject: How is a Region format interface codec used in
> NFIT/PEME/BLK/BTT driver?
>
> I am trying to figure out what changes might be needed in the
> NVDIMM driver set for adding a new Region format interface code.
> After some researching, I found the following constants were defined
> in the NFIT header file but never really got referenced in the driver
> code. (It's used in the test code)
> 64 #define NFIT_FIC_BYTE cpu_to_le16(0x101) /* byte-addressable
> energy backed */
> 65 #define NFIT_FIC_BLK cpu_to_le16(0x201) /* block-addressable non-
> energy backed */
> 66 #define NFIT_FIC_BYTEN cpu_to_le16(0x301) /* byte-addressable
> non-energy backed */
JEDEC is the underlying assignment authority for these values.
The ACPI specification defines how the system fills in the 2-byte
little-endian Region Format Interface Code field in the NFIT NVDIMM
Control Region Structure:
"This field shall be set to the value of the NVDIMM SPD
Function Interface descriptor for the function interface
represented by the NVDIMM Control Region structure, with:
a) byte 0 bits 7:5 set to 000b;
b) byte 0 bits 4:0 set to the Function Interface field (i.e.,
Function Interface descriptor bits 4:0);
c) byte 1 bits 7:0 set to 000b; and
d) byte 1 bits 4:0 set to the Function Class field (i.e.,
Function Interface descriptor bits 9:5)."
The SPD EEPROM contents are defined by JESD21C Page 4.1.2.L
(Serial Presence Detect (SPD) for DDR4 SDRAM Modules):
For Function Class 0x0, Function Interface is:
* 0x00 = proprietary
* all others reserved
For Function Class 0x01, Function Interface is:
* 0x00 = proprietary
* 0x01 = JESD245 BAEBI (for NVDIMM-Ns)
* all others reserved
For Function Class 0x02, Function Interface is:
* 0x00 = proprietary
* 0x01 = some yet-to-be defined
block addressable interface
* all others reserved
For Function Class 0x03, Function Interface is:
* 0x00 = proprietary
* 0x01 = some yet-to-be defined
byte addressable non-energy backed interface
* all others reserved
All other Function Class values are reserved.
---
Robert Elliott, HPE Persistent Memory
_______________________________________________
Linux-nvdimm mailing list
[email protected]
https://lists.01.org/mailman/listinfo/linux-nvdimm