Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 16 Feb 2017 21:57:19 +0000 (UTC)
From:      Warner Losh <imp@FreeBSD.org>
To:        src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-head@freebsd.org
Subject:   svn commit: r313836 - in head: share/man/man4 sys/conf sys/dev/aic7xxx sys/modules/aic7xxx/ahc sys/modules/aic7xxx/ahc/ahc_eisa
Message-ID:  <201702162157.v1GLvJmR043832@repo.freebsd.org>

next in thread | raw e-mail | index | archive | help
Author: imp
Date: Thu Feb 16 21:57:19 2017
New Revision: 313836
URL: https://svnweb.freebsd.org/changeset/base/313836

Log:
  Remove EISA support from ahc driver. The AIC-7770 chip can be on ISA,
  VesaLocalBus or EISA. Internally, EISA and ISA are handled the same,
  with VL being handled slightly differently. To avoid too much code
  churn, retain the EISA name, despite it being used only for ISA
  bus. When it is on the ISA bus, weird gymnastics are required with
  EISA-space address accesses as well. Remove known models from the ahc
  man page. Remove ahc_eisa module.

Deleted:
  head/sys/dev/aic7xxx/ahc_eisa.c
  head/sys/modules/aic7xxx/ahc/ahc_eisa/Makefile
Modified:
  head/share/man/man4/ahc.4
  head/sys/conf/files
  head/sys/dev/aic7xxx/aic7770.c
  head/sys/dev/aic7xxx/aic7xxx.h
  head/sys/dev/aic7xxx/aic7xxx_osm.h
  head/sys/modules/aic7xxx/ahc/Makefile

Modified: head/share/man/man4/ahc.4
==============================================================================
--- head/share/man/man4/ahc.4	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/share/man/man4/ahc.4	Thu Feb 16 21:57:19 2017	(r313836)
@@ -26,12 +26,12 @@
 .\"
 .\" $FreeBSD$
 .\"
-.Dd July 13, 2008
+.Dd February 15, 2017
 .Dt AHC 4
 .Os
 .Sh NAME
 .Nm ahc
-.Nd Adaptec VL/EISA/PCI SCSI host adapter driver
+.Nd Adaptec VL/ISA/PCI SCSI host adapter driver
 .Sh SYNOPSIS
 To compile this driver into the kernel,
 place the following lines in your
@@ -40,9 +40,6 @@ kernel configuration file:
 .Cd "device scbus"
 .Cd "device ahc"
 .Pp
-For one or more VL/EISA cards:
-.Cd "device eisa"
-.Pp
 For one or more PCI cards:
 .Cd "device pci"
 .Pp
@@ -58,7 +55,6 @@ module at boot time, place the following
 .Xr loader.conf 5 :
 .Bd -literal -offset indent
 ahc_load="YES"
-ahc_eisa_load="YES"
 ahc_isa_load="YES"
 ahc_pci_load="YES"
 .Ed
@@ -98,45 +94,19 @@ A value of 0x8a enables it for units 1, 
 Per target configuration performed in the
 .Tn SCSI-Select
 menu, accessible at boot
-in
-.No non- Ns Tn EISA
-models,
-or through an
-.Tn EISA
-configuration utility for
-.Tn EISA
-models,
 is honored by this driver.
 This includes synchronous/asynchronous transfers,
 maximum synchronous negotiation rate,
 wide transfers,
 disconnection,
-the host adapter's SCSI ID,
-and,
-in the case of
-.Tn EISA
-Twin Channel controllers,
-the primary channel selection.
+the host adapter's SCSI ID.
 For systems that store non-volatile settings in a system specific manner
 rather than a serial eeprom directly connected to the aic7xxx controller,
 the
 .Tn BIOS
 must be enabled for the driver to access this information.
-This restriction applies to all
-.Tn EISA
-and many motherboard configurations.
-.Pp
-Note that I/O addresses are determined automatically by the probe routines,
-but care should be taken when using a 284x
-.Pq Tn VESA No local bus controller
-in an
-.Tn EISA
-system.
-The jumpers setting the I/O area for the 284x should match the
-.Tn EISA
-slot into which the card is inserted to prevent conflicts with other
-.Tn EISA
-cards.
+This restriction applies to
+many chip-down motherboard configurations.
 .Pp
 Performance and feature sets vary throughout the aic7xxx product line.
 The following table provides a comparison of the different chips supported
@@ -147,9 +117,9 @@ Note that wide and twin channel features
 by a particular chip, may be disabled in a particular motherboard or card
 design.
 .Bd -ragged -offset indent
-.Bl -column "aic7895CX" "MIPSX" "EISA/VLX" "MaxSyncX" "MaxWidthX" "SCBsX" "2 3 4 5 6 7 8X"
+.Bl -column "aic7895CX" "MIPSX" "PCI/64X" "MaxSyncX" "MaxWidthX" "SCBsX" "2 3 4 5 6 7 8X"
 .It Em "Chip" Ta "MIPS" Ta "Bus" Ta "MaxSync" Ta "MaxWidth" Ta "SCBs" Ta "Features"
-.It "aic7770" Ta "10" Ta "EISA/VL" Ta "10MHz" Ta "16Bit" Ta "4" Ta "1"
+.It "aic7770" Ta "10" Ta "VL" Ta "10MHz" Ta "16Bit" Ta "4" Ta "1"
 .It "aic7850" Ta "10" Ta "PCI/32" Ta "10MHz" Ta "8Bit" Ta "3" Ta ""
 .It "aic7860" Ta "10" Ta "PCI/32" Ta "20MHz" Ta "8Bit" Ta "3" Ta ""
 .It "aic7870" Ta "10" Ta "PCI/32" Ta "10MHz" Ta "16Bit" Ta "16" Ta ""
