From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from m43-7.mailgun.net (m43-7.mailgun.net [69.72.43.7]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 87B3D3FC8 for ; Thu, 23 Sep 2021 08:34:45 +0000 (UTC) DKIM-Signature: a=rsa-sha256; v=1; c=relaxed/relaxed; d=mg.codeaurora.org; q=dns/txt; s=smtp; t=1632386085; h=Message-ID: References: In-Reply-To: Subject: Cc: To: From: Date: Content-Transfer-Encoding: Content-Type: MIME-Version: Sender; bh=RnAXDb/cdy2vNbulmV0mjCa/sumMUiZffdwxvVj6GIc=; b=xbwNheJIMlQj2gzzlACf5oE4WRrACz0AIMQ+hzHvGt42zbkZrDttkXqZxGcw89g5891YBaHW oC4DCn5asFPB2Sqy0NOaY2yVWZYDfNN7bwFEXiF55CIz3O2L5kgaguLAv+7DLqUJQpTtvsQq +0l/LjItZXcFIhETToEqC/wPjmQ= X-Mailgun-Sending-Ip: 69.72.43.7 X-Mailgun-Sid: WyI0YzJmNCIsICJyZWdyZXNzaW9uc0BsaXN0cy5saW51eC5kZXYiLCAiYmU5ZTRhIl0= Received: from smtp.codeaurora.org (ec2-35-166-182-171.us-west-2.compute.amazonaws.com [35.166.182.171]) by smtp-out-n05.prod.us-east-1.postgun.com with SMTP id 614c3c24ec62f57c9ad4d9df (version=TLS1.2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256); Thu, 23 Sep 2021 08:34:44 GMT Sender: cjhuang=codeaurora.org@mg.codeaurora.org Received: by smtp.codeaurora.org (Postfix, from userid 1001) id D92CDC4360D; Thu, 23 Sep 2021 08:34:43 +0000 (UTC) X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-caf-mail-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.9 required=2.0 tests=ALL_TRUSTED,BAYES_00, URIBL_BLOCKED autolearn=unavailable autolearn_force=no version=3.4.0 Received: from mail.codeaurora.org (localhost.localdomain [127.0.0.1]) (using TLSv1 with cipher ECDHE-RSA-AES256-SHA (256/256 bits)) (No client certificate requested) (Authenticated sender: cjhuang) by smtp.codeaurora.org (Postfix) with ESMTPSA id 10B7EC4338F; Thu, 23 Sep 2021 08:34:43 +0000 (UTC) Precedence: bulk X-Mailing-List: regressions@lists.linux.dev List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8; format=flowed Content-Transfer-Encoding: 8bit Date: Thu, 23 Sep 2021 16:34:43 +0800 From: Carl Huang To: Manivannan Sadhasivam Cc: Kalle Valo , Loic Poulain , ath11k@lists.infradead.org, linux-arm-msm , linux-wireless@vger.kernel.org, regressions@lists.linux.dev Subject: Re: [regression] mhi: ath11k resume fails on some devices In-Reply-To: <20210916171927.GB9027@thinkpad> References: <871r5p0x2u.fsf@codeaurora.org> <20210916111218.GA12918@thinkpad> <20210916163529.GA9027@thinkpad> <87k0jgxyjp.fsf@codeaurora.org> <20210916171927.GB9027@thinkpad> Message-ID: X-Sender: cjhuang@codeaurora.org User-Agent: Roundcube Webmail/1.3.9 On 2021-09-17 01:19, Manivannan Sadhasivam wrote: > On Thu, Sep 16, 2021 at 07:42:02PM +0300, Kalle Valo wrote: >> Manivannan Sadhasivam writes: >> >> > On Thu, Sep 16, 2021 at 01:18:22PM +0200, Loic Poulain wrote: >> >> Le jeu. 16 sept. 2021 à 13:12, Manivannan Sadhasivam < >> >> manivannan.sadhasivam@linaro.org> a écrit : >> >> >> > >> > [...] >> > >> >> > If things seems to work fine without that patch, then it implies that >> >> > setting M0 >> >> > state works during resume. I think we should just revert that patch. >> >> > >> >> > Loic, did that patch fix any issue for you or it was a cosmetic fix only? >> >> >> >> >> >> It fixes sdx modem resuming issue, without that we don’t know modem needs >> >> to be reinitialized. >> >> >> > >> > Okay. Then in that case, the recovery mechanism has to be added to the ath11k >> > MHI controller. >> >> What does that mean in practise, do you have any pointers or examples? >> I >> have no clue what you are proposing :) >> > > Take a look at the mhi_pci_recovery_work() function below: > https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/bus/mhi/pci_generic.c#n610 > > You need to implement something similar that basically powers up the > MHI > endpoint (QCA6390) in case pm_resume() fails. At minimum, you need to > call > below functions: > > # Check if the device is powered on. If yes, then power it down to > bring it back > mhi_power_down() > mhi_unprepare_after_power_down() > > # Power up the device > mhi_prepare_for_power_up() > mhi_sync_power_up() > > This implies that the WLAN device has been powered off during suspend, > so the > resume fails and we are bringing the device back to working state. > This is fine for platform which doesn't provide power supply during suspend. But NUC has power supply in suspend state. QCA6390 on NUC works after just reverting this commit also proves NUC has power supply in suspend state. The reason is MHI-STATUS register can't be read somehow in M3 state on NUC. Does the MHI spec state that MHI-STATUS register can be read in M3 state? >> > If that's too much of work for Kalle, then I'll look into it. But I might get >> > time only after Plumbers. >> >> I'm busy, as always, so not sure when I'm able to do it either. I >> think >> we should seriously consider reverting 020d3b26c07a and adding it back >> after ath11k is able to handle this new situation. >> > > Since Loic said that reverting would cause his modem (SDX device) to > fail during > resume, this is not possible. > > Thanks, > Mani > >> -- >> https://patchwork.kernel.org/project/linux-wireless/list/ >> >> https://wireless.wiki.kernel.org/en/developers/documentation/submittingpatches