Re: [PATCH v2] soundwire: SDCA: add helper macro to access controls

From: Vinod Koul
Date: Mon Aug 17 2020 - 08:14:28 EST


On 17-08-20, 04:10, Bard Liao wrote:
> From: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
>
> The upcoming SDCA (SoundWire Device Class Audio) specification defines
> a hiearchical encoding to interface with Class-defined capabilities,

typo hiearchical

> based on which audio function, entity, control and channel being used.

Can you please elaborate on what do these terms refer to?

Also can we have some documentation for this and how Linux is going to
use it..

>
> The specification is not yet accessible to the general public but this
> information is released with explicit permission from the MIPI Board
> to avoid delays with SDCA support on Linux platforms.
>
> Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@xxxxxxxxxxxxxxx>
> Reviewed-by: Rander Wang <rander.wang@xxxxxxxxxxxxxxx>
> Reviewed-by: Guennadi Liakhovetski <guennadi.liakhovetski@xxxxxxxxxxxxxxx>
> Signed-off-by: Bard Liao <yung-chuan.liao@xxxxxxxxxxxxxxx>
> ---
>
> Changelog:
>
> v2:
> - add SDW_SDCA_MBQ_CTL
>
> ---
> include/linux/soundwire/sdw_registers.h | 12 ++++++++++++
> 1 file changed, 12 insertions(+)
>
> diff --git a/include/linux/soundwire/sdw_registers.h b/include/linux/soundwire/sdw_registers.h
> index 5d3c271af7d1..4517c0f65b4f 100644
> --- a/include/linux/soundwire/sdw_registers.h
> +++ b/include/linux/soundwire/sdw_registers.h
> @@ -305,4 +305,16 @@
> #define SDW_CASC_PORT_MASK_INTSTAT3 1
> #define SDW_CASC_PORT_REG_OFFSET_INTSTAT3 2
>
> +/* v1.2 device - SDCA address mapping */
> +#define SDW_SDCA_CTL(fun, ent, ctl, ch) (BIT(30) | \
> + (((fun) & 0x7) << 22) | \
> + (((ent) & 0x40) << 15) | \
> + (((ent) & 0x3f) << 7) | \
> + (((ctl) & 0x30) << 15) | \
> + (((ctl) & 0x0f) << 3) | \
> + (((ch) & 0x38) << 12) | \
> + ((ch) & 0x07))
> +

how about adding an underscore to the arguments here:

#define SDW_SDCA_CTL(_fun, _ent, _ctl, _ch)
and so on..

--
~Vinod