slimbus: qcom-ngd-ctrl: reinit the reconf completion flag
authorKrzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Fri, 18 Nov 2022 06:52:43 +0000 (06:52 +0000)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 23 Nov 2022 18:45:33 +0000 (19:45 +0100)
Reinitialize the reconf completion flag when ngd registers are
not retainied or when enumeration is lost for ngd.

Signed-off-by: Krzysztof Kozlowski <krzysztof.kozlowski@linaro.org>
Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@linaro.org>
Link: https://lore.kernel.org/r/20221118065246.6835-10-srinivas.kandagatla@linaro.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/slimbus/qcom-ngd-ctrl.c

index a6f3b6860d8f0304979d17adc1a14e40606b82bf..77aa6d26476cd24b5eba6a663671d7677055538c 100644 (file)
@@ -1205,6 +1205,12 @@ static int qcom_slim_ngd_power_up(struct qcom_slim_ngd_ctrl *ctrl)
                return 0;
        }
 
+       /*
+        * Reinitialize only when registers are not retained or when enumeration
+        * is lost for ngd.
+        */
+       reinit_completion(&ctrl->reconf);
+
        writel_relaxed(DEF_NGD_INT_MASK, ngd->base + NGD_INT_EN);
        rx_msgq = readl_relaxed(ngd->base + NGD_RX_MSGQ_CFG);