<feed xmlns='http://www.w3.org/2005/Atom'>
<title>kernel/linux.git/drivers/mailbox/sprd-mailbox.c, branch linux-7.1.y</title>
<subtitle>Linux kernel stable tree (mirror)</subtitle>
<id>https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.1.y</id>
<link rel='self' href='https://git.radix-linux.su/kernel/linux.git/atom?h=linux-7.1.y'/>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/'/>
<updated>2026-02-02T00:59:52+00:00</updated>
<entry>
<title>mailbox: sprd: mask interrupts that are not handled</title>
<updated>2026-02-02T00:59:52+00:00</updated>
<author>
<name>Otto Pflüger</name>
<email>otto.pflueger@abscue.de</email>
</author>
<published>2026-01-10T15:43:38+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=75df94d05fc03fd9d861eaf79ce10fbb7a548bd8'/>
<id>urn:sha1:75df94d05fc03fd9d861eaf79ce10fbb7a548bd8</id>
<content type='text'>
To reduce the amount of spurious interrupts, disable the interrupts that
are not handled in this driver.

Signed-off-by: Otto Pflüger &lt;otto.pflueger@abscue.de&gt;
Signed-off-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: add support for mailbox revision 2</title>
<updated>2026-02-02T00:59:49+00:00</updated>
<author>
<name>Otto Pflüger</name>
<email>otto.pflueger@abscue.de</email>
</author>
<published>2026-01-10T15:43:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c6ff944003cf1b7be9ef5c9d868a42114bc6e867'/>
<id>urn:sha1:c6ff944003cf1b7be9ef5c9d868a42114bc6e867</id>
<content type='text'>
Newer Unisoc SoCs such as UMS9230 include a new revision of the mailbox
IP with support for up to 16 channels. Since the new revision has a
similar register layout and many parts have remained unchanged, make the
driver support both revisions.

Signed-off-by: Otto Pflüger &lt;otto.pflueger@abscue.de&gt;
Signed-off-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: clear delivery flag before handling TX done</title>
<updated>2026-02-02T00:59:33+00:00</updated>
<author>
<name>Otto Pflüger</name>
<email>otto.pflueger@abscue.de</email>
</author>
<published>2026-01-10T15:43:36+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=c77661d60d4223bf2ff10d409beb0c3b2021183b'/>
<id>urn:sha1:c77661d60d4223bf2ff10d409beb0c3b2021183b</id>
<content type='text'>
If there are any pending messages in the mailbox queue, they are sent
as soon as a TX done event arrives from the driver. This may trigger a
new delivery interrupt while the previous one is still being handled.
If the delivery status is cleared after this, the interrupt is lost.
To prevent this from happening, clear the delivery status immediately
after checking it and before any new messages are sent.

Signed-off-by: Otto Pflüger &lt;otto.pflueger@abscue.de&gt;
Signed-off-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: Use devm_clk_get_enabled() helpers</title>
<updated>2024-09-23T00:19:17+00:00</updated>
<author>
<name>Huan Yang</name>
<email>link@vivo.com</email>
</author>
<published>2024-08-22T01:59:55+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=0d97651b7577148242571b8692aae4a8b9ee0979'/>
<id>urn:sha1:0d97651b7577148242571b8692aae4a8b9ee0979</id>
<content type='text'>
The devm_clk_get_enabled() helpers:
     - call devm_clk_get()
     - call clk_prepare_enable() and register what is needed in order to
      call clk_disable_unprepare() when needed, as a managed resource.

This simplifies the code and avoids the calls to clk_disable_unprepare().

Due to clk only used in probe, not in suspend\resume, this pointer can
remove from sprd_mbox_priv to save a little memory.

Signed-off-by: Huan Yang &lt;link@vivo.com&gt;
Reviewed-by: Christophe JAILLET &lt;christophe.jaillet@wanadoo.fr&gt;
Reviewed-by: Baolin Wang &lt;baolin.wang@linux.alibaba.com&gt;
Signed-off-by: Jassi Brar &lt;jassisinghbrar@gmail.com&gt;
</content>
</entry>
<entry>
<title>mailbox: Explicitly include correct DT includes</title>
<updated>2023-09-05T15:10:58+00:00</updated>
<author>
<name>Rob Herring</name>
<email>robh@kernel.org</email>
</author>
<published>2023-07-14T17:47:01+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=e9803aac5097ac74186b074d3176318fd10ec98c'/>
<id>urn:sha1:e9803aac5097ac74186b074d3176318fd10ec98c</id>
<content type='text'>
The DT of_device.h and of_platform.h date back to the separate
of_platform_bus_type before it as merged into the regular platform bus.
As part of that merge prepping Arm DT support 13 years ago, they
"temporarily" include each other. They also include platform_device.h
and of.h. As a result, there's a pretty much random mix of those include
files used throughout the tree. In order to detangle these headers and
replace the implicit includes with struct declarations, users need to
explicitly include the correct includes.

