Orange Pi5 kernel

Deprecated Linux kernel 5.10.110 for OrangePi 5/5B/5+ boards

3 Commits   0 Branches   0 Tags
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  1) /* SPDX-License-Identifier: GPL-2.0 */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  2) /*
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  3)  * Interconnect framework internal structs
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  4)  *
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  5)  * Copyright (c) 2019, Linaro Ltd.
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  6)  * Author: Georgi Djakov <georgi.djakov@linaro.org>
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  7)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  8) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300  9) #ifndef __DRIVERS_INTERCONNECT_INTERNAL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 10) #define __DRIVERS_INTERCONNECT_INTERNAL_H
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 11) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 12) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 13)  * struct icc_req - constraints that are attached to each node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 14)  * @req_node: entry in list of requests for the particular @node
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 15)  * @node: the interconnect node to which this constraint applies
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 16)  * @dev: reference to the device that sets the constraints
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 17)  * @enabled: indicates whether the path with this request is enabled
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 18)  * @tag: path tag (optional)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 19)  * @avg_bw: an integer describing the average bandwidth in kBps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 20)  * @peak_bw: an integer describing the peak bandwidth in kBps
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 21)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 22) struct icc_req {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 23) 	struct hlist_node req_node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 24) 	struct icc_node *node;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 25) 	struct device *dev;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 26) 	bool enabled;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 27) 	u32 tag;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 28) 	u32 avg_bw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 29) 	u32 peak_bw;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 30) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 31) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 32) /**
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 33)  * struct icc_path - interconnect path structure
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 34)  * @name: a string name of the path (useful for ftrace)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 35)  * @num_nodes: number of hops (nodes)
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 36)  * @reqs: array of the requests applicable to this path of nodes
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 37)  */
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 38) struct icc_path {
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 39) 	const char *name;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 40) 	size_t num_nodes;
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 41) 	struct icc_req reqs[];
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 42) };
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 43) 
^8f3ce5b39 (kx 2023-10-28 12:00:06 +0300 44) #endif