powerpc/nvdimm: Add support for multibyte read/write for metadata
authorAneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Fri, 7 Jun 2019 06:45:11 +0000 (12:15 +0530)
committerMichael Ellerman <mpe@ellerman.id.au>
Thu, 4 Jul 2019 14:37:33 +0000 (00:37 +1000)
commit53e80bd042773c8ddeed856bd1b68ca74c3b8b46
tree31b8ac217ea6a60f217639746f08720ea80b2dca
parent2a0ffbd4789b25cd5a80bfd8f3d28fb629eae1a7
powerpc/nvdimm: Add support for multibyte read/write for metadata

SCM_READ/WRITE_MEATADATA hcall supports multibyte read/write. This patch
updates the metadata read/write to use 1, 2, 4 or 8 byte read/write as
mentioned in PAPR document.

READ/WRITE_METADATA hcall supports the 1, 2, 4, or 8 bytes read/write.
For other values hcall results H_P3.

Hypervisor stores the metadata contents in big-endian format and in-order
to enable read/write in different granularity, we need to switch the contents
to big-endian before calling HCALL.

Based on an patch from Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Aneesh Kumar K.V <aneesh.kumar@linux.ibm.com>
Signed-off-by: Michael Ellerman <mpe@ellerman.id.au>
arch/powerpc/platforms/pseries/papr_scm.c