Merge branch 'stable/for-linus-5.1' of git://git.kernel.org/pub/scm/linux/kernel...
authorLinus Torvalds <torvalds@linux-foundation.org>
Fri, 8 Mar 2019 17:48:04 +0000 (09:48 -0800)
committerLinus Torvalds <torvalds@linux-foundation.org>
Fri, 8 Mar 2019 17:48:04 +0000 (09:48 -0800)
Pull swiotlb updates from Konrad Rzeszutek Wilk:
 "Expands the SWIOTLB to have debugfs support (along with bug-fixes),
  and a tiny fix"

* 'stable/for-linus-5.1' of git://git.kernel.org/pub/scm/linux/kernel/git/konrad/swiotlb:
  swiotlb: drop pointless static qualifier in swiotlb_create_debugfs()
  swiotlb: checking whether swiotlb buffer is full with io_tlb_used
  swiotlb: add debugfs to track swiotlb buffer usage
  swiotlb: fix comment on swiotlb_bounce()

1  2 
kernel/dma/swiotlb.c

@@@ -650,3 -665,48 +665,36 @@@ bool swiotlb_map(struct device *dev, ph
  
        return true;
  }
 -/*
 - * Return whether the given device DMA address mask can be supported
 - * properly.  For example, if your device can only drive the low 24-bits
 - * during bus mastering, then you would pass 0x00ffffff as the mask to
 - * this function.
 - */
 -int
 -swiotlb_dma_supported(struct device *hwdev, u64 mask)
 -{
 -      return __phys_to_dma(hwdev, io_tlb_end - 1) <= mask;
 -}
 -
+ #ifdef CONFIG_DEBUG_FS
+ static int __init swiotlb_create_debugfs(void)
+ {
+       struct dentry *d_swiotlb_usage;
+       struct dentry *ent;
+       d_swiotlb_usage = debugfs_create_dir("swiotlb", NULL);
+       if (!d_swiotlb_usage)
+               return -ENOMEM;
+       ent = debugfs_create_ulong("io_tlb_nslabs", 0400,
+                                  d_swiotlb_usage, &io_tlb_nslabs);
+       if (!ent)
+               goto fail;
+       ent = debugfs_create_ulong("io_tlb_used", 0400,
+                                  d_swiotlb_usage, &io_tlb_used);
+       if (!ent)
+               goto fail;
+       return 0;
+ fail:
+       debugfs_remove_recursive(d_swiotlb_usage);
+       return -ENOMEM;
+ }
+ late_initcall(swiotlb_create_debugfs);
+ #endif