• Bharata B Rao's avatar
    powerpc/mm/drmem: Fix unexpected flag value in ibm,dynamic-memory-v2 · 2f7d03e0
    Bharata B Rao authored
    Memory addtion and removal by count and indexed-count methods
    temporarily mark the LMBs that are being added/removed by a special
    flag value DRMEM_LMB_RESERVED. Accessing flags value directly at a few
    places without proper accessor method is causing two unexpected
    side-effects:
    
    - DRMEM_LMB_RESERVED bit is becoming part of the flags word of
      drconf_cell_v2 entries in ibm,dynamic-memory-v2 DT property.
    - This results in extra drconf_cell entries in ibm,dynamic-memory-v2.
      For example if 1G memory is added, it leads to one entry for 3 LMBs
      and 1 separate entry for the last LMB. All the 4 LMBs should be
      defined by one entry here.
    
    Fix this by always accessing the flags by its accessor method
    drmem_lmb_flags().
    
    Fixes: 2b31e3ae ("powerpc/drmem: Add support for ibm, dynamic-memory-v2 property")
    Signed-off-by: default avatarBharata B Rao <bharata@linux.vnet.ibm.com>
    Reviewed-by: default avatarNathan Fontenot <nfont@linux.vnet.ibm.com>
    Signed-off-by: default avatarMichael Ellerman <mpe@ellerman.id.au>
    2f7d03e0
drmem.c 9.9 KB