summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2009-02-06Split sti structures into rom-related information and screen-relatedMiod Vallat
information. This is preliminary work to help eventually supporting the dual-head ELK model. Also split the initialization code in several routines, this makes the code easier to read, and makes it easier to release resources upon failure. Finally, don't forget to clear the text planes on non-console displays when initializing.
2009-02-06The new font selection logic would loop and consume all kmem on promsMiod Vallat
with only one font (such as many 712 onboard graphics). Oops again (poukram).
2009-02-06Replace comparision between boolean expression result and an integerAlexander Yurchenko
that may confuse gcc with a simple boolean expression. ok reyk@
2009-02-04Do not use m_pullup() because it aligns the data to a word boundaryClaudio Jeker
resulting in unaligned IP headers (because it aligns the ethernet header). Found the hard way by landry@ on sparc64.
2009-02-01Save the text mode color palette upon startup, and restore it whenMiod Vallat
switching consoles or when X11 exits. Almost all other operating systems do this, and thus do not suffer from palette bugs in some X11 drivers. From FreeBSD.
2009-01-29``beginning'' is spelled with 2 `g' and 3 `n'.Miod Vallat
2009-01-29Oops, correct logic when requested font index is out of bounds. ThankfullyMiod Vallat
it's a can't happen situation.
2009-01-28Add support for next generation megaraid sas raid controllers.Marco Peereboom
From Jim Giannoules <gortag@gmail.com>
2009-01-28If the rom contains a monitor table, look for an entry matching ourMiod Vallat
display resolution, and if one is found, pick the built-in font it points to, instead of the first font from the list. If the index is wrong and the font list is shorter, revert to the previous behaviour of using the first ROM font. This fixes the font discrepency on my B132L (INTERNAL_EG_1280) where PDC would use the 10x20 font, which is third in the list, and OpenBSD would use the 8x16 font instead. Tested on byte- and word- roms, gsc and pci cards.
2009-01-27make drivers tell the mclgeti allocator what their maximum ring size isDavid Gwynne
to prevent the hwm growing beyond that. this allows the livelock mitigation to do something where the hwm used to grow beyond twice the rx rings size. ok kettenis@ claudio@
2009-01-26I changed the IEEE80211_QOS_ACK_POLICY_* definitions to be more in lineDamien Bergamini
with other net80211 flags (we no longer need to shift.)
2009-01-26Add some initial HT bits (not enabled yet) based on 802.11n Draft 7.01:Damien Bergamini
- implement A-MPDU frames buffering and reordering - implement A-MSDU decapsulation - process/send ADDBA Request, ADDBA Response and DELBA action frames - process Block Ack Request control frames (including MTBAR) - implement PBAC support (Protected Block Ack) - add some incomplete HT Capabilities and HT Operation IEs parsing Add more Management Frame Protection bits based on 802.11w Draft 7.0: - implement SA Query procedure (both AP and STA) - cleanup BIP Fix some bugs: - fix check for WEP key length that otherwise caused a stack smash in ieee80211_wep_encrypt (pointed out by Xavier Santolaria on macppc) - properly stop EAPOL timeout: fixes a panic that occured in HostAP mode when turning the interface down while a 4-way handshake is in progress (pointed out by Doughertys) Did some code cleanup too. The HT bits are currently not compiled in (IEEE80211_NO_HT is defined) because they won't be ready until after the next release and I didn't want to grow the kernel or to inadvertently introduce new bugs. They are here such that other people can look at the code. Notice that I had to add an extra parameter to ic_send_mgmt() for action frames, that is why there are small changes in drivers defining their own ic_send_mgmt() handler. Sorry for the not very incremental diff but this has been sitting in my tree for too long now.
2009-01-21Replace timeout_add(msecs * hz / 1000) with timeout_add_msec(msecs).Alexander Yurchenko
No functional changes. ok krw@ miod@
2009-01-18Put ccb back on free list if we bail out because we can't map theKenneth R Westerback
data buffer.
2009-01-18Don't lose ccb's if there are problems allocating the structures neededKenneth R Westerback
to issue a command.
2009-01-15const void foo() makes no sense. No binary change.Alexander Yurchenko
ok niklas@ otto@
2009-01-11Actual final round of timeout_add(to, n * hz) -> timeout_add_sec(to, n)Bret Lambert
conversions. ok kettenis@ ok krw@ (possibly for the second time :)
2009-01-07declare bwi_modtype enum before it is used in function prototypes.Jonathan Gray
2009-01-07Don't attempt to use gcc __builtin_abs, abs is not usedJonathan Gray
anywhere speed critical and the libkern one is perfectly fine.
2009-01-06- fix reading from E-FUSE ROM (some RT3070 adapters have an E-FUSE ROMDamien Bergamini
instead of an EEPROM.) - fix default LEDs and RF settings (when info is missing from EEPROM.) - gracefully stop Tx in run_stop().
2009-01-05- do TX radiotap later in run_tx() such that the duration field isDamien Bergamini
filled and that the IEEE80211_RADIOTAP_F_SHORTPRE flag is set properly. - fix set_chan() for RT3070. - add some crazy BBP/RF registers tweaks for RT3070 (mostly HW bugs workarounds extrapolated from the Ralink Linux driver.)
2008-12-29properly update RT2860_TX_RTS_CFGDamien Bergamini
2008-12-29move the 802.11 header out of the TXWI structure.Damien Bergamini
add some definitions for RT2870/RT3070.
2008-12-22I swapped MGETHDR arguments in my m_defrag removal commit.Damien Bergamini
2008-12-21Undo m_defrag().Damien Bergamini
m_defrag() does not work. It seems to assume that if the length of the mbuf passed as parameter is less than MHLEN, then it is an mbuf header and not a cluster (or something like that.) It thus fails miserably in the bcopy path. I don't have the time to investigate further into this. Thanks to Okan Demirmen for reporting the issue on a ral(4) RT2560. The RT2560 chipset does not support TX scatter and thus m_defrag() was called much more often than in other drivers using m_defrag() where it was less noticeable.
2008-12-15in rt2860_rx_intr(), rely on RT2860_FS_DRX_IDX instead of the RX_DMA DDONEDamien Bergamini
bit to know when to stop.
2008-12-14Switch gem(4) over to using MCLGETI when allocating mbufs for the rx ring.Mark Kettenis
help from dlg@, tested by a few, ok dlg@
2008-12-14Disable TX_DMA writing back DDONE into TXD.Damien Bergamini
Some micro-optimizations while I'm here.
2008-12-14- properly handle RT2860_TX_RX_COHERENT interrupts.Damien Bergamini
- update ic_dtim_count and make use of the new ieee80211_notify_dtim function. - add explicit barriers. - cleanup as usual.
2008-12-13use the hardware general-purpose timer interrupt instead of timeout(9).Damien Bergamini
clean up the ctl_ridx mess.
2008-12-13clear the WCID, pairwise keys, shared keys, IV/EIV tables in NIC memoryDamien Bergamini
*after* resetting the hardware. otherwise the tables contain garbage. should fix most of the weird issues people were facing. scary.
2008-12-12fix a bug that slipped through my last commit.Damien Bergamini
2008-12-12- fix HW crypto using group keys (this should fix the "ExtIV bit not set"Damien Bergamini
logged by some WPA supplicants when connecting to a ral(4) WPA AP.) - get rid of the ugly ack_rate, rate2mcs functions (pre-compute ACKs duration for all rates at node association time.) - lot of clean up, prepare for future enhancements
2008-12-10Replace m_free() with m_freem() in foo_start() to ensure that upon errorBrad Smith
the full mbuf chain is freed. ok claudio@ kettenis@
2008-11-30Add initial 8168D/8111D support.Brad Smith
2008-11-29Iain Hibbert (plunky@netbsd) removed clauses 3 and 4 from hisRay Lai
licenses as well. Thanks! "Groovy" deraadt
2008-11-28Eliminate the redundant bits of code for MTU and multicast handlingBrad Smith
from the individual drivers now that ether_ioctl() handles this. Shrinks the i386 kernels by.. RAMDISK - 2176 bytes RAMDISKB - 1504 bytes RAMDISKC - 736 bytes Tested by naddy@/okan@/sthen@/brad@/todd@/jmc@ and lots of users. Build tested on almost all archs by todd@/brad@ ok naddy@
2008-11-26Stop maintaining internal queues of received scsi_xfer structures.Kenneth R Westerback
We can now just push unwanted ones back up into the SCSI layer with NO_CCB like other drivers. "Please do so" deraadt@
2008-11-26Use m_defrag instead of collapsing mbufs ourselves.Mark Kettenis
ok dlg@
2008-11-26dont have bpf.h expose the kernel ticks variable wherever it is includeing.David Gwynne
it is very confusing like this. ok deraadt@ canacar@
2008-11-26Stop maintaining internal queues of received scsi_xfer structures.Kenneth R Westerback
We can now just push unwanted ones back up into the SCSI layer with NO_CCB like other drivers.
2008-11-26Stop maintaining internal queues of received scsi_xfer structures.Kenneth R Westerback
We can now just push unwanted ones back up into the SCSI layer with NO_CCB like other drivers.
2008-11-26Use bus_dmamap_load_mbuf instead of loading mbuf fragments ourselves, andMark Kettenis
use m_defrag to linearize packets that don't fit in 16 segments. ok claudio@
2008-11-25use shiny new m_defrag() and nitems() instead of rolling our own.Damien Bergamini
2008-11-25dontqueue is set but never used. garbage collect it.Kenneth R Westerback
2008-11-24die die dieTheo de Raadt
2008-11-24Return NO_CCB instead of TRY_AGAIN_LATER when ccb's run out.Kenneth R Westerback
"I'm all for it." marco@ "Yeah" deraadt@
2008-11-23pccom can finally die; ok kettenis dlg drahn, tested by okanTheo de Raadt
2008-11-23enable bioMarco Peereboom
ok dlg
2008-11-23sizeofa -> nitemsDavid Gwynne