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

Frederic Barrat fbarrat at linux.ibm.com
Sat Oct 5 01:45:53 AEST 2019



Le 25/09/2019 à 11:12, Andrew Donnellan a écrit :
> On 9/9/19 2:31 pm, 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>
> 
> Reviewed-by: Andrew Donnellan <ajd at linux.ibm.com>
> 
> (Wonder if the check Christophe mentioned should be in the generic 
> set_pe entry point, idk)


I chose not to make it generic. The check already existed in some PHB 
implementations (phb3&4), so it could be a separate patch to commonalize 
it if somebody cares enough.

  Fred


>> ---
>>   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;
>>   }
>>
> 



More information about the Skiboot mailing list