#
d4fcf3cb |
| 29-May-2005 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 and amd64. The optimization is a trivial on recent machines.
Reviewed by: -arch (imp, marcel, dfr)
|
Revision tags: release/5.4.0_cvs, release/5.4.0 |
|
#
23db907c |
| 26-Mar-2005 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Don't call mlx_free() i mlx_attach() in case of failure. Doing so in mlx_attach_pci() is much cleaner.
Inspired by: Coverity
|
#
730eb840 |
| 18-Mar-2005 |
David Schultz <das@FreeBSD.org> |
If mlx_attach() returns an error, don't free sc again.
Spotted by: Ted Unangst using the Coverity Prevent static analysis tool Reviewed by: scottl
|
#
6b9907e7 |
| 05-Mar-2005 |
Warner Losh <imp@FreeBSD.org> |
Use BUS_PROBE_DEFAULT for pci probe return value
|
Revision tags: release/4.11.0_cvs, release/4.11.0, release/5.3.0_cvs, release/5.3.0 |
|
#
fe12f24b |
| 30-May-2004 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Add missing <sys/module.h> includes
|
Revision tags: release/4.10.0_cvs, release/4.10.0 |
|
#
5f96beb9 |
| 17-Mar-2004 |
Nate Lawson <njl@FreeBSD.org> |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
Revision tags: release/5.2.1_cvs, release/5.2.1, release/5.2.0_cvs, release/5.2.0, release/4.9.0_cvs, release/4.9.0 |
|
#
aad970f1 |
| 24-Aug-2003 |
David E. O'Brien <obrien@FreeBSD.org> |
Use __FBSDID(). Also some minor style cleanups.
|
#
38d8c994 |
| 22-Aug-2003 |
Warner Losh <imp@FreeBSD.org> |
Prefer new location of pci include files (which have only been in the tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
|
#
f6b1c44d |
| 01-Jul-2003 |
Scott Long <scottl@FreeBSD.org> |
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma.
Mega busdma API commit.
Add two new arguments to bus_dma_tag_create(): lockfunc and lockfuncarg. Lockfunc allows a driver to provide a function for managing its locking semantics while using busdma. At the moment, this is used for the asynchronous busdma_swi and callback mechanism. Two lockfunc implementations are provided: busdma_lock_mutex() performs standard mutex operations on the mutex that is specified from lockfuncarg. dftl_lock() is a panic implementation and is defaulted to when NULL, NULL are passed to bus_dma_tag_create(). The only time that NULL, NULL should ever be used is when the driver ensures that bus_dmamap_load() will not be deferred. Drivers that do not provide their own locking can pass busdma_lock_mutex,&Giant args in order to preserve the former behaviour.
sparc64 and powerpc do not provide real busdma_swi functions, so this is largely a noop on those platforms. The busdma_swi on is64 is not properly locked yet, so warnings will be emitted on this platform when busdma callback deferrals happen.
If anyone gets panics or warnings from dflt_lock() being called, please let me know right away.
Reviewed by: tmm, gibbs
show more ...
|
Revision tags: release/5.1.0_cvs, release/5.1.0, release/4.8.0_cvs, release/4.8.0 |
|
#
891619a6 |
| 01-Apr-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Use bioq_flush() to drain a bio queue with a specific error code. Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#includ
Use bioq_flush() to drain a bio queue with a specific error code. Retain the mistake of not updating the devstat API for now.
Spell bioq_disksort() consistently with the remaining bioq_*().
#include <geom/geom_disk.h> where this is more appropriate.
show more ...
|
#
60794e04 |
| 08-Mar-2003 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be r
Centralize the devstat handling for all GEOM disk device drivers in geom_disk.c.
As a side effect this makes a lot of #include <sys/devicestat.h> lines not needed and some biofinish() calls can be reduced to biodone() again.
show more ...
|
Revision tags: release/5.0.0_cvs, release/5.0.0, release/4.7.0_cvs, release/4.6.2_cvs, release/4.6.2, release/4.6.1, release/4.6.0_cvs, release/4.5.0_cvs, release/4.4.0_cvs |
|
#
15fd5d22 |
| 25-Jun-2001 |
Mike Smith <msmith@FreeBSD.org> |
Driver modifications consistent with my other drivers to facilitate the use of a single set of sources across 4.x and 5.x branches.
No significant code changes.
|
Revision tags: release/4.3.0_cvs, release/4.3.0 |
|
#
9b11c7ba |
| 28-Nov-2000 |
Matthew N. Dodd <mdodd@FreeBSD.org> |
Avoid hardcoding the 'rid' and 'type' of the MEM/IOPORT resource. Store the 'rid' and 'type' in the softc and use them in mlx.c:mlx_free().
EISA and MCA front ends will require this.
Approved by:
Avoid hardcoding the 'rid' and 'type' of the MEM/IOPORT resource. Store the 'rid' and 'type' in the softc and use them in mlx.c:mlx_free().
EISA and MCA front ends will require this.
Approved by: msmith
show more ...
|
Revision tags: release/4.2.0 |
|
#
e10f2ee5 |
| 28-Oct-2000 |
Mike Smith <msmith@FreeBSD.org> |
Return -10 from the PCI probe to allow room for an updated driver to override one built into the kernel.
|
Revision tags: release/4.1.1_cvs |
|
#
786cd128 |
| 04-Aug-2000 |
Mike Smith <msmith@FreeBSD.org> |
Add support for 2.x/3.x firmware adapters which are too old to have a memory-mapped register window. This closes the last known issue with 2.x vintage adapters.
|
Revision tags: release/4.1.0, release/3.5.0_cvs |
|
#
baff09db |
| 06-May-2000 |
Mike Smith <msmith@FreeBSD.org> |
Change the way that scatter/gather list tables are allocated so that we can use all of the s/g entries available on smaller cards. This is necessary if we want to be able to handle a non-page-aligne
Change the way that scatter/gather list tables are allocated so that we can use all of the s/g entries available on smaller cards. This is necessary if we want to be able to handle a non-page-aligned 64k transfer on 2.x and 3.x firmware.
Fix a missing splx() that may have left us at splbio() for longer than desired.
Reduce shadowing of controller-supplied parameters a little.
show more ...
|
#
9626b608 |
| 05-May-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on
Separate the struct bio related stuff out of <sys/buf.h> into <sys/bio.h>.
<sys/bio.h> is now a prerequisite for <sys/buf.h> but it shall not be made a nested include according to bdes teachings on the subject of nested includes.
Diskdrivers and similar stuff below specfs::strategy() should no longer need to include <sys/buf.> unless they need caching of data.
Still a few bogus uses of struct buf to track down.
Repocopy by: peter
show more ...
|
#
3389ae93 |
| 19-Apr-2000 |
Poul-Henning Kamp <phk@FreeBSD.org> |
Remove ~25 unneeded #include <sys/conf.h> Remove ~60 unneeded #include <sys/malloc.h>
|
Revision tags: release/4.0.0_cvs |
|
#
da8bb3a3 |
| 18-Mar-2000 |
Mike Smith <msmith@FreeBSD.org> |
Update to the latest development version of the Mylex driver. Changes in this version include:
- Support for version 2.x firmware (2.42 or later recommended). This means we are the only open-s
Update to the latest development version of the Mylex driver. Changes in this version include:
- Support for version 2.x firmware (2.42 or later recommended). This means we are the only open-source driver supporting these adapters. This code has only been tested on a Digital KZPCA adapter in an Alpha system, but is believed to be correct. NOTE: EISA adapters are not yet supported.
- Support the BIOS/Firmware initialisation handshake protocol. This allows the driver to bring the card up to operational state even if the BIOS can't be run (eg. if it's an x86 BIOS in an Alpha system).
- A working command pasthrough interface. This allows a user-space configuration tool (under development) to issue arbitrary commands to the controller or to devices in the system.
show more ...
|
Revision tags: release/3.4.0_cvs |
|
#
5792b7fe |
| 11-Dec-1999 |
Mike Smith <msmith@FreeBSD.org> |
Major update to the Mylex DAC960 driver adding new hardware support and fixing some major bugs.
- Add support for the v5 firmware interface, used by the DAC1164P (tested) and AcceleRAID 352 (unt
Major update to the Mylex DAC960 driver adding new hardware support and fixing some major bugs.
- Add support for the v5 firmware interface, used by the DAC1164P (tested) and AcceleRAID 352 (untested but should work). We now cover all of the Mylex family's protocols except for v2 (used by EISA and Alpha-compatible cards).
- Fix an accounting bug which resulted in endless 'poll still busy' messages. In situations of high controller load the count of poll commands could be incremented without actually successfully launching a command. This totally removes the accounting for status poll commnads; it was its own worst enemy.
- Add some simple reentry prevention locks to processing of the waiting and completed command queues to prevent races which could result in I/O being done or completed twice (both are fatal). This highlights a need for simple locking primitives in both the UP and SMP kernels.
- Streamline the handling of command completion to reduce the amount of redundant work being done. Remove the code which tests for commands that have gone missing in action; nobody has ever seen one of these and it wouldn't have worked properly anyhow.
- Handle disconnection of drives from the controller in the detach, not shutdown method. This avoids problems flushing the cache in a panic when a drive is mounted.
- Don't call bus_generic_detach when disconnecting drives; it doesn't actually do anything useful.
- Increment the log message index regardless of whether we actually retrieved one or not. If we run into a message that we can't fetch, we don't want to spin endlessly complaining about the fact.
- Don't assume that interrupts will work when we're flushing the controller. We may think they are enabled, but in eg. a panic situation the controller may not be able to deliver an interrupt.
show more ...
|
#
4b006d7b |
| 27-Oct-1999 |
Mike Smith <msmith@FreeBSD.org> |
Move some hardware-related items to the hardware-related header.
Shift to using the same queueing strategy that the amr driver uses. Some simple tests indicate that we use about 2% of the CPU at aro
Move some hardware-related items to the hardware-related header.
Shift to using the same queueing strategy that the amr driver uses. Some simple tests indicate that we use about 2% of the CPU at around 500tps with the controller completely saturated with I/O.
show more ...
|
#
f6b84b08 |
| 14-Oct-1999 |
Mike Smith <msmith@FreeBSD.org> |
Add support for the version 4 firmware interface and the DAC960 PG and PJ cards. This will probably also support the AcceleRAID and eXtremeRAID cards, but nobody has volunteered one for testing, so
Add support for the version 4 firmware interface and the DAC960 PG and PJ cards. This will probably also support the AcceleRAID and eXtremeRAID cards, but nobody has volunteered one for testing, so I haven't enabled their PCI device IDs.
Slightly clean up communication between the disk devices and the controller device as per new practice, and move some more register- related items int mlxreg.h from mlxvar.h.
Remove some unnecessary read-modify-write operations to the card control registers; they don't behave like that.
Increase the status polling interval to 10 seconds. It's still possible to load the card up to the point where a status poll will find the previous poll still running, but this will reduce the incidence of complaints.
show more ...
|
#
1ac4b82b |
| 07-Oct-1999 |
Mike Smith <msmith@FreeBSD.org> |
This is a driver for the Mylex DAC960 family of integrated RAID controllers. It currently supports the P, PL, PD and PU variants, with more to be supported shortly.
|
Revision tags: release/7.4.0_cvs, release/8.2.0_cvs, release/7.4.0, release/8.2.0, release/8.1.0_cvs, release/8.1.0, release/7.3.0_cvs, release/7.3.0, release/8.0.0_cvs, release/8.0.0, release/7.2.0_cvs, release/7.2.0, release/7.1.0_cvs, release/7.1.0, release/6.4.0_cvs, release/6.4.0, release/7.0.0_cvs, release/7.0.0, release/6.3.0_cvs, release/6.3.0, release/6.2.0_cvs, release/6.2.0, release/5.5.0_cvs, release/5.5.0, release/6.1.0_cvs, release/6.1.0, release/6.0.0_cvs, release/6.0.0 |
|
#
648fd2bd |
| 30-Jul-2005 |
Christian S.J. Peron <csjp@FreeBSD.org> |
Add missing parenthesis around error handling code upon attaching mlx devices. This fixes an issue where mlx device drives fail to be detected at system boot.
This is a RELENG_6 candidate.
Submitte
Add missing parenthesis around error handling code upon attaching mlx devices. This fixes an issue where mlx device drives fail to be detected at system boot.
This is a RELENG_6 candidate.
Submitted by: oliver PR: kern/84163
show more ...
|
#
d4fcf3cb |
| 29-May-2005 |
Yoshihiro Takahashi <nyan@FreeBSD.org> |
Remove bus_{mem,p}io.h and related code for a micro-optimization on i386 and amd64. The optimization is a trivial on recent machines.
Reviewed by: -arch (imp, marcel, dfr)
|