[Skiboot-stable] [PATCH 1/2] npu2-hw-procedures: Add platform hook to tune PHY setup

Frederic Barrat fbarrat at linux.ibm.com
Tue Mar 31 20:47:34 AEDT 2020


Add a hook to tune the PHY settings if needed. Only on the opencapi
path for now, since it seems to be only useful there.
It will be used on a later patch for Mihawk.

Signed-off-by: Frederic Barrat <fbarrat at linux.ibm.com>
Cc: skiboot-stable at lists.ozlabs.org # skiboot-op940.x
---
 hw/npu2-hw-procedures.c | 3 +++
 include/platform.h      | 2 ++
 2 files changed, 5 insertions(+)

diff --git a/hw/npu2-hw-procedures.c b/hw/npu2-hw-procedures.c
index 6236380a..890b25a8 100644
--- a/hw/npu2-hw-procedures.c
+++ b/hw/npu2-hw-procedures.c
@@ -1020,6 +1020,9 @@ void npu2_opencapi_bump_ui_lane(struct npu2_dev *dev)
 
 void npu2_opencapi_phy_init(struct npu2_dev *dev)
 {
+	if (platform.ocapi->phy_setup)
+		platform.ocapi->phy_setup(dev);
+
 	run_procedure(dev, 5); /* procedure_phy_tx_zcal */
 	/*
 	 * This is only required for OpenCAPI - Hostboot tries to set this
diff --git a/include/platform.h b/include/platform.h
index 6aa263ae..c045883d 100644
--- a/include/platform.h
+++ b/include/platform.h
@@ -11,6 +11,7 @@ struct pci_slot;
 struct errorlog;
 struct npu2;
 struct npu3;
+struct npu2_dev;
 
 enum resource_id {
 	RESOURCE_ID_KERNEL,
@@ -64,6 +65,7 @@ struct platform_ocapi {
 	bool odl_phy_swap;		/* Swap ODL1 to use brick 2 rather than
 					 * brick 1 lanes */
 	const char *(*ocapi_slot_label)(uint32_t chip_id, uint32_t brick_index);
+	void (*phy_setup)(struct npu2_dev *dev);
 };
 
 struct dt_node;
-- 
2.25.1



More information about the Skiboot-stable mailing list