Age | Commit message (Collapse) | Author | |
---|---|---|---|
2000-07-03 | From NetBSD: | Aaron Campbell | |
- Fix an incorrect interrupt sharing type. - Always clear PCIC_INTR_ENABLE; it doesn't do what one might think. - Eliminate stray interrupts during the IRQ probe. | |||
2000-06-28 | Make suspend -> eject card -> resume work. | Aaron Campbell | |
On suspend, the apm code calls each function in its powerhook list. This list contains pointers to functions that are to be executed on PWR_SUSPEND and PWR_RESUME. One of these functions is pcmcia_power() which calls xxx_activate() for each PC Card that is connected with the action DVACT_ACTIVATE (where xxx is the name of the driver for the PC Card). On resume, the same thing happens, except the action is DVACT_ACTIVATE. Clearly, if a card is gone when we resume, trying to activate it is a bad idea. This commit adds a pcic_power() function that runs before pcmcia_power(). On resume, it uses pcic_intr_socket() to detect any events that occurred while we were suspended. (I had to split pcic_event_thread() into a threaded part and a non-threaded part, since the thread will not run when we are in interrupt context, but I need the events to be processed before pcmcia_power() runs.) So, by the time pcic_power() is through, all events that occurred during suspend have been processed, and pcmcia_power() will not try to activate cards that are not there since they have already been completely and properly detached. Note that event handling for card removals first calls the deactivate functions on the card then the detach functions. When we suspend, apm does the deactivate for us. So on resume, if we detect a card has been removed, we skip the deactivation step and just detach. We use the DVF_ACTIVE bit to determine whether or not deactivation has already occurred. Deactivating a device that has already been deactivated causes a panic. | |||
2000-06-23 | Implement PCMCIA event polling. This will either complement interrupt-driven | Aaron Campbell | |
event notification from the pcic (if an interrupt is available) or allow the insertion and removal of PCMCIA devices even if there is no IRQ for the pcic. Each socket is checked for status change every 0.5 seconds using art's timeout code. Insertion and removal events should no longer ever go unnoticed. | |||
1999-08-11 | New pcmcia irq prober that really tries to ensure the irq will work | Niklas Hallqvist | |
1999-07-26 | shrink code, cleanup port printouts, repairs various comments | Theo de Raadt | |
1999-01-28 | Remove unused vars. | Federico G. Schwindt | |
1999-01-07 | Delayed irq allocation for pcic, gives pccard devices better chance of getting | Niklas Hallqvist | |
working interrupts on laptops where some are not wired to the pccard controller | |||
1999-01-01 | Don't print irq twice if it's defined in the config-file. | Federico G. Schwindt | |
1998-12-31 | Don't panic if the pcic irq is defined in the config-file. | Federico G. Schwindt | |
1998-12-31 | semantic change: prefer unshared intr, settle for level shared. this will ↵ | Theo de Raadt | |
still fail in some cases | |||
1998-12-27 | new priority mechanism for pcmcia interrupt allocation, ie. "best effort" | Theo de Raadt | |
for machines low on interrupts. work by fgsch, and myself | |||
1998-09-11 | ISA routines for the Intel 82365SL PCIC controllers. | Federico G. Schwindt | |