summaryrefslogtreecommitdiff
path: root/sys/dev/ips
AgeCommit message (Collapse)Author
2025-01-02Remove now-redundant calls to device_delete_childJohn Baldwin
Deleting a child explicitly before calling bus_generic_detach is now redundant, so remove those calls and rely on bus_generic_detach to delete children instead. Differential Revision: https://reviews.freebsd.org/D47961
2024-12-06Replace calls to bus_generic_attach with bus_attach_childrenJohn Baldwin
Reviewed by: imp Differential Revision: https://reviews.freebsd.org/D47675
2024-07-24newbus: globally replace device_add_child(..., -1) with DEVICE_UNIT_ANYWarner Losh
Sponsored by: Netflix
2023-11-26sys: Automated cleanup of cdefs and other formattingWarner Losh
Apply the following automated changes to try to eliminate no-longer-needed sys/cdefs.h includes as well as now-empty blank lines in a row. Remove /^#if.*\n#endif.*\n#include\s+<sys/cdefs.h>.*\n/ Remove /\n+#include\s+<sys/cdefs.h>.*\n+#if.*\n#endif.*\n+/ Remove /\n+#if.*\n#endif.*\n+/ Remove /^#if.*\n#endif.*\n/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/types.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/param.h>/ Remove /\n+#include\s+<sys/cdefs.h>\n#include\s+<sys/capsicum.h>/ Sponsored by: Netflix
2023-08-16sys: Remove $FreeBSD$: one-line .c patternWarner Losh
Remove /^[\s*]*__FBSDID\("\$FreeBSD\$"\);?\s*\n/
2023-08-16sys: Remove $FreeBSD$: two-line .h patternWarner Losh
Remove /^\s*\*\n \*\s+\$FreeBSD\$$\n/
2023-05-12spdx: The BSD-2-Clause-FreeBSD identifier is obsolete, drop -FreeBSDWarner Losh
The SPDX folks have obsoleted the BSD-2-Clause-FreeBSD identifier. Catch up to that fact and revert to their recommended match of BSD-2-Clause. Discussed with: pfg MFC After: 3 days Sponsored by: Netflix
2022-05-13kerneldump: remove physical argument from d_dumperMitchell Horne
The physical address argument is essentially ignored by every dumper method. In addition, the dump routines don't actually pass a real address; every call to dump_append() passes a value of zero for physical. Reviewed by: markj MFC after: 2 weeks Differential Revision: https://reviews.freebsd.org/D35173
2022-05-06ips: Remove unused devclass arguments to DRIVER_MODULE.John Baldwin
2022-02-26Fix "set but not used" in the ips driver. Dead code.Scott Long
2020-02-07Ever since the block layer expanded its command syntax beyond justScott Long
BIO_READ and BIO_WRITE, we've handled this expanded syntax poorly in drivers when the driver doesn't support a particular command. Do a sweep and fix that. Reported by: imp Notes: svn path=/head/; revision=357647
2019-05-29Add the likely missing braces in ips(4). This is found by gcc warning thatLi-Wen Hsu
the code is not guarded by the if clause and has misleading indentation. Approved by: scottl MFC after: 3 days Sponsored by: The FreeBSD Foundation Differential Revision: https://reviews.freebsd.org/D20427 Notes: svn path=/head/; revision=348366
2019-05-20Extract eventfilter declarations to sys/_eventfilter.hConrad Meyer
This allows replacing "sys/eventfilter.h" includes with "sys/_eventfilter.h" in other header files (e.g., sys/{bus,conf,cpu}.h) and reduces header pollution substantially. EVENTHANDLER_DECLARE and EVENTHANDLER_LIST_DECLAREs were moved out of .c files into appropriate headers (e.g., sys/proc.h, powernv/opal.h). As a side effect of reduced header pollution, many .c files and headers no longer contain needed definitions. The remainder of the patch addresses adding appropriate includes to fix those files. LOCK_DEBUG and LOCK_FILE_LINE_ARG are moved to sys/_lock.h, as required by sys/mutex.h since r326106 (but silently protected by header pollution prior to this change). No functional change (intended). Of course, any out of tree modules that relied on header pollution for sys/eventhandler.h, sys/lock.h, or sys/mutex.h inclusion need to be fixed. __FreeBSD_version has been bumped. Notes: svn path=/head/; revision=347984
2017-11-27sys/dev: further adoption of SPDX licensing ID tags.Pedro F. Giffuni
Mainly focus on files that use BSD 2-Clause license, however the tool I was using misidentified many licenses so this was mostly a manual - error prone - task. The Software Package Data Exchange (SPDX) group provides a specification to make it easier for automated tools to detect and summarize well known opensource licenses. We are gradually adopting the specification, noting that the tags are considered only advisory and do not, in any way, superceed or replace the license texts. Notes: svn path=/head/; revision=326255
2016-05-03sys/dev: minor spelling fixes.Pedro F. Giffuni
Most affect comments, very few have user-visible effects. Notes: svn path=/head/; revision=298955
2014-11-13- Use the existing driver lock in cdevsw methods and remove D_NEEDGIANT.John Baldwin
- Use callout(9) instead of timeout(9). - Use bus_*() instead of bus_space_*(). - Don't check for a NULL softc in attach. Tested by: no one Notes: svn path=/head/; revision=274488
2013-08-12Update PCI drivers to no longer look at the MEMIO-enabled bit in the PCIScott Long
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 Notes: svn path=/head/; revision=254263
2013-04-17Improving r249461 by providing a better way to handle the clang warning.Hiren Panchasara
PR: kern/177164 Reviewed by: jhb Approved by: sbruno (mentor) Notes: svn path=/head/; revision=249595
2013-04-14Fixing a clang warning indicating uninitialized variable usage.Hiren Panchasara
PR: kern/177164 Approved by: sbruno (mentor) Notes: svn path=/head/; revision=249461
2012-03-12Convert a number of drivers to obtaining their parent DMA tag from theirScott Long
PCI device attachment. Notes: svn path=/head/; revision=232854
2009-12-17Fix argument order in a call to mtx_init.Matt Jacob
MFC after: 1 week Notes: svn path=/head/; revision=200620
2009-10-21Check pointer for NULL before dereferencing it, not after.Christian Brueffer
PR: 138384 Submitted by: Patroklos Argyroudis <argp@census-labs.com> MFC after: 1 week Notes: svn path=/head/; revision=198329
2009-08-20Temporarily revert the new-bus locking for 8.0 release. It will beJohn Baldwin
reintroduced after HEAD is reopened for commits by re@. Approved by: re (kib), attilio Notes: svn path=/head/; revision=196403
2009-08-02Make the newbus subsystem Giant free by adding the new newbus sxlock.Attilio Rao
The newbus lock is responsible for protecting newbus internIal structures, device states and devclass flags. It is necessary to hold it when all such datas are accessed. For the other operations, softc locking should ensure enough protection to avoid races. Newbus lock is automatically held when virtual operations on the device and bus are invoked when loading the driver or when the suspend/resume take place. For other 'spourious' operations trying to access/modify the newbus topology, newbus lock needs to be automatically acquired and dropped. For the moment Giant is also acquired in some key point (modules subsystem) in order to avoid problems before the 8.0 release as module handlers could make assumptions about it. This Giant locking should go just after the release happens. Please keep in mind that the public interface can be expanded in order to provide more support, if there are really necessities at some point and also some bugs could arise as long as the patch needs a bit of further testing. Bump __FreeBSD_version in order to reflect the newbus lock introduction. Reviewed by: ed, hps, jhb, imp, mav, scottl No answer by: ariff, thompsa, yongari Tested by: pho, G. Trematerra <giovanni dot trematerra at gmail dot com>, Brandon Gooch <jamesbrandongooch at gmail dot com> Sponsored by: Yahoo! Incorporated Approved by: re (ksmith) Notes: svn path=/head/; revision=196037
2007-02-23o break newbus api: add a new argument of type driver_filter_t toPaolo Pisati
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@ Notes: svn path=/head/; revision=166901
2006-10-05o Add Adaptec ServeRAID 7x IDs. IDs taken from Linux.Maxim Konovalov
PR: kern/90012 Submitted by: Andrey V. Elsukov MFC after: 1 month Notes: svn path=/head/; revision=163024
2006-08-17while (0); -> while (0) in multi-line macrosWarner Losh
Notes: svn path=/head/; revision=161425
2006-05-16Since DELAY() was moved, most <machine/clock.h> #includes have beenPoul-Henning Kamp
unnecessary. Notes: svn path=/head/; revision=158651
2006-01-03Shuffle some definitions so that this can be included from userland.Scott Long
Notes: svn path=/head/; revision=154006
2006-01-03Add some more data structures and definitions for communicating with theScott Long
ServeRAID firmware. Notes: svn path=/head/; revision=154005
2005-11-29Separate the hardware definitions into ipsreg.h so they can be used byScott Long
future userland tools. Notes: svn path=/head/; revision=152919
2005-09-27Fix build.Gleb Smirnoff
Notes: svn path=/head/; revision=150611
2005-09-27Report status in hex, not decimal.Scott Long
Notes: svn path=/head/; revision=150602
2005-09-25Overhaul error handling in the IPS driver. Don't use a magic value forScott Long
driver-induced errors, instead be better about propagating error status upwards. Add more error definitions, courtesy of the linux driver. Fix a command leak in the ioctl handler. Re-arrange some of the command handlers to localize error handling. MFC After: 3 days Notes: svn path=/head/; revision=150535
2005-05-29Remove bus_{mem,p}io.h and related code for a micro-optimization on i386Yoshihiro Takahashi
and amd64. The optimization is a trivial on recent machines. Reviewed by: -arch (imp, marcel, dfr) Notes: svn path=/head/; revision=146734
2005-04-26Remove an extra mutex unlock in the morpheus interrupt handler.Scott Long
PR: 80246 Submitted by: Dean Strik MFC After: 3 days Notes: svn path=/head/; revision=145545
2005-03-05Use BUS_PROBE_DEFAULT for pci probe return valueWarner Losh
Notes: svn path=/head/; revision=143160
2005-01-30Add crashdump support to the ips driver. It only works for the more modernScott Long
ServeRAID 4 - 7 models right now. Support for older cards is possible, but I don't have any hardware to experiment with. Thanks to Jack Hammer at Adaptec for providing debugging hints. Sponsored by: ImproWare AG, Switzerland Notes: svn path=/head/; revision=141062
2005-01-28Remove all of the spl() markers.Scott Long
Notes: svn path=/head/; revision=140924
2005-01-28Lock the IPS driver and bring it out from under Giant. Also do someScott Long
significant clean up and optimizations: - don't call bioq_disksort() on every command, the hardware will do that for us. - remove all of the complicated bio deferral code. bio's that can't be serviced immediately can just wait on the bioq. - Only reserve one command object for doing control commands to the card. This simplifies a lot of code and significantly reduces the size of the command struct. - Allocate commands out of a slab instead of embedding them into the softc. - Call the command action method directly instead of having ips_get_free_cmd() call it indirectly. MFC After: 1 week Notes: svn path=/head/; revision=140923
2004-06-16Do the dreaded s/dev_t/struct cdev */Poul-Henning Kamp
Bump __FreeBSD_version accordingly. Notes: svn path=/head/; revision=130585
2004-06-14Change the return value of sema_timedwait() so it returns 0 onJohn Polstra
success and a proper errno value on failure. This makes it consistent with cv_timedwait(), and paves the way for the introduction of functions such as sema_timedwait_sig() which can fail in multiple ways. Bump __FreeBSD_version and add a note to UPDATING. Approved by: scottl (ips driver), arch Notes: svn path=/head/; revision=130481
2004-05-30Add missing <sys/module.h> includesPoul-Henning Kamp
Notes: svn path=/head/; revision=129879
2004-05-30Use a unique malloc type rather than M_DEVBUF.Scott Long
Notes: svn path=/head/; revision=129859
2004-03-27Fix typo in the device id for the new cards.Scott Long
Notes: svn path=/head/; revision=127487
2004-03-19Add generic support for the recent Adaptec flavors of ServeRAID.Scott Long
Notes: svn path=/head/; revision=127205
2004-03-17Convert callers to the new bus_alloc_resource_any(9) API.Nate Lawson
Submitted by: Mark Santcroos <marks@ripe.net> Reviewed by: imp, dfr, bde Notes: svn path=/head/; revision=127135
2004-02-28Switch from using mutexes to using semaphores to protect against earlyScott Long
completion of synchronous commands. Also switch to a per-array bioq as it appears to improve performance. Submitted by: mbr, imp.ch (bioq change) Notes: svn path=/head/; revision=126364
2004-02-21Device megapatch 4/6:Poul-Henning Kamp
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. Notes: svn path=/head/; revision=126080
2004-02-18Change the disk(9) API in order to make device removal more robust.Poul-Henning Kamp
Previously the "struct disk" were owned by the device driver and this gave us problems when the device disappared and the users of that device were not immediately disappearing. Now the struct disk is allocate with a new call, disk_alloc() and owned by geom_disk and just abandonned by the device driver when disk_create() is called. Unfortunately, this results in a ton of "s/\./->/" changes to device drivers. Since I'm doing the sweep anyway, a couple of other API improvements have been carried out at the same time: The Giant awareness flag has been flipped from DISKFLAG_NOGIANT to DISKFLAG_NEEDSGIANT A version number have been added to disk_create() so that we can detect, report and ignore binary drivers with old ABI in the future. Manual page update to follow shortly. Notes: svn path=/head/; revision=125975