summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2009-04-04scrub more fields in the ccb when returning them to the free list afterDavid Gwynne
theyve been used, in particular the mfi header flags which has a bit that specifies if a command should be completed via the interrupt path. if we use a ccb during boot we set that bit, but it isnt necessarily cleared by things that use it later on. this means a ccb we expected to complete via an interrupt never actually generates an interrupt or appears in the reply queue. this obviously stalls the io.
2009-03-31On watchdog timeout reset the full chip. Just draining the tx ring is notClaudio Jeker
enough to get the device unstuck. OK mglocker@
2009-03-29make various strings ("can't map mem space" and similar) more consistentStuart Henderson
between instances, saving space in the kernel. feedback from many (some incorporated, some left for future work). ok deraadt, kettenis, "why not" miod.
2009-03-29spelloMarco Peereboom
2009-03-29Remove unused prototype.Mark Kettenis
2009-03-29when we steal the SYNC CACHE command in mfi_scsi_cmd we still have toDavid Gwynne
mark the xs as done and call scsi_done for it rather than just returning COMPLETE.
2009-03-29fix a small race in mfi_mgmt between the checking of a ccbs completion andDavid Gwynne
the sleep waiting for the completion. it is possible to get the interrupt completing the command just before the tsleep, which will never get a wakeup because the interrupt with the wakeup has already happened.
2009-03-22Add workaround for RX MAC/FIFO hangs on ERI. Tested by matthieu@ and naddy@.Mark Kettenis
ok dlg@
2009-03-20Unconditionally drain the RX ring when stpping the chip.Mark Kettenis
ok dlg@, jsg@
2009-03-11Do more error checking in acx(4).Stefan Sperling
"If it works for you, commit it. The diff looks right." claudio@ "Seems to work here with ACX111 CardBus" jsg@
2009-03-09Do not start printing device info before attachment succeeded.Stefan Sperling
ok claudio@
2009-03-08Move more z8536 defines from MVME188 specific code to the MI header and use it.Miod Vallat
2009-03-07No need to spam log with 'unable to alloc CCB' messages now thatKenneth R Westerback
NO_CCB is in place and the I/O is retried rather than discarded. So move the message inside a #ifdef CAC_DEBUG. Noticed by jbg@.
2009-03-07Make sure the scsi_xfer timeout is set up before the command may complete;Miod Vallat
similar fix to osiop.
2009-03-06Add a few more cpu types from freebsd driver found on serveraid-8k board.Alexander Yurchenko
Tested by apelsin. ok deraadt@
2009-03-06Bring NO_CCB to mpi.Kenneth R Westerback
ok marco@
2009-03-05Bump bus space size limit to fit all possible registers of the roketAlexander Yurchenko
chipset. ok deraadt@
2009-03-03Make sure the scsi_xfer timeout is triggered while the command is still alive.Miod Vallat
With the current code, a fast command could complete between splx and the timeout being triggered, we'd then happily return COMPLETE, reuse the scsi_xfer, schedule the timeout again, causing a nice cycle in the timeout wheels. (I know, I know, I have to inspect all other scsi drivers now, but I'm really tired after spending three hours on this)
2009-02-26If acx_attach() fails, print the reason why it is failing.Stefan Sperling
Amendment to fix for PR6089. Patch by mglocker@ "good night guys!" mglocker@, "hurry up" deraadt@
2009-02-20Bring NO_CCB to cac(4), which helps bio work better withoutKenneth R Westerback
generating worrying error messages. Or possibly losing i/o's. tested by jbg@ ok deraadt@
2009-02-16Extend the scsi_adapter minphys() callback to take a struct scsi_link *Miod Vallat
as additional argument. This will allow intermediate layers between scsi devices such as sd and scsi host adapters to take appropriate action if necessary.
2009-02-15change M_WAITOK --> M_WAITOK | M_CANFAILCharles Longeau
with help from miod@ ok miod@ oga@
2009-02-13missing braces; ok marcoStuart Henderson
2009-02-12don't access undocumented register 0x82 for <= MAC06, since newerMartynas Venckus
realteks start to behave badly if we do. this should fix the widely reported re(4) issue. makes my RTL8101E usable, fixes Thomas' RTL8168C, and PR6023. tested by many this is a more conservative version of my diff from kettenis@ (does not clear PHY register 0x0b) ok kettenis@
2009-02-07Unifdef __OpenBSD__, these defines don't help us to sync with NetBSDAlexander Yurchenko
anymore but make reading the code harder. ok sthen@ miod@ krw@
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.