Lines Matching refs:counts
222 struct msi_counts *counts = data; in count_non_bridge_devices() local
232 counts->num_devices++; in count_non_bridge_devices()
239 struct msi_counts *counts = data; in count_spare_msis() local
243 if (dn == counts->requestor) in count_spare_msis()
244 req = counts->request; in count_spare_msis()
258 if (req < counts->quota) in count_spare_msis()
259 counts->spare += counts->quota - req; in count_spare_msis()
260 else if (req > counts->quota) in count_spare_msis()
261 counts->over_quota++; in count_spare_msis()
269 struct msi_counts counts; in msi_quota_for_device() local
286 memset(&counts, 0, sizeof(struct msi_counts)); in msi_quota_for_device()
289 pci_traverse_device_nodes(pe_dn, count_non_bridge_devices, &counts); in msi_quota_for_device()
291 if (counts.num_devices == 0) { in msi_quota_for_device()
297 counts.quota = total / counts.num_devices; in msi_quota_for_device()
298 if (request <= counts.quota) in msi_quota_for_device()
302 counts.requestor = pci_device_to_OF_node(dev); in msi_quota_for_device()
303 counts.request = request; in msi_quota_for_device()
304 pci_traverse_device_nodes(pe_dn, count_spare_msis, &counts); in msi_quota_for_device()
308 counts.spare += total % counts.num_devices; in msi_quota_for_device()
311 if (counts.over_quota) in msi_quota_for_device()
312 counts.quota += counts.spare / counts.over_quota; in msi_quota_for_device()
315 request = min(counts.quota, request); in msi_quota_for_device()