[PATCH 02/13] scpi: Add alternative legacy structures and macros

Neil Armstrong
2016-08-23T08:09:26Z

On 08/18/2016 07:16 PM, Sudeep Holla wrote:
>
>
> On 18/08/16 11:10, Neil Armstrong wrote:
>> In order to support the legacy SCPI protocol variant, add back the structures
>> and macros that varies against the final specification.
>>
>> Signed-off-by: Neil Armstrong <narmstrong@baylibre.com>
>> ---
>> I checked against Amlogic implementation documentation and on-device, the channel selection
>> via legacy_scpi_get_chan() is needed and fails without it.
>> The sender_id is not needed so it was dropped.
>>
>> drivers/firmware/arm_scpi.c | 84 +++++++++++++++++++++++++++++++++++++++++++++
>> 1 file changed, 84 insertions(+)
>>
>> diff --git a/drivers/firmware/arm_scpi.c b/drivers/firmware/arm_scpi.c
>> index 403783a..0bb6134 100644
>> --- a/drivers/firmware/arm_scpi.c
>> +++ b/drivers/firmware/arm_scpi.c
>
> [...]
>
>> @@ -183,6 +224,11 @@ struct scpi_shared_mem {
>> u8 payload[0];
>> } __packed;
>>
>> +struct legacy_scpi_shared_mem {
>> + __le32 status;
>> + u8 payload[0];
>> +} __packed;
>> +
>> struct scp_capabilities {
>> __le32 protocol_version;
>> __le32 event_version;
>> @@ -208,6 +254,12 @@ struct clk_set_value {
>> __le32 rate;
>> } __packed;
>>
>> +struct legacy_clk_set_value {
>> + __le32 rate;
>> + __le16 id;
>> + __le16 reserved;
>> +} __packed;
>> +
>> struct dvfs_info {
>> __le32 header;
>> struct {
>> @@ -237,6 +289,10 @@ struct sensor_value {
>> __le32 hi_val;
>> } __packed;
>>
>> +struct legacy_sensor_value {
>> + __le32 val;
>> +} __packed;
>> +
>
> Not required, new one is backward compatible. Otherwise this patch looks
> fine.

Indeed, will use the non-legacy structure.

Thanks,
Neil