mirror of
				https://github.com/torvalds/linux.git
				synced 2025-11-04 10:40:15 +02:00 
			
		
		
		
	soundwire: generic_bandwidth_allocation: count the bandwidth of active streams only
sdw_compute_group_params() should only count payload bandwidth of the active streams which is in the ENABLED and DISABLED state in the bus. And add the payload bandwidth of the stream that calls sdw_compute_group_params() in sdw_prepare_stream(). Signed-off-by: Bard Liao <yung-chuan.liao@linux.intel.com> Reviewed-by: Ranjani Sridharan <ranjani.sridharan@linux.intel.com> Reviewed-by: Péter Ujfalusi <peter.ujfalusi@linux.intel.com> Link: https://lore.kernel.org/r/20241218080155.102405-15-yung-chuan.liao@linux.intel.com Signed-off-by: Vinod Koul <vkoul@kernel.org>
This commit is contained in:
		
							parent
							
								
									168cdf9cde
								
							
						
					
					
						commit
						25befdf32a
					
				
					 1 changed files with 13 additions and 0 deletions
				
			
		| 
						 | 
				
			
			@ -188,6 +188,19 @@ static int sdw_compute_group_params(struct sdw_bus *bus,
 | 
			
		|||
	}
 | 
			
		||||
 | 
			
		||||
	list_for_each_entry(m_rt, &bus->m_rt_list, bus_node) {
 | 
			
		||||
		if (m_rt->stream == stream) {
 | 
			
		||||
			/* Only runtime during prepare should be added */
 | 
			
		||||
			if (stream->state != SDW_STREAM_CONFIGURED)
 | 
			
		||||
				continue;
 | 
			
		||||
		} else {
 | 
			
		||||
			/*
 | 
			
		||||
			 * Include runtimes with running (ENABLED state) and paused (DISABLED state)
 | 
			
		||||
			 * streams
 | 
			
		||||
			 */
 | 
			
		||||
			if (m_rt->stream->state != SDW_STREAM_ENABLED &&
 | 
			
		||||
			    m_rt->stream->state != SDW_STREAM_DISABLED)
 | 
			
		||||
				continue;
 | 
			
		||||
		}
 | 
			
		||||
		list_for_each_entry(p_rt, &m_rt->port_list, port_node) {
 | 
			
		||||
			rate = m_rt->stream->params.rate;
 | 
			
		||||
			bps = m_rt->stream->params.bps;
 | 
			
		||||
| 
						 | 
				
			
			
 | 
			
		|||
		Loading…
	
		Reference in a new issue