• Ashwin Chaugule's avatar
    Mailbox: Add support for Platform Communication Channel · 86c22f8c
    Ashwin Chaugule authored
    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: 's avatarAshwin Chaugule <ashwin.chaugule@linaro.org>
    Reviewed-by: 's avatarMark Brown <broonie@kernel.org>
    Reviewed-by: 's avatarArnd Bergmann <arnd@arndb.de>
    Signed-off-by: 's avatarJassi Brar <jaswinder.singh@linaro.org>
    86c22f8c