History log of /linux-6.15/drivers/soc/apple/rtkit.c (Results 1 – 16 of 16)
Revision (<<< Hide revision tags) (Show revision tags >>>) Date Author Comments
Revision tags: v6.15, v6.15-rc7, v6.15-rc6, v6.15-rc5, v6.15-rc4, v6.15-rc3, v6.15-rc2, v6.15-rc1, v6.14, v6.14-rc7, v6.14-rc6, v6.14-rc5
# e210227f 26-Feb-2025 Janne Grunau <[email protected]>

soc: apple: rtkit: Cut syslog messages after the first '\0'

Certain messages from DCP contain NUL bytes in the random data after the
NUL terminated syslog message. Since the syslog message ends with

soc: apple: rtkit: Cut syslog messages after the first '\0'

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 <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


# 22af2fac 26-Feb-2025 Janne Grunau <[email protected]>

soc: apple: rtkit: Use high prio work queue

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

soc: apple: rtkit: Use high prio work queue

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 <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


# a0639868 26-Feb-2025 Hector Martin <[email protected]>

soc: apple: rtkit: Implement OSLog buffers properly

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
thi

soc: apple: rtkit: Implement OSLog buffers properly

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 <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


# 3e46b6df 26-Feb-2025 Janne Grunau <[email protected]>

soc: apple: rtkit: Add and use PWR_STATE_INIT instead of _ON

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 Gru

soc: apple: rtkit: Add and use PWR_STATE_INIT instead of _ON

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 <[email protected]>
Reviewed-by: Alyssa Rosenzweig <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


Revision tags: v6.14-rc4, v6.14-rc3
# 00834971 12-Feb-2025 Harshit Mogalapalli <[email protected]>

soc: apple: rtkit: Fix use-after-free in apple_rtkit_crashlog_rx()

This code calls kfree(bfr); and then passes "bfr" to rtk->ops->crashed()
which is a use after free. The ->crashed function pointer

soc: apple: rtkit: Fix use-after-free in apple_rtkit_crashlog_rx()

This code calls kfree(bfr); and then passes "bfr" to rtk->ops->crashed()
which is a use after free. The ->crashed function pointer is implemented
by apple_nvme_rtkit_crashed() and it doesn't use the "bfr" pointer so
this doesn't cause a problem. But it still looks sketchy as can be.

Fix this by moving kfree() after the last usage of bfr.

Fixes: bf8b4e49777d ("soc: apple: rtkit: Pass the crashlog to the crashed() callback")
Signed-off-by: Harshit Mogalapalli <[email protected]>
Reviewed-by: Eric Curtin <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


Revision tags: v6.14-rc2, v6.14-rc1
# bf8b4e49 02-Feb-2025 Asahi Lina <[email protected]>

soc: apple: rtkit: Pass the crashlog to the crashed() callback

Client drivers might want a copy of the crashlog to stash into a
devcoredump blob. Since device memory management can be very variable,

soc: apple: rtkit: Pass the crashlog to the crashed() callback

Client drivers might want a copy of the crashlog to stash into a
devcoredump blob. Since device memory management can be very variable,
the actual devcoredump implementation is left to client drivers. Pass
the raw crashlog buffer to the client callback so it can use it if
desired.

Signed-off-by: Asahi Lina <[email protected]>
Reviewed-by: Jens Axboe <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


# ca0272d8 11-Feb-2025 Asahi Lina <[email protected]>

soc: apple: rtkit: Check & log more failures

Check and log the following failures:

* regular messages
* management messages
* failed buffer requests

This helps debugging.

Signed-off-by: Asahi Lin

soc: apple: rtkit: Check & log more failures

Check and log the following failures:

* regular messages
* management messages
* failed buffer requests

This helps debugging.

Signed-off-by: Asahi Lina <[email protected]>
Signed-off-by: Alyssa Rosenzweig <[email protected]>
Reviewed-by: Neal Gompa <[email protected]>
Link: https://lore.kernel.org/r/[email protected]
Signed-off-by: Sven Peter <[email protected]>

show more ...


