summaryrefslogtreecommitdiffstats
path: root/sys/dev/aic7xxx
Commit message (Collapse)AuthorAgeFilesLines
* In sys/dev/aic7xxx/aic79xx_osm.c, function ahd_attach(), initialize thedim2012-08-061-0/+1
| | | | | | | | 'path' variable to NULL, to avoid using it uninitialized in certain cases. Found by: clang MFC after: 1 week
* Remove variables which are initialized but never used thereaftereadler2012-08-051-3/+0
| | | | | | | | reported by gcc46 warning Reviewed by: scottl Approved by: cperciva MFC after: 1 week
* Fix an issue that caused the kernel to panic inside CTL when tryingken2012-06-264-18/+16
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | to attach to target capable HBAs that implement the old immediate notify (XPT_IMMED_NOTIFY) and notify acknowledge (XPT_NOTIFY_ACK) CCBs. The new API has been in place since SVN change 196008 in 2009. The solution is two-fold: fix CTL to handle the responses from the HBAs, and convert the HBA drivers in question to use the new API. These drivers have not been tested with CTL, so how well they will interoperate with CTL is unknown. scsi_target.c: Update the userland target example code to use the new immediate notify API. scsi_ctl.c: Detect when an immediate notify CCB is returned with CAM_REQ_INVALID or CAM_PROVIDE_FAIL status, and just free it. Fix a duplicate assignment. aic79xx.c, aic79xx_osm.c: Update the aic79xx driver to use the new API. Target mode is not enabled on for this driver, so the changes will have no practical effect. aic7xxx.c, aic7xxx_osm.c: Update the aic7xxx driver to use the new API. sbp_targ.c: Update the firewire target code to work with the new API. mpt_cam.c: Update the mpt(4) driver to work with the new API. Target mode is only enabled for Fibre Channel mpt(4) devices. MFC after: 3 days
* Fix build of aicasm when CC=clang. This was due to a side-effect of thedim2012-06-041-2/+1
| | | | | | | | | | EARLY_BUILD macro: the -Qunused-arguments flag isn't passed anymore when building this particular program. However, with clang 3.1 and -Werror, such unused argument warnings are flagged as errors, causing buildkernel to fail at this stage, due to the -nostdinc flag passed during linking. Since the -nostdinc flag isn't actually needed, just remove it. X-MFC-With: r236528
* Make aicasm compile without warnings if -Wpointer-sign is enabled.dim2012-06-041-1/+1
| | | | MFC after: 3 days
* Follow non-BSD case when GNU/Hurd is detected.rmh2012-03-251-1/+1
|
* Remove comments about creating DMA tags as children of the DMA tags of theirjmallett2012-03-124-4/+0
| | | | | | parent bus where the code has now been modified to do so. Reviewed by: scottl
* Add "%option noinput" to aicasm_scan.l and aicasm_macro_scan.l, so nodim2011-12-162-0/+4
| | | | | | | unneeded input functions will be emitted. Spotted by: arundel MFC after: 1 week
* Improve portability #defines for compiling aicasm on other systems.emaste2011-07-158-31/+5
| | | | | Submitted by: Robert Millan rmh debian.org Obtained from: Debian GNU/kFreeBSD
* Remove support for the Intel C Compiler from the build infrastructure.dim2011-04-191-5/+0
| | | | | | This support has not worked for several years, and is not likely to work again, unless Intel decides to release a native FreeBSD version of their compiler. ;)
* Do a sweep of the tree replacing calls to pci_find_extcap() with calls tojhb2011-03-231-1/+1
| | | | pci_find_cap() instead.
* Allocate the DMA memory shared between the host and the controller asmarius2011-03-122-6/+11
| | | | | | | coherent. Approved by: gibbs MFC after: 2 weeks
* Fix typos - remove duplicate "the".brucec2011-02-212-2/+2
| | | | | | PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
* Revert r213765. This is required because our build infrastructure usesrpaulo2010-10-142-2/+0
| | | | | the host lex instead of the lex built during buildworld. I will MFC the lex changes soon and in a few weeks this I'll commit again r213765.
* Define YY_NO_INPUT. This makes aicasm buildable by clang with Werrorrpaulo2010-10-132-0/+2
| | | | turned on.
* For every instance of '.if ${CC} == "foo"' or '.if ${CC} != "foo"' inrpaulo2010-08-171-1/+1
| | | | | | | | | | | | | Makefiles or *.mk files, use ${CC:T:Mfoo} instead, so only the basename of the compiler command (excluding any arguments) is considered. This allows you to use, for example, CC="/nondefault/path/clang -xxx", and still have the various tests in bsd.*.mk identify your compiler as clang correctly. ICC if cases were also changed. Submitted by: Dimitry Andric <dimitry at andric.com>
* Correct logic bug in aicasm's undefined register bit access detection code.gibbs2010-07-143-5/+12
| | | | | | | | | | | | | | | | The code in question verifies that all register write operations only change bits that are defined (in the register definition file) for that effected register. The bug effectively disabled this checking. o Fix the check by testing the opcode against all supported read ("and" based) operands. o Add missing bit definitions to the aic7xxx and aic79xx register definition files so that the warning (treated as a fatal error) does not spuriously fire. Reported by: Pawel Worach <pawel.worach@gmail.com> MFC after: 1 week
* Document the usfs driver and the NO_SYSCTL_DESCR option, and update the ↵brucec2010-02-081-0/+4
| | | | | | | | comment for umass. Don't include the sysctl description variables in aic7xxx when NO_SYSCTL_DESCR is used. Approved by: rrs (mentor)
* Spell "Hz" correctly wherever it is user-visible.gavin2010-01-121-4/+4
| | | | | | | PR: bin/142566 Submitted by: N.J. Mann njm njm.me.uk Approved by: ed (mentor) MFC after: 2 weeks
* Disable K&R style function definitions for WARNS=6.ed2009-12-311-1/+1
| | | | | | | | | | | | | | Unfortunately there are two slight problems with that: - Yacc and lex might generate code that generates warnings because of this. Require yacc and lex to be rebuilt during bootstrap. I'm not incrementing __FreeBSD_version here, because I assume someone else will do this eventually. - When running `make buildkernel', it uses share/mk from the source treeo to build aicasm. Because aicasm also depends on lex, this would break. Lower WARNS to 5 for now. We should just increment it to 6 again somewhere in the very far future.
* Add missing `void' keywords.ed2009-12-304-10/+10
|
* Add sysctls in ahd(4) in order to keep track of different classes ofattilio2009-11-135-2/+197
| | | | | | | | | | errors. So far 3 different classes are present (correctable, uncorrectable and fatal) but more can be added easilly. Obtained from: Sandvine Incorporated Reviewed by: emase, gibbs Sponsored by: Sandvine Incorporated MFC: 2 weeks
* Add support for Adaptec 39320LPE adapters.brueffer2009-10-301-0/+7
| | | | | | | PR: 124202 Submitted by: Andre Albsmeier <Andre.Albsmeier@siemens.com> Reviewed by: gibbs MFC after: 1 week
* Add a missing free() call.brueffer2009-10-211-0/+2
| | | | | | | PR: 138379 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Reviewed by: gibbs MFC after: 1 week
* Separate the parallel scsi knowledge out of the core of the XPT, andscottl2009-07-102-5/+8
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | modularize it so that new transports can be created. Add a transport for SATA Add a periph+protocol layer for ATA Add a driver for AHCI-compliant hardware. Add a maxio field to CAM so that drivers can advertise their max I/O capability. Modify various drivers so that they are insulated from the value of MAXPHYS. The new ATA/SATA code supports AHCI-compliant hardware, and will override the classic ATA driver if it is loaded as a module at boot time or compiled into the kernel. The stack now support NCQ (tagged queueing) for increased performance on modern SATA drives. It also supports port multipliers. ATA drives are accessed via 'ada' device nodes. ATAPI drives are accessed via 'cd' device nodes. They can all be enumerated and manipulated via camcontrol, just like SCSI drives. SCSI commands are not translated to their ATA equivalents; ATA native commands are used throughout the entire stack, including camcontrol. See the camcontrol manpage for further details. Testing this code may require that you update your fstab, and possibly modify your BIOS to enable AHCI functionality, if available. This code is very experimental at the moment. The userland ABI/API has changed, so applications will need to be recompiled. It may change further in the near future. The 'ada' device name may also change as more infrastructure is completed in this project. The goal is to eventually put all CAM busses and devices until newbus, allowing for interesting topology and management options. Few functional changes will be seen with existing SCSI/SAS/FC drivers, though the userland ABI has still changed. In the future, transports specific modules for SAS and FC may appear in order to better support the topologies and capabilities of these technologies. The modularization of CAM and the addition of the ATA/SATA modules is meant to break CAM out of the mold of being specific to SCSI, letting it grow to be a framework for arbitrary transports and protocols. It also allows drivers to be written to support discrete hardware without jeopardizing the stability of non-related hardware. While only an AHCI driver is provided now, a Silicon Image driver is also in the works. Drivers for ICH1-4, ICH5-6, PIIX, classic IDE, and any other hardware is possible and encouraged. Help with new transports is also encouraged. Submitted by: scottl, mav Approved by: re
* Re-enable WARNS=6 after my universe test.delphij2009-06-021-0/+1
|
* Initialize the match structure. This is unnecessary but gcc insists todelphij2009-06-011-2/+1
| | | | complain about it when we raise the WARNS level.
* Revert the WARNS change for now, need some time to fix the real problem.delphij2009-06-011-1/+0
|
* Mark as WARNS=6.delphij2009-06-011-0/+1
|
* Code cleanups to make this WARNS=6 clean.delphij2009-06-017-45/+56
| | | | PR: bin/96128
* remove now-redunant cardbus attachment.imp2009-03-092-2/+0
|
* Make ddb command registration dynamic so modules can extendsam2008-09-151-1/+1
| | | | | | | | | | | | | | | | | | | | | | the command set (only so long as the module is present): o add db_command_register and db_command_unregister to add and remove commands, respectively o replace linker sets with SYSINIT's (and SYSUINIT's) that register commands o expose 3 list heads: db_cmd_table, db_show_table, and db_show_all_table for registering top-level commands, show operands, and show all operands, respectively While here also: o sort command lists o add DB_ALIAS, DB_SHOW_ALIAS, and DB_SHOW_ALL_ALIAS to add aliases for existing commands o add "show all trace" as an alias for "show alltrace" o add "show all locks" as an alias for "show alllocks" Submitted by: Guillaume Ballet <gballet@gmail.com> (original version) Reviewed by: jhb MFC after: 1 month
* Only print sense data diagnostics if debugging is enabled with thegibbs2008-02-171-6/+12
| | | | AHD_SHOW_SENSE flag.
* Remove superfluous setting of the transport_version field of ourgibbs2008-02-171-1/+0
| | | | | path inquiry response - a likely holdover from the port of this code from the aic7xxx driver.
* Advertise to CAM the ability of 790X controllers to negotiate informationgibbs2008-02-171-2/+3
| | | | unit transfers (packetized/U320 protocol) and QAS.
* fix up some code for older systems changed by accident in the last commitjulian2007-10-211-1/+6
| | | | | this whole support for systems earlier than 5.0 should probably be removed but I'll at least FIX it before removing it, so that CVS has it right.
* Rename the kthread_xxx (e.g. kthread_create()) callsjulian2007-10-202-3/+3
| | | | | | | | | | | to kproc_xxx as they actually make whole processes. Thos makes way for us to add REAL kthread_create() and friends that actually make theads. it turns out that most of these calls actually end up being moved back to the thread version when it's added. but we need to make this cosmetic change first. I'd LOVE to do this rename in 7.0 so that we can eventually MFC the new kthread_xxx() calls.
* Fix locking mistakes in the error recovery paths of the AHC and AHD drivers.scottl2007-07-312-4/+0
| | | | Approved by: re
* Prepare for future integration between CAM and newbus. xpt_bus_registerscottl2007-06-172-3/+4
| | | | | | | now takes a device_t to be the parent of the bus that is being created. Most SIMs have been updated with a reasonable argument, but a few exceptions just pass NULL for now. This argument isn't used yet and the newbus integration likely won't be ready until after 7.0-RELEASE.
* Up until now, the free SCB pool received only a small initial allocation,scottl2007-04-195-18/+24
| | | | | | | | | | | | and new SCBs were allocated on demand later if needed. This has two problems. First, allocating SCBs involves allocating contiguous memory, and if memory is exhausted then the VM will try to page out to satisfy the request, leading to recursion and deadlock. The second problem is that it can cause lock order reversals due to parts of the VM still being under Giant. Fix the problem be allocating the full pool at driver attach, when it is safe to do so.
* Basic MPSAFE locking for the AHC and AHD drivers.scottl2007-04-1713-336/+72
|
* Remove Giant from CAM. Drivers (SIMs) now register a mutex that CAM willscottl2007-04-152-3/+4
| | | | | | | | | | | use to synchornize and protect all data objects that are used for that SIM. Drivers that are not yet MPSAFE register Giant and operate as usual. RIght now, no drivers are MPSAFE, though a few will be changed in the coming week as this work settles down. The driver API has changed, so all CAM drivers will need to be recompiled. The userland API has not changed, so tools like camcontrol do not need to be recompiled.
* o break newbus api: add a new argument of type driver_filter_t topiso2007-02-232-2/+2
| | | | | | | | | | | | | bus_setup_intr() o add an int return code to all fast handlers o retire INTR_FAST/IH_FAST For more info: http://docs.freebsd.org/cgi/getmsg.cgi?fetch=465712+0+current/freebsd-current Reviewed by: many Approved by: re@
* Correct typos containing my login name (plus one more in expr.y).ceri2007-02-181-1/+1
| | | | Found courtesy of a recursive grep in the wrong directory.
* - Change the PCI-X registers constants to be relative to the PCI-X PCIjhb2007-01-192-7/+17
| | | | | | | | | capability rather than hardcoded offsets for a particular card. While I'm here, expand the constants some. - Change the ahd(4) driver to use pci_find_extcap() to locate the PCI-X capability to keep up with the first change. Reviewed by: scottl, gibbs (earlier version)
* Fix a group of typos:yar2006-12-293-3/+3
| | | | | | | | preceed -> precede, preceeded -> preceded, preceeding -> preceding. Submitted by: Andre Guibert de Bruet <andy@siliconlandmark.com>
* 2nd and final commit that moves us to CAM_NEW_TRAN_CODEmjacob2006-11-024-367/+0
| | | | | | as the default. Reviewed by multitudes.
* Coverity: initialize some variables before potential use.mjacob2006-09-051-0/+2
|
* add a newbus method for obtaining the bus's bus_dma_tag_t... This isjmg2006-09-034-8/+8
| | | | | | | | | | | | | required by arches like sparc64 (not yet implemented) and sun4v where there are seperate IOMMU's for each PCI bus... For all other arches, it will end up returning NULL, which makes it a no-op... Convert a few drivers (the ones we've been working w/ on sun4v) to the new convection... Eventually all drivers will need to replace the parent tag of NULL, w/ bus_get_dma_tag(dev), though dev is usually different for each driver, and will require hand inspection... Reviewed by: scottl (earlier version)
* Since DELAY() was moved, most <machine/clock.h> #includes have beenphk2006-05-162-2/+0
| | | | unnecessary.
OpenPOWER on IntegriCloud