[PATCH] soundwire: export sdw_compute_slave_ports() function

Mukunda,Vijendar vijendar.mukunda at amd.com
Tue Feb 7 07:14:16 CET 2023


On 02/02/23 04:51, Pierre-Louis Bossart wrote:
>
> On 2/1/23 10:59, Vijendar Mukunda wrote:
>> Export sdw_compute_slave_ports() function to use it in another
>> soundwire manager module.
>> Move sdw_transport_data structure to bus header file to export
>> sdw_compute_slave_ports() function.
>>
>> Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda at amd.com>
>
> If a specific platform has a need to modify parts of the bit allocation
> but can reuse parts of the code, that's fine. The 'generic bandwidth
> allocation' was meant to be a reference, not a one-size-fits-all solution.
>
> Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart at linux.intel.com>
We will use vkoul soundwire git repository as base and will post the
patch.
>> ---
>>  drivers/soundwire/bus.h                          |  9 +++++++++
>>  drivers/soundwire/generic_bandwidth_allocation.c | 12 +++---------
>>  2 files changed, 12 insertions(+), 9 deletions(-)
>>
>> diff --git a/drivers/soundwire/bus.h b/drivers/soundwire/bus.h
>> index 7631ef5e71fb..141b99ac58de 100644
>> --- a/drivers/soundwire/bus.h
>> +++ b/drivers/soundwire/bus.h
>> @@ -144,6 +144,13 @@ struct sdw_master_runtime {
>>  	struct list_head bus_node;
>>  };
>>  
>> +struct sdw_transport_data {
>> +	int hstart;
>> +	int hstop;
>> +	int block_offset;
>> +	int sub_block_offset;
>> +};
>> +
>>  struct sdw_dpn_prop *sdw_get_slave_dpn_prop(struct sdw_slave *slave,
>>  					    enum sdw_data_direction direction,
>>  					    unsigned int port_num);
>> @@ -213,5 +220,7 @@ int sdw_bwrite_no_pm_unlocked(struct sdw_bus *bus, u16 dev_num, u32 addr, u8 val
>>  
>>  void sdw_clear_slave_status(struct sdw_bus *bus, u32 request);
>>  int sdw_slave_modalias(const struct sdw_slave *slave, char *buf, size_t size);
>> +void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
>> +			     struct sdw_transport_data *t_data);
>>  
>>  #endif /* __SDW_BUS_H */
>> diff --git a/drivers/soundwire/generic_bandwidth_allocation.c b/drivers/soundwire/generic_bandwidth_allocation.c
>> index f7c66083a4dd..39543048baa7 100644
>> --- a/drivers/soundwire/generic_bandwidth_allocation.c
>> +++ b/drivers/soundwire/generic_bandwidth_allocation.c
>> @@ -28,15 +28,8 @@ struct sdw_group {
>>  	unsigned int *rates;
>>  };
>>  
>> -struct sdw_transport_data {
>> -	int hstart;
>> -	int hstop;
>> -	int block_offset;
>> -	int sub_block_offset;
>> -};
>> -
>> -static void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
>> -				    struct sdw_transport_data *t_data)
>> +void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
>> +			     struct sdw_transport_data *t_data)
>>  {
>>  	struct sdw_slave_runtime *s_rt = NULL;
>>  	struct sdw_port_runtime *p_rt;
>> @@ -85,6 +78,7 @@ static void sdw_compute_slave_ports(struct sdw_master_runtime *m_rt,
>>  		}
>>  	}
>>  }
>> +EXPORT_SYMBOL(sdw_compute_slave_ports);
>>  
>>  static void sdw_compute_master_ports(struct sdw_master_runtime *m_rt,
>>  				     struct sdw_group_params *params,



More information about the Alsa-devel mailing list