From patchwork Wed Feb 26 19:00:03 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: 13993044 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 9EB3AC19776 for ; Wed, 26 Feb 2025 19:09:54 +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=jY3uCIlzRPcqsdFsVDSRckZdY857FgnbST2KmHH/YWw=; b=pgQRbuGbbtEGRYt7Tut9CCpP8i GUIsvDbZL5mXFIkrOi4DLMXuaGCI2YuqWvcI8YTHGYaev9/bsbrtjaeiaGcy7yDevL0WfTXFi77ii QIKlme5JdYyGvP0+RygeIArNk7xImnJbwwMI2NwrSBX2WkIlI++sm8tyBaLfTSsZ2KCVcDQG+Z8QL 8qADAvM/iyh/Z0JHQHan8VDtovfRkQphnRQcCv7H2aL6LFo6lcJihFiHmJC5GRh+QMUV/x7BTCXg6 U6sGNS7rs1EzSioi7q04ItMq/r0ubwwpmoB4i/0NVMlaZ+NGWrh7gB6sztfmCAcWdh33m27Bj4LQN rnDc+YNg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnMmv-000000056J9-1a21; Wed, 26 Feb 2025 19:09:45 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnMdm-000000054cA-0gpa for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 19:00:19 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 341D15C7354; Wed, 26 Feb 2025 18:59:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id B9121C4CEE8; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740596416; bh=VHk6+dPKZF78pRrNidDKIzcA8Vd8WnrEysNDQjAv7p4=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=lmI9ua6Ci+qh1KVirQDshLct2N6hauoIY8BAPYgX4hXNgKUiUAE0ZZcFt8yta7sj7 nZLIhACUs7o9JPplNDjdhxxAOUmYM488AHK70BDi6/bfH5Ma4SDxU0NPsamQHU2FN5 o6SQ20c6Nz0s8HpZ8WgeXDkPyrRqT8+AhnoN8ixAaf7+EmP8oUSH0WZj53H+1rVDU+ 5feQBxYGwkGRtgsF/j+fmcp3Aw8pZlI3k0/52cQpNRrUDzr3by+ive0FZD1sGhYU7W q0eAqBAK3RuohHoc3U61r26G4izkkjvxVuazNrkmcC1yFQzv0voPeht9yRQbaIE/Nv T9geiyNzFauYA== 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 A80F4C19776; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) From: Sven Peter via B4 Relay Date: Wed, 26 Feb 2025 19:00:03 +0000 Subject: [PATCH v2 1/4] soc: apple: rtkit: Add and use PWR_STATE_INIT instead of _ON MIME-Version: 1.0 Message-Id: <20250226-apple-soc-misc-v2-1-c3ec37f9021b@svenpeter.dev> References: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@svenpeter.dev> In-Reply-To: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@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=1269; i=sven@svenpeter.dev; h=from:subject:message-id; bh=7cIMb5W1B1VA4bj9uxkLGyPS9AbrGxHzx345cZFtAjE=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/r+lD1Bh8qjJmd9L3nt8Wfjzf+VE6cxljdMYp51V4h1z vIHkkldHaUsDGIcDLJiiizb99ubPnn4RnDppkvvYeawMoEMYeDiFICJ2P5kZLgmfEC234zvaQHL m+Umc17u7+aRLZvYOX3X/zuc2WEseraMDC8UpRU3M5w+m8wbFMrmMJk5MVT9T/cVw9a5b4/G77j qwgkA 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-20250226_110018_267155_A4C741E2 X-CRM114-Status: GOOD ( 10.45 ) 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 and works for all other co-processors as well. Signed-off-by: Janne Grunau Signed-off-by: Sven Peter Reviewed-by: Alyssa Rosenzweig --- 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 Wed Feb 26 19:00:04 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: 13993045 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 629FEC19776 for ; Wed, 26 Feb 2025 19:11:29 +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=yFgwo0OL15k5ubaMVsq0ZtxWsKkdzpDyHqD65/CI1eE=; b=nzkhwzn+aM/rOHlGPL72DSdlJJ obP78QL6QaegrtW/0MqmOQ94oZPoU/FkAxkbgyfDjRrK472P+C9Ug1xJi2otuQJr2gRCGFVFYpkXW ZEIAeJM5SG2enNa/TXe3MtW3ZarGqgXz+gVn2bQnGct/Y9L5aCoK3fWl1bad4JlZJZMv8CHoyPwwf ka3L+PhRkReDmqtJivm8T1HpSs4Zu5lmu1iTPCzfHTDgs1qTbUOxEdG/rgLWUYB11uyd2o9+YrBOW ZIumtqiJMhAXWRJIIMMlRg7kSV6mUwxX9RZWpmWHfp0SCJef27DeBxS8FFMQ2aK/NWF5/1haIGs7j f43bVrvg==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnMoR-000000056YO-00Fu; Wed, 26 Feb 2025 19:11:19 +0000 Received: from dfw.source.kernel.org ([2604:1380:4641:c500::1]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnMdm-000000054cB-0fnZ for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 19:00:19 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by dfw.source.kernel.org (Postfix) with ESMTP id 3B4815C74B3; Wed, 26 Feb 2025 18:59:38 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id C125FC4CEE7; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740596416; bh=nINU/3SDwU0JVZBUj6U8Wd+8VzL9zMHFjz+4QIcof6s=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=gRpAsykhD6sEODBRbeSnqmkit/o/zOVkOfnp/skKRLyOfoTeyCQLJ+njJtBtg3c00 ooZH/g1kOnJcda97bwyNdbV87Q8tJdmHgTfss4yi7epqxNrrM+0teOAiUKPEFRE6+n sYAhMpBE3vfW2GcXmBRrRWfWy8YaJozj4b7u1clEDEb4iQWspjCD9fXuPY+OPbGHMq A6hLyxSc3jPOw10/us6AhgRInsTh5rREFZ1b93jZQ6Ub4HDZb2Ym6jm3sX4/vTBVRa Mk0tPJWpYnKA1hffSCqGwv84vVTaIhKoHt06l8rxHtzxrE5rzLxx+WMOIMQHUW/7aQ cWr4MTIhQUgYA== 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 B3E21C19F32; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) From: Sven Peter via B4 Relay Date: Wed, 26 Feb 2025 19:00:04 +0000 Subject: [PATCH v2 2/4] soc: apple: rtkit: Implement OSLog buffers properly MIME-Version: 1.0 Message-Id: <20250226-apple-soc-misc-v2-2-c3ec37f9021b@svenpeter.dev> References: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@svenpeter.dev> In-Reply-To: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@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=5366; i=sven@svenpeter.dev; h=from:subject:message-id; bh=VGT73aDgrExisPNdjISnJVkIIHnoelD5MGuM7V0a2R8=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/r+lL1NSmyPFNZOUy2Z/1n4gcCDPeVftTqey/rEvjr8j GmetrZGRykLgxgHg6yYIsv2/famTx6+EVy66dJ7mDmsTCBDGLg4BWAinVIMf2U/JbFu2vK/4zjr x/u/fu9frGzcM3/D0193Ld7IZ1c6PZ3M8IfbRcrjPNOc23syLkQ8O5ls0r48fmbkkvtnfu00KFc SbmcAAA== 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-20250226_110018_314672_16216D1D X-CRM114-Status: GOOD ( 15.83 ) 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 Reviewed-by: Alyssa Rosenzweig --- drivers/soc/apple/rtkit-internal.h | 1 + drivers/soc/apple/rtkit.c | 56 +++++++++++++++++++++++--------------- 2 files changed, 35 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..7e7b4f64ab17 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,21 @@ 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; + /* The different size vs. IOVA shifts look odd but are indeed correct this way */ + 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 +299,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 and needs a shifted IOVA instead of size */ + 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 +511,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 +739,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 +927,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 Wed Feb 26 19:00:05 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: 13993039 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 7F506C021B8 for ; Wed, 26 Feb 2025 19:05:11 +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=0jGSlBB34hRHaPv51krGcYZaEY8Q/KH+7U5Sj4/jSAA=; b=3MNZZm4yY0Zvrb6PKfwnR+gLYi ZpmDaGi/JXHYxWDzswmYIRAdRCw1gmHJN8QlmJqXBSJHfGBocolNjWR4a8IOFS1DuSx+vK0OTdOHS UpI8y6oS7WMDGqIw3qbYE4FWXSpSun8mJcmhyqrTHyYILpa5Bl+kzlntXpIqtfpA//0e9o3Ya3OfI Qhv7/j8JWKUBrBe9fRMhIdLBbh/PJFnPsWLFPFLdxiArMCk0ywPwKwwpGs+98cz3VyfMRwiqU2sN0 j9fGM2iPcA1KHb5FnniaFmME7olZmnBtJdb6vWaE1r5Dq5OzV7S1BmljKBhS+zb20s6ZVEkZX1aAf w9tXS/yA==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnMiO-000000055YH-0oAS; Wed, 26 Feb 2025 19:05:04 +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 1tnMdl-000000054cC-3Fyp for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 19:00:17 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 4889D61518; Wed, 26 Feb 2025 19:00:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id D0313C4CEE9; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740596416; bh=efHDZc+VZMO22pyTz8bbQ9t4hJW8gBFp6rwM21UYaFs=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=EU9j0MnRwNITYvf2vonhEdW+AF/04yg+zg83Laf8oCZOio0b3At/PjT12zGaunr/Z zojBhs71rA9JH1hn4TXzI/vWIKoHZ0Ojaftr36PxqV1JxyY7zfbWB/0M27f5C6yHhW DItVmuXkrOJwPvwyaEyvjXFhLFQu0E8MxngF4++2EznzWdzonwiLu6Ae8UfX5ToSY0 zX3q9N4hmWJiluYsETNGD/ls5zckpYgHdHln+FYGZwsABsxZ92lY+EsDPleHedbrg9 9GJhyKGlXKkIbMlBXbmYFKzJ8im1AJhdoiGAgBhrgfBwVU4nUniuCZivUoVeP1IJX6 eL8xlmxogW0BA== 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 C1CFFC19F2E; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) From: Sven Peter via B4 Relay Date: Wed, 26 Feb 2025 19:00:05 +0000 Subject: [PATCH v2 3/4] soc: apple: rtkit: Use high prio work queue MIME-Version: 1.0 Message-Id: <20250226-apple-soc-misc-v2-3-c3ec37f9021b@svenpeter.dev> References: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@svenpeter.dev> In-Reply-To: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@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=1203; i=sven@svenpeter.dev; h=from:subject:message-id; bh=iv/ffBDDwqiEAfuhFDw9qjf225eWoJ8zsBxA5fDCkeQ=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/r+lL3ym1uNXD12Pz7lKsp732r7wsbyZdIKzy6Lftwfw eaf9uddRykLgxgHg6yYIsv2/famTx6+EVy66dJ7mDmsTCBDGLg4BWAiC7sY/vD822NWt4O9RlY2 wcvXTDr+S7PNTd2k+712/2q0l3nUpjD8FT3rNT9ZiCOGR6NbYEdr/lO/0+uE3L93uGoteFP0XU2 VEwA= 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 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 Reviewed-by: Alyssa Rosenzweig 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 7e7b4f64ab17..4b78463dd5a1 100644 --- a/drivers/soc/apple/rtkit.c +++ b/drivers/soc/apple/rtkit.c @@ -696,7 +696,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 Wed Feb 26 19:00:06 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: 13993043 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 F0E54C021B8 for ; Wed, 26 Feb 2025 19:08:18 +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=VzAqOZsGB06Od+tZizvR/NiVyp5CJBZl2Wknj7QZr1Y=; b=dh6IrxwuqKIauNxt0hhxYjQ0HX aXHFI992A7WV7b95FHFUJ2jrE4LtkjoWVLDnIgcSH1PEySZ/ECIbOD8WnEvf6tH8DvF5eZ5K65CZY mVTRQ5EkS/JFodqZ2WL7uGCkHsM/VSzTAMWIEtHooraJ1MyINAsslxgBxq5xFJUAE/PQVTM150D3V tLT4EJ5BfDyedEREVVglIzIulGL57M6y744/UhT51+cFQLZ0VNiQKaHWY8ciFN8xTzSxbSCczvj9a QvvVQcab1jHCsGaBLbtSfNZpxWV/eZOF3ImxbPNM490c6a2IOW84O1PbqiaL32U5tbYkGkXfnQYer kD2tp0QQ==; Received: from localhost ([::1] helo=bombadil.infradead.org) by bombadil.infradead.org with esmtp (Exim 4.98 #2 (Red Hat Linux)) id 1tnMlP-0000000565A-2NYd; Wed, 26 Feb 2025 19:08:11 +0000 Received: from tor.source.kernel.org ([172.105.4.254]) by bombadil.infradead.org with esmtps (Exim 4.98 #2 (Red Hat Linux)) id 1tnMdl-000000054cD-3hpk for linux-arm-kernel@lists.infradead.org; Wed, 26 Feb 2025 19:00:17 +0000 Received: from smtp.kernel.org (transwarp.subspace.kernel.org [100.75.92.58]) by tor.source.kernel.org (Postfix) with ESMTP id 52F8A6152A; Wed, 26 Feb 2025 19:00:09 +0000 (UTC) Received: by smtp.kernel.org (Postfix) with ESMTPS id DAA9BC4CEEA; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1740596416; bh=+42kuksOlhzcBQPYk3PSr8n66m0DZ2Ays+BbNMN38cY=; h=From:Date:Subject:References:In-Reply-To:To:Cc:Reply-To:From; b=U0Xm6pVmkP2OlUb3J4Cv/yIEuucen0nc8VsYSW5vwJonhMr68Uiwqjo7mB+7ZHvQ9 JrI8zTh8Spu3oNow/c9bIlP51XGoUHzmFv8d47gjq0+QR0U2tf90GmZOP7qFRFA5ch L7bPUaCYHr/6V5NV/pyMcP3cauMbIzwvzsaMOkBjlEqui0/pMHdd1A5QaUF83tgg9C iXGIW+fqc9ifLkGpHQ12yKobijT/oAxatH4sB9gEvJuuSgmKRKendZN6kB5JTKLIwo xo4WVnoNRKl64Uk85ALl9wWkoPjFW9HoeV+oPybyUyCEtLlV1ZOAxGkHD5a+rtQfla 77CH70JYioL+g== 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 D329BC021B8; Wed, 26 Feb 2025 19:00:16 +0000 (UTC) From: Sven Peter via B4 Relay Date: Wed, 26 Feb 2025 19:00:06 +0000 Subject: [PATCH v2 4/4] soc: apple: rtkit: Cut syslog messages after the first '\0' MIME-Version: 1.0 Message-Id: <20250226-apple-soc-misc-v2-4-c3ec37f9021b@svenpeter.dev> References: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@svenpeter.dev> In-Reply-To: <20250226-apple-soc-misc-v2-0-c3ec37f9021b@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=1047; i=sven@svenpeter.dev; h=from:subject:message-id; bh=J8uNhQd4K8sLsyiwKJwYYfLSFRN53J4ELGphw4z4HHQ=; b=owGbwMvMwCHmIlirolUq95LxtFoSQ/r+lH1uAVs+eKaVxVdt0rz+94SbXkKDzbIZyQ1mUcv+a JxaF+DVUcrCIMbBICumyLJ9v73pk4dvBJduuvQeZg4rE8gQBi5OAZiIcR7D//TfGe0xl/Wt21bf Zdi9Lv2qgW5tVm7mim5lq2Lvki4PTkaG6W3nfsh4rJnOdmP2FS2WiU2Ha5LXhUpPLNM+Ntuoy1O FGwA= 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 Reviewed-by: Alyssa Rosenzweig 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 4b78463dd5a1..5fffd0f003dc 100644 --- a/drivers/soc/apple/rtkit.c +++ b/drivers/soc/apple/rtkit.c @@ -477,7 +477,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--;