<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/soc/apple, branch v6.1.168</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=v6.1.168</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=v6.1.168'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2025-06-04T12:40:10+00:00</updated>
<entry>
<title>soc: apple: rtkit: Implement OSLog buffers properly</title>
<updated>2025-06-04T12:40:10+00:00</updated>
<author>
<name>Hector Martin</name>
<email>marcan@marcan.st</email>
</author>
<published>2025-02-26T19:00:04+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=2d533b62db11da44ef6a6d71c0cdaf51a37c8f6a'/>
<id>urn:sha1:2d533b62db11da44ef6a6d71c0cdaf51a37c8f6a</id>
<content type='text'>
[ Upstream commit a06398687065e0c334dc5fc4d2778b5b87292e43 ]

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 &lt;marcan@marcan.st&gt;
Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Link: https://lore.kernel.org/r/20250226-apple-soc-misc-v2-2-c3ec37f9021b@svenpeter.dev
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: apple: rtkit: Use high prio work queue</title>
<updated>2025-06-04T12:40:10+00:00</updated>
<author>
<name>Janne Grunau</name>
<email>j@jannau.net</email>
</author>
<published>2025-02-26T19:00:05+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8d64b2aa3e6287ebdbd6231e07822af902ddf22a'/>
<id>urn:sha1:8d64b2aa3e6287ebdbd6231e07822af902ddf22a</id>
<content type='text'>
[ Upstream commit 22af2fac88fa5dbc310bfe7d0b66d4de3ac47305 ]

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 &lt;j@jannau.net&gt;
Reviewed-by: Alyssa Rosenzweig &lt;alyssa@rosenzweig.io&gt;
Link: https://lore.kernel.org/r/20250226-apple-soc-misc-v2-3-c3ec37f9021b@svenpeter.dev
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: apple: rtkit: Stop casting function pointer signatures</title>
<updated>2022-12-31T12:31:53+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@svenpeter.dev</email>
</author>
<published>2022-11-04T15:41:53+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=5daa0a727c830cafe70038345182cdf6fc703524'/>
<id>urn:sha1:5daa0a727c830cafe70038345182cdf6fc703524</id>
<content type='text'>
[ Upstream commit 5acf07ff25f0c1c44105e6b8ebf88c55a0a04d2f ]

Fixes: 9bd1d9a0d8bb ("soc: apple: Add RTKit IPC library")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: apple: sart: Stop casting function pointer signatures</title>
<updated>2022-12-31T12:31:53+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@svenpeter.dev</email>
</author>
<published>2022-11-04T15:39:02+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=868d9310c4607b8e1aaeb1981d070bcefb52969c'/>
<id>urn:sha1:868d9310c4607b8e1aaeb1981d070bcefb52969c</id>
<content type='text'>
[ Upstream commit 422d0b860dc223b5dfc6d083697cae258bb5a4a1 ]

Fixes: b170143ae111 ("soc: apple: Add SART driver")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>soc: apple: rtkit: Add apple_rtkit_poll</title>
<updated>2022-09-17T17:53:29+00:00</updated>
<author>
<name>Hector Martin</name>
<email>marcan@marcan.st</email>
</author>
<published>2022-09-14T08:34:31+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=f5a5e83379b537f6252526bb4d285b771f6f0b89'/>
<id>urn:sha1:f5a5e83379b537f6252526bb4d285b771f6f0b89</id>
<content type='text'>
This allows a client to receive messages in atomic context, by polling.

Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
Signed-off-by: Russell King (Oracle) &lt;rmk+kernel@armlinux.org.uk&gt;
Reviewed-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Reviewed-by: Eric Curtin &lt;ecurtin@redhat.com&gt;
Reviewed-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
</content>
</entry>
<entry>
<title>soc: apple: Add SART driver</title>
<updated>2022-05-02T15:24:45+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@svenpeter.dev</email>
</author>
<published>2022-05-01T14:55:08+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=b170143ae1113882731666aec9b9105356f1fc17'/>
<id>urn:sha1:b170143ae1113882731666aec9b9105356f1fc17</id>
<content type='text'>
The NVMe co-processor on the Apple M1 uses a DMA address filter called
SART for some DMA transactions. This adds a simple driver used to
configure the memory regions from which DMA transactions are allowed.