@@ -254,9 +224,6 @@ Adaptec
 .Tn 274X(T)
 .It
 Adaptec
-.Tn 284X
-.It
-Adaptec
 .Tn 2910
 .It
 Adaptec

Modified: head/sys/conf/files
==============================================================================
--- head/sys/conf/files	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/sys/conf/files	Thu Feb 16 21:57:19 2017	(r313836)
@@ -698,7 +698,6 @@ dev/ahci/ahciem.c		optional ahci
 dev/ahci/ahci_pci.c		optional ahci pci
 dev/aic/aic.c			optional aic
 dev/aic/aic_pccard.c		optional aic pccard
-dev/aic7xxx/ahc_eisa.c		optional ahc eisa
 dev/aic7xxx/ahc_isa.c		optional ahc isa
 dev/aic7xxx/ahc_pci.c		optional ahc pci \
 	compile-with "${NORMAL_C} ${NO_WCONSTANT_CONVERSION}"

Modified: head/sys/dev/aic7xxx/aic7770.c
==============================================================================
--- head/sys/dev/aic7xxx/aic7770.c	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/sys/dev/aic7xxx/aic7770.c	Thu Feb 16 21:57:19 2017	(r313836)
@@ -64,7 +64,7 @@ static int aic7770_suspend(struct ahc_so
 static int aic7770_resume(struct ahc_softc *ahc);
 static int aha2840_load_seeprom(struct ahc_softc *ahc);
 static ahc_device_setup_t ahc_aic7770_VL_setup;
-static ahc_device_setup_t ahc_aic7770_EISA_setup;
+static ahc_device_setup_t ahc_aic7770_EISA_setup;	/* Really just ISA */
 static ahc_device_setup_t ahc_aic7770_setup;
 
 struct aic7770_identity aic7770_ident_table[] =

Modified: head/sys/dev/aic7xxx/aic7xxx.h
==============================================================================
--- head/sys/dev/aic7xxx/aic7xxx.h	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/sys/dev/aic7xxx/aic7xxx.h	Thu Feb 16 21:57:19 2017	(r313836)
@@ -207,7 +207,7 @@ typedef enum {
 	AHC_AIC7892	= 0x000c,
 	AHC_AIC7899	= 0x000d,
 	AHC_VL		= 0x0100,	/* Bus type VL */
-	AHC_EISA	= 0x0200,	/* Bus type EISA */
+	AHC_EISA	= 0x0200,	/* Bus type EISA/ISA */
 	AHC_PCI		= 0x0400,	/* Bus type PCI */
 	AHC_BUS_MASK	= 0x0F00
 } ahc_chip;
@@ -1170,7 +1170,7 @@ struct ahc_pci_identity {
 extern struct ahc_pci_identity ahc_pci_ident_table[];
 extern const u_int ahc_num_pci_devs;
 
-/***************************** VL/EISA Declarations ***************************/
+/*************************** VL/EISA/ISA Declarations *************************/
 struct aic7770_identity {
 	uint32_t		 full_id;
 	uint32_t		 id_mask;
@@ -1197,7 +1197,7 @@ int			 ahc_pci_config(struct ahc_softc *
 					struct ahc_pci_identity *);
 int			 ahc_pci_test_register_access(struct ahc_softc *);
 
-/*************************** EISA/VL Front End ********************************/
+/*************************** ISA/EISA/VL Front End ****************************/
 struct aic7770_identity *aic7770_find_device(uint32_t);
 int			 aic7770_config(struct ahc_softc *ahc,
 					struct aic7770_identity *,

Modified: head/sys/dev/aic7xxx/aic7xxx_osm.h
==============================================================================
--- head/sys/dev/aic7xxx/aic7xxx_osm.h	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/sys/dev/aic7xxx/aic7xxx_osm.h	Thu Feb 16 21:57:19 2017	(r313836)
@@ -224,7 +224,7 @@ int ahc_pci_map_registers(struct ahc_sof
 #define ahc_pci_map_int ahc_map_int
 #endif /*AIC_PCI_CONFIG*/
 
-/******************************** VL/EISA *************************************/
+/******************************** VL/EISA/ISA *********************************/
 int aic7770_map_registers(struct ahc_softc *ahc, u_int port);
 static __inline int aic7770_map_int(struct ahc_softc *, int);
 
@@ -233,9 +233,9 @@ aic7770_map_int(struct ahc_softc *ahc, i
 {
 	/*
 	 * The IRQ is unused in the FreeBSD
-	 * implementation since the EISA and
-	 * ISA attachments register the IRQ
-	 * with newbus before the core is called.
+	 * implementation since the ISA attachment
+	 * registers the IRQ with newbus before
+	 * the core is called.
 	 */
 	return ahc_map_int(ahc);
 }

Modified: head/sys/modules/aic7xxx/ahc/Makefile
==============================================================================
--- head/sys/modules/aic7xxx/ahc/Makefile	Thu Feb 16 21:57:13 2017	(r313835)
+++ head/sys/modules/aic7xxx/ahc/Makefile	Thu Feb 16 21:57:19 2017	(r313836)
@@ -6,9 +6,6 @@ SYSDIR?=${.CURDIR}/../../..
 
 .PATH:	${SYSDIR}/dev/aic7xxx
 KMOD=	ahc
-.if ${MK_EISA} != "no"
-SUBDIR+= ahc_eisa
-.endif
 SUBDIR+= ahc_isa ahc_pci
 
 GENSRCS= aic7xxx_seq.h aic7xxx_reg.h



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