From patchwork Tue May 10 14:42:18 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yassine Oudjana X-Patchwork-Id: 571533 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 4FC92C433EF for ; Wed, 11 May 2022 12:16:24 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 6025019FD; Wed, 11 May 2022 14:15:32 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 6025019FD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1652271382; bh=coelNclzv3mxzVxwpxT2IBzKJeUQd+QCKQpbH0fCKe0=; h=From:To:Subject:Date:In-Reply-To:References:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=OOZVzRyh2G+Q6RCZc6cuwZBN6cpcoCwMgXT3cBk3QCTV16U8dLQBUH/No41IwA3XB NDlzPU6iVmdk3+BTXWYqEiG8G6cQfGvkrJOLqzOS1PRf3FRSADaTDcIa9M7N4D7oak OmiMYuGxmuvhf0KxCDuDwk9JLBG1t3sUUxlGV3fY= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id C46E2F804CA; Wed, 11 May 2022 14:15:00 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id 1EDC1F80153; Tue, 10 May 2022 16:45:40 +0200 (CEST) Received: from mail-ed1-x52b.google.com (mail-ed1-x52b.google.com [IPv6:2a00:1450:4864:20::52b]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id BD3B0F8014C for ; Tue, 10 May 2022 16:45:33 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz BD3B0F8014C Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="Xp5x5Hjo" Received: by mail-ed1-x52b.google.com with SMTP id d6so20296045ede.8 for ; Tue, 10 May 2022 07:45:33 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=cviL3lmIYw/HkQPfXBpg2Ad3NY9GzMPeGBFFoRKwMlQ=; b=Xp5x5HjouRwxA3WTb4Y4k5B5FFuVFgUZnJBvYRFhNYagsTxkvVst4HILGHD5EYLNzH kmkUvGprkk4d/vz38/+ckDGtnR5jpmkeYY42sTynRyBk/mWbh1ETbuPA6S+f2yQXb+Cu qeONylgSs0tQgA/RKli/cxjAeeqBpX1zvZzYTct39albJuDK0e38A4H22p7er6kCuEMc Wr5/20TGbEf9A+koioveWlZXOd6TFnzPTqibQV7AsAHAJeY7aWxYEHC6NSlgqbgY2U/l 0FoGPbd2fNxO/+IMfa1nPSDShsxhzT5n2vMmBTE3bm5G702g7U5d11Y3fc87/l6jJIMk 9WbQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=cviL3lmIYw/HkQPfXBpg2Ad3NY9GzMPeGBFFoRKwMlQ=; b=mXTRyZ/biDhwZYTxCCTuua4WdqCHTv+0PGLx2jsKia6xpX3FfCPmwL2iI9SiBzqYmW RR/HxixerYaJ3eP1sbLp6vaMZQWK6uocUHoRdLdmDTl4iXVpmxhuNtXVAtl3E01jpI1w QgVlLyvNYECDSGWIaP+iXrn87NJ361dif9Eo8F8T53R6yeVsDYF78iwYtsRwqMVdrEvz JB+2WWotEOuTOTvgJ4PBcMZp/BF9+YP5J5p+j8RlbBZocBfzhFGNcZoZCK4x4yMWZy35 7HpCAQ+8/hgf8KlGv+/KyW2Putpg+kWpMHX2CYYM9s13x+hgf9fjdzpaACpbK76gqzmy YY8g== X-Gm-Message-State: AOAM532gocyWoAmOJuMCguGA6w3N1dKk6TMkm+VzqWY4++6dcMrQHpqN xsl/XBuJz8yFUqT+wq3njHA= X-Google-Smtp-Source: ABdhPJzHOoz8+9ti+fXbuPpKkTiz74mWvVEvuIU555+bb83colNPFTAkvWeWhIiw1aBFqx9YNvR3Sw== X-Received: by 2002:a05:6402:3456:b0:425:ab60:1b00 with SMTP id l22-20020a056402345600b00425ab601b00mr23902968edc.71.1652193931804; Tue, 10 May 2022 07:45:31 -0700 (PDT) Received: from localhost.localdomain (89-38-99-188.hosted-by-worldstream.net. [89.38.99.188]) by smtp.gmail.com with ESMTPSA id z16-20020a170906241000b006fb6d9d25bfsm829652eja.22.2022.05.10.07.45.28 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 May 2022 07:45:31 -0700 (PDT) From: Yassine Oudjana X-Google-Original-From: Yassine Oudjana To: Andy Gross , Bjorn Andersson , Mathieu Poirier , Srinivas Kandagatla Subject: [RFC PATCH 1/2] remoteproc: qcom: Report last event on SSR notifier registration Date: Tue, 10 May 2022 18:42:18 +0400 Message-Id: <20220510144219.806391-2-y.oudjana@protonmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220510144219.806391-1-y.oudjana@protonmail.com> References: <20220510144219.806391-1-y.oudjana@protonmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 11 May 2022 14:14:58 +0200 Cc: alsa-devel@alsa-project.org, Yassine Oudjana , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Yassine Oudjana X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" From: Yassine Oudjana Keep track of the last SSR event of a remoteproc, then report it to each newly registered notifier block. This prevents drivers from waiting indefinitely for an event that has already happened before they registered their notifier blocks. Fixes: a899d324863a3 ("slimbus: qcom-ngd-ctrl: add Sub System Restart support") Signed-off-by: Yassine Oudjana --- drivers/remoteproc/qcom_common.c | 17 +++++++++++++---- 1 file changed, 13 insertions(+), 4 deletions(-) diff --git a/drivers/remoteproc/qcom_common.c b/drivers/remoteproc/qcom_common.c index 4b91e3c9eafa..ff85ea564129 100644 --- a/drivers/remoteproc/qcom_common.c +++ b/drivers/remoteproc/qcom_common.c @@ -85,6 +85,7 @@ struct qcom_ssr_subsystem { const char *name; struct srcu_notifier_head notifier_list; struct list_head list; + enum qcom_ssr_notify_type current_state; }; static LIST_HEAD(qcom_ssr_subsystem_list); @@ -392,6 +393,9 @@ void *qcom_register_ssr_notifier(const char *name, struct notifier_block *nb) srcu_notifier_chain_register(&info->notifier_list, nb); + /* Notify newly registered notifier block of current remoteproc state */ + nb->notifier_call(nb, info->current_state, NULL); + return &info->notifier_list; } EXPORT_SYMBOL_GPL(qcom_register_ssr_notifier); @@ -420,8 +424,9 @@ static int ssr_notify_prepare(struct rproc_subdev *subdev) .crashed = false, }; + ssr->info->current_state = QCOM_SSR_BEFORE_POWERUP; srcu_notifier_call_chain(&ssr->info->notifier_list, - QCOM_SSR_BEFORE_POWERUP, &data); + ssr->info->current_state, &data); return 0; } @@ -433,8 +438,9 @@ static int ssr_notify_start(struct rproc_subdev *subdev) .crashed = false, }; + ssr->info->current_state = QCOM_SSR_AFTER_POWERUP; srcu_notifier_call_chain(&ssr->info->notifier_list, - QCOM_SSR_AFTER_POWERUP, &data); + ssr->info->current_state, &data); return 0; } @@ -446,8 +452,9 @@ static void ssr_notify_stop(struct rproc_subdev *subdev, bool crashed) .crashed = crashed, }; + ssr->info->current_state = QCOM_SSR_BEFORE_SHUTDOWN; srcu_notifier_call_chain(&ssr->info->notifier_list, - QCOM_SSR_BEFORE_SHUTDOWN, &data); + ssr->info->current_state, &data); } static void ssr_notify_unprepare(struct rproc_subdev *subdev) @@ -458,8 +465,9 @@ static void ssr_notify_unprepare(struct rproc_subdev *subdev) .crashed = false, }; + ssr->info->current_state = QCOM_SSR_AFTER_SHUTDOWN; srcu_notifier_call_chain(&ssr->info->notifier_list, - QCOM_SSR_AFTER_SHUTDOWN, &data); + ssr->info->current_state, &data); } /** @@ -484,6 +492,7 @@ void qcom_add_ssr_subdev(struct rproc *rproc, struct qcom_rproc_ssr *ssr, } ssr->info = info; + ssr->info->current_state = QCOM_SSR_BEFORE_POWERUP; ssr->subdev.prepare = ssr_notify_prepare; ssr->subdev.start = ssr_notify_start; ssr->subdev.stop = ssr_notify_stop; From patchwork Tue May 10 14:42:19 2022 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Yassine Oudjana X-Patchwork-Id: 572111 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org Received: from alsa0.perex.cz (alsa0.perex.cz [77.48.224.243]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 2461BC433F5 for ; Wed, 11 May 2022 12:16:43 +0000 (UTC) Received: from alsa1.perex.cz (alsa1.perex.cz [207.180.221.201]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa0.perex.cz (Postfix) with ESMTPS id 26C851DF; Wed, 11 May 2022 14:15:51 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 26C851DF DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1652271401; bh=cNi3Zl5rtELehg/qBP5688pmvW51vUwGguXf9cnx33Y=; h=From:To:Subject:Date:In-Reply-To:References:Cc:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=pzv6PHcLF2sU3NPLxC6cKBmKgQIsriAXPe5mHK2ozZ6ODzceinDud4LW6c1SvOv22 iv0xqhg2bCsyGBa37Xzxopdkggz8shRfAdl1Bues0zSBNBubd3M9VaDNKFOtfZA6gq cvmPzkTjR4GITYQRPoWVDX80WtLXMoMsqgeYrncw= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 633BCF804CB; Wed, 11 May 2022 14:15:01 +0200 (CEST) Received: by alsa1.perex.cz (Postfix, from userid 50401) id DC988F8011C; Tue, 10 May 2022 16:45:45 +0200 (CEST) Received: from mail-ej1-x62f.google.com (mail-ej1-x62f.google.com [IPv6:2a00:1450:4864:20::62f]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id 8C43CF8011C for ; Tue, 10 May 2022 16:45:39 +0200 (CEST) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz 8C43CF8011C Authentication-Results: alsa1.perex.cz; dkim=pass (2048-bit key) header.d=gmail.com header.i=@gmail.com header.b="gRi76ycW" Received: by mail-ej1-x62f.google.com with SMTP id dk23so33443989ejb.8 for ; Tue, 10 May 2022 07:45:39 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20210112; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=eGTN6aMN0s/KhqZVZqbtoSr5BOPu4zHPp3TT3ztEYwQ=; b=gRi76ycWfaYj+DC25eRDShAGPnPSRBQtz4hKna7OLzNJqQFxUfaZqLK5rMatNpo+Xt OPYUMyOpLJM6QsTiZbA/DVzp7wIDRp2Ss2VWbS2G+vKzgZKATIfvZn6N4sxmosUXP8Y6 p+20OI+1VBjQGsdqkMtq8ANdsjTYlUL4Q0jvD3FdM0lLJanQzBZB02p1VAlQZecjuzG9 mvsmd9JK5ELIzkdno43Yd59DehKPp8OvEDAq+YBQ6hSo7mEI5kqKSPVp0NAtqSAmQo+I OvXHsYnfIvdcgRAggH9QifrSa4Hc0BSrA7VqOlA+LGceJgGmdiRbAaENatxJJdhHTKfm TzsQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=eGTN6aMN0s/KhqZVZqbtoSr5BOPu4zHPp3TT3ztEYwQ=; b=M38Bc8PUjDQ+WX2s3Ig7WqHt0EVr8nMNi++6V8BUNMOIo+zNm7wQG1+uAKW4m/xotV A//a+Yq4CpoIsEzQiIIJhPX1DUyFjBMY8Am2CQ4OW7ma22OOyW/A8ZDBg9HefUGaNugP 1r5n1DPSq3j8//Qv6ea+/zTha1l//owdvmtVmWZhDPfWrfJ01FXf/9GVzOdTMJV5IZEY lDgyvBFsJMQOhZeybSxyGL1sguZKJX4Wn0BOZs+ly/WEO0DCyB0+9UKK5po5fTUiTkAK C6FqZx8Jn3XJpLUradrQQ0GgP5bfMinw7cZ2o8bQe7r6MbAgWdzBIyc0iFOJRsZLbuZh Yn4A== X-Gm-Message-State: AOAM533ov2C4GBLl8YkFcKV9kLtlFwtQdQqyThomf2Cm84xpan2Wacn4 BwKAd6HsufFzJg7BIGB6e64= X-Google-Smtp-Source: ABdhPJxqZSKXdWSVeTuLaqUhIC+S7MYZ+4pUf5FWmkaMNwvzSXpE7agGc7utHZ28cZ4QcKHb6o+t8w== X-Received: by 2002:a17:907:2da2:b0:6f4:7395:568b with SMTP id gt34-20020a1709072da200b006f47395568bmr20115064ejc.766.1652193937643; Tue, 10 May 2022 07:45:37 -0700 (PDT) Received: from localhost.localdomain (89-38-99-188.hosted-by-worldstream.net. [89.38.99.188]) by smtp.gmail.com with ESMTPSA id z16-20020a170906241000b006fb6d9d25bfsm829652eja.22.2022.05.10.07.45.34 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Tue, 10 May 2022 07:45:37 -0700 (PDT) From: Yassine Oudjana X-Google-Original-From: Yassine Oudjana To: Andy Gross , Bjorn Andersson , Mathieu Poirier , Srinivas Kandagatla Subject: [RFC PATCH 2/2] slimbus: qcom-ngd-ctrl: Initialize ngd_up_work before it can be scheduled Date: Tue, 10 May 2022 18:42:19 +0400 Message-Id: <20220510144219.806391-3-y.oudjana@protonmail.com> X-Mailer: git-send-email 2.36.0 In-Reply-To: <20220510144219.806391-1-y.oudjana@protonmail.com> References: <20220510144219.806391-1-y.oudjana@protonmail.com> MIME-Version: 1.0 X-Mailman-Approved-At: Wed, 11 May 2022 14:14:58 +0200 Cc: alsa-devel@alsa-project.org, Yassine Oudjana , linux-arm-msm@vger.kernel.org, linux-remoteproc@vger.kernel.org, linux-kernel@vger.kernel.org, Yassine Oudjana X-BeenThere: alsa-devel@alsa-project.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: "Alsa-devel mailing list for ALSA developers - http://www.alsa-project.org" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" From: Yassine Oudjana ngd_up_work can be scheduled by the SSR notifier, which is registered before it is initialized. Move initialization of ngd_up_work before SSR notifier registration. Fixes: a899d324863a3 ("slimbus: qcom-ngd-ctrl: add Sub System Restart support") Signed-off-by: Yassine Oudjana --- drivers/slimbus/qcom-ngd-ctrl.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/slimbus/qcom-ngd-ctrl.c b/drivers/slimbus/qcom-ngd-ctrl.c index 7040293c2ee8..73b9abba305f 100644 --- a/drivers/slimbus/qcom-ngd-ctrl.c +++ b/drivers/slimbus/qcom-ngd-ctrl.c @@ -1490,7 +1490,6 @@ static int qcom_slim_ngd_probe(struct platform_device *pdev) } INIT_WORK(&ctrl->m_work, qcom_slim_ngd_master_worker); - INIT_WORK(&ctrl->ngd_up_work, qcom_slim_ngd_up_worker); ctrl->mwq = create_singlethread_workqueue("ngd_master"); if (!ctrl->mwq) { dev_err(&pdev->dev, "Failed to start master worker\n"); @@ -1539,6 +1538,8 @@ static int qcom_slim_ngd_ctrl_probe(struct platform_device *pdev) return ret; } + INIT_WORK(&ctrl->ngd_up_work, qcom_slim_ngd_up_worker); + ctrl->nb.notifier_call = qcom_slim_ngd_ssr_notify; ctrl->notifier = qcom_register_ssr_notifier("lpass", &ctrl->nb); if (IS_ERR(ctrl->notifier))