<feed xmlns='http://www.w3.org/2005/Atom'>
<title>linux/drivers/mailbox, branch v4.5</title>
<subtitle>Mirror of https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/
</subtitle>
<id>https://git.shady.money/linux/atom?h=v4.5</id>
<link rel='self' href='https://git.shady.money/linux/atom?h=v4.5'/>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/'/>
<updated>2016-02-02T11:17:14Z</updated>
<entry>
<title>mailbox: Fix dependencies for !HAS_IOMEM archs</title>
<updated>2016-02-02T11:17:14Z</updated>
<author>
<name>Richard Weinberger</name>
<email>richard@nod.at</email>
</author>
<published>2016-01-25T22:24:09Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=65d3b04a814679a31fe4d5edd19d89dd5b94fd40'/>
<id>urn:sha1:65d3b04a814679a31fe4d5edd19d89dd5b94fd40</id>
<content type='text'>
Not every arch has io memory.
So, unbreak the build by fixing the dependencies.

Signed-off-by: Richard Weinberger &lt;richard@nod.at&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: pcc: fix channel calculation in get_pcc_channel()</title>
<updated>2016-02-02T11:09:13Z</updated>
<author>
<name>Alexey Klimov</name>
<email>alexey.klimov@arm.com</email>
</author>
<published>2015-12-10T17:28:37Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=e9c8dc8ba96b165ae72daad3b1f27823c3aee628'/>
<id>urn:sha1:e9c8dc8ba96b165ae72daad3b1f27823c3aee628</id>
<content type='text'>
This patch fixes the calculation of pcc_chan for non-zero id.
After the compiler ignores the (unsigned long) cast the
pcc_mbox_channels pointer is type-cast and then the type-cast
offset is added which results in address outside of the range
leading to the kernel crashing.

We might add braces and make it:

pcc_chan = (struct mbox_chan *)
		((unsigned long) pcc_mbox_channels +
		(id * sizeof(*pcc_chan)));

but let's go with array approach here and use id as index.

Tested on Juno board.

Signed-off-by: Alexey Klimov &lt;alexey.klimov@arm.com&gt;
Acked-by: Sudeep Holla &lt;sudeep.holla@arm.com&gt;
Acked-by: Ashwin Chaugule &lt;ashwin.chaugule@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: constify mbox_chan_ops structure</title>
<updated>2015-11-30T15:42:05Z</updated>
<author>
<name>Julia Lawall</name>
<email>Julia.Lawall@lip6.fr</email>
</author>
<published>2015-11-29T12:50:02Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=bfbcfa770b1c316396162f9354872dc00cd572fe'/>
<id>urn:sha1:bfbcfa770b1c316396162f9354872dc00cd572fe</id>
<content type='text'>
This mbox_chan_ops structure is never modified, so declare it as const,
like all the other mbox_chan_ops structures.

Done with the help of Coccinelle.

Signed-off-by: Julia Lawall &lt;Julia.Lawall@lip6.fr&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: mailbox-test: avoid reading iomem twice</title>
<updated>2015-11-04T08:33:04Z</updated>
<author>
<name>Jassi Brar</name>
<email>jaswinder.singh@linaro.org</email>
</author>
<published>2015-11-04T03:27:22Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=cb1ca0b3bb6681310e7fe9d29d6d4c76dd71801d'/>
<id>urn:sha1:cb1ca0b3bb6681310e7fe9d29d6d4c76dd71801d</id>
<content type='text'>
Don't pass mmio region as source to print_hex_dump() and then
again to memcpy_fromio(). Do it once and give print_hex_dump()
the buffer we just read the data in.

Acked-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: Off by one in mbox_test_message_read()</title>
<updated>2015-10-27T15:57:25Z</updated>
<author>
<name>Dan Carpenter</name>
<email>dan.carpenter@oracle.com</email>
</author>
<published>2015-10-22T19:51:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=c3ac54a6f554475b034f87d471417bf0afcf3a42'/>
<id>urn:sha1:c3ac54a6f554475b034f87d471417bf0afcf3a42</id>
<content type='text'>
We need to leave space for the NUL char.

Fixes: 8ea4484d0c2b ('mailbox: Add generic mechanism for testing Mailbox Controllers')
Signed-off-by: Dan Carpenter &lt;dan.carpenter@oracle.com&gt;
</content>
</entry>
<entry>
<title>mailbox/omap: Add ti,mbox-send-noirq quirk to fix AM33xx CPU Idle</title>
<updated>2015-10-23T05:49:27Z</updated>
<author>
<name>Dave Gerlach</name>
<email>d-gerlach@ti.com</email>
</author>
<published>2015-09-23T00:14:52Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8e3c5952144f045a0c81bf674d3f5e1d9aafceb7'/>
<id>urn:sha1:8e3c5952144f045a0c81bf674d3f5e1d9aafceb7</id>
<content type='text'>
The mailbox framework controls the transmission queue and requires
either its controller implementations or clients to run the state
machine for the Tx queue. The OMAP mailbox controller uses a Tx-ready
interrupt as the equivalent of a Tx-done interrupt to run this Tx
queue state-machine.