Revision tags: v6.13, v6.13-rc7, v6.13-rc6, v6.13-rc5, v6.13-rc4, v6.13-rc3, v6.13-rc2, v6.13-rc1, v6.12, v6.12-rc7, v6.12-rc6, v6.12-rc5, v6.12-rc4, v6.12-rc3, v6.12-rc2, v6.12-rc1, v6.11, v6.11-rc7, v6.11-rc6, v6.11-rc5, v6.11-rc4, v6.11-rc3, v6.11-rc2, v6.11-rc1, v6.10, v6.10-rc7, v6.10-rc6, v6.10-rc5, v6.10-rc4, v6.10-rc3, v6.10-rc2, v6.10-rc1, v6.9, v6.9-rc7, v6.9-rc6, v6.9-rc5, v6.9-rc4, v6.9-rc3, v6.9-rc2, v6.9-rc1, v6.8, v6.8-rc7, v6.8-rc6, v6.8-rc5, v6.8-rc4, v6.8-rc3, v6.8-rc2, v6.8-rc1, v6.7, v6.7-rc8, v6.7-rc7, v6.7-rc6, v6.7-rc5, v6.7-rc4, v6.7-rc3, v6.7-rc2, v6.7-rc1, v6.6, v6.6-rc7, v6.6-rc6, v6.6-rc5, v6.6-rc4, v6.6-rc3, v6.6-rc2, v6.6-rc1, v6.5, v6.5-rc7, v6.5-rc6, v6.5-rc5, v6.5-rc4, v6.5-rc3, v6.5-rc2, v6.5-rc1, v6.4, v6.4-rc7, v6.4-rc6, v6.4-rc5, v6.4-rc4, v6.4-rc3, v6.4-rc2, v6.4-rc1, v6.3, v6.3-rc7, v6.3-rc6, v6.3-rc5, v6.3-rc4, v6.3-rc3
# bb538eff 14-Mar-2023 Hector Martin <[email protected]>

soc: apple: rtkit: Port to the internal mailbox driver

Now that we have a mailbox driver in drivers/soc/apple, port the RTKit
code to it. This mostly just entails replacing calls through the mailbox

soc: apple: rtkit: Port to the internal mailbox driver

Now that we have a mailbox driver in drivers/soc/apple, port the RTKit
code to it. This mostly just entails replacing calls through the mailbox
subsystem with direct calls into the driver.

Acked-by: Eric Curtin <[email protected]>
Acked-by: Neal Gompa <[email protected]>
Acked-by: Alyssa Rosenzweig <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


Revision tags: v6.3-rc2, v6.3-rc1, v6.2, v6.2-rc8, v6.2-rc7, v6.2-rc6, v6.2-rc5, v6.2-rc4, v6.2-rc3, v6.2-rc2, v6.2-rc1, v6.1, v6.1-rc8, v6.1-rc7, v6.1-rc6, v6.1-rc5, v6.1-rc4, v6.1-rc3, v6.1-rc2, v6.1-rc1, v6.0, v6.0-rc7, v6.0-rc6, v6.0-rc5, v6.0-rc4, v6.0-rc3, v6.0-rc2, v6.0-rc1, v5.19, v5.19-rc8, v5.19-rc7, v5.19-rc6, v5.19-rc5, v5.19-rc4, v5.19-rc3, v5.19-rc2, v5.19-rc1, v5.18, v5.18-rc7, v5.18-rc6
# 57b79ac9 04-May-2022 Hector Martin <[email protected]>

soc: apple: rtkit: Get rid of apple_rtkit_send_message_wait

It is fundamentally broken and has no users. Just remove it.

Acked-by: Eric Curtin <[email protected]>
Acked-by: Neal Gompa <neal@gompa.

soc: apple: rtkit: Get rid of apple_rtkit_send_message_wait

It is fundamentally broken and has no users. Just remove it.

Acked-by: Eric Curtin <[email protected]>
Acked-by: Neal Gompa <[email protected]>
Acked-by: Alyssa Rosenzweig <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# bdfe6de2 24-Feb-2023 Martin Povišer <[email protected]>

soc: apple: rtkit: Crop syslog messages

Crop trailing whitespace, null, and newline characters in syslog
messages received from coprocessors. Notably DCP sends its messages
including a trailing newl

soc: apple: rtkit: Crop syslog messages

