NetBSD Problem Report #10105

Received: (qmail 4386 invoked from network); 12 May 2000 18:19:58 -0000
Message-Id: <200005121819.OAA00457@zorkmid.mit.edu>
Date: Fri, 12 May 2000 14:19:54 -0400 (EDT)
From: John Hawkinson <jhawk@mit.edu>
Reply-To: jhawk@mit.edu
To: gnats-bugs@gnats.netbsd.org
Subject: pcic_isa_probe_interrupts() requires a card present?
X-Send-Pr-Version: 3.95

>Number:         10105
>Category:       port-i386
>Synopsis:       pcic_isa_probe_interrupts() requires a card present?
>Confidential:   no
>Severity:       serious
>Priority:       low
>Responsible:    port-i386-maintainer
>State:          open
>Class:          sw-bug
>Submitter-Id:   net
>Arrival-Date:   Fri May 12 18:20:00 +0000 2000
>Closed-Date:    
>Last-Modified:  Sun Jul 04 06:42:00 +0000 2004
>Originator:     John Hawkinson
>Release:        -current of 11 May 2000
>Organization:
	MIT
>Environment:

System: NetBSD zorkmid.mit.edu 1.4Y NetBSD 1.4Y (ZORKMID-$Revision: 1.6 $) #77: Fri May 12 12:36:08 EDT 2000 jhawk@zorkmid.mit.edu:/usr/local/current-src/sys/arch/i386/compile/ZORKMID i386


>Description:

	Boot a Sony VAIO Z505HE with no PC card installed, and observe
that the auto-irq probing code (pcic_isa_probe_interrupts()) fails to
find an IRQ for the pcic.

	Looking at the code, it seems like it is using card detection
interrupts in order to find an IRQ. If so, is it really expected to
ever work if there is no PC card installed? If not, then this seems
really broken; pcmcia should work fine even if no card is installed
at boot time.

>How-To-Repeat:

"Boot" means  "boot -d and set pcicsubr_debug to 1."

	Boot with no card:

pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff
pcic0: controller 0 (Intel 82365SL Revision 1) has socket A only
pcic0: controller 1 (Intel 82365SL Revision 1) has no sockets
pcic0: bus_space_alloc range 0x0400-0x0fff (probed)
pcmcia0 at pcic0 controller 0 socket 0
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2
biomask ef4d netmask ef4d ttymask ffcf
pcic0: controller 0 detecting irqs with mask 0xdeb8:
pcic: old intr 0x40
probing irq 3: ---------------------------------------- total 0
probing irq 4: currently allocated
probing irq 5: currently allocated
probing irq 7: currently allocated
probing irq 9: currently allocated
probing irq 10: ---------------------------------------- total 0
probing irq 11: ---------------------------------------- total 0
probing irq 12: currently allocated
probing irq 14: currently allocated
probing irq 15: ---------------------------------------- total 0

pcic0: no available irq; polling for socket events


	Boot with a wavelan card:
pcic0 at isa0 port 0x3e0-0x3e1 iomem 0xd0000-0xdffff
pcic0: controller 0 (Intel 82365SL Revision 1) has socket A only
pcic0: controller 1 (Intel 82365SL Revision 1) has no sockets
pcic0: bus_space_alloc range 0x0400-0x0fff (probed)
pcmcia0 at pcic0 controller 0 socket 0
isapnp0: no ISA Plug 'n Play devices found
apm0 at mainbus0: Power Management spec V1.2
biomask ef4d netmask ef4d ttymask ffcf
pcic0: controller 0 detecting irqs with mask 0xdeb8:
pcic: old intr 0x40
probing irq 3: ........................................ total 40
3 succeded
probing irq 4: currently allocated
probing irq 5: currently allocated
probing irq 7: currently allocated
probing irq 9: currently allocated
probing irq 10: ---------------------------------------- total 0
probing irq 11: ........................................ total 40
11 succeded
probing irq 12: currently allocated
probing irq 14: currently allocated
probing irq 15: ........................................ total 40
15 succeded

pcic0: using irq 3 for socket events



>Fix:
	I don't know. Presumably it's possible to fix the probe to
detect interrupts with out a card present.

	If not, perhaps the irq probe could be deferred until a card
is inserted? That sounds like it could get terribly ugly.

>Release-Note:
>Audit-Trail:

From: "Charles M. Hannum" <abuse@spamalicious.com>
To: gnats-bugs@netbsd.org
Cc:  
Subject: Re: port-i386/10105: pcic_isa_probe_interrupts() requires a card present?
Date: Sun, 4 Jul 2004 06:40:24 +0000

 Setting PCIC_CARD_DETECT_SW_INTR is supposed to put the chip in a special IRQ 
 probing mode that uses the card detect bits.  It's possible this is not 
 implemented on all chips.  (It's known to not work on the Cirrus PD67XX, for 
 example.)
>Unformatted:

NetBSD Home
NetBSD PR Database Search

(Contact us) $NetBSD: query-full-pr,v 1.39 2013/11/01 18:47:49 spz Exp $
$NetBSD: gnats_config.sh,v 1.8 2006/05/07 09:23:38 tsutsui Exp $
Copyright © 1994-2007 The NetBSD Foundation, Inc. ALL RIGHTS RESERVED.