On Tuesday 02 September 2014 16:15:05 Ashwin Chaugule wrote:
The "index" in mbox_request_channel() picks up one set of strings. How should this work with PCC? Should we use the PCC client platform_device->dev->platform_data to store mailbox controller strings?
I didn't think there was more than one PCC provider, why do you even need a string?
For the general case in ACPI, there should be a similar way of looking up mailbox providers to what we have in DT, but if I understand you correctly, the PCC specification does not allow that.
Right. At least not in a way DT does. PCC clients know if something needs to be written/read via PCC mailbox and can identify a PCC subspace. (i.e. Mailbox channel). The PCC mailbox is uniquely identified/defined in the spec.
#define ACPI_ADR_SPACE_PLATFORM_COMM (acpi_adr_space_type) 10
So we could use this ID instead of a string and use that to look up the PCC controller for a PCC client.
I didn't realize this was the case. Does that mean we can treat pcc as a linearly accessible address space the way we do for system memory, pci-config etc?
If that works, we should probably just have a regmap for it rather than expose the mailbox API to client drivers.
Arnd