Lines Matching full:graph
279 * if the device doesn't have any graph connections in of_get_coresight_platform_data()
325 /* ACPI Graph _DSD UUID : "ab02a46b-74c7-45a2-bd68-f7d344ef2153" */
329 /* Coresight ACPI Graph UUID : "3ecbc8b6-1d0e-4fb3-8107-e627f805c6cd" */
382 * acpi_validate_dsd_graph - Make sure the given _DSD graph conforms
383 * to the ACPI _DSD Graph specification.
385 * ACPI Devices Graph property has the following format:
389 * Graph[1],
391 * Graph[N]
394 * And each Graph entry has the following format:
396 * GraphID - Integer, identifying a graph the device belongs to.
398 * this graph. (e.g, see is_acpi_coresight_graph())
399 * NumberOfLinks - Number "N" of connections on this node of the graph.
429 * ToUUID("ab02a46b-74c7-45a2-bd68-f7d344ef2153"), // ACPI Graph UUID
433 * Package() { // Graph[0] Package
435 * // Coresight Graph UUID
444 * } // End of Graph[0] Package
446 * }, // End of ACPI Graph Property
449 static inline bool acpi_validate_dsd_graph(const union acpi_object *graph) in acpi_validate_dsd_graph() argument
454 /* The graph must contain at least the Revision and Number of Graphs */ in acpi_validate_dsd_graph()
455 if (graph->package.count < 2) in acpi_validate_dsd_graph()
458 rev = &graph->package.elements[0]; in acpi_validate_dsd_graph()
459 nr_graphs = &graph->package.elements[1]; in acpi_validate_dsd_graph()
470 /* CoreSight devices are only part of a single Graph */ in acpi_validate_dsd_graph()
474 /* Make sure the ACPI graph package has right number of elements */ in acpi_validate_dsd_graph()
475 if (graph->package.count != (n + 2)) in acpi_validate_dsd_graph()
479 * Each entry must be a graph package with at least 3 members : in acpi_validate_dsd_graph()
483 const union acpi_object *obj = &graph->package.elements[i]; in acpi_validate_dsd_graph()
493 /* acpi_get_dsd_graph - Find the _DSD Graph property for the given device. */
510 * Iterate through all the packages and find the Graph. in acpi_get_dsd_graph()
521 /* Skip the non-Graph _DSD packages */ in acpi_get_dsd_graph()
526 /* Invalid graph format, continue */ in acpi_get_dsd_graph()
527 dev_warn(&adev->dev, "Invalid Graph _DSD property\n"); in acpi_get_dsd_graph()
540 * Graph must have the following fields : in acpi_validate_coresight_graph()
551 * the Graph property matching the CoreSight Graphs.
553 * Returns the pointer to the CoreSight Graph Package when found. Otherwise
559 const union acpi_object *graph_list, *graph; in acpi_get_coresight_graph() local
569 graph = &graph_list->package.elements[i]; in acpi_get_coresight_graph()
570 if (!is_acpi_coresight_graph(graph)) in acpi_get_coresight_graph()
572 if (acpi_validate_coresight_graph(graph)) in acpi_get_coresight_graph()
573 return graph; in acpi_get_coresight_graph()
574 /* Invalid graph format */ in acpi_get_coresight_graph()
582 * acpi_coresight_parse_link - Parse the given Graph connection
586 * CoreSight Graph specification mandates that the direction of the data
655 * acpi_coresight_parse_graph - Parse the _DSD CoreSight graph
665 const union acpi_object *graph; in acpi_coresight_parse_graph() local
670 graph = acpi_get_coresight_graph(adev, &buf); in acpi_coresight_parse_graph()
672 * There are no graph connections, which is fine for some components. in acpi_coresight_parse_graph()
675 if (!graph) in acpi_coresight_parse_graph()
678 nlinks = graph->package.elements[2].integer.value; in acpi_coresight_parse_graph()
683 const union acpi_object *link = &graph->package.elements[3 + i]; in acpi_coresight_parse_graph()