summaryrefslogtreecommitdiffstats
path: root/sys/dev/sym
Commit message (Collapse)AuthorAgeFilesLines
* Change the remainder of the drivers for DMA'ing devices enabled in themarius2007-01-211-5/+1
| | | | | | | | sparc64 GENERIC and the sound device drivers known working on sparc64 to use bus_get_dma_tag() to obtain the parent DMA tag so we can get rid of the sparc64_root_dma_tag kludge eventually. Except for ath(4), sk(4), stge(4) and ti(4) these changes are runtime tested (unless I booted up the wrong kernels again...).
* 2nd and final commit that moves us to CAM_NEW_TRAN_CODEmjacob2006-11-021-116/+0
| | | | | | as the default. Reviewed by multitudes.
* Commit the results of the typo hunt by Darren Pilgrim.yar2006-08-042-2/+2
| | | | | | | | | | This change affects documentation and comments only, no real code involved. PR: misc/101245 Submitted by: Darren Pilgrim <darren pilgrim bitfreak org> Tested by: md5(1) MFC after: 1 week
* Remove various bits of conditional Alpha code and fixup a few comments.jhb2006-05-121-2/+0
|
* FreeBSD has had endian conversion macros for a long time. Axe the customscottl2005-12-051-46/+2
| | | | | | macros in this driver. MFC After: 3 days
* Use a compile-time detection of 64-bit addressing so that thisru2005-12-041-11/+8
| | | | | | compiles on 32-bit machines. Reported by: ale
* Fix -Wundef.ru2005-12-041-8/+11
|
* Remove bus_{mem,p}io.h and related code for a micro-optimization on i386nyan2005-05-291-10/+0
| | | | | | and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr)
* eliminate double free when sym_cam_attach failssam2005-03-261-2/+7
| | | | Noticed by: Coverity Prevent analysis tool
* Use BUS_PROBE_DEFAULTimp2005-03-061-1/+2
|
* avoid null ptr derefsam2005-02-251-3/+4
| | | | | Noticed by: Coverity Prevent analysis tool Reviewed by: scottl
* Start each of the license/copyright comments with /*-, minor shuffle of linesimp2005-01-066-6/+6
|
* Attempt to fix Symbios driver on amd64. The private memory allocationse2005-01-011-0/+10
| | | | | | | | | | | | | | function provided by the driver limits allocations to the page size, i.e. 4KB on i385 and 8KB on typical 64 bit processors. Since amd64 has 64 bit pointers, but only 4KB pages, an array of pointers that just fits into one page on all the other processors, does require 2 pages on amd64. In order to make this driver useful on amd64, the allocation unit has been increased to 2 pages on amd64 and contigmalloc() is used instead of malloc(). All other processor types are unaffected by this change. This modification has only been compile-tested on amd64, yet, but should just work (FLW).
* Make it depend on PCI as well.mjacob2004-09-101-0/+1
| | | | Submitted by: Stefan eSSer
* Make sym depend, as a module, on cam.mjacob2004-09-101-0/+1
| | | | Submitted by:"Norikatsu Shigemura" <nork@FreeBSD.org>
* Convert callers to the new bus_alloc_resource_any(9) API.njl2004-03-171-8/+8
| | | | | Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde
* unifdef old interface support out to prevent false positives.imp2003-12-071-524/+0
| | | | Suggested by: jeffr, obrien, and others
* Use PCIR_BAR(x) instead of PCIR_MAPS.jhb2003-09-021-4/+4
| | | | | Glanced over by: imp, gibbs Tested by: i386 LINT
* Use __FBSDID().obrien2003-08-241-2/+3
| | | | Also some minor style cleanups.
* Prefer new location of pci include files (which have only been in theimp2003-08-221-2/+2
| | | | | tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD.
* Remove extraneous semicolons. They are already provided bydds2003-08-051-4/+4
| | | | | | | | the macro definition, and cause the generation of syntactically incorrect code that gcc happens to accept. Reviewed by: schweikh (mentor) MFC after: 4 weeks
* Mega busdma API commit.scottl2003-07-011-2/+6
| | | | | | | | | | | | | | | | | | | | | | | | 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
* Add amd64 support.peter2003-06-261-1/+1
|
* Merge common XPT_CALC_GEOMETRY functions into a single convenience function.njl2003-06-141-22/+1
| | | | | | | | | | | | | Devices below may experience a change in geometry. * Due to a bug, aic(4) never used extended geometry. Changes all drives >1G to now use extended translation. * sbp(4) drives exactly 1 GB in size now no longer use extended geometry. * umass(4) drives exactly 1 GB in size now no longer use extended geometry. For all other controllers in this commit, this should be a no-op. Looked over by: scottl
* I deserve a big pointy hat for having missed all those referencesmux2003-04-101-3/+3
| | | | to bus_dmasync_op_t in my last commit.
* Consolidate MIN/MAX macros into one place (param.h).alfred2003-02-021-7/+0
| | | | Submitted by: Hiten Pandya <hiten@unixdaemons.com>
* Correct typos, mostly s/ a / an / where appropriate. Some whitespace cleanup,schweikh2003-01-011-2/+2
| | | | especially in troff files.
* Fix typos, mostly s/ an / a / where appropriate and a few s/an/and/schweikh2002-12-303-4/+4
| | | | Add FreeBSD Id tag where missing.
* Fix instances of macros with improperly parenthasized arguments.alfred2002-11-091-2/+2
| | | | Verified by: md5
* Be consistent about functions being static.phk2002-10-161-6/+6
| | | | Spotted by: FlexeLint.
* Move the new byte order function prototypes from <sys/param.h> tomike2002-04-261-0/+1
| | | | <sys/endian.h>. This puts us in line with NetBSD and OpenBSD.
* Fix some gcc-3.1+ warnings:peter2002-03-191-0/+2
| | | | | warning: deprecated use of label at end of compound statement umass.c:2626:46: multi-line string literals are deprecated
* Comment tokens after #undef <macroname> and #endif.jhb2001-12-131-4/+4
| | | | Reported by: gcc30
* Submitted by:David E. O'Briengroudier2001-11-241-4/+4
| | | | | | | | MFC after:3 days - Add memory barrier definition for sparc64. Patch sent by David E. O'Brien, approved by maintainer. - Fix an endianization error of a bus physical address used from SCRIPTS that made the driver fail on big endian machines as sparc64.
* MFC after: 0 daysgroudier2001-11-117-8/+8
|
* s/adress/address/kris2001-07-231-1/+1
| | | | | Inspired by: OpenBSD MFC After: 1 week
* Submitted by: Chip Salzenberg <chip@perlsupport.com>.groudier2001-07-011-2/+5
| | | | | | | | | MFC after: 5 days - Mask GPCNTL against 0x1c (was 0xfc) for the reading of the NVRAM. This ensures LEDC bit will not be set on 896 and later chips. Submitted by Chip Salzenberg <chip@perlsupport.com>. - Add probe for Tekram 390 U2B/U2W SCSI (53C895) LED handling. Submitted by Chip Salzenberg <chip@valinux.com>
* Correctly initialize free_ccbq so that if we fail to attach (as ismjacob2001-04-091-9/+8
| | | | | | | possible for some systems where the device is there, but the BIOS hasn't allocated memory resources for it), we don't panic. Submitted by: Gerard Roudier
* Add #if'ed support for the future option CAM_NEW_TRAN_CODE.groudier2001-03-241-57/+236
|
* Turn on interrupt-entropy harvesting for all/any mass storage devicesmarkm2001-03-011-2/+3
| | | | | | | I could find. I have no doubt missed a couple. Interrupt entropy harvesting is still conditional on the kern.random.sys.harvest_interrupt sysctl.
* Fix:groudier2001-02-111-10/+32
| | | | | | | | | | | | | | | | | - Missing cpu_to_scr() added (endian-ness). Improvement (fix|workaroung??): - Blindly firing a PPR can lead to some messy situations due to various causes or misfeatures, for example: * The 53C1010-[33|66] supports offset 62 in DT mode, but only offset 31 in ST mode. As a result, a PPR(DT, offset 62) responded with PPR(ST, any offset > 31) must be rejected. * A device that doesn't know about PPR should reject it, but may also be confused by this message. When a PPR encounters problems, the driver now patches the goal transfer settings for legacy negotiations to be performed later with the offending target. This give a chance for bad situations to be fixed automagically.
* A couple of chip errata work-arounds refined:groudier2001-01-281-3/+3
| | | | | | | | | | | | | - When used on a 33MHz PCI BUS, the 53C1010-66 revision 0 requires extra clocks to be inserted in data out phase. Revision 1 is fixed. - The 53C1010-33 revision 1 requires internal cycles to be disabled due to possible contentions on IO registers. Revision 2 is fixed. Fix: - The probing of HVD from GPIO3 bit by the driver was reversed. The driver could misprobe the bus mode of a 825 or 875 chip that was not previously initialized (no BIOS for example).
* Remove unneeded include of <pci.h>alex2000-12-071-1/+0
| | | | Approved by: groudier
* Convert all users of fldoff() to offsetof(). fldoff() is badphk2000-10-271-4/+0
| | | | | | | | | | | | | | | | | | | | | | | because it only takes a struct tag which makes it impossible to use unions, typedefs etc. Define __offsetof() in <machine/ansi.h> Define offsetof() in terms of __offsetof() in <stddef.h> and <sys/types.h> Remove myriad of local offsetof() definitions. Remove includes of <stddef.h> in kernel code. NB: Kernelcode should *never* include from /usr/include ! Make <sys/queue.h> include <machine/ansi.h> to avoid polluting the API. Deprecate <struct.h> with a warning. The warning turns into an error on 01-12-2000 and the file gets removed entirely on 01-01-2001. Paritials reviews by: various. Significant brucifications by: bde
* Remove unneeded #include <machine/clock.h>phk2000-10-151-1/+0
|
* PR: kern/20895groudier2000-09-032-26/+46
| | | | | | | | | | | | | | | | | | | | | | | PR kern/20895: - Add FE_DAC new feature flag to distinguish between 64 bit PCI addressing (DAC cycles) and 64 bit PCI interface (64 bit Memory BARs). - Properly deal with chips that have a 32 bit PCI interface but support and may generate DAC. (Only SYM53C895A for now). PR misc/17584 (at least partially addressed): - Try detecting hardware combinations that trigger spurious PCI master parity error detections by the PCI chip. This work-around is implemented in the `snooptest' routine and consists in retrying with PCI master parity checking disabled if such an error is reported by the PCI chip during this test. Other: - Fix a tiny bug in WIDE negotiation that was very unlikely to be triggerred. The BUS width was wrongly compared against chip's max. offset.
* - Various comment fixes and additions.groudier2000-07-022-267/+62
| | | | | | | | | | - Add 2 explicit (paranoid?) memory barriers in the interrupt code (After the reading of the `flag' and prior to looking at the data, of course. :-) ). - Remove obsolete informations from the README.sym file. This commit actually results in no object difference for IA32, but 2x`mb' added for Alpha.
* - Fix a harmless compilation warning on Alpha.groudier2000-06-263-19/+62
| | | | | | | | | | | (Reported by Matthew Jacob) - Fix a couple of __inline__ (changed to __inline). - Check also against DT_DATA_IN phase on parity/crc error. (Merged from Pamela Delaney's changes in the Linux driver) - Fix support for phase mismatch handling from the C code for the C1010 (only useful for testing issue). - Add an asynchonous notification handler for `lost device' (AC_LOST).
* Fix a problem of user settings from TEKRAM NVRAMgroudier2000-06-131-6/+10
| | | | | | | | | | | | layout introduced in driver 1.5.3. The driver was confused by the bogus TEKRAM table used to translate user sync. setting to SCSI sync. factor. Btw, the new TEKRAM DC-390 U3D and U3W Ultra-160 controllers seem to be using BIOS from SYMBIOS/LSI and thus SYMBIOS NVRAM layout. If that means that TEKRAM will now offer real SYMBIOS software compatible SCSI controllers, then it is a *GREAT NEWS*.
* - Use `bus space' primitives for IO and MMIO insteadgroudier2000-06-081-88/+195
| | | | | | of IO/MMIO legacy methods. - Prepare the driver for big endian CPU support. - Clarify memory and IO barriers needed by the driver.
OpenPOWER on IntegriCloud