summaryrefslogtreecommitdiff
path: root/sys/dev/isa
AgeCommit message (Collapse)Author
2015-11-20shuffle struct ifqueue so in flight mbufs are protected by a mutex.David Gwynne
the code is refactored so the IFQ macros call newly implemented ifq functions. the ifq code is split so each discipline (priq and hfsc in our case) is an opaque set of operations that the common ifq code can call. the common code does the locking, accounting (ifq_len manipulation), and freeing of the mbuf if the disciplines enqueue function rejects it. theyre kind of like bufqs in the block layer with their fifo and nscan disciplines. the new api also supports atomic switching of disciplines at runtime. the hfsc setup in pf_ioctl.c has been tweaked to build a complete hfsc_if structure which it attaches to the send queue in a single operation, rather than attaching to the interface up front and building up a list of queues. the send queue is now mutexed, which raises the expectation that packets can be enqueued or purged on one cpu while another cpu is dequeueing them in a driver for transmission. a lot of drivers use IFQ_POLL to peek at an mbuf and attempt to fit it on the ring before committing to it with a later IFQ_DEQUEUE operation. if the mbuf gets freed in between the POLL and DEQUEUE operations, fireworks will ensue. to avoid this, the ifq api introduces ifq_deq_begin, ifq_deq_rollback, and ifq_deq_commit. ifq_deq_begin allows a driver to take the ifq mutex and get a reference to the mbuf they wish to try and tx. if there's space, they can ifq_deq_commit it to remove the mbuf and release the mutex. if there's no space, ifq_deq_rollback simply releases the mutex. this api was developed to make updating the drivers using IFQ_POLL easy, instead of having to do significant semantic changes to avoid POLL that we cannot test on all the hardware. the common code has been tested pretty hard, and all the driver modifications are straightforward except for de(4). if that breaks it can be dealt with later. ok mpi@ jmatthew@
2015-10-29enable keyboard backlight led earlier to avoid raceJoerg Jung
2015-10-25refactor to use a taskq and postpone the long running initial sensor probing,Joerg Jung
also avoid excessive tsleep()s for updates within the sensor task, moreover this should fix some seldom seen 'comm collision' errors
2015-10-25arp_ifinit() is no longer needed and almost dead.Martin Pieuchot
2015-10-15avoid using a var uninitialisedJonathan Gray
ok jung@
2015-10-10add location to the fan descriptionJoerg Jung
2015-10-10fix wrong brackets in if statementJoerg Jung
2015-10-04tweak initial output a bit: do not show number of light sensors, just show ifJoerg Jung
some is found or not, also remove kbdled output as there is no (known) way to test if (not) available at all
2015-10-04a macmini has no light sensor, but reading from light sensor keys isJoerg Jung
successful, while info/type reading from same keys fails and avoids initialization; so check the validity flag earlier and do not try to attach invalid (non-existing) keys debugged with help from kettenis
2015-10-04remove duplicate key, found by kettenisJoerg Jung
2015-10-01relax vendor comparison to match variations found in olderJoerg Jung
models for example macmini1,1
2015-10-01add const, prodded by mpiJoerg Jung
2015-10-01remove superfluous sensor_attach() added for debug reasonsJoerg Jung
2015-10-01fix semicolon after if statementJonathan Gray
ok jung@
2015-09-30add a (disabled) driver for the Apple System Management Controller (SMC) asJoerg Jung
found in Apple Intel based devices "go at it" deraadt@
2015-09-11Make room for media types of the future. Extend the ifmedia word to 64 bits.Stefan Sperling
This changes numbers of the SIOCSIFMEDIA and SIOCGIFMEDIA ioctls and grows struct ifmediareq. Old ifconfig and dhclient binaries can still assign addresses, however the 'media' subcommand stops working. Recompiling ifconfig and dhclient with new headers before a reboot should not be necessary unless in very special circumstances where non-default media settings must be used to get link and console access is not available. There may be some MD fallout but that will be cleared up later. ok deraadt miod with help and suggestions from several sharks attending l2k15
2015-08-18Add missing trailing to error message:Stefan Sperling
pckbc0: unable to establish interrupt for irq 12pckbd0 at pckbc0 (kbd slot) ok miod@
2015-07-18Shuffle include file ordering in preparation for future changes in vgavar.h,Miod Vallat
which will have it depend upon wsdisplayvar.h.
2015-07-08MFREE(9) is dead, long live m_freem(9)!Martin Pieuchot
ok bluhm@, claudio@, dlg@
2015-06-25Cards with revision < 10 (qemu rev is 0), have no ad1848 chip andAlexandre Ratchov
don't attach the ad1848 driver. But the "malloc" method of gus_hw_if is ad1848_malloc() which assumes a ad1848 is attached (and expect the softc pointer to be a struct ad1848_softc, but get a gus_softc pointer instead). Implement, the missing gus_{malloc,free,mappage,...} routines. Add the missing mtx_{enter,leave} calls, as we're at it. Found by mlarkin. ok mlarkin
2015-06-25Reimplement the audio driver in a simpler way, removing unused/unusableAlexandre Ratchov
functionality. Same API and ABI except for the removed bits and no behaviour change for programs using libsndio. With help from armani@ and mpi@, thanks.
2015-06-24Increment if_ipackets in if_input().Martin Pieuchot
Note that pseudo-drivers not using if_input() are not affected by this conversion. ok mikeb@, kettenis@, claudio@, dlg@
2015-05-26More than 100+ drivers converted to if_input(), this is the last "real" one.Martin Pieuchot
ok dlg@
2015-05-25Initialize ipa_ndrq in isascan() too...Miod Vallat
2015-05-24Initialize ipa_nirq in isascan(). Gets rid of spurious irq locators beingMiod Vallat
printed for isadma(4).
2015-05-24Follow the recent pckbc@isa changes and always establish all the necessaryMiod Vallat
interrupts at pckbc attach time, and get rid of the `intr_establish' pckbc callback. Tested on hppa (gsckbc) and sgi (pckbc@hpc); not tested on sparc64 (pckbc@ebus) but this attachment was already behaving this way and its intr_establish callback was an empty function.
2015-05-21Establish interrupts for both keyboard and mouse slots at pckbc attach time,Miod Vallat
rather than lazily from pckbc when slots are discovered. This is consistent with what other isa devices (and pckbc on non-isa busses) do, and as a side effect, this makes the dmesg output shorter. This will also let us get rid of pckbc's intr_establish() callback in a later diff. Prompted by krw@ noticing ugly kernel output in a configuration with the mouse slot left empty. ok krw@ mpi@
2015-05-21Report all valid interrupt locators in isaprint() - although config(8) stanzasMiod Vallat
only allow one irq for isa devices, there is actually support for more since we got isapnp(4) support, and upcoming changes will actually have regular isa(4) devices claim more than one irq in their indirect match function.
2015-05-19Convert to if_input().Martin Pieuchot
ok dlg@
2015-05-13test mbuf pointers against NULL not 0Jonathan Gray
ok krw@ miod@
2015-05-12Remove references to (deleted) auconv.h and mulaw.h files. FixesAlexandre Ratchov
i386 build. Found by Mark Patruck <mark at wrapped.cx>, thanks!
2015-05-11Remove support for ADPCM encoding which isn't used nowadays andAlexandre Ratchov
not available to programs anyway.
2015-05-11Remove all audio format conversion code from the kernel (btw holdingAlexandre Ratchov
the kernel_lock), as we already do better conversions in user-mode. Yet, no need for every single driver to fiddle with the conversion code as they are done transparently by common MI code. With help from armani and miod, support from mpi ok armani@
2015-05-09Fix an occurance of mtx_enter() that should have been mtx_leave().Jonathan Gray
This line was originally an splx() before being converted to a mutex. ok ratchov@
2015-05-08Fix the indentation. While originally I thought this was an if statementJonathan Gray
with missing braces ratchov checked the specs to see the current behaviour is correct, just poorly formatted. ok ratchov@
2015-05-04Print irq informations in pckbc_set_inputhandler().Martin Pieuchot
ok miod@
2015-03-14Remove some includes include-what-you-use claims don'tJonathan Gray
have any direct symbols used. Tested for indirect use by compiling amd64/i386/sparc64 kernels. ok tedu@ deraadt@
2015-02-10Trivial conversion to uiomove()Miod Vallat
2015-02-10First step towards making uiomove() take a size_t size argument:Miod Vallat
- rename uiomove() to uiomovei() and update all its users. - introduce uiomove(), which is similar to uiomovei() but with a size_t. - rewrite uiomovei() as an uiomove() wrapper. ok kettenis@
2015-01-02Identify NCT5104D variant in dmesg. (No lm here, these are used for com andChris Cappuccio
gpio pins on SuperMicro and PC Engines.) ok kettenis@
2015-01-02there's no need to defer the removal of the iic sensors to a task, we canDavid Gwynne
just remove them directly. tested by krw@
2014-12-22unifdef INETTed Unangst
2014-12-19Use taskq rather than workq to remove unwanted alias.Kenneth R Westerback
ok mikeb kettenis (for earlier version)
2014-12-17Prefer MADV_* over POSIX_MADV_* in kernel for consistency: the latterPhilip Guenther
doesn't have all the values and therefore can't be used everywhere. ok deraadt@ kettenis@
2014-12-15Use MAP_INHERIT_* for the 'inh' argument to the UMV_MAPFLAG() macro,Philip Guenther
eliminating the must-be-kept-in-sync UVM_INH_* macros ok deraadt@ tedu@
2014-12-11Do not blindly dereference hw_vendor and hw_prod without checking them forMiod Vallat
NULL first, for they are not guaranteed to be allocated. Found the hard way by Tobias Stoeckmann; ok deraadt@
2014-12-10Convert watchdog(4) devices to use autoconf(9) framework.Mike Belopuhov
ok deraadt, tests on glxpcib and ok mpi
2014-12-10Add skgpio(4) a driver for the Soekris net6501 GPIO and LEDsJonathan Gray
from Matt Dainty.
2014-12-04as promised 18 years ago, consolidate isa floppy disks in files.isaTed Unangst
ok deraadt
2014-12-03More duplicate #include cleanout.Kenneth R Westerback
ok deraadt@ tedu@