From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from vern.gendns.com (vern.gendns.com [98.142.107.122]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id C2977B652; Wed, 27 Nov 2024 14:56:26 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=98.142.107.122 ARC-Seal:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732719389; cv=none; b=MTkGRRH4iFg6XCPKrFPX2wxMacp/t0W1zOCAF7deVmaAOgLXjvRXFJyCkgBULP7Qy0LVs2epgZLdWjUpZpkl8jUUXxRDPcXPS5oP+AZunrjPTFeJ1padMIctjxrxtPAkPMtyNjpDHFqcsH95njCwkYotH0hQStNijPtXp1pMV7E= ARC-Message-Signature:i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1732719389; c=relaxed/simple; bh=M/NdxOAaNIL6CiYkw4VLeriip1/S8ODkeGJdPDxjnRg=; h=Message-ID:Date:MIME-Version:Subject:To:Cc:References:From: In-Reply-To:Content-Type; b=IIPKiJwbFK5eZbRJi0Jgbkpsf36LBkg7Qrhja6bP3Trqty2gy1/SWrznuoua9bs7d640yU8250ZSHPIRjbma7poosnaGFMkTrPZIPacV+b59WSomiriyHosi178CmtARTyA+hne5D/+C7ZK1K5u2cAL3+rpRE9AONWzzaK1vJas= ARC-Authentication-Results:i=1; smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=lechnology.com; spf=pass smtp.mailfrom=lechnology.com; dkim=pass (2048-bit key) header.d=lechnology.com header.i=@lechnology.com header.b=uSkasu0o; arc=none smtp.client-ip=98.142.107.122 Authentication-Results: smtp.subspace.kernel.org; dmarc=none (p=none dis=none) header.from=lechnology.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=lechnology.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=lechnology.com header.i=@lechnology.com header.b="uSkasu0o" DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lechnology.com; s=default; h=Content-Transfer-Encoding:Content-Type: In-Reply-To:From:References:Cc:To:Subject:MIME-Version:Date:Message-ID:Sender :Reply-To:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Id:List-Help: List-Unsubscribe:List-Subscribe:List-Post:List-Owner:List-Archive; bh=QyQv9q7tFQjUjEckWcdCvz0tj1KbprG9ou3W0/0n1qI=; b=uSkasu0ocZCfQ7ZLj8TxNqJRUM utnAz3HilSLQGZzqPigm13d1rH4p99yVxyn1RDD5Bn5IbCwXlZe7XLF3g9Deeiq2Gw9wMNwkx5Z6l jg3JBCGvnHPGtSWUw8oF7Nj0gj/lgQMrbUCd3PP/RQvQwiC0cF304X7pq67OnmvR1FxSms99ivua5 XwN2teL+gwltNlBdw+/bSPx5GrQiu4ygIizjOHX1+oBETIv+glQKJZg9OAq7ZJOQ6A0GcD2rENrwp hzSsU81SGmYMLz8vV7lTzkDq6kKDK8vKIRRFBkgXH0NpSJkBBBE6tZ+XTXU1ueVok0HBw3fq/tgTh 2IWkKxww==; Received: from ip98-183-112-25.ok.ok.cox.net ([98.183.112.25]:56192 helo=[192.168.0.142]) by vern.gendns.com with esmtpsa (TLS1.2) tls TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256 (Exim 4.96.2) (envelope-from ) id 1tGJBr-0001wg-1x; Wed, 27 Nov 2024 09:36:40 -0500 Message-ID: Date: Wed, 27 Nov 2024 08:36:39 -0600 Precedence: bulk X-Mailing-List: linux-iio@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 User-Agent: Mozilla Thunderbird Subject: Re: [PATCH] counter: add COUNTER_FUNCTION_DISABLE for energy saving To: "Rafael V. Volkmer" , wbg@kernel.org Cc: linux-kernel@vger.kernel.org, linux-iio@vger.kernel.org References: <20241125230220.9994-1-rafael.v.volkmer@gmail.com> Content-Language: en-US From: David Lechner Autocrypt: addr=david@lechnology.com; keydata= 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 In-Reply-To: <20241125230220.9994-1-rafael.v.volkmer@gmail.com> Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit X-AntiAbuse: This header was added to track abuse, please include it with any abuse report X-AntiAbuse: Primary Hostname - vern.gendns.com X-AntiAbuse: Original Domain - vger.kernel.org X-AntiAbuse: Originator/Caller UID/GID - [47 12] / [47 12] X-AntiAbuse: Sender Address Domain - lechnology.com X-Get-Message-Sender-Via: vern.gendns.com: authenticated_id: davidmain+lechnology.com/only user confirmed/virtual account not confirmed X-Authenticated-Sender: vern.gendns.com: davidmain@lechnology.com X-Source: X-Source-Args: X-Source-Dir: On 11/25/24 5:02 PM, Rafael V. Volkmer wrote: > Add `COUNTER_FUNCTION_DISABLE` to the `counter_function` enum in the > counter API. This allows file operations to signal other drivers to > disable hardware resources, reducing energy consumption in > power-sensitive scenarios. > > Previously, tests with Texas Instruments' eQEP modules revealed that > hardware resources remained active unless the driver was removed, > offering no user command to stop the count. This approach exposed the > fragility of these resources. > > To address this, introduce a new enum option in the counter API to > receive commands for disabling the hardware. This ensures the hardware > enters an idle, power-saving state when not in use. How does this work without an additional patch to modify the TI eQEP counter driver to handle this new enum value? For example, I would expect that this enum value would be added to ti_eqep_position_functions and case statements added in ti_eqep_function_read(), ti_eqep_function_write() and ti_eqep_action_read() to handle the new option. > > Signed-off-by: Rafael V. Volkmer > --- > include/uapi/linux/counter.h | 1 + > 1 file changed, 1 insertion(+) > > diff --git a/include/uapi/linux/counter.h b/include/uapi/linux/counter.h > index 008a691c254b..6f9a6ef878cf 100644 > --- a/include/uapi/linux/counter.h > +++ b/include/uapi/linux/counter.h > @@ -145,6 +145,7 @@ enum counter_function { > COUNTER_FUNCTION_QUADRATURE_X2_A, > COUNTER_FUNCTION_QUADRATURE_X2_B, > COUNTER_FUNCTION_QUADRATURE_X4, > + COUNTER_FUNCTION_DISABLE, > }; > > /* Signal values */