summaryrefslogtreecommitdiff
path: root/sys/dev/si
AgeCommit message (Collapse)Author
2016-08-19Remove the si(4) driver and sicontrol(8) for Specialix serial cards.John Baldwin
The si(4) driver supported multiport serial adapters for ISA, EISA, and PCI buses. This driver does not use bus_space, instead it depends on direct use of the pointer returned by rman_get_virtual(). It is also still locked by Giant and calls for patch testing to convert it to use bus_space were unanswered. Relnotes: yes Notes: svn path=/head/; revision=304502
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
2016-02-27Migrate many bus_alloc_resource() calls to bus_alloc_resource_anywhere().Justin Hibbits
Most calls to bus_alloc_resource() use "anywhere" as the range, with a given count. Migrate these to use the new bus_alloc_resource_anywhere() API. Reviewed by: jhb Differential Revision: https://reviews.freebsd.org/D5370 Notes: svn path=/head/; revision=296137
2014-08-20Fix build of si(4) and enable it in LINT on amd64 and i386.John Baldwin
Notes: svn path=/head/; revision=270224
2014-06-28Pull in r267961 and r267973 again. Fix for issues reported will follow.Hans Petter Selasky
Notes: svn path=/head/; revision=267992
2014-06-27Revert r267961, r267973:Glen Barber
These changes prevent sysctl(8) from returning proper output, such as: 1) no output from sysctl(8) 2) erroneously returning ENOMEM with tools like truss(1) or uname(1) truss: can not get etype: Cannot allocate memory Notes: svn path=/head/; revision=267985
2014-06-27Extend the meaning of the CTLFLAG_TUN flag to automatically check ifHans Petter Selasky
there is an environment variable which shall initialize the SYSCTL during early boot. This works for all SYSCTL types both statically and dynamically created ones, except for the SYSCTL NODE type and SYSCTLs which belong to VNETs. A new flag, CTLFLAG_NOFETCH, has been added to be used in the case a tunable sysctl has a custom initialisation function allowing the sysctl to still be marked as a tunable. The kernel SYSCTL API is mostly the same, with a few exceptions for some special operations like iterating childrens of a static/extern SYSCTL node. This operation should probably be made into a factored out common macro, hence some device drivers use this. The reason for changing the SYSCTL API was the need for a SYSCTL parent OID pointer and not only the SYSCTL parent OID list pointer in order to quickly generate the sysctl path. The motivation behind this patch is to avoid parameter loading cludges inside the OFED driver subsystem. Instead of adding special code to the OFED driver subsystem to post-load tunables into dynamically created sysctls, we generalize this in the kernel. Other changes: - Corrected a possibly incorrect sysctl name from "hw.cbb.intr_mask" to "hw.pcic.intr_mask". - Removed redundant TUNABLE statements throughout the kernel. - Some minor code rewrites in connection to removing not needed TUNABLE statements. - Added a missing SYSCTL_DECL(). - Wrapped two very long lines. - Avoid malloc()/free() inside sysctl string handling, in case it is called to initialize a sysctl from a tunable, hence malloc()/free() is not ready when sysctls from the sysctl dataset are registered. - Bumped FreeBSD version to indicate SYSCTL API change. MFC after: 2 weeks Sponsored by: Mellanox Technologies Notes: svn path=/head/; revision=267961
2013-02-21Remove incorrect comment about splsoftclock.Warner Losh
Notes: svn path=/head/; revision=247089
2009-05-29Last minute TTY API change: remove mutex argument from tty_alloc().Ed Schouten
I don't want people to override the mutex when allocating a TTY. It has to be there, to keep drivers like syscons happy. So I'm creating a tty_alloc_mutex() which can be used in those cases. tty_alloc_mutex() should eventually be removed. The advantage of this approach, is that we can just remove a function, without breaking the regular API in the future. Notes: svn path=/head/; revision=193018
2009-02-07si_cmdname() is defined only when SI_DEBUG is enabled, thusWojciech A. Koszek
using this function in simple printf() causes compile-time problems. Use conditionally enabled DPRINT() macro instead. Notes: svn path=/head/; revision=188266
2008-09-08Pass 1 of mpsafetty-ifying si(4). It compiles and has basic functionality,Peter Wemm
but needs a lot more work. In particular, it has no flow control and has a tendency to race when giving commands. It still uses Giant for the tty and driver lock, but this is a keep-it-simple feature for now. Some of the [temporary] proliferation of messages lines are way too long. Notes: svn path=/head/; revision=182871
2008-06-09Remove sicontrol(8)'s "ttystat".Ed Schouten
In the FreeBSD base system, there are only two utilities that use struct tty, namely pstat and sicontrol. The sicontrol utility calls the TCSI_TTY ioctl(), which copies struct tty back to userspace. sicontrol should not have this functionality. The same data is already provided by pstat. If we really want to be able to export these numbers through a file descriptor to userspace, we can export struct xtty, which should provide a better abstraction. The ttystat option was only used as a debugging aid. This makes sicontrol compile in the mpsafetty branch. Reviewed by: peter Approved by: philip (mentor) Notes: svn path=/head/; revision=179668
2008-06-06Checkpoint what I've been running for the last year. Tidy up aPeter Wemm
bunch of loose ends that "can't happen" any more, if they ever could. Notes: svn path=/head/; revision=179589
2007-12-01Based in info gleaned from the web and other drivers (including the LinuxPeter Wemm
sx driver), change a magic value in the PLX bridge chip. Apparently later builds of the PCI cards had corrected values in the configuration eeprom. This change supposedly fixes some pci bus problems. Notes: svn path=/head/; revision=174136
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 Approved by: re (implicit?) Notes: svn path=/head/; revision=166923
2007-02-23Catchup with filtersWarner Losh
Notes: svn path=/head/; revision=166914
2007-01-18Wrap the EISA-specific parts of the dpt(4) and si(4) back-ends inMarius Strobl
the newly added DEV_EISA. This is done so that these back-ends can be compiled on platforms not providing in{b,w,l}()/out{b,w,l}() and friends (but may wish to use them together with bus front-ends other than the EISA one). Notes: svn path=/head/; revision=166091
2006-11-06Sweep kernel replacing suser(9) calls with priv(9) calls, assigningRobert Watson
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> Notes: svn path=/head/; revision=164033
2006-01-06- Update copyright years from the Specialix SDK.John Baldwin
- Update comment as this firmware is not used for the SX cards, they use the si3_t225 firmware instead. Notes: svn path=/head/; revision=154087
2006-01-06Update the firmware image used for the SIJET cards to the latest availableJohn Baldwin
in the SDK from Specialix/Perle. The prior version was JET.BIN Version 3.0.6 Beta I and the new version is JET__.BIN Version 4.0.1. MFC after: 1 week Notes: svn path=/head/; revision=154082
2006-01-06- Fix cards with multiple modules. Prior to this, the ports on the variousJohn Baldwin
modules would have overlapping names. - Only create /dev/si_control for unit 0. Tested by: Joerg Lehners Joerg dot Lehners at informatik dot uni-oldenburg dot de (on 6.x) MFC after: 1 week Notes: svn path=/head/; revision=154081
2005-11-08Add #nclude <dev/pci/pcireg.h> to pick up definitions for PCIR_BAR andCraig Rodrigues
PCIR_SUBVEND_0. Notes: svn path=/head/; revision=152175
2005-11-07Use PCIR_xxx constants for PCI config space header registers rather thanJohn Baldwin
magic numbers. Notes: svn path=/head/; revision=152172
2005-10-16Eliminate two unused arguments to ttycreate().Poul-Henning Kamp
Notes: svn path=/head/; revision=151383
2005-03-01Use BUS_PROBE_DEFAULT in preference to 0 and BUS_PROBE_LOW_PRIORITY inWarner Losh
preference to some random negative number to allow other drivers a bite at the apple. Notes: svn path=/head/; revision=142890
2005-01-06Start each of the license/copyright comments with /*-, minor shuffle of linesWarner Losh
Notes: svn path=/head/; revision=139749
2004-10-02Add #ifdef _KERNEL which allows sicontrol(8) to include this filePoul-Henning Kamp
from userland to get the debugging definitions. Notes: svn path=/head/; revision=136062
2004-10-02Use generic device/tty adaptation code.Poul-Henning Kamp
New device names are "{tty|cua}A$(card)$(port)[.init|.lock]" Put a portname in the port structure if SI_DEBUG is defined to avoid need to inspect minor number to construct name.. Constify some strings. Remove duplicated DBG_ #defines. Notes: svn path=/head/; revision=136058
2004-09-17Use ttyalloc() instead of ttymalloc(NULL)Poul-Henning Kamp
Notes: svn path=/head/; revision=135367
2004-07-28Avoid casts as lvalues.Alexander Kabaev
Notes: svn path=/head/; revision=132771
2004-07-15Preparation commit for the tty cleanups that will follow in the nearPoul-Henning Kamp
future: rename ttyopen() -> tty_open() and ttyclose() -> tty_close(). We need the ttyopen() and ttyclose() for the new generic cdevsw functions for tty devices in order to have consistent naming. Notes: svn path=/head/; revision=132226
2004-07-11Introduce ttygone() which indicates that the hardware is detached.Poul-Henning Kamp
Move dtrwait logic to the generic TTY level. Notes: svn path=/head/; revision=131981
2004-06-26Pick the hotchar out of the tty structure instead of caching privatePoul-Henning Kamp
copies. No current line disciplines have a dynamically changing hotchar, and expecting to receive anything sensible during a change in ldisc is insane so no locking of the hotchar field is necessary. Notes: svn path=/head/; revision=131134
2004-06-21Put the pre FreeBSD-2.x tty compat code under BURN_BRIDGES.Poul-Henning Kamp
Notes: svn path=/head/; revision=130892
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-11Deorbit COMPAT_SUNOS.Poul-Henning Kamp
We inherited this from the sparc32 port of BSD4.4-Lite1. We have neither a sparc32 port nor a SunOS4.x compatibility desire these days. Notes: svn path=/head/; revision=130344
2004-06-04Centralize the line discipline optimization determination in a functionPoul-Henning Kamp
called ttyldoptim(). Use this function from all the relevant drivers. I belive no drivers finger linesw[] directly anymore, paving the way for locking and refcounting. Notes: svn path=/head/; revision=130096
2004-06-04Machine generated patch which changes linedisc calls from accessingPoul-Henning Kamp
linesw[] directly to using the ttyld...() functions The ttyld...() functions ar inline so there is no performance hit. Notes: svn path=/head/; revision=130077
2004-06-04Make the remaining serial drivers call ttyioctl() rather than callingPoul-Henning Kamp
the linedisc directly. Notes: svn path=/head/; revision=130057
2004-06-01There is no need to explicitly call the stop function. In all likelyhoodPoul-Henning Kamp
->l_close() did it and ttyclose certainly will. Notes: svn path=/head/; revision=129939
2004-05-30Add missing <sys/module.h> includesPoul-Henning Kamp
Notes: svn path=/head/; revision=129879
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-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-21Device megapatch 3/6:Poul-Henning Kamp
Add missing D_TTY flags to various drivers. Complete asserts that dev_t's passed to ttyread(), ttywrite(), ttypoll() and ttykqwrite() have (d_flags & D_TTY) and a struct tty pointer. Make ttyread(), ttywrite(), ttypoll() and ttykqwrite() the default cdevsw methods for D_TTY drivers and remove the explicit initializations in various drivers cdevsw structures. Notes: svn path=/head/; revision=126078
2004-02-21Device megapatch 1/6:Poul-Henning Kamp
Free approx 86 major numbers with a mostly automatically generated patch. A number of strategic drivers have been left behind by caution, and a few because they still (ab)use their major number. Notes: svn path=/head/; revision=126076
2003-08-24Use __FBSDID().David E. O'Brien
Also some minor style cleanups. Notes: svn path=/head/; revision=119419
2003-08-22Prefer new location of pci include files (which have only been in theWarner Losh
tree for two or more years now), except in a few places where there's code to be compatible with older versions of FreeBSD. Notes: svn path=/head/; revision=119287
2003-03-05Make TTYHOG tunable.David Schultz
Reviewed by: mike (mentor) Notes: svn path=/head/; revision=111899
2003-03-03Make nokqfilter() return the correct return value.Poul-Henning Kamp
Ditch the D_KQFILTER flag which was used to prevent calling NULL pointers. Notes: svn path=/head/; revision=111821
2003-03-03Gigacommit to improve device-driver source compatibility betweenPoul-Henning Kamp
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) Notes: svn path=/head/; revision=111815