Lines Matching refs:ref
289 struct dma_debug_entry *ref, in __hash_bucket_find() argument
296 if (!match(ref, entry)) in __hash_bucket_find()
311 entry->size == ref->size ? ++match_lvl : 0; in __hash_bucket_find()
312 entry->type == ref->type ? ++match_lvl : 0; in __hash_bucket_find()
313 entry->direction == ref->direction ? ++match_lvl : 0; in __hash_bucket_find()
314 entry->sg_call_ents == ref->sg_call_ents ? ++match_lvl : 0; in __hash_bucket_find()
339 struct dma_debug_entry *ref) in bucket_find_exact() argument
341 return __hash_bucket_find(bucket, ref, exact_match); in bucket_find_exact()
345 struct dma_debug_entry *ref, in bucket_find_contain() argument
349 unsigned int max_range = dma_get_max_seg_size(ref->dev); in bucket_find_contain()
350 struct dma_debug_entry *entry, index = *ref; in bucket_find_contain()
354 entry = __hash_bucket_find(*bucket, ref, containing_match); in bucket_find_contain()
993 static void check_unmap(struct dma_debug_entry *ref) in check_unmap() argument
999 bucket = get_hash_bucket(ref, &flags); in check_unmap()
1000 entry = bucket_find_exact(bucket, ref); in check_unmap()
1006 if (dma_mapping_error(ref->dev, ref->dev_addr)) { in check_unmap()
1007 err_printk(ref->dev, NULL, in check_unmap()
1011 err_printk(ref->dev, NULL, in check_unmap()
1015 ref->dev_addr, ref->size); in check_unmap()
1020 if (ref->size != entry->size) { in check_unmap()
1021 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1025 ref->dev_addr, entry->size, ref->size); in check_unmap()
1028 if (ref->type != entry->type) { in check_unmap()
1029 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1033 ref->dev_addr, ref->size, in check_unmap()
1034 type2name[entry->type], type2name[ref->type]); in check_unmap()
1036 (phys_addr(ref) != phys_addr(entry))) { in check_unmap()
1037 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1042 ref->dev_addr, ref->size, in check_unmap()
1044 phys_addr(ref)); in check_unmap()
1047 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_unmap()
1048 ref->sg_call_ents != entry->sg_call_ents) { in check_unmap()
1049 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1052 entry->sg_call_ents, ref->sg_call_ents); in check_unmap()
1059 if (ref->direction != entry->direction) { in check_unmap()
1060 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1064 ref->dev_addr, ref->size, in check_unmap()
1066 dir2name[ref->direction]); in check_unmap()
1075 err_printk(ref->dev, entry, in check_unmap()
1079 ref->dev_addr, ref->size, in check_unmap()
1135 struct dma_debug_entry *ref, in check_sync() argument
1142 bucket = get_hash_bucket(ref, &flags); in check_sync()
1144 entry = bucket_find_contain(&bucket, ref, &flags); in check_sync()
1150 (unsigned long long)ref->dev_addr, ref->size); in check_sync()
1154 if (ref->size > entry->size) { in check_sync()
1161 ref->size); in check_sync()
1167 if (ref->direction != entry->direction) { in check_sync()
1172 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1174 dir2name[ref->direction]); in check_sync()
1178 !(ref->direction == DMA_TO_DEVICE)) in check_sync()
1183 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1185 dir2name[ref->direction]); in check_sync()
1188 !(ref->direction == DMA_FROM_DEVICE)) in check_sync()
1193 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1195 dir2name[ref->direction]); in check_sync()
1197 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_sync()
1198 ref->sg_call_ents != entry->sg_call_ents) { in check_sync()
1199 err_printk(ref->dev, entry, "device driver syncs " in check_sync()
1202 entry->sg_call_ents, ref->sg_call_ents); in check_sync()
1289 struct dma_debug_entry ref; in debug_dma_mapping_error() local
1297 ref.dev = dev; in debug_dma_mapping_error()
1298 ref.dev_addr = dma_addr; in debug_dma_mapping_error()
1299 bucket = get_hash_bucket(&ref, &flags); in debug_dma_mapping_error()
1302 if (!exact_match(&ref, entry)) in debug_dma_mapping_error()
1328 struct dma_debug_entry ref = { in debug_dma_unmap_page() local
1338 check_unmap(&ref); in debug_dma_unmap_page()
1381 struct dma_debug_entry *ref) in get_nr_mapped_entries() argument
1388 bucket = get_hash_bucket(ref, &flags); in get_nr_mapped_entries()
1389 entry = bucket_find_exact(bucket, ref); in get_nr_mapped_entries()
1410 struct dma_debug_entry ref = { in debug_dma_unmap_sg() local
1425 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_unmap_sg()
1427 check_unmap(&ref); in debug_dma_unmap_sg()
1469 struct dma_debug_entry ref = { in debug_dma_free_coherent() local
1483 ref.pfn = vmalloc_to_pfn(virt); in debug_dma_free_coherent()
1485 ref.pfn = page_to_pfn(virt_to_page(virt)); in debug_dma_free_coherent()
1490 check_unmap(&ref); in debug_dma_free_coherent()
1521 struct dma_debug_entry ref = { in debug_dma_unmap_resource() local
1532 check_unmap(&ref); in debug_dma_unmap_resource()
1539 struct dma_debug_entry ref; in debug_dma_sync_single_for_cpu() local
1544 ref.type = dma_debug_single; in debug_dma_sync_single_for_cpu()
1545 ref.dev = dev; in debug_dma_sync_single_for_cpu()
1546 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_cpu()
1547 ref.size = size; in debug_dma_sync_single_for_cpu()
1548 ref.direction = direction; in debug_dma_sync_single_for_cpu()
1549 ref.sg_call_ents = 0; in debug_dma_sync_single_for_cpu()
1551 check_sync(dev, &ref, true); in debug_dma_sync_single_for_cpu()
1559 struct dma_debug_entry ref; in debug_dma_sync_single_for_device() local
1564 ref.type = dma_debug_single; in debug_dma_sync_single_for_device()
1565 ref.dev = dev; in debug_dma_sync_single_for_device()
1566 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_device()
1567 ref.size = size; in debug_dma_sync_single_for_device()
1568 ref.direction = direction; in debug_dma_sync_single_for_device()
1569 ref.sg_call_ents = 0; in debug_dma_sync_single_for_device()
1571 check_sync(dev, &ref, false); in debug_dma_sync_single_for_device()
1586 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_cpu() local
1598 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_cpu()
1603 check_sync(dev, &ref, true); in debug_dma_sync_sg_for_cpu()
1619 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_device() local
1630 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_device()
1635 check_sync(dev, &ref, false); in debug_dma_sync_sg_for_device()