Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 23 Oct 2020 21:27:48 +0000 (UTC)
From:      Ruslan Bukin <br@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r366980 - in head/sys: dev/ahci kern x86/x86
Message-ID:  <202010232127.09NLRmFu095427@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: br
Date: Fri Oct 23 21:27:48 2020
New Revision: 366980
URL: https://svnweb.freebsd.org/changeset/base/366980

Log:
  Move the iommu stubs to a generic place, so they are available on all the
  platforms.
  
  This allows to not depend on the IOMMU macro in AHCI driver.
  
  Requested by:	kib
  Suggested by:	andrew
  Reviewed by:	kib
  Sponsored by:	Innovate DSbD
  Differential Revision:	https://reviews.freebsd.org/D26887

Modified:
  head/sys/dev/ahci/ahci_pci.c
  head/sys/kern/subr_bus_dma.c
  head/sys/x86/x86/busdma_machdep.c

Modified: head/sys/dev/ahci/ahci_pci.c
==============================================================================
--- head/sys/dev/ahci/ahci_pci.c	Fri Oct 23 18:29:36 2020	(r366979)
+++ head/sys/dev/ahci/ahci_pci.c	Fri Oct 23 21:27:48 2020	(r366980)
@@ -27,8 +27,6 @@
 #include <sys/cdefs.h>
 __FBSDID("$FreeBSD$");
 
-#include "opt_iommu.h"
-
 #include <sys/param.h>
 #include <sys/module.h>
 #include <sys/systm.h>
@@ -501,7 +499,6 @@ ahci_pci_attach(device_t dev)
 		i++;
 	ctlr->quirks = ahci_ids[i].quirks;
 
-#ifdef IOMMU
 	if (ctlr->quirks & AHCI_Q_IOMMU_BUSWIDE) {
 		/*
 		 * The controller issues DMA requests from PCI function 1,
@@ -510,7 +507,6 @@ ahci_pci_attach(device_t dev)
 		 */
 		bus_dma_iommu_set_buswide(dev);
 	}
-#endif
 
 	/* Limit speed for my onboard JMicron external port.
 	 * It is not eSATA really, limit to SATA 1 */

Modified: head/sys/kern/subr_bus_dma.c
==============================================================================
--- head/sys/kern/subr_bus_dma.c	Fri Oct 23 18:29:36 2020	(r366979)
+++ head/sys/kern/subr_bus_dma.c	Fri Oct 23 21:27:48 2020	(r366980)
@@ -33,6 +33,7 @@
 __FBSDID("$FreeBSD$");
 
 #include "opt_bus.h"
+#include "opt_iommu.h"
 
 #include <sys/param.h>
 #include <sys/conf.h>
@@ -785,3 +786,21 @@ bus_dma_template_fill(bus_dma_template_t *t, bus_dma_p
 	return;
 }
 
+#ifndef IOMMU
+bool bus_dma_iommu_set_buswide(device_t dev);
+int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map,
+    vm_paddr_t start, vm_size_t length, int flags);
+
+bool
+bus_dma_iommu_set_buswide(device_t dev)
+{
+	return (false);
+}
+
+int
+bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map,
+    vm_paddr_t start, vm_size_t length, int flags)
+{
+	return (0);
+}
+#endif

Modified: head/sys/x86/x86/busdma_machdep.c
==============================================================================
--- head/sys/x86/x86/busdma_machdep.c	Fri Oct 23 18:29:36 2020	(r366979)
+++ head/sys/x86/x86/busdma_machdep.c	Fri Oct 23 21:27:48 2020	(r366980)
@@ -34,7 +34,6 @@
 __FBSDID("$FreeBSD$");
 
 #include "opt_acpi.h"
-#include "opt_iommu.h"
 
 #include <sys/param.h>
 #include <sys/systm.h>
@@ -268,22 +267,3 @@ bus_dma_tag_destroy(bus_dma_tag_t dmat)
 	tc = (struct bus_dma_tag_common *)dmat;
 	return (tc->impl->tag_destroy(dmat));
 }
-
-#ifndef IOMMU
-bool bus_dma_iommu_set_buswide(device_t dev);
-int bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map,   
-    vm_paddr_t start, vm_size_t length, int flags);
-
-bool
-bus_dma_iommu_set_buswide(device_t dev)
-{
-	return (false);
-}
-
-int
-bus_dma_iommu_load_ident(bus_dma_tag_t dmat, bus_dmamap_t map,
-    vm_paddr_t start, vm_size_t length, int flags)
-{
-	return (0);
-}
-#endif



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