[15/16] npu2-opencapi: Handle OPAL_UNMAP_PE operation on set_pe() callback
diff mbox series

Message ID 20190909123151.21944-16-fbarrat@linux.ibm.com
State New
Headers show
  • opencapi: enable card reset and link retraining
Related show


Context Check Description
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot-dco success Signed-off-by present
snowpatch_ozlabs/snowpatch_job_snowpatch-skiboot success Test snowpatch/job/snowpatch-skiboot on branch master
snowpatch_ozlabs/apply_patch success Successfully applied on branch master (470ffb5f29d741c3bed600f7bb7bf0cbb270e05a)

Commit Message

Frederic Barrat Sept. 9, 2019, 12:31 p.m. UTC
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@linux.ibm.com>
 hw/npu2-opencapi.c | 4 +++-
 1 file changed, 3 insertions(+), 1 deletion(-)

diff mbox series

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;