Crop trailing whitespace, null, and newline characters in syslog
messages received from coprocessors. Notably DCP sends its messages
including a trailing newline, so prior to this change we would end up
cluttering the kernel log by repeated newlines at the end of messages.

Signed-off-by: Martin Povišer <[email protected]>
Reviewed-by: Hector Martin <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# 22344488 24-Feb-2023 Asahi Lina <[email protected]>

soc: apple: rtkit: Fix buffer address field width

The buffer address field is missing two bits. This matters for the GPU,
which uses upper-half 64-bit addresses on the ASC and those get sign
extende

soc: apple: rtkit: Fix buffer address field width

The buffer address field is missing two bits. This matters for the GPU,
which uses upper-half 64-bit addresses on the ASC and those get sign
extended from the mailbox message field, so the right number of high
bits need to be set.

Signed-off-by: Asahi Lina <[email protected]>
Reviewed-by: Sven Peter <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# b3892860 21-Jan-2023 Asahi Lina <[email protected]>

soc: apple: rtkit: Export non-devm init/free functions

While we normally encourage devm usage by drivers, some consumers (and
in particular the upcoming Rust abstractions) might want to manually
man

soc: apple: rtkit: Export non-devm init/free functions

While we normally encourage devm usage by drivers, some consumers (and
in particular the upcoming Rust abstractions) might want to manually
manage memory. Export the raw functions to make this possible.

Signed-off-by: Asahi Lina <[email protected]>
Reviewed-by: Sven Peter <[email protected]>
Reviewed-by: Eric Curtin <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# 40eaa8c0 23-Jan-2023 Hector Martin <[email protected]>

soc: apple: rtkit: Add apple_rtkit_idle() function

This is yet another low power mode, used by DCP.

Reviewed-by: Eric Curtin <[email protected]>
Reviewed-by: Sven Peter <[email protected]>
Signed

soc: apple: rtkit: Add apple_rtkit_idle() function

This is yet another low power mode, used by DCP.

Reviewed-by: Eric Curtin <[email protected]>
Reviewed-by: Sven Peter <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# 5acf07ff 04-Nov-2022 Sven Peter <[email protected]>

soc: apple: rtkit: Stop casting function pointer signatures

Fixes: 9bd1d9a0d8bb ("soc: apple: Add RTKit IPC library")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Sven Peter <sven@s

soc: apple: rtkit: Stop casting function pointer signatures

Fixes: 9bd1d9a0d8bb ("soc: apple: Add RTKit IPC library")
Reported-by: kernel test robot <[email protected]>
Signed-off-by: Sven Peter <[email protected]>
Signed-off-by: Hector Martin <[email protected]>

show more ...


# f5a5e833 14-Sep-2022 Hector Martin <[email protected]>

soc: apple: rtkit: Add apple_rtkit_poll

This allows a client to receive messages in atomic context, by polling.

Signed-off-by: Hector Martin <[email protected]>
Signed-off-by: Russell King (Oracle)

soc: apple: rtkit: Add apple_rtkit_poll

This allows a client to receive messages in atomic context, by polling.

Signed-off-by: Hector Martin <[email protected]>
Signed-off-by: Russell King (Oracle) <[email protected]>
Reviewed-by: Sven Peter <[email protected]>
Reviewed-by: Eric Curtin <[email protected]>
Reviewed-by: Linus Walleij <[email protected]>
Signed-off-by: Arnd Bergmann <[email protected]>

show more ...


Revision tags: v5.18-rc5
# 9bd1d9a0 01-May-2022 Sven Peter <[email protected]>

soc: apple: Add RTKit IPC library

Apple SoCs such as the M1 come with multiple embedded co-processors
running proprietary firmware. Communication with those is established
over a simple mailbox usin

soc: apple: Add RTKit IPC library

Apple SoCs such as the M1 come with multiple embedded co-processors
running proprietary firmware. Communication with those is established
over a simple mailbox using the RTKit IPC protocol.

This cannot be implemented inside the mailbox subsystem since on top
of communication over channels we also need support for starting,
hibernating and resetting these co-processors. We also need to
handle shared memory allocations differently depending on the
co-processor and don't want to split that across multiple drivers.

Reviewed-by: Arnd Bergmann <[email protected]>
Signed-off-by: Sven Peter <[email protected]>

show more ...