Lines Matching full:graph
345 /* ACPI Graph _DSD UUID : "ab02a46b-74c7-45a2-bd68-f7d344ef2153" */
349 /* Coresight ACPI Graph UUID : "3ecbc8b6-1d0e-4fb3-8107-e627f805c6cd" */
402 * acpi_validate_dsd_graph - Make sure the given _DSD graph conforms
403 * to the ACPI _DSD Graph specification.
405 * ACPI Devices Graph property has the following format:
409 * Graph[1],
411 * Graph[N]
414 * And each Graph entry has the following format:
416 * GraphID - Integer, identifying a graph the device belongs to.
418 * this graph. (e.g, see is_acpi_coresight_graph())
419 * NumberOfLinks - Number "N" of connections on this node of the graph.
449 * ToUUID("ab02a46b-74c7-45a2-bd68-f7d344ef2153"), // ACPI Graph UUID
453 * Package() { // Graph[0] Package
455 * // Coresight Graph UUID
464 * } // End of Graph[0] Package
466 * }, // End of ACPI Graph Property
469 static inline bool acpi_validate_dsd_graph(const union acpi_object *graph) in acpi_validate_dsd_graph() argument
474 /* The graph must contain at least the Revision and Number of Graphs */ in acpi_validate_dsd_graph()
475 if (graph->package.count < 2) in acpi_validate_dsd_graph()
478 rev = &graph->package.elements[0]; in acpi_validate_dsd_graph()
479 nr_graphs = &graph->package.elements[1]; in acpi_validate_dsd_graph()
490 /* CoreSight devices are only part of a single Graph */ in acpi_validate_dsd_graph()
494 /* Make sure the ACPI graph package has right number of elements */ in acpi_validate_dsd_graph()
495 if (graph->package.count != (n + 2)) in acpi_validate_dsd_graph()
499 * Each entry must be a graph package with at least 3 members : in acpi_validate_dsd_graph()
503 const union acpi_object *obj = &graph->package.elements[i]; in acpi_validate_dsd_graph()
513 /* acpi_get_dsd_graph - Find the _DSD Graph property for the given device. */
531 * Iterate through all the packages and find the Graph. in acpi_get_dsd_graph()
542 /* Skip the non-Graph _DSD packages */ in acpi_get_dsd_graph()
547 /* Invalid graph format, continue */ in acpi_get_dsd_graph()
548 dev_warn(&adev->dev, "Invalid Graph _DSD property\n"); in acpi_get_dsd_graph()
561 * Graph must have the following fields : in acpi_validate_coresight_graph()
572 * the Graph property matching the CoreSight Graphs.
574 * Returns the pointer to the CoreSight Graph Package when found. Otherwise
580 const union acpi_object *graph_list, *graph; in acpi_get_coresight_graph() local
590 graph = &graph_list->package.elements[i]; in acpi_get_coresight_graph()
591 if (!is_acpi_coresight_graph(graph)) in acpi_get_coresight_graph()
593 if (acpi_validate_coresight_graph(graph)) in acpi_get_coresight_graph()
594 return graph; in acpi_get_coresight_graph()
595 /* Invalid graph format */ in acpi_get_coresight_graph()
603 * acpi_coresight_parse_link - Parse the given Graph connection
607 * CoreSight Graph specification mandates that the direction of the data
676 * acpi_coresight_parse_graph - Parse the _DSD CoreSight graph
684 const union acpi_object *graph; in acpi_coresight_parse_graph() local
688 graph = acpi_get_coresight_graph(adev); in acpi_coresight_parse_graph()
689 if (!graph) in acpi_coresight_parse_graph()
692 nlinks = graph->package.elements[2].integer.value; in acpi_coresight_parse_graph()
707 const union acpi_object *link = &graph->package.elements[3 + i]; in acpi_coresight_parse_graph()