45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
			
		
		
	
	
			45 lines
		
	
	
		
			1.2 KiB
		
	
	
	
		
			C
		
	
	
	
	
	
| /* SPDX-License-Identifier: GPL-2.0 */
 | |
| /*
 | |
|  * Interconnect framework internal structs
 | |
|  *
 | |
|  * Copyright (c) 2019, Linaro Ltd.
 | |
|  * Author: Georgi Djakov <georgi.djakov@linaro.org>
 | |
|  */
 | |
| 
 | |
| #ifndef __DRIVERS_INTERCONNECT_INTERNAL_H
 | |
| #define __DRIVERS_INTERCONNECT_INTERNAL_H
 | |
| 
 | |
| /**
 | |
|  * struct icc_req - constraints that are attached to each node
 | |
|  * @req_node: entry in list of requests for the particular @node
 | |
|  * @node: the interconnect node to which this constraint applies
 | |
|  * @dev: reference to the device that sets the constraints
 | |
|  * @enabled: indicates whether the path with this request is enabled
 | |
|  * @tag: path tag (optional)
 | |
|  * @avg_bw: an integer describing the average bandwidth in kBps
 | |
|  * @peak_bw: an integer describing the peak bandwidth in kBps
 | |
|  */
 | |
| struct icc_req {
 | |
| 	struct hlist_node req_node;
 | |
| 	struct icc_node *node;
 | |
| 	struct device *dev;
 | |
| 	bool enabled;
 | |
| 	u32 tag;
 | |
| 	u32 avg_bw;
 | |
| 	u32 peak_bw;
 | |
| };
 | |
| 
 | |
| /**
 | |
|  * struct icc_path - interconnect path structure
 | |
|  * @name: a string name of the path (useful for ftrace)
 | |
|  * @num_nodes: number of hops (nodes)
 | |
|  * @reqs: array of the requests applicable to this path of nodes
 | |
|  */
 | |
| struct icc_path {
 | |
| 	const char *name;
 | |
| 	size_t num_nodes;
 | |
| 	struct icc_req reqs[];
 | |
| };
 | |
| 
 | |
| #endif
 |