Module Name:    src
Committed By:   rin
Date:           Thu Nov  2 09:29:30 UTC 2023

Modified Files:
        src/sys/dev/pci/igc: if_igc.c

Log Message:
igc(4): Notify which of 64- or 32-bit DMA is used


To generate a diff of this commit:
cvs rdiff -u -r1.7 -r1.8 src/sys/dev/pci/igc/if_igc.c

Please note that diffs are not public domain; they are subject to the
copyright notices on the relevant files.

Modified files:

Index: src/sys/dev/pci/igc/if_igc.c
diff -u src/sys/dev/pci/igc/if_igc.c:1.7 src/sys/dev/pci/igc/if_igc.c:1.8
--- src/sys/dev/pci/igc/if_igc.c:1.7	Sun Oct 15 22:36:52 2023
+++ src/sys/dev/pci/igc/if_igc.c	Thu Nov  2 09:29:30 2023
@@ -1,4 +1,4 @@
-/*	$NetBSD: if_igc.c,v 1.7 2023/10/15 22:36:52 oster Exp $	*/
+/*	$NetBSD: if_igc.c,v 1.8 2023/11/02 09:29:30 rin Exp $	*/
 /*	$OpenBSD: if_igc.c,v 1.13 2023/04/28 10:18:57 bluhm Exp $	*/
 /*-
  * SPDX-License-Identifier: BSD-2-Clause
@@ -30,7 +30,7 @@
  */
 
 #include <sys/cdefs.h>
-__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.7 2023/10/15 22:36:52 oster Exp $");
+__KERNEL_RCSID(0, "$NetBSD: if_igc.c,v 1.8 2023/11/02 09:29:30 rin Exp $");
 
 #ifdef _KERNEL_OPT
 #include "opt_net_mpsafe.h"
@@ -354,7 +354,6 @@ igc_attach(device_t parent, device_t sel
 
 	const struct igc_product *igcp = igc_lookup(pa);
 	KASSERT(igcp != NULL);
-	pci_aprint_devinfo_fancy(pa, "Ethernet controller", igcp->igcp_name, 1);
 
 	sc->sc_dev = self;
 	callout_init(&sc->sc_tick_ch, CALLOUT_MPSAFE);
@@ -363,17 +362,23 @@ igc_attach(device_t parent, device_t sel
 
 	sc->osdep.os_sc = sc;
 	sc->osdep.os_pa = *pa;
-#ifdef __aarch64__
+#ifndef __aarch64__
 	/*
 	 * XXX PR port-arm/57643
 	 * 64-bit DMA does not work at least for LX2K with 32/64GB memory.
 	 * smmu(4) support may be required.
 	 */
-	sc->osdep.os_dmat = pa->pa_dmat;
-#else
-	sc->osdep.os_dmat = pci_dma64_available(pa) ?
-	    pa->pa_dmat64 : pa->pa_dmat;
+	if (pci_dma64_available(pa)) {
+		aprint_verbose(", 64-bit DMA");
+		sc->osdep.os_dmat = pa->pa_dmat64;
+	} else
 #endif
+	{
+		aprint_verbose(", 32-bit DMA");
+		sc->osdep.os_dmat = pa->pa_dmat;
+	}
+
+	pci_aprint_devinfo_fancy(pa, "Ethernet controller", igcp->igcp_name, 1);
 
 	/* Determine hardware and mac info */
 	igc_identify_hardware(sc);

Reply via email to