The WkupM3 processor on AM33xx and AM43xx SoCs is used to offload
certain PM tasks, like doing the necessary operations for Device
PM suspend/resume or for entering lower c-states during cpuidle.

The CPUIdle on AM33xx requires the messages to be sent without
having to trigger the Tx-ready interrupts, as the interrupt
would immediately terminate the CPUIdle operation. Support for
this has been added by introducing a DT quirk, "ti,mbox-send-noirq"
and using it to modify the normal OMAP mailbox controller behavior
on the sub-mailboxes used to communicate with the WkupM3 remote
processor. This also requires the wkup_m3_ipc driver to adjust
its mailbox usage logic to run the Tx state machine.

NOTE:
- AM43xx does not communicate with WkupM3 for CPU Idle, so is
  not affected by this behavior. But, it uses the same IPC driver
  for PM suspend/resume functionality, so requires the quirk as
  well, because of changes to the common wkup_m3_ipc driver.

Signed-off-by: Dave Gerlach &lt;d-gerlach@ti.com&gt;
[s-anna@ti.com: revise logic and update comments/patch description]
Signed-off-by: Suman Anna &lt;s-anna@ti.com&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: mailbox-test: Correctly repair Sparse warnings</title>
<updated>2015-10-23T05:49:21Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2015-10-20T16:11:27Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=a133f8b65d591101e48336050ceb7e2f51026502'/>
<id>urn:sha1:a133f8b65d591101e48336050ceb7e2f51026502</id>
<content type='text'>
Kbuild test robot reported some Sparse warnings to the tune of:

  sparse: incorrect type in argument 6 (different address spaces)
    expected void const *buf
    got void [noderef] &lt;asn:2&gt;*mmio

This was due to passing variables tagged with the Sparse cookie
'__iomem' through into memcpy() and print_hex_dump() without
adequate protection or casting.  These issues were fixed in a
previous patch suppressing the warnings, but the issue is indeed
still present.

This patch fixes the warnings in the correct way, i.e. by using
the purposely authored memcpy_{from,to}io() derivatives in the
memcpy() case and casting the memory address to (void *) and
forcing Sparse to ignore to ignore it in the print_hex_dump()
case [NB: This is also what the memcpy() derivatives do].

Reported-by: Peter Griffin &lt;peter.griffin@linaro.org&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: Fix a couple of trivial static checker issues</title>
<updated>2015-10-17T05:06:56Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2015-10-16T12:32:47Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=6c03663f98b91cdd04fce2c9fb7a2cc5d164eded'/>
<id>urn:sha1:6c03663f98b91cdd04fce2c9fb7a2cc5d164eded</id>
<content type='text'>
This patch deals with a few spelling, white space and type
warnings reported by Intel's Kbuild Test Robot.

Reported-by: kbuild test robot &lt;lkp@intel.com&gt;
Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: Add generic mechanism for testing Mailbox Controllers</title>
<updated>2015-10-17T05:06:56Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2015-10-16T07:21:30Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=8ea4484d0c2bb4e2152261943fa1a3522654b1c7'/>
<id>urn:sha1:8ea4484d0c2bb4e2152261943fa1a3522654b1c7</id>
<content type='text'>
This particular Client implementation uses shared memory in order
to pass messages between Mailbox users; however, it can be easily
hacked to support any type of Controller.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
<entry>
<title>mailbox: Add support for ST's Mailbox IP</title>
<updated>2015-10-17T05:06:56Z</updated>
<author>
<name>Lee Jones</name>
<email>lee.jones@linaro.org</email>
</author>
<published>2015-10-16T07:21:28Z</published>
<link rel='alternate' type='text/html' href='https://git.shady.money/linux/commit/?id=9ef4546cbd7eed2412ec6f1161c2b92362379150'/>
<id>urn:sha1:9ef4546cbd7eed2412ec6f1161c2b92362379150</id>
<content type='text'>
ST's platforms currently support a maximum of 5 Mailboxes, one for
each of the supported co-processors situated on the platform.  Each
Mailbox is divided up into 4 instances which consist of 32 channels.
Messages are passed between the application and co-processors using
shared memory areas.  It is the Client's responsibility to manage
these areas.

Signed-off-by: Lee Jones &lt;lee.jones@linaro.org&gt;
Signed-off-by: Jassi Brar &lt;jaswinder.singh@linaro.org&gt;
</content>
</entry>
</feed>
