• Dan Williams's avatar
    nfit: fix multi-interface dimm handling, acpi6.1 compatibility · 6697b2cf
    Dan Williams authored
    ACPI 6.1 clarified that multi-interface dimms require multiple control
    region entries (DCRs) per dimm.  Previously we were assuming that a
    control region is only present when block-data-windows are present.
    This implementation was done with an eye to be compatibility with the
    looser ACPI 6.0 interpretation of this table.
    
    1/ When coalescing the memory device (MEMDEV) tables for a single dimm,
    coalesce on device_handle rather than control region index.
    
    2/ Whenever we disocver a control region with non-zero block windows
    re-scan for block-data-window (BDW) entries.
    
    We may need to revisit this if a DIMM ever implements a format interface
    outside of blk or pmem, but that is not on the foreseeable horizon.
    
    Cc: <stable@vger.kernel.org>
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    6697b2cf
nfit.c 55.3 KB