• Dan Williams's avatar
    nfit: fix multi-interface dimm handling, acpi6.1 compatibility · ef1fb7d1
    Dan Williams authored
    commit 6697b2cf
    
     upstream.
    
    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.
    Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
    Signed-off-by: default avatarGreg Kroah-Hartman <gregkh@linuxfoundation.org>
    ef1fb7d1
nfit.c 50.6 KB