<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/drivers/spi/spi-rockchip-sfc.c, branch linux-rolling-lts</title>
<subtitle>Hosts the 0x221E linux distro kernel.</subtitle>
<id>https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-lts</id>
<link rel='self' href='https://universe.0xinfinity.dev/distro/kernel/atom?h=linux-rolling-lts'/>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/'/>
<updated>2026-03-19T15:08:15Z</updated>
<entry>
<title>spi: rockchip-sfc: Fix double-free in remove() callback</title>
<updated>2026-03-19T15:08:15Z</updated>
<author>
<name>Felix Gu</name>
<email>ustc.gu@gmail.com</email>
</author>
<published>2026-03-09T18:01:34Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b6051f2bdd4bd3dde85b68558edd3a6843489221'/>
<id>urn:sha1:b6051f2bdd4bd3dde85b68558edd3a6843489221</id>
<content type='text'>
[ Upstream commit 111e2863372c322e836e0c896f6dd9cf4ee08c71 ]

The driver uses devm_spi_register_controller() for registration, which
automatically unregisters the controller via devm cleanup when the
device is removed. The manual call to spi_unregister_controller() in
the remove() callback can lead to a double-free.

And to make sure controller is unregistered before DMA buffer is
unmapped, switch to use spi_register_controller() in probe().

Fixes: 8011709906d0 ("spi: rockchip-sfc: Support pm ops")
Signed-off-by: Felix Gu &lt;ustc.gu@gmail.com&gt;
Link: https://patch.msgid.link/20260310-sfc-v2-1-67fab04b097f@gmail.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
Signed-off-by: Sasha Levin &lt;sashal@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Fix DMA-API usage</title>
<updated>2025-10-06T12:37:12Z</updated>
<author>
<name>Marek Szyprowski</name>
<email>m.szyprowski@samsung.com</email>
</author>
<published>2025-10-03T11:42:39Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=ee795e82e10197c070efd380dc9615c73dffad6c'/>
<id>urn:sha1:ee795e82e10197c070efd380dc9615c73dffad6c</id>
<content type='text'>
Use DMA-API dma_map_single() call for getting the DMA address of the
transfer buffer instead of hacking with virt_to_phys().

This fixes the following DMA-API debug warning:
------------[ cut here ]------------
DMA-API: rockchip-sfc fe300000.spi: device driver tries to sync DMA memory it has not allocated [device address=0x000000000cf70000] [size=288 bytes]
WARNING: kernel/dma/debug.c:1106 at check_sync+0x1d8/0x690, CPU#2: systemd-udevd/151
Modules linked in: ...
Hardware name: Hardkernel ODROID-M1 (DT)
pstate: 604000c9 (nZCv daIF +PAN -UAO -TCO -DIT -SSBS BTYPE=--)
pc : check_sync+0x1d8/0x690
lr : check_sync+0x1d8/0x690
..
Call trace:
 check_sync+0x1d8/0x690 (P)
 debug_dma_sync_single_for_cpu+0x84/0x8c
 __dma_sync_single_for_cpu+0x88/0x234
 rockchip_sfc_exec_mem_op+0x4a0/0x798 [spi_rockchip_sfc]
 spi_mem_exec_op+0x408/0x498
 spi_nor_read_data+0x170/0x184
 spi_nor_read_sfdp+0x74/0xe4
 spi_nor_parse_sfdp+0x120/0x11f0
 spi_nor_sfdp_init_params_deprecated+0x3c/0x8c
 spi_nor_scan+0x690/0xf88
 spi_nor_probe+0xe4/0x304
 spi_mem_probe+0x6c/0xa8
 spi_probe+0x94/0xd4
 really_probe+0xbc/0x298
 ...

Fixes: b69386fcbc60 ("spi: rockchip-sfc: Using normal memory for dma")
Signed-off-by: Marek Szyprowski &lt;m.szyprowski@samsung.com&gt;
Link: https://patch.msgid.link/20251003114239.431114-1-m.szyprowski@samsung.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: Remove redundant pm_runtime_mark_last_busy() calls</title>
<updated>2025-07-04T23:50:32Z</updated>
<author>
<name>Sakari Ailus</name>
<email>sakari.ailus@linux.intel.com</email>
</author>
<published>2025-07-04T07:54:47Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=2fca750160f29015ab1109bb478537a4e415f7cd'/>
<id>urn:sha1:2fca750160f29015ab1109bb478537a4e415f7cd</id>
<content type='text'>
pm_runtime_put_autosuspend(), pm_runtime_put_sync_autosuspend(),
pm_runtime_autosuspend() and pm_request_autosuspend() now include a call
to pm_runtime_mark_last_busy(). Remove the now-reduntant explicit call to
pm_runtime_mark_last_busy().

Signed-off-by: Sakari Ailus &lt;sakari.ailus@linux.intel.com&gt;
Link: https://patch.msgid.link/20250704075447.3221784-1-sakari.ailus@linux.intel.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi-nand/spi-mem DTR support</title>
<updated>2025-01-10T15:01:33Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-01-10T15:01:33Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=89b37e49929653b7c350aac7fb2b96a052533015'/>
<id>urn:sha1:89b37e49929653b7c350aac7fb2b96a052533015</id>
<content type='text'>
Merge series from Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;:

