From patchwork Sat Feb 22 16:56:46 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter via B4 Relay X-Patchwork-Id: 13986767 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 7B932C021B2 for ; Sat, 22 Feb 2025 16:59:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=ALz//0HBxbKUArJZkDOqSeIZBZtLkafDV6jT13WvafU=; b=ZyBfvLzI6tU+MyGiT6tEY3hcuU xFrfkcHv+WwJkHXQQDq4nF9gxVsmmKhzo5zgIspHIxgu6bvUYwL18LcrKmc0LhDUbQwHVhAHZpgQF dsMt0O8ZHE7q38Wg9tZTSYZ9P9l9V5TcagiUW4hJC/9qnlaZ6n5jyka6pHUOPewKnEridvqgCy9bU dT/+bOXdy9BlnmHlaDHKJBXh3sbvvGt9L4CqwcPLoDryUTbYGQqpRLQ7EPSbrUjTkQB5MS+uTB0fv FpIXPLcHXSutVGGHgSXuq6c3Ond/Cg6r9+1LZuCm2FekplKkg0aBMvDgvP/gnkNocygqyExBc54Zm zU58GZtg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tlsqB-00000008PPr-1sLH; Sat, 22 Feb 2025 16:58:59 +0000 Received: from tor.source.kernel.org ([2600:3c04::f03c:95ff:fe5e:7468]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tlsoi-00000008PFf-2h7c for linux-arm-kernel@lists.infradead.org; Sat, 22 Feb 2025 16:57:28 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 25EEE61120; Sat, 22 Feb 2025 16:57:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 74FEAC4CEE6; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740243447; bh=ikludOBLGJcDCnJlNymHnygt+Sj54F2yzuxmtj0+M9M=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=t8afU9t54Yj9QLzkL6figMynucP3g7eJ/UCCqimCNK1afn4Y48AFxmYVm6YxwWzqn mDqXeUpAA/liAz5pnQmOcYN6jNmgoNVNvXioxrKOFgVKSF6H6jZrcm9pCU+dkMYIgO YpJJOn/KAi4CBW5S/UVrRNydHWvhXzwlaM6NEQ+AMK2VAbYg3OrHmsvbYjhk8p3vOT 2EjCNURx/kjes30fD/d7oF5seVA1IsaQxB+PHQeUkMh18kMEEjdGg8O+0gBtva6IDQ f8f3TGjGPTEvdmbCJJ1lb31dkq65SLAwakWgkmEOuBMAfr67CJo6v5WM5PEcf/DRUn x6vmneEIgV1vg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 5B3BAC021B5; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) From: Sven Peter via B4 Relay Date: Sat, 22 Feb 2025 16:56:46 +0000 Subject: [PATCH 1/4] soc: apple: rtkit: Add APPLE_RTKIT_PWR_STATE_INIT MIME-Version: 1.0 Message-Id: <20250222-apple-soc-misc-v1-1-1a3af494a48a@svenpeter.dev> References: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> In-Reply-To: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> To: Alyssa Rosenzweig , Janne Grunau , Sven Peter Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1222; i=sven@svenpeter.dev; h=from:subject:message-id; bh=Bzvx04lIOmxyPohnaPEhCN5D4RKIiEvPi9Robq/Ze9c=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/ouxo/rVmyVvXBlx/HL/Axro6/Jf2Ssqfr/+Ipx6jHuu KDniVYSHaUsDGIcDLJiiizb99ubPnn4RnDppkvvYeawMoEMYeDiFICJCGxhZHh0ra7t9n/1E1ll 755zRtot3xw8K+ajqgR70srn+008qgUZ/tcXvJuyb+fM1yfjOO95aXLUX8/v25pepLcgoOz4/13 vnRgB X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Janne Grunau This state is needed to wake the dcp IOP after m1n1 shut it down. Signed-off-by: Janne Grunau Signed-off-by: Sven Peter --- 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) From patchwork Sat Feb 22 16:56:47 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter via B4 Relay X-Patchwork-Id: 13986775 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 581AAC021B2 for ; Sat, 22 Feb 2025 17:05:08 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=+Wu0UUcPqlB9jM5KfZwSa4HyJrl2/i+GDvmq1IOn9y4=; b=Yd46GXppzOOHRhI75JrisnaNru VardV94v0ikmSAgvDKHuFAm88YJ4ijh+VUc125GVvRZEkz6T6pwC5lG494nl379D7t0kRSCx22ZvD AS46ycSds/3nOzBU/FJkOoi0aUUUeCGP41fAAYDAfQUhvxqGUAX6vGn9wcdjDAbO65zDrM+Qk5gI/ MTjSFl5dDoDqyrRQwgHyBxW+eeAdQieX0UwgZ3BBRY+DfMBgzP42KTedS2h4Ik1M25cQNz64d7/ar 47YB63eVtZNpol+hvzc3W9aJ+c17B7DNziBmT/sq0143MLyfouegvRQGIDwkV7Y9IWFRVVnfjBKkc dCSWpqWw==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tlsvx-00000008Q9d-1NLp; Sat, 22 Feb 2025 17:04:57 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tlsoi-00000008PFi-3Gsa for linux-arm-kernel@lists.infradead.org; Sat, 22 Feb 2025 16:57:30 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id BC8725C5B74; Sat, 22 Feb 2025 16:56:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 7A01AC4CEE4; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740243447; bh=An5J6IqDp2zWwUNORXgBiUZy9PXB7xSOmI3qj26bEQs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=muvyDUndkBAKBPQHlC5moP1e+2pHsgPnei8eGoUIhaYWbASHiTmkT4AwAzx0Dyghk xzRDaOX2M1bSwndpb/hL+WUJXowO/NGouW5t36AN07YZXaHO0wENbvdoxJGQ6t32zj Bmxe7pNKzKawMcCUXs4RXxo3xYs9AHzsxZ2j+UtRstxiUl7XJQA0hkHoWySzQIq9tI zuZ6jfVYbNSmiYTFQpJDP93pCPdt8EB2PpN6GS2NKkhX3NKxt2ZHLDL9ZiOXu9ZBxJ FIig97FyrugSGg9RVJ+irQOb/WkJhfQW9lSN3xewUtX5y1QOSTavJc67I70827QlZF jtOjsBy77YPgw== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 6A596C021B8; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) From: Sven Peter via B4 Relay Date: Sat, 22 Feb 2025 16:56:47 +0000 Subject: [PATCH 2/4] soc: apple: rtkit: Implement OSLog buffers properly MIME-Version: 1.0 Message-Id: <20250222-apple-soc-misc-v1-2-1a3af494a48a@svenpeter.dev> References: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> In-Reply-To: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> To: Alyssa Rosenzweig , Janne Grunau , Sven Peter Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, Hector Martin X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=5240; i=sven@svenpeter.dev; h=from:subject:message-id; bh=R+qHwP6N7Wo+pbfFcnEksJfkuPHxCovWxSbr4FQ4Ruc=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/ouxs8NTSUv34Q7hytKBahp98uzVDzsaVa4/5D/5xwGd Rn2R1s6SlkYxDgYZMUUWbbvtzd98vCN4NJNl97DzGFlAhnCwMUpABOxCmRkWMv261PWkZlvD+hf /nhMiGNH+cvME28+Lq18kSo49UHhpFsMf8Wu7kmbt5i//W6Z+r1JolqTeYzc1u9nMNdNmfesR7u 6jAkA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250222_085728_926420_B9FDA584 X-CRM114-Status: GOOD ( 13.90 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Hector Martin Apparently nobody can figure out where the old logic came from, but it seems like it has never been actually used on any supported firmware to this day. OSLog buffers were apparently never requested. But starting with 13.3, we actually need this implemented properly for MTP (and later AOP) to work, so let's actually do that. Signed-off-by: Hector Martin Signed-off-by: Sven Peter --- drivers/soc/apple/rtkit-internal.h | 1 + drivers/soc/apple/rtkit.c | 55 +++++++++++++++++++++++--------------- 2 files changed, 34 insertions(+), 22 deletions(-) diff --git a/drivers/soc/apple/rtkit-internal.h b/drivers/soc/apple/rtkit-internal.h index 27c9fa745fd5..b8d5244678f0 100644 --- a/drivers/soc/apple/rtkit-internal.h +++ b/drivers/soc/apple/rtkit-internal.h @@ -44,6 +44,7 @@ struct apple_rtkit { struct apple_rtkit_shmem ioreport_buffer; struct apple_rtkit_shmem crashlog_buffer; + struct apple_rtkit_shmem oslog_buffer; struct apple_rtkit_shmem syslog_buffer; char *syslog_msg_buffer; diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c index be0d08861168..35734ae8c9ce 100644 --- a/drivers/soc/apple/rtkit.c +++ b/drivers/soc/apple/rtkit.c @@ -67,8 +67,9 @@ enum { #define APPLE_RTKIT_SYSLOG_MSG_SIZE GENMASK_ULL(31, 24) #define APPLE_RTKIT_OSLOG_TYPE GENMASK_ULL(63, 56) -#define APPLE_RTKIT_OSLOG_INIT 1 -#define APPLE_RTKIT_OSLOG_ACK 3 +#define APPLE_RTKIT_OSLOG_BUFFER_REQUEST 1 +#define APPLE_RTKIT_OSLOG_SIZE GENMASK_ULL(55, 36) +#define APPLE_RTKIT_OSLOG_IOVA GENMASK_ULL(35, 0) #define APPLE_RTKIT_MIN_SUPPORTED_VERSION 11 #define APPLE_RTKIT_MAX_SUPPORTED_VERSION 12 @@ -259,15 +260,20 @@ static int apple_rtkit_common_rx_get_buffer(struct apple_rtkit *rtk, struct apple_rtkit_shmem *buffer, u8 ep, u64 msg) { - size_t n_4kpages = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_SIZE, msg); u64 reply; int err; + if (ep == APPLE_RTKIT_EP_OSLOG) { + buffer->size = FIELD_GET(APPLE_RTKIT_OSLOG_SIZE, msg); + buffer->iova = FIELD_GET(APPLE_RTKIT_OSLOG_IOVA, msg) << 12; + } else { + buffer->size = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_SIZE, msg) << 12; + buffer->iova = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_IOVA, msg); + } + buffer->buffer = NULL; buffer->iomem = NULL; buffer->is_mapped = false; - buffer->iova = FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_IOVA, msg); - buffer->size = n_4kpages << 12; dev_dbg(rtk->dev, "RTKit: buffer request for 0x%zx bytes at %pad\n", buffer->size, &buffer->iova); @@ -292,11 +298,21 @@ static int apple_rtkit_common_rx_get_buffer(struct apple_rtkit *rtk, } if (!buffer->is_mapped) { - reply = FIELD_PREP(APPLE_RTKIT_SYSLOG_TYPE, - APPLE_RTKIT_BUFFER_REQUEST); - reply |= FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_SIZE, n_4kpages); - reply |= FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_IOVA, - buffer->iova); + /* oslog uses different fields */ + if (ep == APPLE_RTKIT_EP_OSLOG) { + reply = FIELD_PREP(APPLE_RTKIT_OSLOG_TYPE, + APPLE_RTKIT_OSLOG_BUFFER_REQUEST); + reply |= FIELD_PREP(APPLE_RTKIT_OSLOG_SIZE, buffer->size); + reply |= FIELD_PREP(APPLE_RTKIT_OSLOG_IOVA, + buffer->iova >> 12); + } else { + reply = FIELD_PREP(APPLE_RTKIT_SYSLOG_TYPE, + APPLE_RTKIT_BUFFER_REQUEST); + reply |= FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_SIZE, + buffer->size >> 12); + reply |= FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_IOVA, + buffer->iova); + } apple_rtkit_send_message(rtk, ep, reply, NULL, false); } @@ -494,25 +510,18 @@ static void apple_rtkit_syslog_rx(struct apple_rtkit *rtk, u64 msg) } } -static void apple_rtkit_oslog_rx_init(struct apple_rtkit *rtk, u64 msg) -{ - u64 ack; - - dev_dbg(rtk->dev, "RTKit: oslog init: msg: 0x%llx\n", msg); - ack = FIELD_PREP(APPLE_RTKIT_OSLOG_TYPE, APPLE_RTKIT_OSLOG_ACK); - apple_rtkit_send_message(rtk, APPLE_RTKIT_EP_OSLOG, ack, NULL, false); -} - static void apple_rtkit_oslog_rx(struct apple_rtkit *rtk, u64 msg) { u8 type = FIELD_GET(APPLE_RTKIT_OSLOG_TYPE, msg); switch (type) { - case APPLE_RTKIT_OSLOG_INIT: - apple_rtkit_oslog_rx_init(rtk, msg); + case APPLE_RTKIT_OSLOG_BUFFER_REQUEST: + apple_rtkit_common_rx_get_buffer(rtk, &rtk->oslog_buffer, + APPLE_RTKIT_EP_OSLOG, msg); break; default: - dev_warn(rtk->dev, "RTKit: Unknown oslog message: %llx\n", msg); + dev_warn(rtk->dev, "RTKit: Unknown oslog message: %llx\n", + msg); } } @@ -729,6 +738,7 @@ int apple_rtkit_reinit(struct apple_rtkit *rtk) apple_rtkit_free_buffer(rtk, &rtk->ioreport_buffer); apple_rtkit_free_buffer(rtk, &rtk->crashlog_buffer); + apple_rtkit_free_buffer(rtk, &rtk->oslog_buffer); apple_rtkit_free_buffer(rtk, &rtk->syslog_buffer); kfree(rtk->syslog_msg_buffer); @@ -916,6 +926,7 @@ void apple_rtkit_free(struct apple_rtkit *rtk) apple_rtkit_free_buffer(rtk, &rtk->ioreport_buffer); apple_rtkit_free_buffer(rtk, &rtk->crashlog_buffer); + apple_rtkit_free_buffer(rtk, &rtk->oslog_buffer); apple_rtkit_free_buffer(rtk, &rtk->syslog_buffer); kfree(rtk->syslog_msg_buffer); From patchwork Sat Feb 22 16:56:48 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter via B4 Relay X-Patchwork-Id: 13986774 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 6997DC021B2 for ; Sat, 22 Feb 2025 17:03:35 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=2sGKaI2k+KkLl87+2mb0NMkFA8nn7HVnQjKzh39Vowk=; b=D97/etpLyuT52+G/D0errzg+SL HPW26SXt9YfuUpF/mlUeU6d4wKQ4VbPp4tN1fa/0Pbmg82N2+mo4wOEExuu4dTnVh/MhABsCaNYuJ 1vF0uo0heAkCr8Wp18t8ngDrJFYI8Yu6SaE8gX/2JG9+VyXosQRakmuMC4ayePQi7TcI3xB0qi4OE kJILYCmPEuUoez6qX/Rk4/g1Ip2hEUIy+R4f9m4h7YgItfcJwGZgIa+ekm5x4C7ydJtCfYg7dYlXw HN+D3ShC5SxZ9/WeJs2/YWHL2rTvmyeYc1RnsZPlR8clXzFlS/F0jRSP2kl79Wc8dvirlalTBWymF DWYTSf/Q==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tlsuV-00000008Q16-2Eyf; Sat, 22 Feb 2025 17:03:27 +0000 Received: from dfw.source.kernel.org ([139.178.84.217]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tlsoi-00000008PFh-3H1V for linux-arm-kernel@lists.infradead.org; Sat, 22 Feb 2025 16:57:29 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id D33C75C5CEB; Sat, 22 Feb 2025 16:56:48 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 8AD36C4CEE7; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740243447; bh=4E8KhD8x9nt6C1IAI/uulttC6xS9rKz68kPnusPtVyw=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=IR0MwCzvfmIZL8eUiDV1QqMiWvmrCmjjJHl+6/xJmYkMIi6nq9Nf8o1RUQUUPn63/ sgncXMDTM7FbL7g3m6vD+2p+VZJH0Mm6iNft1QWpQTW8go3AAkJbCftw7rnMBh9JQM 2PiJZsoaRsGDN7mPGPn55oNUOrQ0TxTFVOfpFMJ8zdf8BVWTmnQnTRIwmSqHKMULHm RF5xfP0GCkhyOhAj/Sro6R3Mo6U56obAsb4CdbG6EEqiXdV37driDiRvOYGg7w44Ew df25mBlOuFwA4TWTr7RSXpVVWhvtOrEVvW4CE4EpPM1irwILkKR0knFQIb3ZCg9sC1 3OflukA2MQUvA== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 78667C021B9; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) From: Sven Peter via B4 Relay Date: Sat, 22 Feb 2025 16:56:48 +0000 Subject: [PATCH 3/4] soc: apple: rtkit: Use high prio work queue MIME-Version: 1.0 Message-Id: <20250222-apple-soc-misc-v1-3-1a3af494a48a@svenpeter.dev> References: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> In-Reply-To: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> To: Alyssa Rosenzweig , Janne Grunau , Sven Peter Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=1148; i=sven@svenpeter.dev; h=from:subject:message-id; bh=OWy6VUyG9jq3qBr8MjUz+I6ziXX4V7f2D7Wm55EGjV0=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/ouxs93H4hIZT5ne2ZQsWnBzGt3WbYyLkm8nxZQvHJJi 4DX/Au3O0pZGMQ4GGTFFFm277c3ffLwjeDSTZfew8xhZQIZwsDFKQAT4U1k+O/RLcbryXjg/Orw veyqdwO/i2vNv+2wa53plXtfVQ0ObVdg+J+Zu85u58aTu2T9ZL9N+uusLjtTvX2O1EY591X+ItO 5W1gA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter X-CRM114-Version: 20100106-BlameMichelson ( TRE 0.8.0 (BSD) ) MR-646709E3 X-CRM114-CacheID: sfid-20250222_085728_876532_0AD3D9D1 X-CRM114-Status: GOOD ( 10.51 ) X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Janne Grunau rtkit messages as communication with the DCP firmware for framebuffer swaps or input events are time critical so use WQ_HIGHPRI to prevent user space CPU load to increase latency. With kwin_wayland 6's explicit sync mode user space load was able to delay the IOMFB rtkit communication enough to miss vsync for surface swaps. Minimal test scenario is constantly resizing a glxgears Xwayland window. Signed-off-by: Janne Grunau Signed-off-by: Sven Peter --- drivers/soc/apple/rtkit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c index 35734ae8c9ce..b7f4654c3341 100644 --- a/drivers/soc/apple/rtkit.c +++ b/drivers/soc/apple/rtkit.c @@ -695,7 +695,7 @@ struct apple_rtkit *apple_rtkit_init(struct device *dev, void *cookie, rtk->mbox->rx = apple_rtkit_rx; rtk->mbox->cookie = rtk; - rtk->wq = alloc_ordered_workqueue("rtkit-%s", WQ_MEM_RECLAIM, + rtk->wq = alloc_ordered_workqueue("rtkit-%s", WQ_HIGHPRI | WQ_MEM_RECLAIM, dev_name(rtk->dev)); if (!rtk->wq) { ret = -ENOMEM; From patchwork Sat Feb 22 16:56:49 2025 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Sven Peter via B4 Relay X-Patchwork-Id: 13986768 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 bombadil.infradead.org (bombadil.infradead.org [198.137.202.133]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.lore.kernel.org (Postfix) with ESMTPS id 15F6BC021B2 for ; Sat, 22 Feb 2025 17:00:39 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; q=dns/txt; c=relaxed/relaxed; d=lists.infradead.org; s=bombadil.20210309; h=Sender:Reply-To:List-Subscribe: List-Help:List-Post:List-Archive:List-Unsubscribe:List-Id:Cc:To:In-Reply-To: References:Message-Id:Content-Transfer-Encoding:Content-Type:MIME-Version: Subject:Date:From:Content-ID:Content-Description:Resent-Date:Resent-From: Resent-Sender:Resent-To:Resent-Cc:Resent-Message-ID:List-Owner; bh=Il8nAN1aEPjDnqjsyEAViz/RZCAHiRJ6twEAddhGQew=; b=VH8Ats0NI/JPV5skKdi9d3zyKO g9vKUNtTPP6WXx0O2gLANbD7BdszSWN5AN+wjVVwjfPvQVMxtVXOV6SfMZm2OWM7bFJ2rBM/hifc6 T867R8yHvthhwaMdLVh0D4ujmDnVuewLduxuAm+I3Y7f4FHSeQI1NR8Yfnm7s2R0y3S4OPUBzai2G j3kcDrTgd/8kqjQG20pK7X311i1ruckKJtN2ETZO+kRt2oAG8QLMI08Pti3aepl0G/vDsIptbGYfH 9R3kpbwp/nIRqaQMxR4hjVxW60TRtD/XvSWwbWjYhvWluW5x4Qh43A2w0JU2vH521PxfCJMrwcpqI Rsn8m3pQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tlsrd-00000008PcN-0Rle; Sat, 22 Feb 2025 17:00:29 +0000 Received: from tor.source.kernel.org ([2600:3c04::f03c:95ff:fe5e:7468]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tlsoi-00000008PFg-2h3V for linux-arm-kernel@lists.infradead.org; Sat, 22 Feb 2025 16:57:28 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 4B3B061127; Sat, 22 Feb 2025 16:57:24 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id 91C38C4CEE9; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740243447; bh=WbAitZIglxWavPqRqVXLV21zKZHr6h1VYULp51wlyco=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=utTsuwllYtOc/9Tv29GaMqqQ0t8DxhuhkYgfOSM7sbvdMjsIp7wbEOYmaHGl03o3L CVMUhnzg0+0sVaS2NDFvAH7/KaYB1xmhQsQPp2jZAUVKSKX4LGwZ122vAOU7YBMZyB I/JokxYIRWlzKpFNvhwFlBwROMVkj0YefX98L0RN6OOHP9l4nkc5F7WLwmXouH2N+I vESVhcXcL6D1StVXgzVey+SBWBtwmNu4suckBL2l4iOByd3icSzmQpQbRPlZuarEFX D3lPukcQFSNPk9eTsMfy7AXpHlwN/hXL+/zMEryODNz6sWHeCkRG7Wxifo1/3xVr6G eNVa5ykOF9zqg== Received: from aws-us-west-2-korg-lkml-1.web.codeaurora.org (localhost.localdomain [127.0.0.1]) by smtp.lore.kernel.org (Postfix) with ESMTP id 86B0CC021B6; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) From: Sven Peter via B4 Relay Date: Sat, 22 Feb 2025 16:56:49 +0000 Subject: [PATCH 4/4] soc: apple: rtkit: Cut syslog messages after the first '\0' MIME-Version: 1.0 Message-Id: <20250222-apple-soc-misc-v1-4-1a3af494a48a@svenpeter.dev> References: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> In-Reply-To: <20250222-apple-soc-misc-v1-0-1a3af494a48a@svenpeter.dev> To: Alyssa Rosenzweig , Janne Grunau , Sven Peter Cc: asahi@lists.linux.dev, linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org X-Mailer: b4 0.13.0 X-Developer-Signature: v=1; a=openpgp-sha256; l=992; i=sven@svenpeter.dev; h=from:subject:message-id; bh=XmS84SoHATsmW4yIuH/yX1sErrlBc4P71wmt3DfDGeo=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/ouxi+/pm7Ov+GW8XbZ0X35fc+0Wo63t2ifWBm8oPy5x jLvS+p1HaUsDGIcDLJiiizb99ubPnn4RnDppkvvYeawMoEMYeDiFICJlE9iZFhQvnpuRLrzJF3+ 5Ieqeg3y7Jyb+Jd7Ha4yb1jQcCw2IIWRoaNu37tZWSsWV/06lORaflOEcalCfeqTvfdn1/md/LX /NxsA X-Developer-Key: i=sven@svenpeter.dev; a=openpgp; fpr=A1E3E34A2B3C820DBC4955E5993B08092F131F93 X-Endpoint-Received: by B4 Relay for sven@svenpeter.dev/default with auth_id=167 X-Original-From: Sven Peter X-BeenThere: linux-arm-kernel@lists.infradead.org X-Mailman-Version: 2.1.34 Precedence: list List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Reply-To: sven@svenpeter.dev Sender: "linux-arm-kernel" Errors-To: linux-arm-kernel-bounces+linux-arm-kernel=archiver.kernel.org@lists.infradead.org From: Janne Grunau Certain messages from DCP contain NUL bytes in the random data after the NUL terminated syslog message. Since the syslog message ends with '\n' this results in a dev_info() message terminated with two newlines and an empty printed line in the kernel log. Signed-off-by: Janne Grunau Signed-off-by: Sven Peter --- drivers/soc/apple/rtkit.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/soc/apple/rtkit.c b/drivers/soc/apple/rtkit.c index b7f4654c3341..595efce265ce 100644 --- a/drivers/soc/apple/rtkit.c +++ b/drivers/soc/apple/rtkit.c @@ -476,7 +476,7 @@ static void apple_rtkit_syslog_rx_log(struct apple_rtkit *rtk, u64 msg) log_context[sizeof(log_context) - 1] = 0; - msglen = rtk->syslog_msg_size - 1; + msglen = strnlen(rtk->syslog_msg_buffer, rtk->syslog_msg_size - 1); while (msglen > 0 && should_crop_syslog_char(rtk->syslog_msg_buffer[msglen - 1])) msglen--;