summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
* BIOSes, buggy or otherwise, are i386 or amd64 specific.marcel2009-10-231-0/+4
| | | | | | | | Have the early USB takeover enabled for i386 and amd64 by default. This also avoids a panic on PowerPC where the resource isn't released properly and we find a busy resource when the USB host controller wants to allocate it...
* Updated iwn(4) driver supporting the newer series, 5000, 5150 and 5300.rpaulo2009-10-233-2602/+4498
| | | | Submitted by: Bernhard Schmidt <bschmidt at techwires.net>
* Reimplement device reset sequence in more controller-specific way.mav2009-10-231-38/+34
|
* Remove a redundant byte swapping in the previous commit.jkim2009-10-231-1/+0
|
* Search for default 800x600 graphics mode from supported VESA mode list.jkim2009-10-231-18/+46
| | | | Many video controllers do not support 800x600x24 mode any more.
* - When we restore VESA state, try BIOS POST earlier. VESA restore statejkim2009-10-232-25/+71
| | | | | | | | | | | | | function may not work properly if we don't. Turn off hardware cursor as vesa_set_mode() does. - Add VBE 3.0 specific fields in VESA mode structure and pack it. Note the padding is 190 bytes although VBE 3.0 says 189 bytes. It must be wrong because the size of structure becomes 255 bytes and the specification says it must be 256 bytes in total. In fact, an example code in the spec. does it right, though. While we are at it, fix some i386-isms. - Remove state buffer size limitation. It is no longer necessary since sys/compat/x86bios/x86bios.c r198251. - Move int 0x10 vector test into vesa_bios_post() as we always do it anyway.
* MFp4:mav2009-10-234-15/+4
| | | | Do not differentiate 12/16 bytes ATAPI CCB formats when it is not needed.
* Revert interrupt reason check order back.mav2009-10-231-6/+6
| | | | ATAPI errors may set IF bit together with TFE.
* Allow dumping the USB mouse reports via 'sysctl -b dev.ums.N.parseinfo',thompsa2009-10-221-1/+71
| | | | | | | previously only available via bootverbose. PR: usb/137191 Submitted by: Eygene Ryabinkin
* Don't use BUS_DMA_ALLOCNOW as that causes the attachment to fail onrpaulo2009-10-221-1/+1
| | | | | | Cambria boards. MFC after: 2 months
* Check pointer for NULL before dereferencing it, not after.brueffer2009-10-222-4/+9
| | | | | | PR: 138387, 138388 Submitted by: Patroklos Argyroudis <argp@census-labs.com> MFC after: 1 week
* Handle the case where there is only one PMC in the system.fabient2009-10-211-4/+4
| | | | | Approved by: jkoshy (mentor) MFC after: 3 days
* Check pointer for NULL before dereferencing it, not after.brueffer2009-10-211-1/+2
| | | | | | | PR: 138383 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Reviewed by: rnoland MFC after: 1 week
* Check pointer for NULL before dereferencing it, not after.brueffer2009-10-211-1/+1
| | | | | | PR: 138384 Submitted by: Patroklos Argyroudis <argp@census-labs.com> MFC after: 1 week
* Add a missing free() call.brueffer2009-10-211-0/+2
| | | | | | | PR: 138379 Submitted by: Patroklos Argyroudis <argp@census-labs.com> Reviewed by: gibbs MFC after: 1 week
* MFp4:mav2009-10-212-2/+2
| | | | | Report real max_target = 15. SIM doesn't need to know that target 15 is PMP. It is XPT business.
* MFp4:mav2009-10-211-7/+26
| | | | Freeze device queue on error to permit periph driver to do proper recovery.
* - Introduce new option BCE_JUMBO_HDRSPLIT that allows user to enable headerstas2009-10-212-47/+47
| | | | | | | | splitting in bce(4) instead of (ab)using ZERO_COPY_SOCKETS that was not propagated into if_bce.c anyway. It is disabled by default. Approved by: davidch MFC after: 3 days
* MFp4:mav2009-10-212-37/+79
| | | | | | | | | | | On error, freeze device queue, to allow periph driver to do proper recovery. Freeze SIM queue only in some cases, when it is needed to protect SIM. Implement better command timeout detection logic for non-queued commands. This fixes false positives when command with short timeout waiting for the long one. For example, when hald tastes CD during burning process. Read and clear SERR register on interrupt.
* - On entrance to the rx_eof sync RX rings maps with POSTWRITE flagstas2009-10-211-4/+7
| | | | | | | | | | | | | | | | instead of POSTREAD: the hardware do not touch this memory (CPU updates it). It is already synchronized as PREWRITE after the processing is done. - Synchronize RX return ring memory in rx_eof. This is needed as the deviced updates this memory when receives packets. - Decouple the synchronization of BGE status block in the interrupt service routine: perfrom PREREAD synchronization only all accesses to this block are finished. This seems to be more natural. Reviewed by: yongari, marius MFC after: 2 weeks
* Change from CAM_TID_INVALID to CAM_SEL_TIMEOUT error code when the usb devicethompsa2009-10-201-2/+3
| | | | | | | | | | | | | | has been yanked, this works around a cam recounting bug when CAM_DEV_UNCONFIGURED is set late in the detach. In certain conditions the reference to the XPT device would not be released which would cause the usb explore thread to sleep forever on "simfree", preventing any new usb devices to be found/ejected on the bus. This is intended to be a quick workaround to the problem without touching CAM so it can be merged to 8.0. Suggested by: mav MFC after: 3 days
* Make mxge do a better job recovering from NIC h/w faultsgallatin2009-10-201-13/+37
| | | | | | | by checking PCI config space when the NIC is not transmitting. Previously, a h/w fault would not have been detected if the NIC was down, or handling an RX only workload.
* Use callout_init_mtx on FreeBSD versions recent enough. This closeskan2009-10-204-21/+40
| | | | | | | | | | | the race where interrupt thread can complete the request for which timeout has fired and while mpt_timeout has blocked on mpt_lock. Do a best effort to keep 4.x ang Giant-locked configurartions compiling still. Reported by: ups Reviewed by: scottl
* Remove a redundant option ROM check, which was never meant to be committed.jkim2009-10-191-3/+2
|
* Add support for newer WinChipHead CH341 chips, previously in the uch341 driver.thompsa2009-10-192-116/+58
| | | | Submitted by: HPS
* Remove the newly added uch341 driver, it will be merged into uchcom instead.thompsa2009-10-191-530/+0
| | | | | Suggested by: takawata Submitted by: HPS
* Rewrite x86bios and update its dependent drivers.jkim2009-10-194-322/+536
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | - Do not map entire real mode memory (1MB). Instead, we map IVT/BDA and ROM area separately. Most notably, ROM area is mapped as device memory (uncacheable) as it should be. User memory is dynamically allocated and free'ed with contigmalloc(9) and contigfree(9). Remove now redundant and potentially dangerous x86bios_alloc.c. If this emulator ever grows to support non-PC hardware, we may implement it with rman(9) later. - Move all host-specific initializations from x86emu_util.c to x86bios.c and remove now unnecessary x86emu_util.c. Currently, non-PC hardware is not supported. We may use bus_space(9) later when the KPI is fixed. - Replace all bzero() calls for emulated registers with more obviously named x86bios_init_regs(). This function also initializes DS and SS properly. - Add x86bios_get_intr(). This function checks if the interrupt vector is available for the platform. It is not necessary for PC-compatible hardware but it may be needed later. ;-) - Do not try turning off monitor if DPMS does not support the state. - Allocate stable memory for VESA OEM strings instead of just holding pointers to them. They may or may not be accessible always. Fix a memory leak of video mode table while I am here. - Add (experimental) BIOS POST call for vesa(4). This function calls VGA BIOS POST code from the current VGA option ROM. Some video controllers cannot save and restore the state properly even if it is claimed to be supported. Usually the symptom is blank display after resuming from suspend state. If the video mode does not match the previous mode after restoring, we try BIOS POST and force the known good initial state. Some magic was taken from NetBSD (and it was taken from vbetool, I believe.) - Add a loader tunable for vgapci(4) to give a hint to dpms(4) and vesa(4) to identify who owns the VESA BIOS. This is very useful for multi-display adapter setup. By default, the POST video controller is automatically probed and the tunable "hw.pci.default_vgapci_unit" is set to corresponding vgapci unit number. You may override it from loader but it is very unlikely to be necessary. Unfortunately only AGP/PCI/PCI-E controllers can be matched because ISA controller does not have necessary device IDs. - Fix a long standing bug in state save/restore function. The state buffer pointer should be ES:BX, not ES:DI according to VBE 3.0. If it ever worked, that's because BX was always zero. :-) - Clean up register initializations more clearer per VBE 3.0. - Fix a lot of style issues with vesa(4).
* Move mxge(4)'s NIC watchdog reset handler fromgallatin2009-10-192-22/+66
| | | | a callout to a taskqueue
* Work around a quirk with the G5 Xserve, which has a fake GMAC controllernwhitehorn2009-10-181-0/+10
| | | | | | with an all-zero MAC address. In this case, don't attach. Discussed with: marius
* Fix KASSERT string to include the real module name.rpaulo2009-10-181-1/+1
|
* overhauls urtw(4) for supporting RTL8187B devices properly that thereweongyo2009-10-183-371/+658
| | | | | | | | | | | | | | | | | | | | | | was major changes to initialize RF chipset and set H/W registers and removed a lot of magic numbers on code. Details are as follows: - uses the endpoint 0x89 to get TX status information which used to get TX complete or retry numbers or get a beacon interrupt. It's only valuable for RTL8187B. - removes urtw_write[8|16|32]_i functions that it's useless now. - uses ic->ic_updateslot to set SLOT, SIFS, DIES, EIFS, CW_VAL registers that doesn't set these whenever the channel is changed. - code for initializing RF chipset for RTL8187B changed a lot that there was many problems on TX transfers so it doesn't work properly even if just for a ping/pong. Now it becomes more stable than before that TX throughputs using netperf(1) were about 15 ~ 17Mbps/s though sometimes it encounters packet losses. - removes a lot of magic numbers that in the previous all of representing RX and TX descriptors were consisted of magic numbers and structures. It'd be more readable rather than before. - calculates TX duration more accurately for urtw(4) devices. - style(9)
* Correct offset calcluation for the NCM implementation.thompsa2009-10-151-18/+17
| | | | Submitted by: HPS
* Only poll ukbd if KDB is active.thompsa2009-10-151-0/+4
| | | | Submitted by: HPS
* Workaround buggy BIOS code in USB regard. By doing the BIOS to OS handover forthompsa2009-10-1516-282/+535
| | | | | | | | | all host controllers at the same time, we avoid problems where the BIOS will actually write to the USB registers of all the USB host controllers every time we handover one of them, and consequently reset the OS programmed values. Submitted by: avg Reviewed by: jhb
* fixes a TX hang that could be possible to happen when the trasfers areweongyo2009-10-145-2/+23
| | | | | | | in the high speed that some drivers don't call if_start callback after marking ~IFF_DRV_OACTIVE. MFC after: 3 days
* fixes a TX hang bug that it could happen when if_start callback didn'tweongyo2009-10-141-2/+8
| | | | | | | be restarted by full of the output queue. MFC after: 3 days Tested by: bsduser <bsd at acd.homelinux.org>
* Immediately after clearing a pending callout that didn't make it duebz2009-10-131-10/+10
| | | | | | | | | | | | | | to the lock we hold, disable interrupts, and announce to the firmware that we are shutting down. Especially do this before disabling blocks. This makes some types of machines with asf enabled no longer hang upon boot, when we start configuring the interface. PR: i386/96382, kern/100410, kern/122252, kern/116328 Reported by: erwin Hardware provided by: TDC A/S Reviewed by: stas Tested by: stas
* Correct a copy/paste bug in a comment. lptclose() checks once a second tojhb2009-10-131-1/+1
| | | | see if the ppc hardware has gone idle rather than four times a second.
* Fix the 106/109 USB Japanese keyboard "underscore" issue.hrs2009-10-121-12/+51
| | | | | | | | | Sun Type 6 USB keyboard support added in rev 1.46 conflicted with some scan codes used in Japanese keyboards because the scan code conversion routine was ambiguous for the overlapped codes. PR: ports/134005 Submitted by: YAMASHIRO Jun
* Add support for Intel G41 chipsetrnoland2009-10-112-1/+4
| | | | | Submitted by: Artyom Mirgorodsky <man@email.com.ua> MFC after: 3 days
* Add pci id's for Intel G41 chipsetrnoland2009-10-111-0/+2
| | | | | Submitted by: Artyom Mirgorodsky <man@email.com.ua> MFC after: 3 days
* Atheros EEPROM version 4K. This version is mostly based on version 1.4.rpaulo2009-10-102-0/+561
| | | | | | | | | This is needed by the upcoming AR9285 support. Information on the layout gathered from Linux ath9k. Not yet connected to the build. Tested by: Eugeny Dzhurinsky
* Orphaning provider with EXDEV seems weird; perhaps the author meanttrasz2009-10-101-1/+1
| | | | ENXIO here?
* On command timeout handle frozen command first, to not run it insidemav2009-10-072-6/+8
| | | | | | XXX_end_transaction(). Submitted by: avg
* - Give a name to the host coalescing bug fix WDMA mode register bit insteadstas2009-10-072-1/+2
| | | | | of using hardcoded value in the code. Obtained from: OpenBSD
* - Add support for new BGE chips (5761, 5784 and 57780). These chips uses newstas2009-10-072-74/+173
| | | | | | | | | | | BGE_PCI_PRODID_ASICREV register to store the chip identifier and its revision. - Add new grouping macro for 7575+ chips (BGE_IS_5755_PLUS). - Add IDs for Fujitsu-branded Broadcom adapters. PR: kern/127587 Tested by: Thomas Quinot <thomas@quinot.org> (BCM7561 A0) MFC after: 2 weeks Obtained from: OpenBSD
* cxgb(4) updates, including:np2009-10-0513-2593/+4405
| | | | | | | | | | - support for the new Gen-2, BT, and LP-CR cards. - T3 firmware 7.7.0 - shared "common code" updates. Approved by: gnn (mentor) Obtained from: Chelsio MFC after: 1 month
* - Revert r191568 partially. Forcing AHCI mode by changing device subclassjkim2009-10-051-63/+31
| | | | | | | | | and progif is evil. It doesn't work reliably[1] and we should honor BIOS configuration by the user. - If the SATA controller is enbled but combined mode is disabled, mask off the emulated IDE channel on the legacy IDE controller. Pointed out by: mav[1]
* When the timeout backoff hits the maximum value, leave it capped at thejhb2009-10-051-1/+1
| | | | | | | | maximum value rather than setting it to the result of a boolean expression that is always true. Submitted by: Joseph Kong MFC after: 1 month
* updates device entries supported with the product name not magic numbersweongyo2009-10-042-11/+22
| | | | | | and sorts entries. WUSB54GCV2 is added. Obtained from: OpenBSD
OpenPOWER on IntegriCloud