Author: andrew
Date: Thu Sep 24 10:42:28 2020
New Revision: 366111
URL: https://svnweb.freebsd.org/changeset/base/366111

Log:
  Clean up the arm64 bus_dma_run_filter
  
   - We can exit the loop as soon as the filter check passes.
   - The alignment check has already passed so there is no need to also run
     it here.
  
  Sponsored by: Innovate UK

Modified:
  head/sys/arm64/arm64/busdma_machdep.c

Modified: head/sys/arm64/arm64/busdma_machdep.c
==============================================================================
--- head/sys/arm64/arm64/busdma_machdep.c       Thu Sep 24 10:40:49 2020        
(r366110)
+++ head/sys/arm64/arm64/busdma_machdep.c       Thu Sep 24 10:42:28 2020        
(r366111)
@@ -99,19 +99,17 @@ bus_dma_dflt_lock(void *arg, bus_dma_lock_op_t op)
 int
 bus_dma_run_filter(struct bus_dma_tag_common *tc, bus_addr_t paddr)
 {
-       int retval;
 
-       retval = 0;
-       do {
-               if (((paddr > tc->lowaddr && paddr <= tc->highaddr) ||
-                   ((paddr & (tc->alignment - 1)) != 0)) &&
+       while (tc != NULL) {
+               if ((paddr > tc->lowaddr && paddr <= tc->highaddr) &&
                    (tc->filter == NULL ||
                    (*tc->filter)(tc->filterarg, paddr) != 0))
-                       retval = 1;
+                       return (1);
 
                tc = tc->parent;                
-       } while (retval == 0 && tc != NULL);
-       return (retval);
+       }
+
+       return (0);
 }
 
 int
_______________________________________________
svn-src-head@freebsd.org mailing list
https://lists.freebsd.org/mailman/listinfo/svn-src-head
To unsubscribe, send any mail to "svn-src-head-unsubscr...@freebsd.org"

Reply via email to