From nobody Sun Feb 8 13:16:41 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 DD9A51FF7B0; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; cv=none; b=SYmN+7VJm6zU023wXcatxEjZfPe8zZSb2tb9P1f33husJjF1aJBbCBu18pvkPyCKM737RkAops7LNH5ut/yPkhTP65e7sK2vnpjW63RUeXtCKyml8vicfrGR6dijsWgKhymBpL2/xPFS5hqKpoT35fr9bxg7Yu/ByZviJqt7D/4= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; c=relaxed/simple; bh=ikludOBLGJcDCnJlNymHnygt+Sj54F2yzuxmtj0+M9M=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=lJ1OhzQRI50BCGylL29qFRWBHr5qdM0+psnrctNghr8o01UWNcpBJ6tP1UqP08mGfCfDGwAq0tJNQp9ZdtjeAySsCdCT76euOLaN7KZwyK36PZzUN+pqMXQJ0yAhPP4kHfXx9fgMGRuooOerTIqc+rl8bDuoeTwZhrzQW9Opg3A= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=t8afU9t5; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="t8afU9t5" 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Reply-To: sven@svenpeter.dev 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 =3D 0x201, /* sleeping, retain state */ APPLE_RTKIT_PWR_STATE_QUIESCED =3D 0x10, /* running but no communication = */ APPLE_RTKIT_PWR_STATE_ON =3D 0x20, /* normal operating state */ + APPLE_RTKIT_PWR_STATE_INIT =3D 0x220, /* init after starting the coproc */ }; =20 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 =3D FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_ON); + msg =3D FIELD_PREP(APPLE_RTKIT_MGMT_PWR_STATE, APPLE_RTKIT_PWR_STATE_INIT= ); ret =3D apple_rtkit_management_send(rtk, APPLE_RTKIT_MGMT_SET_IOP_PWR_STA= TE, msg); if (ret) --=20 2.34.1 From nobody Sun Feb 8 13:16:41 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 DD9FF200105; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; cv=none; b=nbB1CjtzHTiWMlVhCIdmKjpUelpjQj/8kLKLPSWoWip6XZ9Iqgy0thk9kIl60eNmZC8ydo7sdovZhgyP7lc6VDuakQ+WD24FW7JWqL2X+3wZFRQZDGZwgijXun4GnLEbQpgROwpTNlzP/LwfdHq26IzgXnLVu1W6Ccju2oRJfsc= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; c=relaxed/simple; bh=An5J6IqDp2zWwUNORXgBiUZy9PXB7xSOmI3qj26bEQs=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RerRrTlPlK5HCv7yLXqt8t6J6intAH3jKixLF0t+ZA2i64LnSCbDBwzCkzZFsqZFhSeG+XZ+WHORkilj4Zx34mFsuvWq9P40BSNio7315Y6FZFR0eJBZtc0BpAPJCYNltTlRJFygWWatOhWvVQoQzw94WJBiuHtmxVzQEFOmbP4= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=muvyDUnd; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="muvyDUnd" 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Reply-To: sven@svenpeter.dev 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-i= nternal.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 { =20 struct apple_rtkit_shmem ioreport_buffer; struct apple_rtkit_shmem crashlog_buffer; + struct apple_rtkit_shmem oslog_buffer; =20 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) =20 #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) =20 #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 ap= ple_rtkit *rtk, struct apple_rtkit_shmem *buffer, u8 ep, u64 msg) { - size_t n_4kpages =3D FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_SIZE, msg); u64 reply; int err; =20 + if (ep =3D=3D APPLE_RTKIT_EP_OSLOG) { + buffer->size =3D FIELD_GET(APPLE_RTKIT_OSLOG_SIZE, msg); + buffer->iova =3D FIELD_GET(APPLE_RTKIT_OSLOG_IOVA, msg) << 12; + } else { + buffer->size =3D FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_SIZE, msg) << 12; + buffer->iova =3D FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_IOVA, msg); + } + buffer->buffer =3D NULL; buffer->iomem =3D NULL; buffer->is_mapped =3D false; - buffer->iova =3D FIELD_GET(APPLE_RTKIT_BUFFER_REQUEST_IOVA, msg); - buffer->size =3D n_4kpages << 12; =20 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 ap= ple_rtkit *rtk, } =20 if (!buffer->is_mapped) { - reply =3D FIELD_PREP(APPLE_RTKIT_SYSLOG_TYPE, - APPLE_RTKIT_BUFFER_REQUEST); - reply |=3D FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_SIZE, n_4kpages); - reply |=3D FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_IOVA, - buffer->iova); + /* oslog uses different fields */ + if (ep =3D=3D APPLE_RTKIT_EP_OSLOG) { + reply =3D FIELD_PREP(APPLE_RTKIT_OSLOG_TYPE, + APPLE_RTKIT_OSLOG_BUFFER_REQUEST); + reply |=3D FIELD_PREP(APPLE_RTKIT_OSLOG_SIZE, buffer->size); + reply |=3D FIELD_PREP(APPLE_RTKIT_OSLOG_IOVA, + buffer->iova >> 12); + } else { + reply =3D FIELD_PREP(APPLE_RTKIT_SYSLOG_TYPE, + APPLE_RTKIT_BUFFER_REQUEST); + reply |=3D FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_SIZE, + buffer->size >> 12); + reply |=3D FIELD_PREP(APPLE_RTKIT_BUFFER_REQUEST_IOVA, + buffer->iova); + } apple_rtkit_send_message(rtk, ep, reply, NULL, false); } =20 @@ -494,25 +510,18 @@ static void apple_rtkit_syslog_rx(struct apple_rtkit = *rtk, u64 msg) } } =20 -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 =3D 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 =3D FIELD_GET(APPLE_RTKIT_OSLOG_TYPE, msg); =20 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); } } =20 @@ -729,6 +738,7 @@ int apple_rtkit_reinit(struct apple_rtkit *rtk) =20 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); =20 kfree(rtk->syslog_msg_buffer); @@ -916,6 +926,7 @@ void apple_rtkit_free(struct apple_rtkit *rtk) =20 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); =20 kfree(rtk->syslog_msg_buffer); --=20 2.34.1 From nobody Sun Feb 8 13:16:41 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 E85792063FF; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; cv=none; b=JHqHaM32336y1qgCMUjbDvMkXsVMMexV5OT3+fhcIBFOBnr/kMELXnwbm2cQ216qroISEpwPKKaHISEjBOgy4BLNMwRwu/K8Wpv+xMx2IVGZrbECjtHz6J0ta3RNIjFfL5glYnStKlX63xeq18gRVx3fIosuV/RmS/Z23JLfsJQ= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243448; c=relaxed/simple; bh=4E8KhD8x9nt6C1IAI/uulttC6xS9rKz68kPnusPtVyw=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=TqjWg7IRKnod05fmuyzUxwK3PmO3IUuv3i/SI6gQfvj7MITr9Omk4OeLPySS9I0SgnUy6REapzpuoTMZepB0/Gl6Ks2VA++HIq5JzA5k08UMBdvsTAA6y+2khAONaRPYSTV3gjcilt7sJMQ8yhvKr93s7BkmgnOJXo8Pd6+UyDE= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=IR0MwCzv; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="IR0MwCzv" 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 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Reply-To: sven@svenpeter.dev 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 Reviewed-by: Alyssa Rosenzweig --- 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 =3D apple_rtkit_rx; rtk->mbox->cookie =3D rtk; =20 - rtk->wq =3D alloc_ordered_workqueue("rtkit-%s", WQ_MEM_RECLAIM, + rtk->wq =3D alloc_ordered_workqueue("rtkit-%s", WQ_HIGHPRI | WQ_MEM_RECLA= IM, dev_name(rtk->dev)); if (!rtk->wq) { ret =3D -ENOMEM; --=20 2.34.1 From nobody Sun Feb 8 13:16:41 2026 Received: from smtp.kernel.org (aws-us-west-2-korg-mail-1.web.codeaurora.org [10.30.226.201]) (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 BF46B1CDA3F; Sat, 22 Feb 2025 16:57:27 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=10.30.226.201 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243447; cv=none; b=SFh3cIhKsugICzQCjrTPb1/prUvNGxlNvSe5t7YfE0XDGuI8VoW3tHg9nXnXKSCNzi3jV4PZhs2lyKEUhQ15C06UsfXnvxLfeDjxWUwJoBCM3JZ2PHXbHwiO6Ap1rIlNXRYTA55qiCrRARQ7heqLpKHOOUxCIED1HhTu3COSu+s= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1740243447; c=relaxed/simple; bh=WbAitZIglxWavPqRqVXLV21zKZHr6h1VYULp51wlyco=; h=From:Date:Subject:MIME-Version:Content-Type:Message-Id:References: In-Reply-To:To:Cc; b=RUSAyyzrYMaGqmCmJ3F1pubIMR0othcX3UUy3rHT4b8huJLa0tnl6c4pd0Jc/YNDLwAEPBGJYniZuyNT9akq5zg/agWZKNdrXJNdgPBotDwOkGMPvvtDO9augHxgaIXPZi3gBPG/OGC5jJFdQOnnOhzDpZA/eOvqkFEuPcdbL44= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b=utTsuwll; arc=none smtp.client-ip=10.30.226.201 Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=kernel.org header.i=@kernel.org header.b="utTsuwll" 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' Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: quoted-printable 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 Reply-To: sven@svenpeter.dev 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 Reviewed-by: Alyssa Rosenzweig --- 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_rtki= t *rtk, u64 msg) =20 log_context[sizeof(log_context) - 1] =3D 0; =20 - msglen =3D rtk->syslog_msg_size - 1; + msglen =3D strnlen(rtk->syslog_msg_buffer, rtk->syslog_msg_size - 1); while (msglen > 0 && should_crop_syslog_char(rtk->syslog_msg_buffer[msglen - 1])) msglen--; --=20 2.34.1