Mailbox: Add support for Platform Communication Channel
authorAshwin Chaugule <ashwin.chaugule@linaro.org>
Thu, 13 Nov 2014 00:59:38 +0000 (19:59 -0500)
committerJassi Brar <jaswinder.singh@linaro.org>
Thu, 27 Nov 2014 07:21:09 +0000 (12:51 +0530)
commit86c22f8c9a3b71d42d38bfcd80372de72f573713
treec8e30e35cfd742f46fb8e96a584954e895d4f36b
parent8841a66aaa7c3b1dfeeb4192d05f2ca86df58f00
Mailbox: Add support for Platform Communication Channel

ACPI 5.0+ spec defines a generic mode of communication
between the OS and a platform such as the BMC. This medium
(PCC) is typically used by CPPC (ACPI CPU Performance management),
RAS (ACPI reliability protocol) and MPST (ACPI Memory power
states).

This patch adds PCC support as a Mailbox Controller. As of
ACPI v5.1 there is no provision for clients to lookup mailbox
controllers in a way that Linux expects. e.g. in DT the clients
can list the mailboxes they can associate with in the DT binding
and then provide a unique index to lookup a channel within a mailbox.
Since the ACPI spec doesn't have anything similar, we introduce a
mailbox controller specific API so that when the client calls it,
we know to lookup in the context of a specific controller. This
also helps in keeping a consistent interface across DT and ACPI
for such drivers.

This patch implements basic PCC support using the ACPI v5.1
structures. IRQ mode support will be provided as follow up patches.

Signed-off-by: Ashwin Chaugule <ashwin.chaugule@linaro.org>
Reviewed-by: Mark Brown <broonie@kernel.org>
Reviewed-by: Arnd Bergmann <arnd@arndb.de>
Signed-off-by: Jassi Brar <jaswinder.singh@linaro.org>
drivers/mailbox/Kconfig
drivers/mailbox/Makefile
drivers/mailbox/mailbox.c
drivers/mailbox/mailbox.h [new file with mode: 0644]
drivers/mailbox/pcc.c [new file with mode: 0644]