Lines Matching refs:ref
298 struct dma_debug_entry *ref, in __hash_bucket_find() argument
305 if (!match(ref, entry)) in __hash_bucket_find()
320 entry->size == ref->size ? ++match_lvl : 0; in __hash_bucket_find()
321 entry->type == ref->type ? ++match_lvl : 0; in __hash_bucket_find()
322 entry->direction == ref->direction ? ++match_lvl : 0; in __hash_bucket_find()
323 entry->sg_call_ents == ref->sg_call_ents ? ++match_lvl : 0; in __hash_bucket_find()
348 struct dma_debug_entry *ref) in bucket_find_exact() argument
350 return __hash_bucket_find(bucket, ref, exact_match); in bucket_find_exact()
354 struct dma_debug_entry *ref, in bucket_find_contain() argument
358 struct dma_debug_entry *entry, index = *ref; in bucket_find_contain()
362 entry = __hash_bucket_find(*bucket, ref, containing_match); in bucket_find_contain()
978 static void check_unmap(struct dma_debug_entry *ref) in check_unmap() argument
984 bucket = get_hash_bucket(ref, &flags); in check_unmap()
985 entry = bucket_find_exact(bucket, ref); in check_unmap()
991 if (dma_mapping_error(ref->dev, ref->dev_addr)) { in check_unmap()
992 err_printk(ref->dev, NULL, in check_unmap()
996 err_printk(ref->dev, NULL, in check_unmap()
1000 ref->dev_addr, ref->size); in check_unmap()
1005 if (ref->size != entry->size) { in check_unmap()
1006 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1010 ref->dev_addr, entry->size, ref->size); in check_unmap()
1013 if (ref->type != entry->type) { in check_unmap()
1014 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1018 ref->dev_addr, ref->size, in check_unmap()
1019 type2name[entry->type], type2name[ref->type]); in check_unmap()
1022 ref->paddr != entry->paddr) { in check_unmap()
1023 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1028 ref->dev_addr, ref->size, in check_unmap()
1030 &ref->paddr); in check_unmap()
1033 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_unmap()
1034 ref->sg_call_ents != entry->sg_call_ents) { in check_unmap()
1035 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1038 entry->sg_call_ents, ref->sg_call_ents); in check_unmap()
1045 if (ref->direction != entry->direction) { in check_unmap()
1046 err_printk(ref->dev, entry, "device driver frees " in check_unmap()
1050 ref->dev_addr, ref->size, in check_unmap()
1052 dir2name[ref->direction]); in check_unmap()
1061 err_printk(ref->dev, entry, in check_unmap()
1065 ref->dev_addr, ref->size, in check_unmap()
1116 struct dma_debug_entry *ref, in check_sync() argument
1123 bucket = get_hash_bucket(ref, &flags); in check_sync()
1125 entry = bucket_find_contain(&bucket, ref, &flags); in check_sync()
1131 (unsigned long long)ref->dev_addr, ref->size); in check_sync()
1135 if (ref->size > entry->size) { in check_sync()
1142 ref->size); in check_sync()
1148 if (ref->direction != entry->direction) { in check_sync()
1153 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1155 dir2name[ref->direction]); in check_sync()
1159 !(ref->direction == DMA_TO_DEVICE)) in check_sync()
1164 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1166 dir2name[ref->direction]); in check_sync()
1169 !(ref->direction == DMA_FROM_DEVICE)) in check_sync()
1174 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1176 dir2name[ref->direction]); in check_sync()
1178 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_sync()
1179 ref->sg_call_ents != entry->sg_call_ents) { in check_sync()
1180 err_printk(ref->dev, entry, "device driver syncs " in check_sync()
1183 entry->sg_call_ents, ref->sg_call_ents); in check_sync()
1265 struct dma_debug_entry ref; in debug_dma_mapping_error() local
1273 ref.dev = dev; in debug_dma_mapping_error()
1274 ref.dev_addr = dma_addr; in debug_dma_mapping_error()
1275 bucket = get_hash_bucket(&ref, &flags); in debug_dma_mapping_error()
1278 if (!exact_match(&ref, entry)) in debug_dma_mapping_error()
1304 struct dma_debug_entry ref = { in debug_dma_unmap_phys() local
1314 check_unmap(&ref); in debug_dma_unmap_phys()
1355 struct dma_debug_entry *ref) in get_nr_mapped_entries() argument
1362 bucket = get_hash_bucket(ref, &flags); in get_nr_mapped_entries()
1363 entry = bucket_find_exact(bucket, ref); in get_nr_mapped_entries()
1384 struct dma_debug_entry ref = { in debug_dma_unmap_sg() local
1398 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_unmap_sg()
1400 check_unmap(&ref); in debug_dma_unmap_sg()
1449 struct dma_debug_entry ref = { in debug_dma_free_coherent() local
1461 ref.paddr = virt_to_paddr(virt); in debug_dma_free_coherent()
1466 check_unmap(&ref); in debug_dma_free_coherent()
1472 struct dma_debug_entry ref; in debug_dma_sync_single_for_cpu() local
1477 ref.type = dma_debug_single; in debug_dma_sync_single_for_cpu()
1478 ref.dev = dev; in debug_dma_sync_single_for_cpu()
1479 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_cpu()
1480 ref.size = size; in debug_dma_sync_single_for_cpu()
1481 ref.direction = direction; in debug_dma_sync_single_for_cpu()
1482 ref.sg_call_ents = 0; in debug_dma_sync_single_for_cpu()
1484 check_sync(dev, &ref, true); in debug_dma_sync_single_for_cpu()
1491 struct dma_debug_entry ref; in debug_dma_sync_single_for_device() local
1496 ref.type = dma_debug_single; in debug_dma_sync_single_for_device()
1497 ref.dev = dev; in debug_dma_sync_single_for_device()
1498 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_device()
1499 ref.size = size; in debug_dma_sync_single_for_device()
1500 ref.direction = direction; in debug_dma_sync_single_for_device()
1501 ref.sg_call_ents = 0; in debug_dma_sync_single_for_device()
1503 check_sync(dev, &ref, false); in debug_dma_sync_single_for_device()
1517 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_cpu() local
1528 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_cpu()
1533 check_sync(dev, &ref, true); in debug_dma_sync_sg_for_cpu()
1548 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_device() local
1558 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_device()
1563 check_sync(dev, &ref, false); in debug_dma_sync_sg_for_device()
1595 struct dma_debug_entry ref = { in debug_dma_free_pages() local
1607 check_unmap(&ref); in debug_dma_free_pages()