Lines Matching refs:ref

299 						  struct dma_debug_entry *ref,  in __hash_bucket_find()  argument
306 if (!match(ref, entry)) in __hash_bucket_find()
321 entry->size == ref->size ? ++match_lvl : 0; in __hash_bucket_find()
322 entry->type == ref->type ? ++match_lvl : 0; in __hash_bucket_find()
323 entry->direction == ref->direction ? ++match_lvl : 0; in __hash_bucket_find()
324 entry->sg_call_ents == ref->sg_call_ents ? ++match_lvl : 0; in __hash_bucket_find()
349 struct dma_debug_entry *ref) in bucket_find_exact() argument
351 return __hash_bucket_find(bucket, ref, exact_match); in bucket_find_exact()
355 struct dma_debug_entry *ref, in bucket_find_contain() argument
359 unsigned int max_range = dma_get_max_seg_size(ref->dev); in bucket_find_contain()
360 struct dma_debug_entry *entry, index = *ref; in bucket_find_contain()
364 entry = __hash_bucket_find(*bucket, ref, containing_match); in bucket_find_contain()
1074 static void check_unmap(struct dma_debug_entry *ref) in check_unmap() argument
1080 bucket = get_hash_bucket(ref, &flags); in check_unmap()
1081 entry = bucket_find_exact(bucket, ref); in check_unmap()
1087 if (dma_mapping_error(ref->dev, ref->dev_addr)) { in check_unmap()
1088 err_printk(ref->dev, NULL, in check_unmap()
1092 err_printk(ref->dev, NULL, in check_unmap()
1096 ref->dev_addr, ref->size); in check_unmap()
1101 if (ref->size != entry->size) { in check_unmap()
1102 err_printk(ref->dev, entry, "DMA-API: device driver frees " in check_unmap()
1106 ref->dev_addr, entry->size, ref->size); in check_unmap()
1109 if (ref->type != entry->type) { in check_unmap()
1110 err_printk(ref->dev, entry, "DMA-API: device driver frees " in check_unmap()
1114 ref->dev_addr, ref->size, in check_unmap()
1115 type2name[entry->type], type2name[ref->type]); in check_unmap()
1117 (phys_addr(ref) != phys_addr(entry))) { in check_unmap()
1118 err_printk(ref->dev, entry, "DMA-API: device driver frees " in check_unmap()
1123 ref->dev_addr, ref->size, in check_unmap()
1125 phys_addr(ref)); in check_unmap()
1128 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_unmap()
1129 ref->sg_call_ents != entry->sg_call_ents) { in check_unmap()
1130 err_printk(ref->dev, entry, "DMA-API: device driver frees " in check_unmap()
1133 entry->sg_call_ents, ref->sg_call_ents); in check_unmap()
1140 if (ref->direction != entry->direction) { in check_unmap()
1141 err_printk(ref->dev, entry, "DMA-API: device driver frees " in check_unmap()
1145 ref->dev_addr, ref->size, in check_unmap()
1147 dir2name[ref->direction]); in check_unmap()
1151 err_printk(ref->dev, entry, in check_unmap()
1155 ref->dev_addr, ref->size, in check_unmap()
1190 struct dma_debug_entry *ref, in check_sync() argument
1197 bucket = get_hash_bucket(ref, &flags); in check_sync()
1199 entry = bucket_find_contain(&bucket, ref, &flags); in check_sync()
1205 (unsigned long long)ref->dev_addr, ref->size); in check_sync()
1209 if (ref->size > entry->size) { in check_sync()
1216 ref->size); in check_sync()
1222 if (ref->direction != entry->direction) { in check_sync()
1227 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1229 dir2name[ref->direction]); in check_sync()
1233 !(ref->direction == DMA_TO_DEVICE)) in check_sync()
1238 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1240 dir2name[ref->direction]); in check_sync()
1243 !(ref->direction == DMA_FROM_DEVICE)) in check_sync()
1248 (unsigned long long)ref->dev_addr, entry->size, in check_sync()
1250 dir2name[ref->direction]); in check_sync()
1252 if (ref->sg_call_ents && ref->type == dma_debug_sg && in check_sync()
1253 ref->sg_call_ents != entry->sg_call_ents) { in check_sync()
1254 err_printk(ref->dev, entry, "DMA-API: device driver syncs " in check_sync()
1257 entry->sg_call_ents, ref->sg_call_ents); in check_sync()
1305 struct dma_debug_entry ref; in debug_dma_mapping_error() local
1313 ref.dev = dev; in debug_dma_mapping_error()
1314 ref.dev_addr = dma_addr; in debug_dma_mapping_error()
1315 bucket = get_hash_bucket(&ref, &flags); in debug_dma_mapping_error()
1318 if (!exact_match(&ref, entry)) in debug_dma_mapping_error()
1344 struct dma_debug_entry ref = { in debug_dma_unmap_page() local
1356 ref.type = dma_debug_single; in debug_dma_unmap_page()
1358 check_unmap(&ref); in debug_dma_unmap_page()
1398 struct dma_debug_entry *ref) in get_nr_mapped_entries() argument
1405 bucket = get_hash_bucket(ref, &flags); in get_nr_mapped_entries()
1406 entry = bucket_find_exact(bucket, ref); in get_nr_mapped_entries()
1427 struct dma_debug_entry ref = { in debug_dma_unmap_sg() local
1442 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_unmap_sg()
1444 check_unmap(&ref); in debug_dma_unmap_sg()
1479 struct dma_debug_entry ref = { in debug_dma_free_coherent() local
1492 check_unmap(&ref); in debug_dma_free_coherent()
1499 struct dma_debug_entry ref; in debug_dma_sync_single_for_cpu() local
1504 ref.type = dma_debug_single; in debug_dma_sync_single_for_cpu()
1505 ref.dev = dev; in debug_dma_sync_single_for_cpu()
1506 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_cpu()
1507 ref.size = size; in debug_dma_sync_single_for_cpu()
1508 ref.direction = direction; in debug_dma_sync_single_for_cpu()
1509 ref.sg_call_ents = 0; in debug_dma_sync_single_for_cpu()
1511 check_sync(dev, &ref, true); in debug_dma_sync_single_for_cpu()
1519 struct dma_debug_entry ref; in debug_dma_sync_single_for_device() local
1524 ref.type = dma_debug_single; in debug_dma_sync_single_for_device()
1525 ref.dev = dev; in debug_dma_sync_single_for_device()
1526 ref.dev_addr = dma_handle; in debug_dma_sync_single_for_device()
1527 ref.size = size; in debug_dma_sync_single_for_device()
1528 ref.direction = direction; in debug_dma_sync_single_for_device()
1529 ref.sg_call_ents = 0; in debug_dma_sync_single_for_device()
1531 check_sync(dev, &ref, false); in debug_dma_sync_single_for_device()
1540 struct dma_debug_entry ref; in debug_dma_sync_single_range_for_cpu() local
1545 ref.type = dma_debug_single; in debug_dma_sync_single_range_for_cpu()
1546 ref.dev = dev; in debug_dma_sync_single_range_for_cpu()
1547 ref.dev_addr = dma_handle; in debug_dma_sync_single_range_for_cpu()
1548 ref.size = offset + size; in debug_dma_sync_single_range_for_cpu()
1549 ref.direction = direction; in debug_dma_sync_single_range_for_cpu()
1550 ref.sg_call_ents = 0; in debug_dma_sync_single_range_for_cpu()
1552 check_sync(dev, &ref, true); in debug_dma_sync_single_range_for_cpu()
1561 struct dma_debug_entry ref; in debug_dma_sync_single_range_for_device() local
1566 ref.type = dma_debug_single; in debug_dma_sync_single_range_for_device()
1567 ref.dev = dev; in debug_dma_sync_single_range_for_device()
1568 ref.dev_addr = dma_handle; in debug_dma_sync_single_range_for_device()
1569 ref.size = offset + size; in debug_dma_sync_single_range_for_device()
1570 ref.direction = direction; in debug_dma_sync_single_range_for_device()
1571 ref.sg_call_ents = 0; in debug_dma_sync_single_range_for_device()
1573 check_sync(dev, &ref, false); in debug_dma_sync_single_range_for_device()
1588 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_cpu() local
1600 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_cpu()
1605 check_sync(dev, &ref, true); in debug_dma_sync_sg_for_cpu()
1621 struct dma_debug_entry ref = { in debug_dma_sync_sg_for_device() local
1632 mapped_ents = get_nr_mapped_entries(dev, &ref); in debug_dma_sync_sg_for_device()
1637 check_sync(dev, &ref, false); in debug_dma_sync_sg_for_device()