From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-0.8 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 9D499C32771 for ; Wed, 15 Jan 2020 19:40:55 +0000 (UTC) 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 mail.kernel.org (Postfix) with ESMTPS id 2BE672084D for ; Wed, 15 Jan 2020 19:40:55 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=alsa-project.org header.i=@alsa-project.org header.b="uZNfsBOM" DMARC-Filter: OpenDMARC Filter v1.3.2 mail.kernel.org 2BE672084D Authentication-Results: mail.kernel.org; dmarc=none (p=none dis=none) header.from=suse.de Authentication-Results: mail.kernel.org; spf=pass smtp.mailfrom=alsa-devel-bounces@alsa-project.org 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 0929A17AD; Wed, 15 Jan 2020 20:40:03 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa0.perex.cz 0929A17AD DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=alsa-project.org; s=default; t=1579117253; bh=4ocjRxSP/S/Pxm5RknKAjKFcztcLGX5cxFXtGfHWJh8=; h=Date:From:To:In-Reply-To:References:Cc:Subject:List-Id: List-Unsubscribe:List-Archive:List-Post:List-Help:List-Subscribe: From; b=uZNfsBOMPagp1/7MnQLbkTuzXNA37nEqWCiwTtvkDDGnmDuZA5OOvhQlGPYasT/Dl 81lw51urVWx0hQWsn2A3TfT5ZmjqF3CB0M0UEwLs7bCWqf5RmKIOibHsu0VJwLwiq2 P1srwgVo12eR94VPCv5OgzBEXge/RD5yrVRDbqfk= Received: from alsa1.perex.cz (localhost.localdomain [127.0.0.1]) by alsa1.perex.cz (Postfix) with ESMTP id 53D01F801EB; Wed, 15 Jan 2020 20:40:01 +0100 (CET) Received: by alsa1.perex.cz (Postfix, from userid 50401) id EC2E2F801F8; Wed, 15 Jan 2020 20:39:59 +0100 (CET) Received: from mx2.suse.de (mx2.suse.de [195.135.220.15]) (using TLSv1.2 with cipher AECDH-AES256-SHA (256/256 bits)) (No client certificate requested) by alsa1.perex.cz (Postfix) with ESMTPS id A6C1AF800CC for ; Wed, 15 Jan 2020 20:39:54 +0100 (CET) DKIM-Filter: OpenDKIM Filter v2.11.0 alsa1.perex.cz A6C1AF800CC X-Virus-Scanned: by amavisd-new at test-mx.suse.de Received: from relay2.suse.de (unknown [195.135.220.254]) by mx2.suse.de (Postfix) with ESMTP id C3AE5AFB1; Wed, 15 Jan 2020 19:39:53 +0000 (UTC) Date: Wed, 15 Jan 2020 20:39:53 +0100 Message-ID: From: Takashi Iwai To: "Sridharan, Ranjani" In-Reply-To: References: User-Agent: Wanderlust/2.15.9 (Almost Unreal) SEMI/1.14.6 (Maruoka) FLIM/1.14.9 (=?UTF-8?B?R29qxY0=?=) APEL/10.8 Emacs/25.3 (x86_64-suse-linux-gnu) MULE/6.0 (HANACHIRUSATO) MIME-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Cc: "Vehmanen, Kai" , Linux-ALSA , "Uimonen, Jaska" , Pierre-louis Bossart Subject: Re: [alsa-devel] Question about runtime PM for HDA codecs 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: , Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Errors-To: alsa-devel-bounces@alsa-project.org Sender: "Alsa-devel" On Wed, 15 Jan 2020 19:15:40 +0100, Sridharan, Ranjani wrote: > > Hi Takashi, > > Can I please bother you with a question about how to handle the situation > with runtime PM for HDA codec on one of the Intel CML-based platforms with > an ALC285 codec. > Basically, the problem we're facing is that when using the SOF driver, > jack detection doesn't seem to work as intended because the codec gets > suspended right after the headset is plugged in. The codec going to the runtime suspend is actually the right behavior. Even the bus goes down if the codec has AC_PWRST_CLKSTOP and AC_PWRST_EPSS capabilities, the link goes also down. But this means that the irq is still triggered upon the jack detection event even in D3 state. I guess this implementation is missing in SOF DSP side. > After a bit of experimenting, what we found was that calling > snd_hda_set_power_save() with a delay of 0 or something > 0, both help with > fixing the problem. > > But, I have a basic question about this. What is the expectation for > enabling the codec runtime PM? > I see that the legacy driver calls snd_hda_set_power_save() based on the > CONFIG_SND_HDA_POWER_SAVE_DEFAULT value. In the case of SOF, we do not > explicitly set this value so it is 0 by default. Also, when the codec is > registered, the runtime PM for the codec is enabled by default without > checking if the power_save delay is set to 0 or not. And later when the > snd_hda_set_power_save() is called from the legacy HDA driver probe, it > sets the use of auto suspend and the delay to be used based on the config. The runtime setup purely depends on the user's configuration. As default, kernel may set to certain value via Kconfig, and some codecs (e.g. HDMI) prefer the runtime PM enablement as default. Other than that, it's supposed to be set explicitly via sysfs, typically from udev rules. The driver initial code does set up some default value from historical reasons, but basically the setup is done from user-space. > Would it be correct to remove the pm_runtime_enable() call > in snd_hda_codec_register() and let the codec runtime PM enabling be set > with the call to snd_hda_set_power_save() for both the legacy HDA driver > and the SOF driver? The basic problem isn't about how the runtime PM is set. It can be changed at any time, and the driver should work no matter how it is set. thanks, Takashi _______________________________________________ Alsa-devel mailing list Alsa-devel@alsa-project.org https://mailman.alsa-project.org/mailman/listinfo/alsa-devel