diff mbox series

[v2,1/4] soc: apple: rtkit: Add and use PWR_STATE_INIT instead of _ON

Message ID 20250226-apple-soc-misc-v2-1-c3ec37f9021b@svenpeter.dev (mailing list archive)
State New
Headers show
Series Miscellaneous Apple RTKit fixes | expand

Commit Message

Sven Peter via B4 Relay Feb. 26, 2025, 7 p.m. UTC
From: Janne Grunau <j@jannau.net>

This state is needed to wake the dcp IOP after m1n1 shut it down
and works for all other co-processors as well.

Signed-off-by: Janne Grunau <j@jannau.net>
Signed-off-by: Sven Peter <sven@svenpeter.dev>
---
 drivers/soc/apple/rtkit.c | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

Comments

Alyssa Rosenzweig Feb. 26, 2025, 7:06 p.m. UTC | #1
Reviewed-by: Alyssa Rosenzweig <alyssa@rosenzweig.io>

Le Wed , Feb 26, 2025 at 07:00:03PM +0000, Sven Peter via B4 Relay a écrit :
> From: Janne Grunau <j@jannau.net>
> 
> This state is needed to wake the dcp IOP after m1n1 shut it down
> and works for all other co-processors as well.
> 
> Signed-off-by: Janne Grunau <j@jannau.net>
> Signed-off-by: Sven Peter <sven@svenpeter.dev>
> ---
>  drivers/soc/apple/rtkit.c | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c
> index 2f5f878bf899..be0d08861168 100644
> --- a/drivers/soc/apple/rtkit.c
> +++ b/drivers/soc/apple/rtkit.c
> @@ -12,6 +12,7 @@ enum {
>  	APPLE_RTKIT_PWR_STATE_IDLE = 0x201, /* sleeping, retain state */
>  	APPLE_RTKIT_PWR_STATE_QUIESCED = 0x10, /* running but no communication */
>  	APPLE_RTKIT_PWR_STATE_ON = 0x20, /* normal operating state */
> +	APPLE_RTKIT_PWR_STATE_INIT = 0x220, /* init after starting the coproc */
>  };
>  
>  enum {
> @@ -898,7 +899,7 @@ int apple_rtkit_wake(struct apple_rtkit *rtk)
>  	 * Use open-coded apple_rtkit_set_iop_power_state since apple_rtkit_boot
>  	 * will wait for the completion anyway.
>  	 */
> -	msg = FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_ON);
> +	msg = FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_INIT);
>  	ret = apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_IOP_PWR_STATE,
>  					  msg);
>  	if (ret)
> 
> -- 
> 2.34.1
> 
>
diff mbox series

Patch

diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c
index 2f5f878bf899..be0d08861168 100644
--- a/drivers/soc/apple/rtkit.c
+++ b/drivers/soc/apple/rtkit.c
@@ -12,6 +12,7 @@  enum {
 	APPLE_RTKIT_PWR_STATE_IDLE = 0x201, /* sleeping, retain state */
 	APPLE_RTKIT_PWR_STATE_QUIESCED = 0x10, /* running but no communication */
 	APPLE_RTKIT_PWR_STATE_ON = 0x20, /* normal operating state */
+	APPLE_RTKIT_PWR_STATE_INIT = 0x220, /* init after starting the coproc */
 };
 
 enum {
@@ -898,7 +899,7 @@  int apple_rtkit_wake(struct apple_rtkit *rtk)
 	 * Use open-coded apple_rtkit_set_iop_power_state since apple_rtkit_boot
 	 * will wait for the completion anyway.
 	 */
-	msg = FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_ON);
+	msg = FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_INIT);
 	ret = apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_IOP_PWR_STATE,
 					  msg);
 	if (ret)