diff options
Diffstat (limited to 'target/linux/layerscape/patches-5.4/701-net-0005-soc-fsl-qbman_portals-add-APIs-to-retrieve-the-probi.patch')
-rw-r--r-- | target/linux/layerscape/patches-5.4/701-net-0005-soc-fsl-qbman_portals-add-APIs-to-retrieve-the-probi.patch | 71 |
1 files changed, 0 insertions, 71 deletions
diff --git a/target/linux/layerscape/patches-5.4/701-net-0005-soc-fsl-qbman_portals-add-APIs-to-retrieve-the-probi.patch b/target/linux/layerscape/patches-5.4/701-net-0005-soc-fsl-qbman_portals-add-APIs-to-retrieve-the-probi.patch deleted file mode 100644 index a137e55e96..0000000000 --- a/target/linux/layerscape/patches-5.4/701-net-0005-soc-fsl-qbman_portals-add-APIs-to-retrieve-the-probi.patch +++ /dev/null @@ -1,71 +0,0 @@ -From d43acc10c25f01a461a1cb1c1fd0cc72cd29dd42 Mon Sep 17 00:00:00 2001 -From: Laurentiu Tudor <laurentiu.tudor@nxp.com> -Date: Thu, 2 Aug 2018 16:14:12 +0300 -Subject: [PATCH] soc/fsl/qbman_portals: add APIs to retrieve the probing - status - -Add a couple of new APIs to check the probing status of the required -cpu bound qman and bman portals: - 'int bman_portals_probed()' and 'int qman_portals_probed()'. -They return the following values. - * 1 if qman/bman portals were all probed correctly - * 0 if qman/bman portals were not yet probed - * -1 if probing of qman/bman portals failed -Portals are considered successful probed if no error occurred during -the probing of any of the portals and if enough portals were probed -to have one available for each cpu. -The error handling paths were slightly rearranged in order to fit this -new functionality without being too intrusive. -Drivers that use qman/bman portal driver services are required to use -these APIs before calling any functions exported by these drivers or -otherwise they will crash the kernel. -First user will be the dpaa1 ethernet driver, coming in a subsequent -patch. - -Signed-off-by: Laurentiu Tudor <laurentiu.tudor@nxp.com> ---- - drivers/soc/fsl/qbman/bman_portal.c | 3 +++ - drivers/soc/fsl/qbman/qman_portal.c | 3 +++ - include/soc/fsl/qman.h | 9 +++++++++ - 3 files changed, 15 insertions(+) - ---- a/drivers/soc/fsl/qbman/bman_portal.c -+++ b/drivers/soc/fsl/qbman/bman_portal.c -@@ -164,6 +164,9 @@ static int bman_portal_probe(struct plat - } - - cpumask_set_cpu(cpu, &portal_cpus); -+ if (!__bman_portals_probed && -+ cpumask_weight(&portal_cpus) == num_online_cpus()) -+ __bman_portals_probed = 1; - spin_unlock(&bman_lock); - pcfg->cpu = cpu; - ---- a/drivers/soc/fsl/qbman/qman_portal.c -+++ b/drivers/soc/fsl/qbman/qman_portal.c -@@ -323,6 +323,9 @@ static int qman_portal_probe(struct plat - } - - cpumask_set_cpu(cpu, &portal_cpus); -+ if (!__qman_portals_probed && -+ cpumask_weight(&portal_cpus) == num_online_cpus()) -+ __qman_portals_probed = 1; - spin_unlock(&qman_lock); - pcfg->cpu = cpu; - ---- a/include/soc/fsl/qman.h -+++ b/include/soc/fsl/qman.h -@@ -1235,4 +1235,13 @@ void qman_portal_get_iperiod(struct qman - */ - int qman_portal_set_iperiod(struct qman_portal *portal, u32 iperiod); - -+/** -+ * qman_portals_probed - Check if all cpu bound qman portals are probed -+ * -+ * Returns 1 if all the required cpu bound qman portals successfully probed, -+ * -1 if probe errors appeared or 0 if the qman portals did not yet finished -+ * probing. -+ */ -+int qman_portals_probed(void); -+ - #endif /* __FSL_QMAN_H */ |