summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2002-01-08SIOCSIFMTU support; patches by Claudio Castiglia <ccastig@softhome.net>Federico G. Schwindt
2002-01-07pass the proc* down the ioctl chain to controller; mjacob@ csapuntz@ okMichael Shalayeff
2002-01-07use flags instead of options to choose the tea5757 vs tea5759.Michael Shalayeff
from Vladimir Popov <jumbo@narod.ru>
2002-01-02proper data length handling on read; from toby@svector.co.ukMichael Shalayeff
2001-12-31missing nl, from art@Michael Shalayeff
2001-12-21increase the timeout 10x, it seems some cards cannot keep up w/ our paceMichael Shalayeff
2001-12-20for mimi-pci cards registers are word in a dword, missed that in bringing ↵Michael Shalayeff
over support from netbsd; partially successfully tested by ellidz@eridu.uchicago.edu
2001-12-17Initialize variable before use. ok fgs@Thomas Nordin
2001-12-17be more accurate in enabling variable rate bitsMichael Shalayeff
2001-12-15Disestablish the powerhook on detach. ok jason@Thomas Nordin
2001-12-14$OpenBSD$Dale Rahn
2001-12-14Major restructuring for swizzling to the request queue and unswizzling frommjacob
the response queue. Instead of the ad hoc ISP_SWIZZLE_REQUEST, we now have a complete set of inline functions in isp_inline.h. Each platform is responsible for providing just one of a set of ISP_IOX_{GET,PUT}{8,16,32} macros. The reason this needs to be done is that we need to have a single set of functions that will work correctly on multiple architectures for both little and big endian machines. It also needs to work correctly in the case that we have the request or response queues in memory that has to be treated specially (e.g., have ddi_dma_sync called on it for Solaris after we update it or before we read from it). One thing that falls out of this is that we no longer build requests in the request queue itself. Instead, we build the request locally (e.g., on the stack) and then as part of the swizzling operation, copy it to the request queue entry we've allocated. I thought long and hard about whether this was too expensive a change to make as it in a lot of cases requires an extra copy. On balance, the flexbility is worth it. With any luck, the entry that we build locally stays in a processor writeback cache (after all, it's only 64 bytes) so that the cost of actually flushing it to the memory area that is the shared queue with the PCI device is not all that expensive. We may examine this again and try to get clever in the future to try and avoid copies. Another change that falls out of this is that MEMORYBARRIER should be taken a lot more seriously. The macro ISP_ADD_REQUEST does a MEMORYBARRIER on the entry being added. But there had been many other places this had been missing. It's now very important that it be done. For OpenSD, it does a ddi_dmamap_sync as appropriate. This gets us out of the explicit ddi_dmamap_sync on the whole response queue that we did for SBus cards at each interrupt. Now, because SBus/sparc doesn't use bus_dma, some shenanigans were done to support this. But Jason was nice enough to test the SBus/sparcv9 changes for me, and they did the right thing as well. Set things up so that platforms that cannot have an SBus don't get a lot of the SBus code checks (dead coded out). Additional changes: Fix a longstanding buglet of sorts. When we get an entry via isp_getrqentry, the iptr value that gets returned is the value we intend to eventually plug into the ISP registers as the entry *one past* the last one we've written- *not* the current entry we're updating. All along we've been calling sync functions on the wrong index value. Argh. The 'fix' here is to rename all 'iptr' variables as 'nxti' to remember that this is the 'next' pointer- not the current pointer. Devote a single bit to mboxbsy- and set aside bits for output mbox registers that we need to pick up- we can have at least one command which does not have any defined output registers (MBOX_EXECUTE_FIRMWARE). Explicitly decode GetAllNext SNS Response back *as* a GetAllNext response. Otherwise, we won't unswizzle it correctly. Nuke some additional __P macros.
2001-12-13Fix old alpha bug recently triggered by conversion to busdma.Nathan Binkert
2001-12-13changes to work with 32bit platforms and get ethernet address on powerpc.Dale Rahn
Inspired by NetBSD.
2001-12-13Initialize variable before use. ok fgs@Thomas Nordin
2001-12-12disable debugging, pointed out by brad@Michael Shalayeff
2001-12-12usmoke some scsi drugs, a little bitMichael Shalayeff
2001-12-08Go ahead and fix the xircom filter setup to work on big endian too ↵Jason Wright
(untested, but it's pretty similiar to the tested 21143 case).
2001-12-08use htole32() on the data going into the setup frame for the ↵Jason Wright
dc_setfilt_21143() case at least. XXX I'm looking at the other filter setups and they appear to need work for BE too.
2001-12-08Sprinkle pmap_update calls where relevant and some otherArtur Grabowski
misc pmap usage fixes.
2001-12-06add bus_dmamap_sync()'s on the descriptors tooJason Wright
(with all this, my Netra X1 is up and running with an NFS root)
2001-12-06a few more bus_dmamap_sync()'s and some borrowed setup frame macros from ↵Jason Wright
NetBSD, and RX works on sparc64.
2001-12-06enough bus_dmamap_sync() and htole()/letoh() to get TX working on sparc64.Jason Wright
ALso, get the MAC address from myetheraddr() instead of trying to use the eeprom on sparc64.
2001-12-06vtophys, R.I.P. (tx now uses bus_dma)Jason Wright
2001-12-06move rx handling over to bus_dma... that just leaves one vtophys() in tx.Jason Wright
2001-12-06update the radio chipset supportMichael Shalayeff
2001-12-06clear all inrterrupts separately and before enabling any.Michael Shalayeff
this prevents stray interrupts and sometimes hangs, caused by looping on stray unmapped interrupt.
2001-12-06move the setup buffer and pad into a bus_dma alloced areaJason Wright
(current score: 2 vtophys calls to go...)
2001-12-06Checkpoint bus_dma work in progress:Jason Wright
- descriptor lists are now bus_dma allocated and manipulated (for those keeping score: 6 vtophys dead, 4 to go)
2001-12-02bzero the waa and not ready yet for the consoleMichael Shalayeff
2001-12-01fix realtek codec ids. fxi codec id decode -- from krw@Michael Shalayeff
2001-11-15Compile with AHC_DEBUGHakan Olsson
2001-11-11Remove local defines for SCSI status codes and use those nowKenneth R Westerback
defined in scsi_all.h.
2001-11-06Replace inclusion of <vm/foo.h> with the correct <uvm/bar.h> when necessary.Miod Vallat
(Look ma, I might have broken the tree)
2001-11-05Switch everything to the new bus_dmamap_sync API.Artur Grabowski
Most work by Wilbern Cobb <vedge@csoft.org> with some fixes from me, mickey@ and drahn@.
2001-11-05needs rndvar.hMichael Shalayeff
2001-11-02new fw needs more space in an_ltv_status; from Gabriel Kihlman <gk@univits.se>Michael Shalayeff
2001-10-30From NetBSD: add __packed__ attribute to hardware structure thatKenneth R Westerback
lacked it (scr_table). Also remove scr_table_t typedef and just use 'struct scr_table' to be consistant with all other structures.
2001-10-28define caps bits, for later useMichael Shalayeff
2001-10-28it appears that some non-vra compatible codecs implement partMichael Shalayeff
of vra protocol by rounding all rates to 48kHz, but some return 0. fix this by reporting 48kHz for all codecs w/o vra. problem (finally) identified by hunter@dg.net.ua, diff by me. also, while here a/AC97_SOUND_ENHANCEMENT/AC97_CAPS_ENHANCEMENT/ .
2001-10-26Allocate an appropriate number of cbd's for each discovered LUNKenneth R Westerback
at probe time, rather than allocating them dynamically as SCSI commands are started. This should eliminate one possible way of calling bus_dmamem_map() while in interrupt context. Potential problem spotted by Art@. Inspired by changes to achieve same effect in NetBSD by bouyer@.
2001-10-25implement "the other" pci interface for wavelans, found on intersilMichael Shalayeff
mini-pci cards. inspired by the netbsd's if_wi_pci.c . rename WI_COR_* into WI_PLX_COR_*, per millert@'s suggestion. tested by millert@ for the plx-based cards.
2001-10-25add prism2.5 mini-pci nic idMichael Shalayeff
2001-10-24Protect against deranged fabric name servers.mjacob
Correct the # of output mailboxes for EXECUTE IOCB A64. Comment out some redundant initialization to zero. If we get ISP_QUEUES_FULL status, remember to actually set SCSI_QFULL since the QLogic f/w, on some cards, doesn't do so. Grumble.
2001-10-24keep up with the joneses (track other OS)mjacob
2001-10-24cleanup, such as spaces and dangling return;sMichael Shalayeff
2001-10-24replace strings w/ defined names, missing initializer for pcbeep and split ↵Michael Shalayeff
tone into bass/treble
2001-10-24do not #ifdef ANCACHE stuff makes softc constant; pointed out by ↵Michael Shalayeff
dima@m3d.dhs.org; fix by me
2001-10-24add several more codecs, from elsaMichael Shalayeff
2001-10-18solve numerous problems:Michael Shalayeff
- free up ccb before calling scsi_done; - remove bogus tsleep/wakeup ccb availability mechanism; - fix an off by one size reporting in read_capacity. huge 10x to Alan Jones <RAJones@teklinks.com> and teklinks for providing a testbed and his time for testing. tests sustained 34 simultaneous tar zxvp at ldav of 76. however 36 simultaneous bonnies hang the machine, possibly for different reasons though. regardless, this fixed version passes an installation alright.