Lines Matching full:sink
28 * struct coresight_node - elements of a path, from source to sink
39 * path can exist from a tracer (associated to a CPU) to a sink.
469 * ETF devices are tricky... They can be a link or a sink, in coresight_disable_path_from()
471 * "activated" it will be configured as a sink, otherwise in coresight_disable_path_from()
521 * ETF devices are tricky... They can be a link or a sink, in coresight_enable_path()
523 * "activated" it will be configured as a sink, otherwise in coresight_enable_path()
535 * Sink is the first component turned on. If we in coresight_enable_path()
536 * failed to enable the sink, there are no components in coresight_enable_path()
584 struct coresight_device *sink; in coresight_find_enabled_sink() local
599 sink = coresight_find_enabled_sink(child_dev); in coresight_find_enabled_sink()
600 if (sink) in coresight_find_enabled_sink()
601 return sink; in coresight_find_enabled_sink()
608 * coresight_get_enabled_sink - returns the first enabled sink using
646 * coresight_get_sink_by_id - returns the sink that matches the id
647 * @id: Id of the sink to match
649 * The name of a sink is unique, whether it is found on the AMBA bus or
651 * a sink.
745 * _coresight_build_path - recursively build a path from a @csdev to a sink.
749 * The tree of Coresight device is traversed until an activated sink is
750 * found. From there the sink is added to the list along with all the
752 * to sink. In that list the source is the first device and the sink the
756 struct coresight_device *sink, in _coresight_build_path() argument
763 /* An activated sink has been found. Enqueue the element */ in _coresight_build_path()
764 if (csdev == sink) in _coresight_build_path()
767 /* Not a sink - recursively explore each port found on this element */ in _coresight_build_path()
773 _coresight_build_path(child_dev, sink, path) == 0) { in _coresight_build_path()
784 * A path from this element to a sink has been found. The elements in _coresight_build_path()
785 * leading to the sink are already enqueued, all that is left to do in _coresight_build_path()
804 struct coresight_device *sink) in coresight_build_path() argument
809 if (!sink) in coresight_build_path()
818 rc = _coresight_build_path(source, sink, path); in coresight_build_path()
851 /* return true if the device is a suitable type for a default sink */
854 /* sink & correct subtype */ in coresight_is_def_sink_type()
863 * coresight_select_best_sink - return the best sink for use as default from
866 * @sink: current best sink.
867 * @depth: search depth where current sink was found.
868 * @new_sink: new sink for comparison with current sink.
869 * @new_depth: search depth where new sink was found.
874 * Where two sinks of equal priority are found, the sink closest to the
877 * return @new_sink & update @depth if better than @sink, else return @sink.
880 coresight_select_best_sink(struct coresight_device *sink, int *depth, in coresight_select_best_sink() argument
885 if (!sink) { in coresight_select_best_sink()
889 sink->subtype.sink_subtype) { in coresight_select_best_sink()
890 /* found better sink */ in coresight_select_best_sink()
893 sink->subtype.sink_subtype) && in coresight_select_best_sink()
895 /* found same but closer sink */ in coresight_select_best_sink()
901 return update ? new_sink : sink; in coresight_select_best_sink()
906 * source to find a suitable default sink.
909 * @depth: [in] search depth of calling dev, [out] depth of found sink.
912 * sink is encountered and return that sink to the original caller.
914 * If current device is a plain sink return that & depth, otherwise recursively
915 * call child connections looking for a sink. Select best possible using
918 * return best sink found, or NULL if not found at this node or child nodes.
935 * Not a sink we want - or possible child sink may be better. in coresight_find_sink()
939 struct coresight_device *child_dev, *sink = NULL; in coresight_find_sink() local
944 sink = coresight_find_sink(child_dev, &child_depth); in coresight_find_sink()
946 if (sink) in coresight_find_sink()
949 sink, in coresight_find_sink()
954 /* return found sink and depth */ in coresight_find_sink()
961 * coresight_find_default_sink: Find a sink suitable for use as a
962 * default sink.
964 * @csdev: starting source to find a connected sink.
966 * Walks connections graph looking for a suitable sink to enable for the
968 * to select the best sink.
970 * If a sink is found, then the default sink for this device is set and
974 * sink.
981 /* look for a default sink if we have not found for this device */ in coresight_find_default_sink()
989 struct coresight_device *sink = data; in coresight_remove_sink_ref() local
992 if (source->def_sink == sink) in coresight_remove_sink_ref()
998 * coresight_clear_default_sink: Remove all default sink references to the
999 * supplied sink.
1001 * If supplied device is a sink, then check all the bus devices and clear
1002 * out all the references to this sink from the coresight_device def_sink
1005 * @csdev: coresight sink - remove references to this from all sources.
1047 struct coresight_device *sink; in coresight_enable() local
1070 sink = coresight_get_enabled_sink(csdev); in coresight_enable()
1071 if (!sink) { in coresight_enable()
1076 path = coresight_build_path(csdev, sink); in coresight_enable()
1240 .name = "sink",