Date: Sun, 07 Jan 2001 09:48:29 -0700 From: Warner Losh <imp@harmony.village.org> To: "Justin T. Gibbs" <gibbs@scsiguy.com> Cc: Peter Wemm <peter@netplex.com.au>, Jonathan Chen <jon@spock.org>, freebsd-mobile@FreeBSD.ORG Subject: Re: NEWCARD update Message-ID: <200101071648.f07GmTs31894@harmony.village.org> In-Reply-To: Your message of "Sun, 07 Jan 2001 09:25:14 MST." <200101071625.f07GPEs61330@aslan.scsiguy.com> References: <200101071625.f07GPEs61330@aslan.scsiguy.com>
next in thread | previous in thread | raw e-mail | index | archive | help
In message <200101071625.f07GPEs61330@aslan.scsiguy.com> "Justin T. Gibbs" writes: : Is there anyway to know if you have the connection? The only reason : I think this might be interesting is to provide modem cards with : a unique IRQ so they can use fast interrupt handlers. No. There's no reliable way of knowing. At least none that I've seen to date. I haven't probed this issue, but I am leery to try to probe for this sort of thing since probing interrupts can lead to machine lockups. Also, you run into issues of "can I use this interrupt on this machine" when you are allocating them. The current bus space code does a good job of preventing the wrong interrupts from being assigned. However, there are still issues with probe order and PnP devices having IRQs staked out. I think those issues would only apply to the managment IRQ, since we do all probe/attaching of the card after the PnP cards have probed/attached (or pseudo attached). : pccards going through a cardbus bridge should be able to share : interrupts so long as their drivers are smart enough to guard : against "stray interrups". This could be as simple as asking the : bridge if the interrupt is for the card manually or better yet, : registering a proxy interrupt handler on behalf of the child that : only dispatches to the child if the interrupt bit for that slot is : set. You need to be careful when checking the bridge interrupt status for the card status to make sure that you don't introduce a race. It is better for the card's driver to deal with stray interrupts. Also, I don't recall if the cardbus bridge can be asked if there's an interrupt pending for me in the non-multi-function card case. I see that one can read the status of the #IREQ/#CINT line, but I don't know if that translates to the actual interrupt status of the card or not in all cases (I'd have to look at the standard/mind share books to find out what cards do in pulse interrupt mode). Warner To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-mobile" in the body of the message
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101071648.f07GmTs31894>