275982 |
21-Dec-2014 |
smh |
MFC r274819: Prevent overflow issues in timeout processing
MFC r274852: Fix build with asr driver
Sponsored by: Multiplay |
256281 |
10-Oct-2013 |
gjb |
Copy head (r256279) to stable/10 as part of the 10.0-RELEASE cycle.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
255871 |
25-Sep-2013 |
scottl |
Re-do r255853. Along with adding back the API/ABI changes from the original, this hides the contents of cam_compat.h from ktrace/kdump/truss, avoiding problems there. There are no user-servicable parts in there, so no need for those tools to be groping around in there.
Approved by: re
|
255865 |
25-Sep-2013 |
gjb |
Revert r255853 pending fixes to build errors in usr.bin/kdump
Approved by: re (implicit)
|
255853 |
24-Sep-2013 |
scottl |
Update the CAM API for FreeBSD 10:
- Remove the timeout_ch field. It's been deprecated since FreeBSD 7.0; MPSAFE drivers should be managing their own timeout storage. The remaining non-MPSAFE drivers have been modified to also manage their own storage, and should be considered for updating to MPSAFE (or removal) during the FreeBSD 10.x lifecycle.
- Add fields related to soft timeouts and quality of service, to be used in upcoming work.
- Add room for more flags in the CCB header and path_inq structures.
- Begin support for extended 64-bit LUNs.
- Bump the CAM version number to 0x18, but add compat shims. Tested with camcontrol and smartctl.
Reviewed by: nathanw, ken, kib Approved by: re Obtained from: Netflix
|
254263 |
12-Aug-2013 |
scottl |
Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCI command register. The lazy BAR allocation code in FreeBSD sometimes disables this bit when it detects a range conflict, and will re-enable it on demand when a driver allocates the BAR. Thus, the bit is no longer a reliable indication of capability, and should not be checked. This results in the elimination of a lot of code from drivers, and also gives the opportunity to simplify a lot of drivers to use a helper API to set the busmaster enable bit.
This changes fixes some recent reports of disk controllers and their associated drives/enclosures disappearing during boot.
Submitted by: jhb Reviewed by: jfv, marius, achadd, achim MFC after: 1 day
|
234503 |
20-Apr-2012 |
dim |
Replace homegrown list implementation in sys/dev/asr/asr.c with STAILQ(). While here, fix another clang warning about a switch which tests an enum type for a regular integer value.
Submitted by: jhb MFC after: 1 week
|
232854 |
12-Mar-2012 |
scottl |
Convert a number of drivers to obtaining their parent DMA tag from their PCI device attachment.
|
226350 |
13-Oct-2011 |
marius |
Merge from r225950:
Set the sense residual properly.
Reviewed by: ken
|
218909 |
21-Feb-2011 |
brucec |
Fix typos - remove duplicate "the".
PR: bin/154928 Submitted by: Eitan Adler <lists at eitanadler.com> MFC after: 3 days
|
215843 |
25-Nov-2010 |
brian |
Don't zero 'Info' after setting it up in the ASR_IOCTL_COMPAT case.
MFC after: 2 days
|
203108 |
28-Jan-2010 |
mav |
MFp4: Large set of CAM inprovements.
- Unify bus reset/probe sequence. Whenever bus attached at boot or later, CAM will automatically reset and scan it. It allows to remove duplicate code from many drivers. - Any bus, attached before CAM completed it's boot-time initialization, will equally join to the process, delaying boot if needed. - New kern.cam.boot_delay loader tunable should help controllers that are still unable to register their buses in time (such as slow USB/ PCCard/ CardBus devices), by adding one more event to wait on boot. - To allow synchronization between different CAM levels, concept of requests priorities was extended. Priorities now split between several "run levels". Device can be freezed at specified level, allowing higher priority requests to pass. For example, no payload requests allowed, until PMP driver enable port. ATA XPT negotiate transfer parameters, periph driver configure caching and so on. - Frozen requests are no more counted by request allocation scheduler. It fixes deadlocks, when frozen low priority payload requests occupying slots, required by higher levels to manage theit execution. - Two last changes were holding proper ATA reinitialization and error recovery implementation. Now it is done: SATA controllers and Port Multipliers now implement automatic hot-plug and should correctly recover from timeouts and bus resets. - Improve SCSI error recovery for devices on buses without automatic sense reporting, such as ATAPI or USB. For example, it allows CAM to wait, while CD drive loads disk, instead of immediately return error status. - Decapitalize diagnostic messages and make them more readable and sensible. - Teach PMP driver to limit maximum speed on fan-out ports. - Make boot wait for PMP scan completes, and make rescan more reliable. - Fix pass driver, to return CCB to user level in case of error. - Increase number of retries in cd driver, as device may return several UAs.
|
191939 |
09-May-2009 |
imp |
Unmark the ASR Compat IOCTLs as BURN_BRIDGES, per scottl@
|
183397 |
27-Sep-2008 |
ed |
Replace all calls to minor() with dev2unit().
After I removed all the unit2minor()/minor2unit() calls from the kernel yesterday, I realised calling minor() everywhere is quite confusing. Character devices now only have the ability to store a unit number, not a minor number. Remove the confusion by using dev2unit() everywhere.
This commit could also be considered as a bug fix. A lot of drivers call minor(), while they should actually be calling dev2unit(). In -CURRENT this isn't a problem, but it turns out we never had any problem reports related to that issue in the past. I suspect not many people connect more than 256 pieces of the same hardware.
Reviewed by: kib
|
170872 |
17-Jun-2007 |
scottl |
Prepare for future integration between CAM and newbus. xpt_bus_register 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.
|
168752 |
15-Apr-2007 |
scottl |
Remove Giant from CAM. Drivers (SIMs) now register a mutex that CAM will 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.
|
166901 |
23-Feb-2007 |
piso |
o break newbus api: add a new argument of type driver_filter_t to 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@
|
165102 |
11-Dec-2006 |
mjacob |
Add MODULE_DEPENDS for cam, pci, mca, eisa and isa where needed.
PR: 106543 MFC after: 3 days
|
164033 |
06-Nov-2006 |
rwatson |
Sweep kernel replacing suser(9) calls with priv(9) calls, assigning specific privilege names to a broad range of privileges. These may require some future tweaking.
Sponsored by: nCircle Network Security, Inc. Obtained from: TrustedBSD Project Discussed on: arch@ Reviewed (at least in part) by: mlaier, jmg, pjd, bde, ceri, Alex Lyashkov <umka at sevcity dot net>, Skip Ford <skip dot ford at verizon dot net>, Antoine Brodin <antoine dot brodin at laposte dot net>
|
163896 |
02-Nov-2006 |
mjacob |
2nd and final commit that moves us to CAM_NEW_TRAN_CODE as the default.
Reviewed by multitudes.
|
163816 |
31-Oct-2006 |
mjacob |
The first of 3 major steps to move the CAM layer forward to using the CAM_NEW_TRAN_CODE that has been in the tree for some years now.
This first step consists solely of adding to or correcting CAM_NEW_TRAN_CODE pieces in the kernel source tree such that a both a GENERIC (at least on i386) and a LINT build with CAM_NEW_TRAN_CODE as an option will compile correctly and run (at least with some the h/w I have).
After a short settle time, the other pieces (making CAM_NEW_TRAN_CODE the default and updating libcam and camcontrol) will be brought in.
This will be an incompatible change in that the size of structures related to XPT_PATH_INQ and XPT_{GET,SET}_TRAN_SETTINGS change in both size and content. However, basic system operation and basic system utilities work well enough with this change.
Reviewed by: freebsd-scsi and specific stakeholders
|
160207 |
09-Jul-2006 |
markm |
Remove stale MAINTAINER
OK'd by: scottl
|
158471 |
12-May-2006 |
jhb |
Remove various bits of conditional Alpha code and fixup a few comments.
|
155562 |
12-Feb-2006 |
scottl |
Give the asr softc list global a proper name.
|
155331 |
05-Feb-2006 |
scottl |
Squash a couple more invalid long casts.
|
155307 |
04-Feb-2006 |
scottl |
Squash another use of vtophys. Instead of creating separate busdma objects for doing static memory transfers, start collecting them into a single object.
|
155286 |
04-Feb-2006 |
scottl |
Add the start of busdma infrastructure to this driver. Convert the ASR_resetIOPR function to use it.
|
155284 |
04-Feb-2006 |
scottl |
Now that the U32 type is a really 32-bits wide, eliminate a bunch of other bad assumptions and long values.
|
155278 |
04-Feb-2006 |
scottl |
Give correct definitions to some basic types.
|
155274 |
04-Feb-2006 |
scottl |
Fix a possible memory leak in asr_attach.
|
154365 |
14-Jan-2006 |
scottl |
Don't allocate an asr_ccb in asr_attach, it hasn't been needed for years.
|
154364 |
14-Jan-2006 |
scottl |
Replace bogus code with real code.
|
154363 |
14-Jan-2006 |
scottl |
Rename driver_t variables. Use device_printf() instead of homerolled printf. Use the provided softc instead of rolling our own.
|
153084 |
04-Dec-2005 |
ru |
Fix -Wundef from compiling the amd64 LINT.
|
145658 |
29-Apr-2005 |
scottl |
Only create the rdpti alias if the asr device creation succeeds.
|
144505 |
01-Apr-2005 |
scottl |
Make life easier on those trying to use the asr utilities by automatically creating the /dev/dpti%d entry that the software expects. This is just a band-aid until either someone (hopefully) rewrites the utilities, or all asr/dpt cards in existance get blasted into the sun.
|
143729 |
17-Mar-2005 |
cognet |
Bring back some of the ioctl junk that was removed in rev 1.59 as a i386-only kernel option, ASR_COMPAT, and under BURN_BRIDGES. It is really ugly, but raidutils depends on it.
Discussed with: scottl
|
143163 |
05-Mar-2005 |
imp |
Use BUS_PROBE_DEFAULT for pci probe return value
|
139749 |
06-Jan-2005 |
imp |
Start each of the license/copyright comments with /*-, minor shuffle of lines
|
133041 |
02-Aug-2004 |
marius |
- Set the CAM status to CAM_SCSI_STATUS_ERROR rather than CAM_REQ_CMP in case of a CHECK CONDITION. - Make this driver return SCSI status information. - While here, factor out the clearing of the CAM status from every element of the switch statement to only once before the switch.
This fixes burning CDs with recent cdrecord 2.01 alpha versions and burners attached to asr(4) controllers but there could have been other applications and da(4) etc. also affected.
Reviewed by: gibbs, scottl MFC after: 2 weeks
|
130585 |
16-Jun-2004 |
phk |
Do the dreaded s/dev_t/struct cdev */ Bump __FreeBSD_version accordingly.
|
129879 |
30-May-2004 |
phk |
Add missing <sys/module.h> includes
|
128964 |
05-May-2004 |
scottl |
Update the version history in the driver to note everything that has happened over the last three weeks.
|
128945 |
05-May-2004 |
scottl |
Roto-till the ioctl code. Remove all the groping around in the x86 BIOS segment, remove the groping around in the Option ROM segments, remove the bogus tests for bcopy vs. copyout. There really is no reason for a management app to know these things other than to create l33t info tables for the user.
|
128944 |
05-May-2004 |
scottl |
Convert the asr driver to use the bus_space API. This does not represent a significant functional change, but it further cleans up the code and brings it closer to being portable. Thanks to Don Bowman for helping to test this.
|
128908 |
04-May-2004 |
scottl |
Fix a typo from rev 1.56 that somehow escaped my testing.
|
128813 |
02-May-2004 |
scottl |
Remove the static reservation of the asr major number
|
128812 |
02-May-2004 |
scottl |
Remove the defAlignLong and getAlignLong macros. I guess that the original intent was to make sure that message structs allocated off of the stack were 4-byte aligned. However, the macros as defined did absolutely nothing. And since I2O forces you to manually copy messages down to the hardware, there really is no point of enforced alignment anyways.
|
128807 |
02-May-2004 |
scottl |
Remove the bogus printing of the asr control device major number. Also rename the control device from rasr%d to asr%d. This starts us down the path of divorcing ourselves from a very bogus design in the management apps. Since the apps are open source now, they will likely be updated and fixed before 5.3.
|
128794 |
01-May-2004 |
scottl |
Correctly test *Reply_Ptr in ASR_resetIOP(). Thanks to dhartmei for pointing this out.
|
128793 |
01-May-2004 |
scottl |
Re-indent some silly sub-blocks in asr_attach().
|
128792 |
01-May-2004 |
scottl |
Remove ASR_get_sc() and reference the softc in the dev_t. For some nefarious reason, the I2O protocol requires knowledge of all I2O devices in the system, so we can't get rid of the evil linked-list of softc's yet.
|
128791 |
01-May-2004 |
scottl |
Remove the DOMINO and MODE0 device attachments. They never did anything. Remove a bunch of obfuscating macros.
|
128787 |
01-May-2004 |
scottl |
More whitespace style cleanups, also remove unneeded (void *) casts for bzero().
|
128786 |
01-May-2004 |
scottl |
Many more style cleanups. Switch complex macros to being inline functions. Put @includes in a better spot. Fix many cases of 2 space indents and spaces between a function name and the parens. Use KASSERT instead of a home-rolled ASSERT. Remove some undeeded caddr casts.
|
128784 |
01-May-2004 |
scottl |
Get rid of a bunch of useless macros. STATIC becomes static, INLINE becomes __inline where appropriate and gets nuked elsewhere, IN/OUT/INOUT go away. Reformat code affected by this.
|
128544 |
22-Apr-2004 |
njl |
Fix the build. opt_asr.h is gone.
Beer or equivalent to? njl
|
128536 |
21-Apr-2004 |
scottl |
Remove more sead code.
|
128535 |
21-Apr-2004 |
scottl |
Don't indent preprocessor tokens.
|
128532 |
21-Apr-2004 |
scottl |
Remove ASR_MEASURE_PERFORMANCE. It hasn't been able to compile in several years.
|
128531 |
21-Apr-2004 |
scottl |
Use offsetof() instead of hand-rolling something equivalent.
|
128512 |
21-Apr-2004 |
scottl |
Remove all of the old __FreeBSD_version code that provided FreeBSD 2.2.x and 3.x shims.
|
128511 |
21-Apr-2004 |
scottl |
Begin the slow, painful process of cleaning up asr. This eliminates many of the bogus casts of NULL. It also distracts me while I procrastinate on useful work.
|
127135 |
17-Mar-2004 |
njl |
Convert callers to the new bus_alloc_resource_any(9) API.
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
|
126080 |
21-Feb-2004 |
phk |
Device megapatch 4/6:
Introduce d_version field in struct cdevsw, this must always be initialized to D_VERSION.
Flip sense of D_NOGIANT flag to D_NEEDGIANT, this involves removing four D_NOGIANT flags and adding 145 D_NEEDGIANT flags.
|
120478 |
26-Sep-2003 |
phk |
Remove code previously under #ifdef ASR_VERY_BROKEN
Ok'ed by: scottl
|
119690 |
02-Sep-2003 |
jhb |
Use PCIR_BAR(x) instead of PCIR_MAPS.
Glanced over by: imp, gibbs Tested by: i386 LINT
|
119418 |
24-Aug-2003 |
obrien |
Use __FBSDID(). Also some minor style cleanups.
|
119277 |
22-Aug-2003 |
imp |
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.
|
113580 |
16-Apr-2003 |
phk |
Include <sys/ioccom.h> instead of <sys/disklabel.h>
|
111815 |
03-Mar-2003 |
phk |
Gigacommit to improve device-driver source compatibility between branches:
Initialize struct cdevsw using C99 sparse initializtion and remove all initializations to default values.
This patch is automatically generated and has been tested by compiling LINT with all the fields in struct cdevsw in reverse order on alpha, sparc64 and i386.
Approved by: re(scottl)
|
111748 |
02-Mar-2003 |
des |
More low-hanging fruit: kill caddr_t in calls to wakeup(9) / [mt]sleep(9).
|
111419 |
24-Feb-2003 |
obrien |
<machine/vmparam.h> is the right place to get KERNBASE, so don't special platform case it (or use alternate spellings).
|
111119 |
19-Feb-2003 |
imp |
Back out M_* changes, per decision of the TRB.
Approved by: trb
|
109623 |
21-Jan-2003 |
alfred |
Remove M_TRYWAIT/M_WAITOK/M_WAIT. Callers should use 0. Merge M_NOWAIT/M_DONTWAIT into a single flag M_NOWAIT.
|
108533 |
01-Jan-2003 |
schweikh |
Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup, especially in troff files.
|
108328 |
27-Dec-2002 |
rwatson |
Use UID_ and GID_ constants instead of hard-coded numeric values with make_dev(). Use OPERATOR instead of implicit WHEEL to match other storage devices. Use a mode of 0640 to be consistent with other storage devices.
Submitted by: kris Reviewed by: scottl
|
106515 |
06-Nov-2002 |
jhb |
Use a bandaid to fix a warning. However, this driver is very, very far from being MI in any fashion. It currently "assumes" that it can get a kernel virtual address for a phyiscal address by adding KERNBASE to the physical address. It also tries to read values out of a the PC BIOS on all archs. It also uses "manual" inb() and outb()'s to talk to the mcclock device which just happens to be at that location on both i386 and alpha. This driver should likely be i386-only.
|
102291 |
22-Aug-2002 |
archie |
Replace (ab)uses of "NULL" where "0" is really meant.
|
96655 |
15-May-2002 |
brian |
Remove an extraneous )
Not approved by: maintainer
I'm guessing that this is trivial enough to sidestep approval.
|
96615 |
14-May-2002 |
obrien |
`unexpand -a' should be run _before_ sed 's/^#define /#define^I/g'.
|
96614 |
14-May-2002 |
obrien |
Tighten up the defined()'s.
|
96554 |
14-May-2002 |
obrien |
unexpand -a everything
|
96551 |
14-May-2002 |
obrien |
First pass of style(9) for #define's.
|
93593 |
01-Apr-2002 |
jhb |
Change the suser() API to take advantage of td_ucred as well as do a general cleanup of the API. The entire API now consists of two functions similar to the pre-KSE API. The suser() function takes a thread pointer as its only argument. The td_ucred member of this thread must be valid so the only valid thread pointers are curthread and a few kernel threads such as thread0. The suser_cred() function takes a pointer to a struct ucred as its first argument and an integer flag as its second argument. The flag is currently only used for the PRISON_ROOT flag.
Discussed on: smp@
|
93506 |
01-Apr-2002 |
alfred |
Remove erronious destroy_dev. Not sure what the author's intent was here but this makes the driver not panic my -current box.
Approved by: scottl
|
92739 |
20-Mar-2002 |
alfred |
Remove __P.
|
91277 |
26-Feb-2002 |
imp |
If we're going to ifdef out the only reference to asr_drvinit, then go ahead and ifdef out the function too.
|
87826 |
13-Dec-2001 |
obrien |
Convert C++ style comments to proper C ones. Clean up C comments just a tad. Fix ID's.
|
87816 |
13-Dec-2001 |
jhb |
Use C comments instead of C++ comments.
Reported by: gcc30
|
85751 |
30-Oct-2001 |
scottl |
Put a Band-Aid over the asr driver so that it hopefully won't cause panics until the author comes up with a real fix.
|
83366 |
12-Sep-2001 |
julian |
KSE Milestone 2 Note ALL MODULES MUST BE RECOMPILED make the kernel aware that there are smaller units of scheduling than the process. (but only allow one thread per process at this time). This is functionally equivalent to teh previousl -current except that there is a thread associated with each process.
Sorry john! (your next MFC will be a doosie!)
Reviewed by: peter@freebsd.org, dillon@freebsd.org
X-MFC after: ha ha ha ha
|
82092 |
21-Aug-2001 |
scottl |
Fresh code drop from the vendor. This fixes some critical bugs and adds support for a new class of controllers. Also adjust MAINTAINER at the approval of msmith.
Obtained from: mark_salyzyn@adaptec.com
|
75102 |
03-Apr-2001 |
ps |
Fix probing on the alpha. It still causes the alpha to panic during attach.
|
75062 |
01-Apr-2001 |
scottl |
Make an attempt to get the asr driver to compile on Alpha by fixing some i386 specific bogons. Compile with -O0, as anything higher gives the compiler a fit. No idea if this driver will actually work on Alpha, though.
|
74810 |
26-Mar-2001 |
phk |
Send the remains (such as I have located) of "block major numbers" to the bit-bucket.
|
73280 |
01-Mar-2001 |
markm |
Turn on interrupt-entropy harvesting for all/any mass storage devices I could find. I have no doubt missed a couple.
Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl.
|
72760 |
20-Feb-2001 |
kris |
Typo fixes: prefered -> preferred There are some others in contributed/external code I haven't touched.
|
71999 |
04-Feb-2001 |
phk |
Mechanical change to use <sys/queue.h> macro API instead of fondling implementation details.
Created with: sed(1) Reviewed by: md5(1)
|
69548 |
03-Dec-2000 |
dwmalone |
Use M_ZERO.
Submitted by: josh@zipperup.org Submitted by: Robert Drehmel <robd@gmx.net> Approved by: mark_salyzyn@adaptec.com
|
67893 |
29-Oct-2000 |
phk |
Move suser() and suser_xxx() prototypes and a related #define from <sys/proc.h> to <sys/systm.h>.
Correctly document the #includes needed in the manpage.
Add one now needed #include of <sys/systm.h>. Remove the consequent 48 unused #includes of <sys/proc.h>.
|
67164 |
15-Oct-2000 |
phk |
Remove unneeded #include <machine/clock.h>
|
66190 |
21-Sep-2000 |
msmith |
Fix a race in ASR_ccbAdd and ASR_ccbRemove, which were both manipulating the ccb queue without masking interrupts.
Submitted by: Petr Lampa <lampa@fee.vutbr.cz>
|
65343 |
01-Sep-2000 |
msmith |
Move the 'asr' driver to cdev major 154, since 97 is already taken.
|
65313 |
01-Sep-2000 |
msmith |
Add MAINTAINER tag to aid updaters in finding the responsible parties.
|
65312 |
01-Sep-2000 |
msmith |
Add the 'asr' driver, supplied by Mark Salyzyn of Adaptec (nee DPT). This provides support for the Adaptec SCSI RAID controller family, as well as the DPT SmartRAID V and VI families.
The driver will be maintained by Mark and Adaptec, and any changes should be referred to the MAINTAINER.
|