[Skiboot] [PATCH 15/16] npu2-opencapi: Handle OPAL_UNMAP_PE operation on set_pe() callback

Frederic Barrat fbarrat at linux.ibm.com
Wed Sep 18 01:25:44 AEST 2019



Le 17/09/2019 à 15:47, christophe lombard a écrit :
> On 09/09/2019 14:31, Frederic Barrat wrote:
>> In a hot-unplug scenario, the OS will try to unmap the PE. Skiboot
>> doesn't do anything with the linux PE for opencapi other than being a
>> mailbox, but at least let's be consistent.
>>
>> Signed-off-by: Frederic Barrat <fbarrat at linux.ibm.com>
>> ---
>>   hw/npu2-opencapi.c | 4 +++-
>>   1 file changed, 3 insertions(+), 1 deletion(-)
>>
>> diff --git a/hw/npu2-opencapi.c b/hw/npu2-opencapi.c
>> index af309362..46aeb6d3 100644
>> --- a/hw/npu2-opencapi.c
>> +++ b/hw/npu2-opencapi.c
>> @@ -1488,7 +1488,7 @@ static int64_t npu2_opencapi_set_pe(struct phb 
>> *phb,
>>                       uint8_t __unused bcompare,
>>                       uint8_t __unused dcompare,
>>                       uint8_t __unused fcompare,
>> -                    uint8_t __unused action)
>> +                    uint8_t action)
>>   {
>>       struct npu2_dev *dev = phb_to_npu2_dev_ocapi(phb);
>>       /*
>> @@ -1500,6 +1500,8 @@ static int64_t npu2_opencapi_set_pe(struct phb 
>> *phb,
>>        * functions on the device, the OS can define many PEs, we
>>        * only keep one, the OS will handle it.
>>        */
>> +    if (action == OPAL_UNMAP_PE)
>> +        pe_num = -1;
>>       dev->linux_pe = pe_num;
>>       return OPAL_SUCCESS;
>>   }
>>
> 
> I don't know if this following check is necessary, as we can see for the 
> other platforms
> if (action != OPAL_MAP_PE && action != OPAL_UNMAP_PE)
>      return OPAL_PARAMETER;


It shouldn't hurt. I'll check and add it.

   Fred



> 
> Reviewed-by: Christophe Lombard <clombard at linux.vnet.ibm.com>



More information about the Skiboot mailing list