#
303975 |
|
11-Aug-2016 |
gjb |
Copy stable/11@r303970 to releng/11.0 as part of the 11.0-RELEASE cycle.
Prune svn:mergeinfo from the new branch, and rename it to RC1.
Update __FreeBSD_version.
Use the quarterly branch for the default FreeBSD.conf pkg(8) repo and the dvd1.iso packages population.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation |
#
302408 |
|
08-Jul-2016 |
gjb |
Copy head@r302406 to stable/11 as part of the 11.0-RELEASE cycle. Prune svn:mergeinfo from the new branch, as nothing has been merged here.
Additional commits post-branch will follow.
Approved by: re (implicit) Sponsored by: The FreeBSD Foundation
|
#
294235 |
|
17-Jan-2016 |
ian |
Make PPS ASSERT/CLEAR events match the RS-232 signal levels as per RFC 2783. Previously the polarity was for TTL levels, which are the reverse of RS-232.
Also add handling of the UART_PPS_INVERT_PULSE option bit in the sysctl value, the same as was recently added to uart(4), so that people using TTL level connections can request a logical inverting of the signal.
Use the named constants from the new dev/uart/uart_ppstypes.h for the pps capture modes and option bits.
|
#
282424 |
|
04-May-2015 |
ian |
Implement a mechanism for making changes in the kernel<->driver PPS interface without breaking ABI or API compatibility with existing drivers.
The existing data structures used to communicate between the kernel and driver portions of PPS processing contain no spare/padding fields and no flags field or other straightforward mechanism for communicating changes in the structures or behaviors of the code. This makes it difficult to MFC new features added to the PPS facility. ABI compatibility is important; out-of-tree drivers in module form are known to exist. (Note that the existing api_version field in the pps_params structure must contain the value mandated by RFC 2783 and any RFCs that come along after.)
These changes introduce a pair of abi-version fields which are filled in by the driver and the kernel respectively to indicate the interface version. The driver sets its version field before calling the new pps_init_abi() function. That lets the kernel know how much of the pps_state structure is understood by the driver and it can avoid using newer fields at the end of the structure that it knows about if the driver is a lower version. The kernel fills in its version field during the init call, letting the driver know what features and data the kernel supports.
To implement the new version information in a way that is backwards compatible with code from before these changes, the high bit of the lightly-used 'kcmode' field is repurposed as a flag bit that indicates the driver is aware of the abi versioning scheme. Basically if this bit is clear that indicates a "version 0" driver and if it is set the driver_abi field indicates the version.
These changes also move the recently-added 'mtx' field of pps_state from the middle to the end of the structure, and make the kernel code that uses this field conditional on the driver being abi version 1 or higher. It changes the only driver currently supplying the mtx field, usb_serial, to use pps_init_abi().
Reviewed by: hselasky@
|
#
279773 |
|
08-Mar-2015 |
hselasky |
Switch polarity of PPS events.
PR: 196897 Submitted by: ian @ MFC after: 1 week
|
#
279756 |
|
07-Mar-2015 |
hselasky |
Use correct mode variable for PPS support.
PR: 196897 Submitted by: ian @ MFC after: 1 week
|
#
279729 |
|
07-Mar-2015 |
hselasky |
Add PPS support to USB serial drivers. Bump kernel version to reflect structure change.
PR: 196897 MFC after: 1 week
|
#
276701 |
|
05-Jan-2015 |
hselasky |
Make a bunch of USB debug SYSCTLs tunable, so that their value(s) can be set before the USB device(s) are probed.
|
#
268080 |
|
01-Jul-2014 |
hselasky |
Fix order of USB serial layer uninit. Currently module dependency rules prevent the USB serial module to be unloaded before any client modules. This patch ensures that the "ucom_mtx" mutex is destroyed last when doing a system uninit in a monotolith build aswell.
MFC after: 3 days
|
#
267992 |
|
28-Jun-2014 |
hselasky |
Pull in r267961 and r267973 again. Fix for issues reported will follow.
|
#
267985 |
|
27-Jun-2014 |
gjb |
Revert r267961, r267973:
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
|
#
267961 |
|
27-Jun-2014 |
hselasky |
Extend the meaning of the CTLFLAG_TUN flag to automatically check if 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
|
#
263289 |
|
18-Mar-2014 |
emaste |
Update NetBSD Foundation copyrights to 2-clause BSD
The NetBSD Foundation states "Third parties are encouraged to change the license on any files which have a 4-clause license contributed to the NetBSD Foundation to a 2-clause license."
This change removes clauses 3 and 4 from copyright / license blocks that list The NetBSD Foundation as the only copyright holder.
Sponsored by: The FreeBSD Foundation
|
#
250576 |
|
12-May-2013 |
eadler |
Fix several typos
PR: kern/176054 Submitted by: Christoph Mallon <christoph.mallon@gmx.de> MFC after: 3 days
|
#
244489 |
|
20-Dec-2012 |
hselasky |
Make sure we block recursion on TTY's inwakeup callback
Suggested by: davide MFC after: 1 week
|
#
242703 |
|
07-Nov-2012 |
hselasky |
Add lock asserts instead of "auto-locking".
MFC after: 1 weeks Suggested by: ed @
|
#
242702 |
|
07-Nov-2012 |
hselasky |
The tty_inwakeup callback appears to be called both locked and unlocked. Handle the required locking automatically for now.
MFC after: 1 weeks
|
#
242695 |
|
07-Nov-2012 |
hselasky |
Patch to improve USB serial console.
MFC after: 1 weeks Submitted by: Bruce Evans
|
#
242619 |
|
05-Nov-2012 |
hselasky |
Add a jitter buffer in the common USB serial driver code which temporarily stores characters if the TTY buffer is full when used a as a console. This can happen when a console is suspended. Also properly do the flow stop signalling when this happens and flow start when the condition changes back to normal again.
Bump __FreeBSD_version to force external kernel modules to be recompiled. No kernel API changes.
MFC after: 1 week Suggested by: ed @
|
#
242126 |
|
26-Oct-2012 |
hselasky |
Add missing CTLFLAG_TUN flag to tunable sysctls in USB stack. Rearrange the tunables and belonging sysctl declarations, so that they are next to eachother.
Submitted by: n_hibma @ MFC after: 1 week
|
#
239299 |
|
15-Aug-2012 |
hselasky |
Revert r239178 and implement two new functions, namely "device_free_softc()" and "device_claim_softc()", to allow USB serial drivers refcounting the softc. These functions are used to grab the softc from auto-free and to free the softc back to the correct malloc type, respectivly.
Discussed with: jhb MFC after: 2 weeks
|
#
239179 |
|
10-Aug-2012 |
hselasky |
Switch unit management in UCOM to unrhdr.
Extend the callback table of UCOM to include a "ucom_free" function pointer which is called when all refs on a UCOM super structure is gone.
Implement various helper functions to handle refcounting and draining on the UCOM super structure.
Implement macro which can be used in device drivers to avoid module unload before all pending TTY references are gone.
The UCOM API is backwards compatible after this change and device drivers require no changes to function with this change. Only a recompilation of UCOM device drivers is required. The FreeBSD version has been bumped in that regard.
Discussed with: kib, ed MFC after: 2 weeks
|
#
233774 |
|
02-Apr-2012 |
hselasky |
Fix compiler warnings, mostly signed issues, when USB modules are compiled with WARNS=9.
MFC after: 1 weeks
|
#
230209 |
|
16-Jan-2012 |
hselasky |
Export ttyname instead of ttyunit via the sysctl interface.
Submitted by: Mykhaylo Yehorov PR: usb/164090 MFC after: 1 week
|
#
230204 |
|
16-Jan-2012 |
hselasky |
Export information about USB serial port unit and port numbers directly via the sysctl interface.
Submitted by: Mykhaylo Yehorov PR: usb/164090 MFC after: 1 week
|
#
228631 |
|
17-Dec-2011 |
avg |
kern cons: introduce infrastructure for console grabbing by kernel
At the moment grab and ungrab methods of all console drivers are no-ops.
Current intended meaning of the calls is that the kernel takes control of console input. In the future the semantics may be extended to mean that the calling thread takes full ownership of the console (e.g. console output from other threads could be suspended).
Inspired by: bde MFC after: 2 months
|
#
227309 |
|
07-Nov-2011 |
ed |
Mark all SYSCTL_NODEs static that have no corresponding SYSCTL_DECLs.
The SYSCTL_NODE macro defines a list that stores all child-elements of that node. If there's no SYSCTL_DECL macro anywhere else, there's no reason why it shouldn't be static.
|
#
226219 |
|
10-Oct-2011 |
hselasky |
Bugfix: The ucom detach function is sometimes called on zeroed structures. Check for this case and just return, so that the UCOM unit number zero is not accidentially freed.
Submitted by: Danish FreeBSD user at EuroBSDcon 2011 MFC after: 3 days
|
#
217265 |
|
11-Jan-2011 |
jhb |
Remove unneeded includes of <sys/linker_set.h>. Other headers that use it internally contain nested includes.
Reviewed by: bde
|
#
214919 |
|
07-Nov-2010 |
n_hibma |
Bugfix: Set the bit that marks a device number in use. This would cause a panic when disconnecting the second serial device.
Submitted by: Lucius Windschuh
|
#
214843 |
|
05-Nov-2010 |
n_hibma |
Implement ucom_set_pnpinfo_usb() providing ttyname and port number information through devd. My E220 now produces the notification (1 line):
+u3g0 at bus=1 hubaddr=1 port=0 devaddr=2 interface=0 \ vendor=0x12d1 product=0x1003 devclass=0x00 devsubclass=0x00 \ sernum="" release=0x0000 intclass=0xff intsubclass=0xff \ ttyname=U0 ttyports=2 on uhub0
Note: serial/ufoma and net/uhso still provide port number and tty name (uhso only) information through sysctls, which should now be removed.
Reviewed by: hpselasky
|
#
214831 |
|
05-Nov-2010 |
n_hibma |
- Remove an unused entry from the softc (only used in a debugging printf). - Fix the loop count on detach (causing a panic on detaching a serial dongle). - Increase a buffer in case some driver want extra long tty device names (postfixing the purpose of the tty for example, e.g. u3g.ppp).
|
#
214761 |
|
03-Nov-2010 |
n_hibma |
- Simplify the way unit/subunit allocation is done in ucom. - hw.usb.ucom.cons_unit is now split into hw.usb.ucom.cons_unit/...cons_subunit.
Note: The tunable/sysctl hw.usb.ucom.cons_unit needs to be reviewed if
a) a console was defined a USB serial devices, and a USB device with more than 1 subunit is present, and this device is attached before the device functioning as a console
or
b) a console was defined on a USB device with more than 1 subunit
Reviewed by: hps MFC after: 2 weeks
|
#
213872 |
|
14-Oct-2010 |
hselasky |
Fix forwarding of Line Register Status changes to TTY layer.
PR: usb/149675 Approved by: thompsa (mentor)
|
#
207077 |
|
22-Apr-2010 |
thompsa |
Change USB_DEBUG to #ifdef and allow it to be turned off. Previously this had the illusion of a tunable setting but was always turned on regardless.
MFC after: 1 week
|
#
198774 |
|
01-Nov-2009 |
thompsa |
Check unit number and provide string name for consdev.
Submitted by: HPS
|
#
197570 |
|
28-Sep-2009 |
thompsa |
Add experimental support for usb serial console and polled mode during DDB.
Submitted by: Hans Petter Selasky
|
#
196219 |
|
14-Aug-2009 |
jhb |
Purge mergeinfo from files that were temporarily renamed while USB2 was imported into the tree alongside USB.
Approved by: re (mergeinfo blanket)
|
#
195146 |
|
28-Jun-2009 |
ed |
Don't pick up Giant inside ucom(4).
Giant was only used here to lock down a bit mask of allocated unit numbers. Change the code to use its own mutex.
Reviewed by: hselasky Approved by: re (kib)
|
#
194677 |
|
23-Jun-2009 |
thompsa |
- Make struct usb_xfer opaque so that drivers can not access the internals - Reduce the number of headers needed for a usb driver, the common case is just usb.h and usbdi.h
|
#
194228 |
|
15-Jun-2009 |
thompsa |
s/usb2_/usb_|usbd_/ on all function names for the USB stack.
|
#
194227 |
|
15-Jun-2009 |
thompsa |
Remove usb2_cv_* and just use the kernel condvar implementation, it was needed earlier since condition variables didnt work with Giant but this was fixed 10 months ago.
|
#
193045 |
|
29-May-2009 |
thompsa |
s/usb2_/usb_/ on all typedefs for the USB stack.
|
#
193018 |
|
29-May-2009 |
ed |
Last minute TTY API change: remove mutex argument from tty_alloc().
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.
|
#
192984 |
|
28-May-2009 |
thompsa |
s/usb2_/usb_/ on all C structs for the USB stack.
|
#
192820 |
|
26-May-2009 |
thompsa |
Do not forcefully close the write transfer when closing the tty, it needs to run to completion and drain the tty queue.
|
#
192502 |
|
21-May-2009 |
thompsa |
Rename the usb sysctl tree from hw.usb2.* back to hw.usb.*.
Submitted by: Hans Petter Selasky
|
#
190749 |
|
05-Apr-2009 |
piso |
Remove pointeless mergeinfo that crept in from r190633.
|
#
190742 |
|
05-Apr-2009 |
thompsa |
MFp4 //depot/projects/usb@160052
Wait until line configuration is complete before starting data transfers.
Submitted by: Hans Petter Selasky
|
#
190633 |
|
01-Apr-2009 |
piso |
Implement an ipfw action to reassemble ip packets: reass.
|
#
190581 |
|
30-Mar-2009 |
mav |
Integrate user/mav/ata branch:
Add ch_suspend/ch_resume methods for PCI controllers and implement them for AHCI. Refactor AHCI channel initialization according to it.
Fix Port Multipliers operation. It is far from perfect yet, but works now. Tested with JMicron JMB363 AHCI + SiI 3726 PMP pair. Previous version was also tested with SiI 4726 PMP.
Hardware sponsored by: Vitsch Electronics / VEHosting.nl
|
#
188942 |
|
23-Feb-2009 |
thompsa |
Move the new USB stack into its new home.
|
#
188413 |
|
09-Feb-2009 |
thompsa |
MFp4 //depot/projects/usb; 157069, 157136, 157143, 157145, 157429
- USB serial drivers cleanup, factor out code - Simplify line state programming - Integrate uslcom from old USB stack
Submitted by: Hans Petter Selasky
|
#
187176 |
|
13-Jan-2009 |
thompsa |
MFp4: //depot/projects/usb@155917
Remove dependancy towards the USB config thread in the USB serial core. Use USB process msignalling instead. Saves a little memory and hopefully makes the code more understandable.
Submitted by: Hans Petter Selasky
|
#
186885 |
|
08-Jan-2009 |
takawata |
Make ufoma2 driver work. 1.Sync TD on close to ensure USB request in close callback issued. 2.Add sysctls to indicate device role. 3.Enable handsfree port support.
Now modem port and obex port works well. Handsfree port works but not with good response.
|
#
185950 |
|
11-Dec-2008 |
thompsa |
Remove superfluous return statements from the end of void functions.
|
#
185948 |
|
11-Dec-2008 |
thompsa |
Format and wrap function declarations.
|
#
184736 |
|
06-Nov-2008 |
imp |
Bring in http://perforce.freebsd.org/chv.cgi?CH=152584 from hps.
Submitted by: hps
|
#
184610 |
|
04-Nov-2008 |
alfred |
Bring in USB4BSD, Hans Petter Selasky rework of the USB stack that includes significant features and SMP safety.
This commit includes a more or less complete rewrite of the *BSD USB stack, including Host Controller and Device Controller drivers and updating all existing USB drivers to use the new USB API:
1) A brief feature list:
- A new and mutex enabled USB API.
- Many USB drivers are now running Giant free.
- Linux USB kernel compatibility layer.
- New UGEN backend and libusb library, finally solves the "driver unloading" problem. The new BSD licensed libusb20 library is fully compatible with libusb-0.1.12 from sourceforge.
- New "usbconfig" utility, for easy configuration of USB.
- Full support for Split transactions, which means you can use your full speed USB audio device on a high speed USB HUB.
- Full support for HS ISOC transactions, which makes writing drivers for various HS webcams possible, for example.
- Full support for USB on embedded platforms, mostly cache flushing and buffer invalidating stuff.
- Safer parsing of USB descriptors.
- Autodetect of annoying USB install disks.
- Support for USB device side mode, also called USB gadget mode, using the same API like the USB host side. In other words the new USB stack is symmetric with regard to host and device side.
- Support for USB transfers like I/O vectors, means more throughput and less interrupts.
- ... see the FreeBSD quarterly status reports under "USB project"
2) To enable the driver in the default kernel build:
2.a) Remove all existing USB device options from your kernel config file.
2.b) Add the following USB device options to your kernel configuration file:
# USB core support device usb2_core
# USB controller support device usb2_controller device usb2_controller_ehci device usb2_controller_ohci device usb2_controller_uhci
# USB mass storage support device usb2_storage device usb2_storage_mass
# USB ethernet support, requires miibus device usb2_ethernet device usb2_ethernet_aue device usb2_ethernet_axe device usb2_ethernet_cdce device usb2_ethernet_cue device usb2_ethernet_kue device usb2_ethernet_rue device usb2_ethernet_dav
# USB wireless LAN support device usb2_wlan device usb2_wlan_rum device usb2_wlan_ral device usb2_wlan_zyd
# USB serial device support device usb2_serial device usb2_serial_ark device usb2_serial_bsa device usb2_serial_bser device usb2_serial_chcom device usb2_serial_cycom device usb2_serial_foma device usb2_serial_ftdi device usb2_serial_gensa device usb2_serial_ipaq device usb2_serial_lpt device usb2_serial_mct device usb2_serial_modem device usb2_serial_moscom device usb2_serial_plcom device usb2_serial_visor device usb2_serial_vscom
# USB bluetooth support device usb2_bluetooth device usb2_bluetooth_ng
# USB input device support device usb2_input device usb2_input_hid device usb2_input_kbd device usb2_input_ms
# USB sound and MIDI device support device usb2_sound
2) To enable the driver at runtime:
2.a) Unload all existing USB modules. If USB is compiled into the kernel then you might have to build a new kernel.
2.b) Load the "usb2_xxx.ko" modules under /boot/kernel having the same base name like the kernel device option.
Submitted by: Hans Petter Selasky hselasky at c2i dot net Reviewed by: imp, alfred
|