linux-omap.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
To: Kalle Valo <kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org>
Cc: Eyal Reizer <eyalr-l0cyMroinI0@public.gmane.org>,
	Kishon Vijay Abraham I <kishon-l0cyMroinI0@public.gmane.org>,
	Guy Mishol <guym-l0cyMroinI0@public.gmane.org>,
	Luca Coelho
	<luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org>,
	Maital Hahn <maitalm-l0cyMroinI0@public.gmane.org>,
	Maxim Altshul <maxim.altshul-l0cyMroinI0@public.gmane.org>,
	Shahar Patury <shaharp-l0cyMroinI0@public.gmane.org>,
	linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
	linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org
Subject: Re: [RFT 3/6] wlcore: Add support for runtime PM
Date: Thu, 31 May 2018 10:14:20 -0700	[thread overview]
Message-ID: <20180531171420.GQ5705@atomide.com> (raw)
In-Reply-To: <20180529180605.73622-4-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>

* Tony Lindgren <tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org> [180529 18:09]:
> --- a/drivers/net/wireless/ti/wlcore/main.c
> +++ b/drivers/net/wireless/ti/wlcore/main.c
...
> +static int __maybe_unused wlcore_runtime_resume(struct device *dev)
> +{
> +	struct wl1271 *wl = dev_get_drvdata(dev);
> +	DECLARE_COMPLETION_ONSTACK(compl);
> +	unsigned long flags;
> +	int ret;
> +	unsigned long start_time = jiffies;
> +	bool pending = false;
> +
> +	/* Nothing to do if no ELP mode requested */
> +	if (!test_bit(WL1271_FLAG_IN_ELP, &wl->flags))
> +		return 0;
> +
> +	wl1271_debug(DEBUG_PSM, "waking up chip from elp");
> +
> +	spin_lock_irqsave(&wl->wl_lock, flags);
> +	if (test_bit(WL1271_FLAG_IRQ_RUNNING, &wl->flags))
> +		pending = true;
> +	else
> +		wl->elp_compl = &compl;
> +	spin_unlock_irqrestore(&wl->wl_lock, flags);
> +
> +	ret = wlcore_raw_write32(wl, HW_ACCESS_ELP_CTRL_REG, ELPCTRL_WAKE_UP);
> +	if (ret < 0) {
> +		wl12xx_queue_recovery_work(wl);
> +		goto err;
> +	}
> +
> +	if (!pending) {
> +		ret = wait_for_completion_timeout(&compl,
> +			msecs_to_jiffies(WL1271_WAKEUP_TIMEOUT));
> +		if (ret == 0) {
> +			wl1271_error("ELP wakeup timeout!");
> +			wl12xx_queue_recovery_work(wl);
> +
> +			/* Return no error for runtime PM for recovery */
> +			return 0;

I noticed returning here and not clearing WL1271_FLAG_IN_ELP can
produce errors. But I think it's unsafe to clear WL1271_FLAG_IN_ELP
if wlcore did not wake. So I suggest we return early here to see the
errors so we can fix the issues. I'll post one more patch that fixes
the init time "ELP wakeup timeout!" issues for me.

Regards,

Tony

  parent reply	other threads:[~2018-05-31 17:14 UTC|newest]

Thread overview: 21+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2018-05-29 18:05 [RFTv3 0/6] Runtime PM support for wlcore Tony Lindgren
     [not found] ` <20180529180605.73622-1-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-29 18:06   ` [RFT 1/6] wlcore: Add missing PM call for wlcore_cmd_wait_for_event_or_timeout() Tony Lindgren
     [not found]     ` <20180529180605.73622-2-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-31 17:17       ` [RFT 7/6] wlcore: Make sure firmware is initialized in wl1271_op_add_interface() Tony Lindgren
2018-05-29 18:06   ` [RFT 2/6] wlcore: Make sure PM calls are paired Tony Lindgren
2018-05-29 18:06   ` [RFT 3/6] wlcore: Add support for runtime PM Tony Lindgren
     [not found]     ` <20180529180605.73622-4-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-31 17:14       ` Tony Lindgren [this message]
     [not found]         ` <20180531171420.GQ5705-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-06-03  6:04           ` [EXTERNAL] " Reizer, Eyal
     [not found]             ` <fe42f9d6bb744cd39e38db8f51c0b74e-l0cyMroinI0@public.gmane.org>
2018-06-05  4:20               ` Tony Lindgren
     [not found]                 ` <20180605042000.GA5738-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-06-05 10:44                   ` Tony Lindgren
     [not found]                     ` <20180605104404.GD5738-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-06-05 10:49                       ` Reizer, Eyal
2018-06-06 12:20                     ` Reizer, Eyal
     [not found]                       ` <b55bd6bf93eb4b7884ad05e44eded929-l0cyMroinI0@public.gmane.org>
2018-06-13  6:42                         ` Tony Lindgren
2018-06-14  8:36                     ` Reizer, Eyal
2018-06-14 11:29                     ` Reizer, Eyal
     [not found]                       ` <90db5e5b092a4be6b4390fc5f695b5fe-l0cyMroinI0@public.gmane.org>
2018-06-15  5:04                         ` Tony Lindgren
2018-05-29 18:06   ` [RFT 4/6] wlcore: Fix misplaced PM call for scan_complete_work() Tony Lindgren
2018-05-29 18:06   ` [RFT 5/6] wclore: Fix timout errors after recovery Tony Lindgren
2018-05-29 18:06   ` [RFT 6/6] wlcore: Use generic runtime pm calls for wowlan elp configuration Tony Lindgren
     [not found]     ` <20180529180605.73622-7-tony-4v6yS6AI5VpBDgjK7y7TUQ@public.gmane.org>
2018-05-29 19:23       ` Grygorii Strashko
     [not found]         ` <75fb865b-dc84-2e7d-d879-581e65dc343d-l0cyMroinI0@public.gmane.org>
2018-05-29 21:40           ` Tony Lindgren
2018-05-31 17:56   ` [RFTv3 8/6] wlcore: Enable runtime PM autosuspend support Tony Lindgren

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=20180531171420.GQ5705@atomide.com \
    --to=tony-4v6ys6ai5vpbdgjk7y7tuq@public.gmane.org \
    --cc=eyalr-l0cyMroinI0@public.gmane.org \
    --cc=guym-l0cyMroinI0@public.gmane.org \
    --cc=kishon-l0cyMroinI0@public.gmane.org \
    --cc=kvalo-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org \
    --cc=linux-omap-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=linux-wireless-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
    --cc=luciano.coelho-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org \
    --cc=maitalm-l0cyMroinI0@public.gmane.org \
    --cc=maxim.altshul-l0cyMroinI0@public.gmane.org \
    --cc=shaharp-l0cyMroinI0@public.gmane.org \
    /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: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).