fuchsia.hardware.interconnect

Added: HEAD

PROTOCOLS

Device

Defined in fuchsia.hardware.interconnect/interconnect.fidl

GetNodeGraph

Returns a list of all nodes and edges between those nodes. Edges are directional, so if an interconnect allows bidirectional traffic, it should be listed twice, once for each direction of traffic flow. Edges must only be specified for directly adjacent nodes.

Request

<EMPTY>

Response

NameType
payload Device_GetNodeGraph_Result

GetPathEndpoints

The paths within the interconnect node graph which see bus traffic and need to have constraints applied to by drivers. Each path will have a device node instantiated for it.

Request

<EMPTY>

Response

NameType
payload Device_GetPathEndpoints_Result

SetNodesBandwidth

Request

NameType
nodes vector<NodeBandwidth>

Response

NameType
payload Device_SetNodesBandwidth_Result

Path

Defined in fuchsia.hardware.interconnect/interconnect.fidl

Represents a path from a node in one interconnect to another.

SetBandwidth

Sets the bandwidth interconnect path.

Request

NameType
payload BandwidthRequest

Response

NameType
payload Path_SetBandwidth_Result

STRUCTS

Device_GetNodeGraph_Response

Defined in fuchsia.hardware.interconnect/interconnect.fidl

FieldTypeDescriptionDefault
nodes vector<Node> No default
edges vector<Edge> No default

Device_GetPathEndpoints_Response

Defined in fuchsia.hardware.interconnect/interconnect.fidl

FieldTypeDescriptionDefault
paths vector<PathEndpoints>

Paths need not be between adjacent nodes, but a valid path from source node to destination node must exist in the node graph.

No default

Device_SetNodesBandwidth_Response

Defined in fuchsia.hardware.interconnect/interconnect.fidl

<EMPTY>

Path_SetBandwidth_Response

Defined in fuchsia.hardware.interconnect/interconnect.fidl

<EMPTY>

TABLES

BandwidthRequest

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalFieldTypeDescription
average_bandwidth_bps uint64
peak_bandwidth_bps uint64

Edge

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalFieldTypeDescription
src_node_id uint32

Source where bus traffic may originate.

dst_node_id uint32

Destination where bus traffic may travel to.

weight uint32

An optional weight to apply to the edge. Used for calculating the optimal path from between two nodes. If there are multiple paths from one node to another, the path will be calculated by optimizing for the smallest sum of all edge weights along the path. If not provided, the weight is assumed to be 1.

Node

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalFieldTypeDescription
id uint32

Unique ID that refers to this node in other structs.

name string:64

The name of the node.

interconnect_name string:64

An optional name of the interconnect the node lives on.

initial_avg_bandwidth_bps uint64

Optional average bandwidth value to start with. If not provided, defaults to 0.

initial_peak_bandwidth_bps uint64

Optional peak bandwidth value to start with. If not provided, defaults to 0.

NodeBandwidth

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalFieldTypeDescription
node_id uint32

Unique ID that refers to the node this bandwidth is requested for.

requests vector<BandwidthRequest>:64

Set of requests for all edges to this node.

PathEndpoints

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalFieldTypeDescription
name string:64

Name for the path which is used for binding.

id uint32

Id for the path which is used for binding.

src_node_id uint32

Source where bus traffic may originate.

dst_node_id uint32

Destination where bus traffic may travel to.

UNIONS

Device_GetNodeGraph_Result strict

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalVariantTypeDescription
response Device_GetNodeGraph_Response
framework_err internal

Device_GetPathEndpoints_Result strict

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalVariantTypeDescription
response Device_GetPathEndpoints_Response
framework_err internal

Device_SetNodesBandwidth_Result strict

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalVariantTypeDescription
response Device_SetNodesBandwidth_Response
err zx/Status
framework_err internal

Path_SetBandwidth_Result strict

Defined in fuchsia.hardware.interconnect/interconnect.fidl

OrdinalVariantTypeDescription
response Path_SetBandwidth_Response
err zx/Status
framework_err internal

CONSTANTS

NameValueTypeDescription
EDGES_MAX 64 uint32

The largest allowed number of edges from one node to another.

NAME_MAX_LENGTH 64 uint32

The longest allowed length for an interconnect or node name.

SERVICES

PathService

Defined in fuchsia.hardware.interconnect/interconnect.fidl

NameTypeTransport
path fuchsia.hardware.interconnect/Path Channel

Service

Defined in fuchsia.hardware.interconnect/interconnect.fidl

NameTypeTransport
device fuchsia.hardware.interconnect/Device Channel