Here is a (big) series supposed to bring DTR support in SPI-NAND.
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Support per spi-mem operation frequency switches</title>
<updated>2025-01-09T20:16:34Z</updated>
<author>
<name>Miquel Raynal</name>
<email>miquel.raynal@bootlin.com</email>
</author>
<published>2024-12-24T17:05:58Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=d3f35dd3ad968256ed1080e3ea2022f947861cff'/>
<id>urn:sha1:d3f35dd3ad968256ed1080e3ea2022f947861cff</id>
<content type='text'>
Every -&gt;exec_op() call correctly configures the spi bus speed to the
maximum allowed frequency for the memory using the constant spi default
parameter. Since we can now have per-operation constraints, let's use
the value that comes from the spi-mem operation structure instead. In
case there is no specific limitation for this operation, the default spi
device value will be given anyway.

The per-operation frequency capability is thus advertised to the spi-mem
core.

Cc: Han Xu &lt;han.xu@nxp.com&gt;
Cc: Haibo Chen &lt;haibo.chen@nxp.com&gt;
Cc: Yogesh Gaur &lt;yogeshgaur.83@gmail.com&gt;
Signed-off-by: Miquel Raynal &lt;miquel.raynal@bootlin.com&gt;
Link: https://patch.msgid.link/20241224-winbond-6-11-rc1-quad-support-v2-13-ad218dbc406f@bootlin.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: Merge up v6.13-rc6</title>
<updated>2025-01-09T11:22:28Z</updated>
<author>
<name>Mark Brown</name>
<email>broonie@kernel.org</email>
</author>
<published>2025-01-09T11:22:28Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=5640fd07b90ed43225704fecfbbda9d402dba1cf'/>
<id>urn:sha1:5640fd07b90ed43225704fecfbbda9d402dba1cf</id>
<content type='text'>
This fixes the i.MX6 and newer Meson platforms in my CI.
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Support sclk_x2 version</title>
<updated>2025-01-06T13:08:55Z</updated>
<author>
<name>Jon Lin</name>
<email>jon.lin@rock-chips.com</email>
</author>
<published>2024-12-19T14:22:16Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=af103eb7d7d881cf6ff7414242bce2d8e394cc32'/>
<id>urn:sha1:af103eb7d7d881cf6ff7414242bce2d8e394cc32</id>
<content type='text'>
SFC after version 8 supports dtr mode, so the IO is the binary output of
the controller clock.

Signed-off-by: Jon Lin &lt;jon.lin@rock-chips.com&gt;
Link: https://patch.msgid.link/20241219142216.2123065-1-jon.lin@rock-chips.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Using normal memory for dma</title>
<updated>2024-12-19T11:15:39Z</updated>
<author>
<name>Jon Lin</name>
<email>jon.lin@rock-chips.com</email>
</author>
<published>2024-12-19T01:05:57Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=b69386fcbc6066fb4885667743ab4d4967d561b8'/>
<id>urn:sha1:b69386fcbc6066fb4885667743ab4d4967d561b8</id>
<content type='text'>
Nornal memory CPU copy with cache invalidate is more efficient
than uncache memory copy.

Signed-off-by: Jon Lin &lt;jon.lin@rock-chips.com&gt;
Link: https://patch.msgid.link/20241219010557.333327-1-jon.lin@rock-chips.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Fix error in remove progress</title>
<updated>2024-12-18T16:02:08Z</updated>
<author>
<name>Jon Lin</name>
<email>jon.lin@rock-chips.com</email>
</author>
<published>2024-12-18T15:47:41Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=7f9a1eed1ad8b274ed9163a02cef891a90427237'/>
<id>urn:sha1:7f9a1eed1ad8b274ed9163a02cef891a90427237</id>
<content type='text'>
Fix error in remove progress:
	[   43.026148] Call trace:
	[   43.026370]  klist_next+0x1c/0x1d4
	[   43.026671]  device_for_each_child+0x48/0xac
	[   43.027049]  spi_unregister_controller+0x30/0x130
	[   43.027469]  rockchip_sfc_remove+0x48/0x80 [spi_rockchip_sfc]

Signed-off-by: Jon Lin &lt;jon.lin@rock-chips.com&gt;
Link: https://patch.msgid.link/20241218154741.901591-1-jon.lin@rock-chips.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
<entry>
<title>spi: rockchip-sfc: Support pm ops</title>
<updated>2024-12-16T22:05:04Z</updated>
<author>
<name>Jon Lin</name>
<email>jon.lin@rock-chips.com</email>
</author>
<published>2024-12-08T13:03:11Z</published>
<link rel='alternate' type='text/html' href='https://universe.0xinfinity.dev/distro/kernel/commit/?id=8011709906d0d6ff1ba9589de5a906bf6e430782'/>
<id>urn:sha1:8011709906d0d6ff1ba9589de5a906bf6e430782</id>
<content type='text'>
Support system_sleep and runtime_pm ops.

Signed-off-by: Jon Lin &lt;jon.lin@rock-chips.com&gt;
Link: https://patch.msgid.link/20241208130311.1324024-1-jon.lin@rock-chips.com
Signed-off-by: Mark Brown &lt;broonie@kernel.org&gt;
</content>
</entry>
</feed>
