Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 24 Sep 2020 10:42:28 +0000 (UTC)
From:      Andrew Turner <andrew@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r366111 - head/sys/arm64/arm64
Message-ID:  <202009241042.08OAgSjF021652@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
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



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?202009241042.08OAgSjF021652>