summaryrefslogtreecommitdiff
path: root/sys/dev/ic
AgeCommit message (Collapse)Author
2010-02-19Add a datasheet URL for reference.Miod Vallat
2010-02-19Add a driver for the M41T8x time-of-day clock chips, such as the M41T83Miod Vallat
found on the Gdium Liberty. These machines finally no longer complain about a missing todclock.
2010-02-18fix a few capitalizations of QLogic.Igor Sobrado
2010-02-18improve startup messages displayed by isp(4) in such a way entriesIgor Sobrado
printed by this driver in dmesg are more standard (and short); while here, fix the capitalization of QLogic. ok krw@
2010-02-17Make sure we claim the interrupt as ours if the time out bit is set in theMark Kettenis
interrupt status register. Fixes a problem with spurious interrupts on the fuloong. ok miod@
2010-02-16fix AR_DTIM_PERIODDamien Bergamini
2010-02-15Properly detect when the band changes from 2GHz to 5GHz andDamien Bergamini
vice-versa, and do a full reset of the chip when it happens. This does not affect the AR9280 since a full reset is always necessary when the channel changes. Should fix dual-band AR5416 devices (problem reported by Rivo Nurges).
2010-02-15- handle SIOCS80211CHANNEL in monitor mode without doing a full resetDamien Bergamini
- call athn_set_multi on SIOCADDMULTI/SIOCDELMULTI
2010-02-14The ASIC does not like PCI bursts on registers because of a silicon bug.Damien Bergamini
To prevent PCI read or write bursts, we issue a read to a non-contiguous register before accessing a register. This problem does not show up on the x86 architecture since the memory model makes it almost impossible to generate PCI bursts without doing DMA. This bug is "documented" in the Ralink Linux driver as: "//Patch for ASIC turst read/write bug, needs to remove after metel fix" This fix makes the RT2561S chip on the Gdium (loongson) work. It fails to load the firmware without it. Tested by miod@ of the Gdium (slightly different diff though)
2010-02-08add the 10us sifs directly to the pre-computed ack durations.Damien Bergamini
2010-02-08s/RT2860_MCU_CMD_BOOT/RT2860_MCU_CMD_RFRESET/Damien Bergamini
no binary change.
2010-02-07HT is not enable so skip this.Damien Bergamini
2010-02-07set default value for BBP R106Damien Bergamini
2010-02-07read vendor RF settings for >=RT3572 and tx mixer gains for >=RT3070Damien Bergamini
check if we have a hardware RF switch and if we must patch the DAC issue too.
2010-02-07use new mcu command to select the antenna on RT2020Damien Bergamini
requires the new firmware
2010-02-07add rf init values for rt3572Damien Bergamini
add settings for 5GHz channels (rt3572 only)
2010-02-07add channels 167, 169, 171, 173 for dual-band devicesDamien Bergamini
2010-01-27change the MRR pattern from 1/1/1/1 to 2/2/2/4Damien Bergamini
2010-01-20Remove horrible hack in ahc/ahd that made some commands retryKenneth R Westerback
endlessly. Use the shiny new XS_NO_CCB instead to retry commands that can't start. Neither dlg@ nor I can figure out why 4.6 and earlier worked. Problem noted, debugged with and fix tested by Jeff Ross and his new external enclosure. Thanks! ok dlg@
2010-01-13Remove a few more settings of ITSDONE in drivers. Only a coupleKenneth R Westerback
more to go. Should be a no-op.
2010-01-12Fix for a legacy free PC, where the keyboard controller doesn't behave.Dale Rahn
Clues on how to fix it from miod. ok miod@, Sure deraadt@
2010-01-11rework the polling code to use the semantic krw@ proposed.David Gwynne
intercept the ccb_done handling so polled commands set a flag that mpi_poll tests on. when ccb_done sets the variable, the poll loop breaks and mpi_poll runs the original ccb_done handler for the ccb completion. this is a lot simpler than the previous implementation and removes a mutex. ok beck@
2010-01-10A couple of missed ITSDONE setting before scsi_done().Kenneth R Westerback
seagate/trm/aha1742 were the only drivers paranoid enough to check ITSDONE on getting the xs to execute. And optimistic enough to think simply restting the flag would be a good thing. Have them chill out like everyone else, reducing ITSDONE noise some more.
2010-01-10Set ITSDONE in scsi_done() and zap trivial instances of setting itKenneth R Westerback
in the drivers just before calling scsi_done(). ok dlg@ beck@
2010-01-09Zap all setting of ITSDONE in drivers that don't look at it. NobodyKenneth R Westerback
else cares so it's just noise. Drivers that actually look at ITSDONE are unchanged. ok marco@ (for his files) dlg@ beck@
2010-01-09Avoid mulitple calls to scsi_done() on the same xs by havingKenneth R Westerback
ciss_cmd() call scsi_done() in the one case where ciss_done() was not calling ciss_done() before erroring out, and not calling scsi_done() after ciss_cmd() errors out. Okan's box can now boot. And work fine afterwards. Tested by okan@. ok dlg@ beck@
2010-01-07dont use the xs in the scsi_cmd routines after calling ciss_cmd, it mightDavid Gwynne
have been completed. the xs was used to figure out if we should return COMPLETED or SUCCESFULLY_QUEUED. the return value doesnt mean anything anymore, so just return COMPLETE.
2010-01-07CISS_UNLOCK before returning from the scsi_cmd handler when we hit NO_CCB.David Gwynne
this should solve problems like this: WARNING: SPL NOT LOWERED ON SYSCALL 16384 8 EXIT dae4560 6 Stopped at Xsyscall+0x1eb: movl $0,%gs:0x3d4 ddb{3}>
2010-01-04rename ccb_xs to ccb_cookie and change its type from a scsi_xfer * to aDavid Gwynne
void *. this lets us pass things other than scsi_xfers to ccb completion handlers.
2010-01-04protect the ccb free queue with a mutex rather than splbioDavid Gwynne
2010-01-04Add a few missing scsi_done()'s before returning COMPLETE. AlsoKenneth R Westerback
return COMPLETE and not CMD_COMPLETE in one case. Tested by kettenis@ and myself on Blade1000's. ok dlg@
2010-01-03change M_WAITOK --> M_WAITOK|M_CANFAILCharles Longeau
with input from marco@ ok marco@ krw@ this was ok looooooooong time ago but lost in my mailbox
2010-01-03oops, get the order of args right for the header request inDavid Gwynne
mpi_bio_get_pg0_raid. the sensor updates dont poll at all now.
2010-01-03mpi_bio_get_pg0_raid is only called from a process context. let the cfgDavid Gwynne
requests sleep rather than poll for completion.
2010-01-03oops, forgot to set the ccb_cookie in mpi_wait. mpi_wait_done would faultDavid Gwynne
when it used the uninitialized cookie.
2010-01-03get rid of the last internal user of splbio. waiting for the completion ofDavid Gwynne
a ccb can now be done with mpi_wait. this switches the cfg page handlers over from their own tsleep stuff to mpi_wait.
2010-01-03rename ccb_xs to ccb_cookie, and switch it from a struct scsi_xfer * to aDavid Gwynne
void *. this will let me stash things other than scsi xfers in the ccb for ccb_done handlers to use.
2010-01-03dont leak a ccb if we fail to get a reply in portenableDavid Gwynne
2010-01-03when getting a reply from the hw, only sync the dmamem for that one replyDavid Gwynne
rather than all the replies.
2010-01-03switch mpi from using splbio to protect itself over to mutexes.David Gwynne
mpi only needs two mutexes, one for the list of free ccbs, and another to protect the reply doorbell. the latter is necessary to allow polling for command completion to work in smp systems. tested on sas and fc hbas. this diff was written over 2 years ago now with surprisingly few tweaks to handle changes that have occurred since then.
2009-12-30remove dead assignments and newly created unused variables.Charles Longeau
found by LLVM/Clang Static Analyzer. ok claudio@ mglocker@
2009-12-22rewrite promiscuous mode and multicast handling; from BradChristian Weisgerber
2009-12-21Some cleaning for the rl(4) driver:Christian Weisgerber
- ANSI - KNF - remove the use of register from Brad
2009-12-17Initialize ccb_xs to NULL when taking a ccb off the free list. ThisKenneth R Westerback
prevents calling xs->done() for internal commands that don't have an xs associated with them. In turn, this prevents crashes when calling ciss_sync(), e.g. when rebooting. Reported on misc@ by Peter Huncar. Prodded by kettenis@, halex@ and johan@. Fix tested by halex@.
2009-12-15- instead of rolling a macro that is functional equivalent to nitems(),Jasper Lievisse Adriaanse
just use nitems(). (this leaves NENTS() alone for now) ok deraadt@ krw@
2009-12-13Cleanup promiscuous mode and multicast handling. From Brad.Mark Kettenis
2009-12-11Fill out the pdq_cmd_info table to 18 elements, despite many ofPhilip Guenthe
them being stub entries, by using macros YES() and NO() to select, for each entry, whether a real one or a stub is generated. Found by parfait and analyzed by oga. ok deraadt@, oga@
2009-12-10fix a theoretical (but not possible) array bound overflow.Owain Ainsworth
since we will always match on a rate, we won't overflow, but in that case, make it more obvious by if the first 11 rates don't match, we assume the 12th. should shut up parfait. ok damien@ who came up with an identical diff.
2009-12-10remove dead assignment and newly created unused variable.Charles Longeau
Found by LLVM/Clang Static Analyzer. ok dlg@ marco@
2009-12-10remove dead assignment and newly created unused variable.Charles Longeau
Found by LLVM/Clang Static Analyzer. ok krw@ marco@