diff mbox series

hdata/memory.c: Fix "Inconsistent MSAREA" warnings

Message ID 20200426194533.26606-1-klaus@linux.vnet.ibm.com
State New
Headers show
Series hdata/memory.c: Fix "Inconsistent MSAREA" warnings | expand

Commit Message

Klaus Heinrich Kiwi April 26, 2020, 7:45 p.m. UTC
add_memory_buffer_mmio() should be exclusive to P9P (AXONE).
Running it on non P9P systems resulted in warnings such as:

MS AREA: Inconsistent MSAREA version 40 for P9P system

So check for PVR and quietly return if not P9P.

Fixes: 38b5c3179 (Add support for memory-buffer mmio)
Cc: skiboot-stable@lists.ozlabs.org
Cc: Oliver O'Halloran <oohall@gmail.com>
Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
---
 hdata/memory.c | 3 +++
 1 file changed, 3 insertions(+)

Comments

Vasant Hegde April 27, 2020, 9:12 a.m. UTC | #1
On 4/27/20 1:15 AM, Klaus Heinrich Kiwi wrote:
> add_memory_buffer_mmio() should be exclusive to P9P (AXONE).
> Running it on non P9P systems resulted in warnings such as:
> 
> MS AREA: Inconsistent MSAREA version 40 for P9P system
> 
> So check for PVR and quietly return if not P9P.
> 
> Fixes: 38b5c3179 (Add support for memory-buffer mmio)
> Cc: skiboot-stable@lists.ozlabs.org
> Cc: Oliver O'Halloran <oohall@gmail.com>
> Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
> ---
>   hdata/memory.c | 3 +++
>   1 file changed, 3 insertions(+)
> 
> diff --git a/hdata/memory.c b/hdata/memory.c
> index 7ce927502..f2c440540 100755
> --- a/hdata/memory.c
> +++ b/hdata/memory.c
> @@ -514,6 +514,9 @@ static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)
>   	struct dt_node *membuf;
>   	uint64_t *reg, *flags;
> 
> +	if (PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)
> +		return;
> +

Is this supported *only* on P9P? I thought we are going to support this in 
future processors as well.

Better way to skip warning in below if condition and return.


-Vasant

>   	if (be32_to_cpu(msarea->version) < 0x50) {
>   		prlog(PR_WARNING, "MS AREA: Inconsistent MSAREA version %x for P9P system",
>   			be32_to_cpu(msarea->version));
>
Klaus Heinrich Kiwi April 27, 2020, 12:18 p.m. UTC | #2
On 4/27/2020 6:12 AM, Vasant Hegde wrote:
>>
>> +    if (PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)
>> +        return;
>> +
> 
> Is this supported *only* on P9P? I thought we are going to support this 
> in future processors as well.
> 
> Better way to skip warning in below if condition and return.

I was trying to be consistent with add_memory_controller() here (see my 
other reply to this thread), and I guess there is nothing stopping us 
from having a P9 (or older) system using a HDAT with a MSAREA => 0x50?


-Klaus
Oliver O'Halloran May 26, 2020, 7:04 a.m. UTC | #3
On Mon, Apr 27, 2020 at 5:45 AM Klaus Heinrich Kiwi
<klaus@linux.vnet.ibm.com> wrote:
>
> add_memory_buffer_mmio() should be exclusive to P9P (AXONE).
> Running it on non P9P systems resulted in warnings such as:
>
> MS AREA: Inconsistent MSAREA version 40 for P9P system
>
> So check for PVR and quietly return if not P9P.
>
> Fixes: 38b5c3179 (Add support for memory-buffer mmio)
> Cc: skiboot-stable@lists.ozlabs.org
> Cc: Oliver O'Halloran <oohall@gmail.com>
> Signed-off-by: Klaus Heinrich Kiwi <klaus@linux.vnet.ibm.com>
> ---
>  hdata/memory.c | 3 +++
>  1 file changed, 3 insertions(+)
>
> diff --git a/hdata/memory.c b/hdata/memory.c
> index 7ce927502..f2c440540 100755
> --- a/hdata/memory.c
> +++ b/hdata/memory.c
> @@ -514,6 +514,9 @@ static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)
>         struct dt_node *membuf;
>         uint64_t *reg, *flags;
>
> +       if (PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)
> +               return;
> +
>         if (be32_to_cpu(msarea->version) < 0x50) {
>                 prlog(PR_WARNING, "MS AREA: Inconsistent MSAREA version %x for P9P system",
>                         be32_to_cpu(msarea->version));
> --
> 2.17.1
>

This is going to break on p10, but whatever. Merged as
11d12c6fb60af42b89930fe776958f0eb208dd23
diff mbox series

Patch

diff --git a/hdata/memory.c b/hdata/memory.c
index 7ce927502..f2c440540 100755
--- a/hdata/memory.c
+++ b/hdata/memory.c
@@ -514,6 +514,9 @@  static void add_memory_buffer_mmio(const struct HDIF_common_hdr *msarea)
 	struct dt_node *membuf;
 	uint64_t *reg, *flags;
 
+	if (PVR_TYPE(mfspr(SPR_PVR)) != PVR_TYPE_P9P)
+		return;
+
 	if (be32_to_cpu(msarea->version) < 0x50) {
 		prlog(PR_WARNING, "MS AREA: Inconsistent MSAREA version %x for P9P system",
 			be32_to_cpu(msarea->version));