Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 18 Dec 1997 15:28:14 -0800
From:      Ted Faber <faber@ISI.EDU>
To:        ambrisko@whistle.com, nate@mt.sri.com
Cc:        freebsd-mobile@FreeBSD.ORG
Message-ID:  <199712182328.PAA23547@tnt.isi.edu>

next in thread | raw e-mail | index | archive | help

Hi, guys.

Nate, here's a patch to -current that addresses the issue Doug raised
of CL-PD6832's that are initialized to odd ports and also allows users
to specify a port for their pcic other than the bios default port.
Right now, this added flexibility isn't worth much, because
/sys/pccard/pcic.c has its ports essentially hardwired at 0x3e0, but
it seems cleaner to me anyway.  It should provide a way for users with
chips initialized to standard CArdBus operation to switch to 16-bit
legacy mode.

Doug and I (mostly Doug, since I don't see the same problems in my
setup) are still poking around with his interrupts so there may be
some more fixes to come, but this seems solid (and works fine on my
box with PCIC_PCI_PORT defined or not (defining it to other than 0x3e0
boots, but the pcic driver doesn't find the chip).

Do we need to add PCIC_PCI_PORT to the LINT config and document it?

*** pcic_p.c.orig	Thu Dec 18 15:07:59 1997
--- pcic_p.c	Thu Dec 18 15:10:40 1997
***************
*** 135,140 ****
--- 135,149 ----
  	u_long bcr; 		/* to set interrupts */
  	u_short io_port;	/* the io_port to map this slot on */
  
+ #ifdef PCIC_PCI_PORT
+ 	/*
+ 	 * This allows builders to assign the I/O port to the legacy
+          * mode interface explicitly
+ 	 */
+ 	io_port = PCIC_PCI_PORT;
+ 	pci_conf_write(tag, CLPD6832_LEGACY_16BIT_IOADDR,
+ 	    io_port & ~PCI_MAP_IO);
+ #endif
  	/*
  	 * I think this should be a call to pci_map_port, but that
  	 * routine won't map regiaters above 0x28, and the register we






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