Subject: kern/4717: PCMCIA *_INTR_IRQ_VALIDMASK should be tweakable
To: None <gnats-bugs@gnats.netbsd.org>
From: None <Havard.Eidnes@runit.sintef.no>
List: netbsd-bugs
Date: 12/18/1997 13:25:08
>Number:         4717
>Category:       kern
>Synopsis:       PCMCIA *_INTR_IRQ_VALIDMASK should be tweakable
>Confidential:   no
>Severity:       non-critical
>Priority:       medium
>Responsible:    kern-bug-people (Kernel Bug People)
>State:          open
>Class:          change-request
>Submitter-Id:   net
>Arrival-Date:   Thu Dec 18 04:50:02 1997
>Last-Modified:
>Originator:     Havard Eidnes
>Organization:
	SINTEF RUNIT
>Release:        NetBSD-current 1997-12-14
>Environment:
System: NetBSD snylteveps.runit.sintef.no 1.3_BETA NetBSD 1.3_BETA (XPI) #5: Thu Dec 18 13:11:46 MET 1997 root@snylteveps.runit.sintef.no:/usr/src/sys/arch/i386/compile/XPI i386


>Description:
	On my laptop it appears impossible to make use of irq 5
	with the PC card stuff, both for the controller and for the
	cards themselves.  I have a vague suspicion that some other
	device is lurking at that IRQ, such as the audio hardware, but
	I don't have my reference material handy to check.  And, no,
	we don't have a driver for the audio hardware, it's an ESS16888
	or something like that.

>How-To-Repeat:
	Try to use the PC Card hardware on a Dell Latitude XPi/CD,
	observe that any PC Card hardware which gets irq 5 assigned
	appears to be dead.

>Fix:
	This fix permits the user to manually tweak the irq-valid
	masks both for the PC cards and for the PC card controller.
	It's entirely conceivable that a more user-friendly manner
	to configure this should exist.

*** /sys/dev/ic/i82365reg.h.dist	Fri Oct 17 20:36:45 1997
--- /sys/dev/ic/i82365reg.h	Thu Dec 18 12:54:17 1997
***************
*** 155,159 ****
--- 155,161 ----
  #define	PCIC_INTR_IRQ15				0x0F
  
+ #ifndef PCIC_INTR_IRQ_VALIDMASK
  #define	PCIC_INTR_IRQ_VALIDMASK			0xDEB8 /* 1101 1110 1011 1000 */
+ #endif
  
  #define	PCIC_CSC_INTR				0x05	/* RW */
***************
*** 182,186 ****
--- 184,190 ----
  #define	PCIC_CSC_INTR_RI_ENABLE			0x01	/* for I/O cards */
  
+ #ifndef PCIC_CSC_INTR_IRQ_VALIDMASK
  #define	PCIC_CSC_INTR_IRQ_VALIDMASK		0xDEB8 /* 1101 1110 1011 1000 */
+ #endif
  
  /* I/O registers */
>Audit-Trail:
>Unformatted: