Lines Matching full:resource

19  * A given IPA version has a fixed number of resource types, and a fixed
20 * total number of resources of each type. "Source" resource types
21 * are separate from "destination" resource types.
23 * Each version of IPA also has some number of resource groups. Each
24 * endpoint is assigned to a resource group, and all endpoints in the
25 * same group share pools of each type of resource. A subset of the
36 /* We program at most 8 source or destination resource group limits */ in ipa_resource_limits_valid()
43 /* Return an error if a non-zero resource limit is specified in ipa_resource_limits_valid()
44 * for a resource group not supported by hardware. in ipa_resource_limits_valid()
47 const struct ipa_resource *resource; in ipa_resource_limits_valid() local
49 resource = &data->resource_src[i]; in ipa_resource_limits_valid()
51 if (resource->limits[j].min || resource->limits[j].max) in ipa_resource_limits_valid()
60 const struct ipa_resource *resource; in ipa_resource_limits_valid() local
62 resource = &data->resource_dst[i]; in ipa_resource_limits_valid()
64 if (resource->limits[j].min || resource->limits[j].max) in ipa_resource_limits_valid()
93 const struct ipa_resource *resource; in ipa_resource_config_src() local
96 resource = &data->resource_src[resource_type]; in ipa_resource_config_src()
99 ylimits = group_count == 1 ? NULL : &resource->limits[1]; in ipa_resource_config_src()
100 ipa_resource_config_common(ipa, offset, &resource->limits[0], ylimits); in ipa_resource_config_src()
106 ylimits = group_count == 3 ? NULL : &resource->limits[3]; in ipa_resource_config_src()
107 ipa_resource_config_common(ipa, offset, &resource->limits[2], ylimits); in ipa_resource_config_src()
113 ylimits = group_count == 5 ? NULL : &resource->limits[5]; in ipa_resource_config_src()
114 ipa_resource_config_common(ipa, offset, &resource->limits[4], ylimits); in ipa_resource_config_src()
120 ylimits = group_count == 7 ? NULL : &resource->limits[7]; in ipa_resource_config_src()
121 ipa_resource_config_common(ipa, offset, &resource->limits[6], ylimits); in ipa_resource_config_src()
129 const struct ipa_resource *resource; in ipa_resource_config_dst() local
132 resource = &data->resource_dst[resource_type]; in ipa_resource_config_dst()
135 ylimits = group_count == 1 ? NULL : &resource->limits[1]; in ipa_resource_config_dst()
136 ipa_resource_config_common(ipa, offset, &resource->limits[0], ylimits); in ipa_resource_config_dst()
142 ylimits = group_count == 3 ? NULL : &resource->limits[3]; in ipa_resource_config_dst()
143 ipa_resource_config_common(ipa, offset, &resource->limits[2], ylimits); in ipa_resource_config_dst()
149 ylimits = group_count == 5 ? NULL : &resource->limits[5]; in ipa_resource_config_dst()
150 ipa_resource_config_common(ipa, offset, &resource->limits[4], ylimits); in ipa_resource_config_dst()
156 ylimits = group_count == 7 ? NULL : &resource->limits[7]; in ipa_resource_config_dst()
157 ipa_resource_config_common(ipa, offset, &resource->limits[6], ylimits); in ipa_resource_config_dst()