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 Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by smtp.lore.kernel.org (Postfix) with ESMTP id B5116C71153 for ; Tue, 29 Aug 2023 14:25:31 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S235377AbjH2OZD (ORCPT ); Tue, 29 Aug 2023 10:25:03 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:42424 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S236807AbjH2OYe (ORCPT ); Tue, 29 Aug 2023 10:24:34 -0400 Received: from smtp-out2.suse.de (smtp-out2.suse.de [195.135.220.29]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 6CAD5CD1 for ; Tue, 29 Aug 2023 07:24:21 -0700 (PDT) Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by smtp-out2.suse.de (Postfix) with ESMTPS id 0D6E51F45B; Tue, 29 Aug 2023 14:24:00 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_rsa; t=1693319040; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4QZU8P2osCmSkpriKLNfy6JUT8TDfICEn6yIWArQYcE=; b=KSwhIA7Pv5RJOf7m5yANWw5DOFd/bzEHaV1PBTJxb4D4mWPYjTPvdlb0iiWUz1iehcb+Cd Ag8D3ZtkNFREBzD+fo45+vaTyj2/T9b0zC1fYjuNwKnjtYhNqt+NN431zUIHId7cu3VoeN cquyBrNhHInma6AlyvVdHjrDwvlCJtI= DKIM-Signature: v=1; a=ed25519-sha256; c=relaxed/relaxed; d=suse.de; s=susede2_ed25519; t=1693319040; h=from:from:reply-to:date:date:message-id:message-id:to:to:cc:cc: mime-version:mime-version:content-type:content-type: in-reply-to:in-reply-to:references:references; bh=4QZU8P2osCmSkpriKLNfy6JUT8TDfICEn6yIWArQYcE=; b=/9k6qvlduoXtcX7AUkAbeshokzOvDIAs8wTFixO+aNELXA4J0n5eAnGmXX6mWdXUOwtkbt 0DhyFmGOQbOHonAg== Received: from imap2.suse-dmz.suse.de (imap2.suse-dmz.suse.de [192.168.254.74]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange X25519 server-signature ECDSA (P-521) server-digest SHA512) (No client certificate requested) by imap2.suse-dmz.suse.de (Postfix) with ESMTPS id CC6C6138E2; Tue, 29 Aug 2023 14:23:59 +0000 (UTC) Received: from dovecot-director2.suse.de ([192.168.254.65]) by imap2.suse-dmz.suse.de with ESMTPSA id iB8VK3//7WSbfAAAMHmgww (envelope-from ); Tue, 29 Aug 2023 14:23:59 +0000 Date: Tue, 29 Aug 2023 16:23:59 +0200 Message-ID: <87h6oisz9c.wl-tiwai@suse.de> From: Takashi Iwai To: Stefan Binding Cc: Jaroslav Kysela , Takashi Iwai , , , , Vitaly Rodionov Subject: Re: [PATCH v1] ALSA: hda: cs35l41: Support mute notifications for CS35L41 HDA In-Reply-To: <32a62c2f-5000-132c-255c-8ccd135ba60f@opensource.cirrus.com> References: <20230825120525.1337417-1-sbinding@opensource.cirrus.com> <87edjr7218.wl-tiwai@suse.de> <32a62c2f-5000-132c-255c-8ccd135ba60f@opensource.cirrus.com> User-Agent: Wanderlust/2.15.9 (Almost Unreal) Emacs/27.2 Mule/6.0 MIME-Version: 1.0 (generated by SEMI-EPG 1.14.7 - "Harue") Content-Type: text/plain; charset=US-ASCII Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, 29 Aug 2023 16:18:12 +0200, Stefan Binding wrote: > > > On 25/08/2023 13:13, Takashi Iwai wrote: > > On Fri, 25 Aug 2023 14:05:25 +0200, > > Stefan Binding wrote: > >> From: Vitaly Rodionov > >> > >> Some laptops require a hardware based mute system, where when a hotkey > >> is pressed, it forces the amp to be muted. > >> > >> For CS35L41, when the hotkey is pressed, an acpi notification is sent > >> to the CS35L41 Device Node. The driver needs to handle this notification > >> and call a _DSM function to retrieve the mute state. > >> > >> Since the amp is only muted during playback, the driver will only mute > >> or unmute if playback is occurring, otherwise it will save the mute > >> state for when playback starts. > >> > >> Only one handler can be registered for the acpi notification, but all > >> amps need to receive that notification, we can register a single handler > >> inside the Realtek HDA driver, so that it can then notify through the > >> component framework. > >> > >> Signed-off-by: Vitaly Rodionov > >> Signed-off-by: Stefan Binding > > We don't do normally in this way. The ACPI hot key handling is done > > via user-space, and user-space daemon triggers the mute of the > > system. > > > > Can't the ACPI notify the key event on those machines? > > This feature is not the "normal" mute button on a keyboard, it is a > custom request > from a manufacturer which only mutes the audio on the speakers. > On previous generations, this was achieved using a GPIO controlled by > the BIOS/EC. > However, since CS35L41 does not have such GPIO, we must control it by > other means. > > Our solution, which we have to share with the Windows driver, it to use ACPI > notifications to tell the driver to mute the amps when the shortcut is > pressed. > > Does this seem like a valid exception to the typical approach? It's still the question whether we have to do this inevitably in the kernel in a way like that. It sounds quite unusual. Why this must be handled directly? IOW, what's the difference from the "normal" mute button? And, even if we take this approach, it leaves the device muted without exposing it to user-space. Then user wouldn't know what happens. thanks, Takashi