From: Bitan Biswas <bbiswas@nvidia.com> To: Jassi Brar <jassisinghbrar@gmail.com>, Thierry Reding <treding@nvidia.com>, Jonathan Hunter <jonathanh@nvidia.com>, linux-kernel@vger.kernel.org, linux-tegra@vger.kernel.org Cc: Bitan Biswas <bbiswas@nvidia.com> Subject: [PATCH V1 1/2] mailbox: tegra: hsp: add noirq resume Date: Fri, 14 Jun 2019 05:35:33 -0700 [thread overview] Message-ID: <1560515734-2085-1-git-send-email-bbiswas@nvidia.com> (raw) Add noirq resume instead of resume callback for Tegra HSP. Tegra HSP resume needs tegra_hsp_doorbell_startup() call to fix timeout error for tegra_bpmp_transfer() during genpd resume noirq on jetson-tx2. Signed-off-by: Bitan Biswas <bbiswas@nvidia.com> --- drivers/mailbox/tegra-hsp.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index 91f1a0c..f147374 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -771,10 +771,16 @@ static int tegra_hsp_probe(struct platform_device *pdev) return 0; } -static int __maybe_unused tegra_hsp_resume(struct device *dev) +static int __maybe_unused tegra_hsp_noirq_resume(struct device *dev) { struct tegra_hsp *hsp = dev_get_drvdata(dev); unsigned int i; + struct tegra_hsp_doorbell *db; + + list_for_each_entry(db, &hsp->doorbells, list) { + if (db && db->channel.chan) + tegra_hsp_doorbell_startup(db->channel.chan); + } for (i = 0; i < hsp->num_sm; i++) { struct tegra_hsp_mailbox *mb = &hsp->mailboxes[i]; @@ -786,7 +792,9 @@ static int __maybe_unused tegra_hsp_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(tegra_hsp_pm_ops, NULL, tegra_hsp_resume); +static const struct dev_pm_ops tegra_hsp_pm_ops = { + .resume_noirq = tegra_hsp_noirq_resume, +}; static const struct tegra_hsp_db_map tegra186_hsp_db_map[] = { { "ccplex", TEGRA_HSP_DB_MASTER_CCPLEX, HSP_DB_CCPLEX, }, -- 2.7.4
WARNING: multiple messages have this Message-ID (diff)
From: Bitan Biswas <bbiswas@nvidia.com> To: Jassi Brar <jassisinghbrar@gmail.com>, Thierry Reding <treding@nvidia.com>, Jonathan Hunter <jonathanh@nvidia.com>, <linux-kernel@vger.kernel.org>, <linux-tegra@vger.kernel.org> Cc: Bitan Biswas <bbiswas@nvidia.com> Subject: [PATCH V1 1/2] mailbox: tegra: hsp: add noirq resume Date: Fri, 14 Jun 2019 05:35:33 -0700 [thread overview] Message-ID: <1560515734-2085-1-git-send-email-bbiswas@nvidia.com> (raw) Add noirq resume instead of resume callback for Tegra HSP. Tegra HSP resume needs tegra_hsp_doorbell_startup() call to fix timeout error for tegra_bpmp_transfer() during genpd resume noirq on jetson-tx2. Signed-off-by: Bitan Biswas <bbiswas@nvidia.com> --- drivers/mailbox/tegra-hsp.c | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/drivers/mailbox/tegra-hsp.c b/drivers/mailbox/tegra-hsp.c index 91f1a0c..f147374 100644 --- a/drivers/mailbox/tegra-hsp.c +++ b/drivers/mailbox/tegra-hsp.c @@ -771,10 +771,16 @@ static int tegra_hsp_probe(struct platform_device *pdev) return 0; } -static int __maybe_unused tegra_hsp_resume(struct device *dev) +static int __maybe_unused tegra_hsp_noirq_resume(struct device *dev) { struct tegra_hsp *hsp = dev_get_drvdata(dev); unsigned int i; + struct tegra_hsp_doorbell *db; + + list_for_each_entry(db, &hsp->doorbells, list) { + if (db && db->channel.chan) + tegra_hsp_doorbell_startup(db->channel.chan); + } for (i = 0; i < hsp->num_sm; i++) { struct tegra_hsp_mailbox *mb = &hsp->mailboxes[i]; @@ -786,7 +792,9 @@ static int __maybe_unused tegra_hsp_resume(struct device *dev) return 0; } -static SIMPLE_DEV_PM_OPS(tegra_hsp_pm_ops, NULL, tegra_hsp_resume); +static const struct dev_pm_ops tegra_hsp_pm_ops = { + .resume_noirq = tegra_hsp_noirq_resume, +}; static const struct tegra_hsp_db_map tegra186_hsp_db_map[] = { { "ccplex", TEGRA_HSP_DB_MASTER_CCPLEX, HSP_DB_CCPLEX, }, -- 2.7.4
next reply other threads:[~2019-06-14 12:35 UTC|newest] Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-06-14 12:35 Bitan Biswas [this message] 2019-06-14 12:35 ` [PATCH V1 1/2] mailbox: tegra: hsp: add noirq resume Bitan Biswas 2019-06-14 12:35 ` [PATCH V1 2/2] mailbox: tegra: avoid resume NULL mailboxes Bitan Biswas 2019-06-14 12:35 ` Bitan Biswas 2019-06-14 15:52 ` Thierry Reding 2019-06-14 16:16 ` Bitan Biswas 2019-06-14 16:16 ` Bitan Biswas 2019-06-14 15:50 ` [PATCH V1 1/2] mailbox: tegra: hsp: add noirq resume Thierry Reding 2019-06-14 16:11 ` Bitan Biswas 2019-06-14 16:11 ` Bitan Biswas
Reply instructions: You may reply publicly to this message via plain-text email using any one of the following methods: * Save the following mbox file, import it into your mail client, and reply-to-all from there: mbox Avoid top-posting and favor interleaved quoting: https://en.wikipedia.org/wiki/Posting_style#Interleaved_style * Reply using the --to, --cc, and --in-reply-to switches of git-send-email(1): git send-email \ --in-reply-to=1560515734-2085-1-git-send-email-bbiswas@nvidia.com \ --to=bbiswas@nvidia.com \ --cc=jassisinghbrar@gmail.com \ --cc=jonathanh@nvidia.com \ --cc=linux-kernel@vger.kernel.org \ --cc=linux-tegra@vger.kernel.org \ --cc=treding@nvidia.com \ /path/to/YOUR_REPLY https://kernel.org/pub/software/scm/git/docs/git-send-email.html * If your mail client supports setting the In-Reply-To header via mailto: links, try the mailto: linkBe sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes, see mirroring instructions on how to clone and mirror all data and code used by this external index.