Unlike a real IOMMU, SART does not support any pagetables and can't be
implemented inside the IOMMU subsystem using iommu_ops.

It also can't be implemented using dma_map_ops since not all DMA
transactions of the NVMe controller are filtered by SART.
Instead, most buffers have to be registered using the integrated NVMe
IOMMU and we can't have two separate dma_map_ops implementations for a
single device.

Co-developed-by: Hector Martin &lt;marcan@marcan.st&gt;
Reviewed-by: Arnd Bergmann &lt;arnd@arndb.de&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
</content>
</entry>
<entry>
<title>soc: apple: Add RTKit IPC library</title>
<updated>2022-05-01T14:55:06+00:00</updated>
<author>
<name>Sven Peter</name>
<email>sven@svenpeter.dev</email>
</author>
<published>2022-05-01T14:55:06+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9bd1d9a0d8bb1a549831fd98fcc3105960f7068b'/>
<id>urn:sha1:9bd1d9a0d8bb1a549831fd98fcc3105960f7068b</id>
<content type='text'>
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 &lt;arnd@arndb.de&gt;
Signed-off-by: Sven Peter &lt;sven@svenpeter.dev&gt;
</content>
</entry>
<entry>
<title>soc: apple: apple-pmgr-pwrstate: Do not build as a module</title>
<updated>2021-12-15T11:36:05+00:00</updated>
<author>
<name>Hector Martin</name>
<email>marcan@marcan.st</email>
</author>
<published>2021-12-15T11:27:54+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=8e136c5ea43ae08c5d672deb1c3f494782a4392a'/>
<id>urn:sha1:8e136c5ea43ae08c5d672deb1c3f494782a4392a</id>
<content type='text'>
This doesn't make any sense as a module since it is a critical device,
and it turns out of_phandle_iterator_args was not exported so the module
version doesn't build anyway.

Fixes: 6df9d38f9146 ("soc: apple: Add driver for Apple PMGR power state controls")
Reported-by: kernel test robot &lt;lkp@intel.com&gt;
Reviewed-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
</content>
</entry>
<entry>
<title>soc: apple: apple-pmgr-pwrstate: Add auto-PM min level support</title>
<updated>2021-12-12T01:32:10+00:00</updated>
<author>
<name>Hector Martin</name>
<email>marcan@marcan.st</email>
</author>
<published>2021-12-09T04:45:00+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=cc1fe1e54ba565aaec0006796db65b7c3b1ccd69'/>
<id>urn:sha1:cc1fe1e54ba565aaec0006796db65b7c3b1ccd69</id>
<content type='text'>
This is seemingly required for DCP/DCPEXT, without which they refuse to
boot properly. They need to be set to minimum state 4 (clock gated).

Reviewed-by: Sven Peter &lt;sven@svenpeter.dev&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
</content>
</entry>
<entry>
<title>soc: apple: Add driver for Apple PMGR power state controls</title>
<updated>2021-12-07T04:13:13+00:00</updated>
<author>
<name>Hector Martin</name>
<email>marcan@marcan.st</email>
</author>
<published>2021-11-24T07:34:18+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6df9d38f9146e83b473f0c9e57fb5fdf3fcc93e2'/>
<id>urn:sha1:6df9d38f9146e83b473f0c9e57fb5fdf3fcc93e2</id>
<content type='text'>
Implements genpd and reset providers for downstream devices. Each
instance of the driver binds to a single register and represents a
single SoC power domain.

The driver does not currently implement all features (clockgate-only
state, misc flags), but we declare the respective registers for
documentation purposes. These features will be added as they become
useful for downstream devices.

This also creates the apple/soc tree and Kconfig submenu.

Acked-by: Linus Walleij &lt;linus.walleij@linaro.org&gt;
Signed-off-by: Hector Martin &lt;marcan@marcan.st&gt;
</content>
</entry>
</feed>