Signed-off-by: Rob Herring &lt;robh@kernel.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: Add supplementary inbox support</title>
<updated>2021-04-14T01:07:36+00:00</updated>
<author>
<name>Orson Zhai</name>
<email>orson.zhai@unisoc.com</email>
</author>
<published>2021-03-19T06:15:37+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=6457f4cd7810fdd1bd7d261845898292e632ede8'/>
<id>urn:sha1:6457f4cd7810fdd1bd7d261845898292e632ede8</id>
<content type='text'>
Some sensors connected to Unisoc mailbox will send data very frequently.
This makes channel 0 very busy and the messages from other remote cores
not able to be handled as soon as possible.

It's a trick (un-documented) from Unisoc ASIC designers to resolve this
special requirement that an inbox assigned to one of the remote cores
before was modified to be exposed to host cpu core.

Then from host side, a supplementary inbox is added for transferring mass
but not emergency messages from the remote cores, such as step counting
sensor, with an independent FIFO and interrupt which is as same as channel
0. Meanwihle, inbox part of this channel is still kept for original remote
core to use.

Signed-off-by: Orson Zhai &lt;orson.zhai@unisoc.com&gt;
Reviewed-by: Baolin Wang &lt;baolin.wang7@gmail.com&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: Introduce refcnt when clients requests/free channels</title>
<updated>2021-04-14T01:07:36+00:00</updated>
<author>
<name>Orson Zhai</name>
<email>orson.zhai@unisoc.com</email>
</author>
<published>2021-03-19T06:15:35+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9468ab84032f96496e998cfa173cd1d0ac316bcd'/>
<id>urn:sha1:9468ab84032f96496e998cfa173cd1d0ac316bcd</id>
<content type='text'>
Unisoc mailbox has no way to be enabled/disabled for any single channel.
They can only be set to startup or shutdown as a whole device at same time.

Add a variable to count references to avoid mailbox FIFO being reset
unexpectedly when clients are requesting or freeing channels.

Also add a lock to dismiss possible conflicts from register r/w in
different startup or shutdown threads. And fix the crash problem when early
interrupts come from channel which has not been requested by client yet.

Fixes: ca27fc26cd22 ("mailbox: sprd: Add Spreadtrum mailbox driver")
Signed-off-by: Orson Zhai &lt;orson.zhai@unisoc.com&gt;
Reviewed-by: Baolin Wang &lt;baolin.wang7@gmail.com&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: fix various typos in comments</title>
<updated>2021-04-14T01:07:35+00:00</updated>
<author>
<name>Tom Saeger</name>
<email>tom.saeger@oracle.com</email>
</author>
<published>2021-03-13T02:31:10+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=9d2e8b93236a45f20ae0b71cc507301111cc2f58'/>
<id>urn:sha1:9d2e8b93236a45f20ae0b71cc507301111cc2f58</id>
<content type='text'>
Fix trivial typos in mailbox driver comments.

s/Intergrated/Integrated/
s/extenstion/extension/
s/atleast/at least/
s/commnunication/communication/
s/assgined/assigned/
s/commnunication/communication/
s/recevied/received/
s/succeded/succeeded/
s/implmentation/implementation/
s/definiation/definition/
s/traget/target/
s/wont/won't/

Cc: trivial@kernel.org
Signed-off-by: Tom Saeger &lt;tom.saeger@oracle.com&gt;
Reviewed-by: Randy Dunlap &lt;rdunlap@infradead.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: correct definition of SPRD_OUTBOX_FIFO_FULL</title>
<updated>2021-02-15T05:28:20+00:00</updated>
<author>
<name>Magnum Shan</name>
<email>magnum.shan@unisoc.com</email>
</author>
<published>2021-02-04T08:18:19+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=4450f128c51160bfded6b483eba37d0628d7adb2'/>
<id>urn:sha1:4450f128c51160bfded6b483eba37d0628d7adb2</id>
<content type='text'>
According to the specification, bit[2] represents SPRD_OUTBOX_FIFO_FULL,
not bit[0], so correct it.

Fixes: ca27fc26cd22 ("mailbox: sprd: Add Spreadtrum mailbox driver")
Signed-off-by: Magnum Shan &lt;magnum.shan@unisoc.com&gt;
Signed-off-by: Chunyan Zhang &lt;chunyan.zhang@unisoc.com&gt;
Reviewed-by: Baolin Wang &lt;baolin.wang7@gmail.com&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: sprd: Add Spreadtrum mailbox driver</title>
<updated>2020-05-30T23:05:33+00:00</updated>
<author>
<name>Baolin Wang</name>
<email>baolin.wang@unisoc.com</email>
</author>
<published>2020-05-22T13:31:09+00:00</published>
<link rel='alternate' type='text/html' href='https://git.radix-linux.su/kernel/linux.git/commit/?id=ca27fc26cd2219d964b4fc0efac634ab237b6c8e'/>
<id>urn:sha1:ca27fc26cd2219d964b4fc0efac634ab237b6c8e</id>
<content type='text'>
The Spreadtrum mailbox controller supports 8 channels to communicate
with MCUs, and it contains 2 different parts: inbox and outbox, which
are used to send and receive messages by IRQ mode.

Signed-off-by: Baolin Wang &lt;baolin.wang@unisoc.com&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
</feed>
