mailbox: mpfs: account for mbox offsets while sending
authorConor Dooley <conor.dooley@microchip.com>
Wed, 24 Aug 2022 07:08:12 +0000 (08:08 +0100)
committerJassi Brar <jaswinder.singh@linaro.org>
Thu, 6 Oct 2022 02:48:38 +0000 (21:48 -0500)
commit0d1aadfe10ba17ebdeb96abb9638eb0f623f9b55
tree2d5f187c2be5a7d9fc1e1eb47e28b4330e5e0674
parent2e10289d1f304f5082a4dda55a677b72b3bdb581
mailbox: mpfs: account for mbox offsets while sending

The mailbox offset is not only used for receiving messages, but it is
also used by messages sent to the system controller by Linux that have a
payload, such as the "digital signature service". It is also overloaded
by certain other services (reprogramming of the FPGA fabric, see Link:)
to have a meaning other than the offset the system controller should
read from.
When the driver was written, no such services of the latter type were
in use & those of the former used an offset of zero so this has gone
un-noticed.

Link: https://www.microsemi.com/document-portal/doc_download/1245815-polarfire-fpga-and-polarfire-soc-fpga-system-services-user-guide
Fixes: 83d7b1560810 ("mbox: add polarfire soc system controller mailbox")
Signed-off-by: Conor Dooley <conor.dooley@microchip.com>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/mailbox-mpfs.c