summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
...
* On Rev. B silicon, we disabled the enhanced busfree detection logic togibbs2005-02-161-3/+3
| | | | | | | | | | | close holes in detecting busfrees that occur after a packetized target transitions to a non-packetized phase. The most common case where this occurs is when a target is externally reset so the controller believes a packetzied negotiation agreement is still in effect. Unfortunately, disabling this feature seems to cause problems for the 7901B. Re-enable ehanced busfree detection for this part until I can get my hands on a samble to figure out if the old workaround is necessary and, if so, how to make it work correctly.
* MF5S: Explicitly initialize timedout_scb lists, use SCB_TAG for all accessgibbs2005-02-163-4/+9
| | | | | to the hardware_scb->tag field, limit max lun reported to CAM to 63, return after a panic to silence a warning.
* On second though, print the OUI, model and revision. This is the sameimp2005-02-161-1/+3
| | | | | information that's in the id1 and id2 fields we were using, but is in a form that the drivers will be using in their matching routines.
* Add support for Windows/x86-64 binaries to Project Evil.wpaul2005-02-162-17/+52
| | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | | Ville-Pertti Keinonen (will at exomi dot comohmygodnospampleasekthx) deserves a big thanks for submitting initial patches to make it work. I have mangled his contributions appropriately. The main gotcha with Windows/x86-64 is that Microsoft uses a different calling convention than everyone else. The standard ABI requires using 6 registers for argument passing, with other arguments on the stack. Microsoft uses only 4 registers, and requires the caller to leave room on the stack for the register arguments incase the callee needs to spill them. Unlike x86, where Microsoft uses a mix of _cdecl, _stdcall and _fastcall, all routines on Windows/x86-64 uses the same convention. This unfortunately means that all the functions we export to the driver require an intermediate translation wrapper. Similarly, we have to wrap all calls back into the driver binary itself. The original patches provided macros to wrap every single routine at compile time, providing a secondary jump table with a customized wrapper for each exported routine. I decided to use a different approach: the call wrapper for each function is created from a template at runtime, and the routine to jump to is patched into the wrapper as it is created. The subr_pe module has been modified to patch in the wrapped function instead of the original. (On x86, the wrapping routine is a no-op.) There are some minor API differences that had to be accounted for: - KeAcquireSpinLock() is a real function on amd64, not a macro wrapper around KfAcquireSpinLock() - NdisFreeBuffer() is actually IoFreeMdl(). I had to change the whole NDIS_BUFFER API a bit to accomodate this. Bugs fixed along the way: - IoAllocateMdl() always returned NULL - kern_windrv.c:windrv_unload() wasn't releasing private driver object extensions correctly (found thanks to memguard) This has only been tested with the driver for the Broadcom 802.11g chipset, which was the only Windows/x86-64 driver I could find.
* Add location and PNP info to the mii busimp2005-02-161-0/+24
|
* Add an XXX comment about string quoting.imp2005-02-161-0/+1
|
* Initialize Netgraph type at a correct time, before device probing.ru2005-02-152-2/+2
|
* Remove an outdated comment about ifnet not being locked.ru2005-02-151-3/+0
| | | | OK'ed by: njl, rwatson, sam
* Use ANSI function definitions, in preference to the K&R definitions.imp2005-02-152-34/+15
|
* Remove more deadwood that never got implemented in NEWCARD, since NEWCARDimp2005-02-151-15/+0
| | | | | went a different direction than was anticipated when these compatibility shims were added.
* Move the harvesting of the MAC address out of the generic novell probeimp2005-02-143-21/+49
| | | | | | | | | and into the bus front ends. For ISA and C-BUS cards, we always need to grab it. For PC Card, already committed, we need to do some sanity checking on the data that's in the ROMs before we decide that they are OK to use. The PC Card code has already been committed and is independent of this code (which also has to work on NE-1000 cards, assuming that those cards still work :-).
* Move the #defines from edreg to edvar which don't have anything to doimp2005-02-142-46/+48
| | | | with talking to the hardware.
* o It turns out that most of the ne-2000 cards that I have got real unhappyimp2005-02-142-13/+45
| | | | | | | | | with the latest changes. They actually have valid ROM data at location 0 of memory, just like a real NE-2000 ISA card. Use this data, if the ROM passes a few basic tests, as an additional source for the MAC address. Prefer the CIS over this source, but have it take precidence over falling back to reading the attribtue memory. o Minor cleanup of a few devices that we match on based on CIS string.
* Correct the SiS 755 PCI ID. Confirmed against Linux code.anholt2005-02-141-1/+1
| | | | | | PR: kern/76411 Submitted by: Jonathan Fosburgh, jonathan at fosburgh dot org Obtained from: Jung-uk Kim, jkim at niksun.com
* No use for this AMD64 special-case "return NULL;" in probe now that we don'tanholt2005-02-141-2/+0
| | | | do fake "generic" support.
* Remove card_get_function. It looks like it was intended to be aimp2005-02-141-9/+0
| | | | | | | | | bridge between OLDCARD and NEWCARD for drivers to inquire after the function number (eg, 0, 1, 2). Nobody ever used it, so retire it with honors. NEWCARD never implemented it, and the same information can be obtained by the pccard_get_function_number(). MFC After: 3 days
* Rework DL10019/DL10022 support. This tries to reset things in a moreimp2005-02-142-12/+26
| | | | | | | | | | | proper way, or at least the same way that NetBSD and Linux do things (I've been unable to obtain datasheets for these parts to know for sure). This has some marginal improvement in the DL10022 and DL10019 cards that I have. Also, report which type, exactly. # There's one or two ed cards that I have which still don't work, but I think # that's due to MII losage on the card that's not presently compensated # for in the MII drivers.
* MFp4: Merge in AX88790 support from my p4 tree. I've had this in myimp2005-02-142-3/+17
| | | | | | | | | tree since 2003/02/20, and I recently cleaned it up. I'd even closed the PR that I obtained this from Fri Jul 18 23:25:08 MDT 2003 since I looked at my p4 tree. PR: 46889 Submitted by: HASEGAWA Tomoki
* Add some comments in preparation for converting bcopy/bzero to busspace.imp2005-02-141-9/+14
| | | | Minor style nits.
* MFP4: Optimize the layout of softc somewhat. This groups the u_charsimp2005-02-141-4/+4
| | | | | into larger sections. I'd like to move to having a flags word, but I need to make sure that there's no adverse locking problems.
* Abort any active transfers when the device detaches. This fixes aiedowse2005-02-141-0/+44
| | | | few situations where we used to crash, but by no means all of them.
* Add a new function usbd_abort_default_pipe() that aborts any transfersiedowse2005-02-142-0/+7
| | | | | on the default pipe. This is helpful in device detach routines to stop any active control transfers.
* Fix a missing /*-obrien2005-02-141-1/+1
|
* Request a CPU private mapping from sf_buf_alloc(). If the swap-backedalc2005-02-131-1/+6
| | | | | | | | | memory disk is larger than the number of available sf_bufs, this improves performance on SMPs by eliminating interprocessor TLB shootdowns. For example, with 6656 sf_bufs, the default on my test machine, and a 256MB swap-backed memory disk, I see the command "dd if=/dev/md0 of=/dev/null bs=64k" achieve ~489MB/sec with the default, shared mappings, and ~587MB/sec with CPU private mappings.
* When attached to a high-speed device, report a more appropriateiedowse2005-02-133-3/+18
| | | | | | base transfer speed to CAM. The actual value used (40MB/s) is fairly arbitrary, but assumes the same 33% overhead as was implied by the 1MB/s figure we used for USB1 devices.
* Allow users to manually override quirks with the tunable "debug.acpi.quirks".njl2005-02-131-2/+6
| | | | Suggested by: Jung-uk Kim
* Add support for the CPUFREQ_FLAG_INFO_ONLY flag. Devices that report thisnjl2005-02-131-12/+39
| | | | | | | | | | | are not added to the list(s) of available settings. However, other drivers can call the CPUFREQ_DRV_SETTINGS() method on those devices directly to get info about available settings. Update the acpi_perf(4) driver to use this flag in the presence of "functional fixed hardware." Thus, future drivers like Powernow can query acpi_perf for platform info but perform frequency transitions themselves.
* Install netgraph type at an appropriate time.ru2005-02-132-2/+2
|
* Be sure to register with cpufreq(4). On systems that only supportednjl2005-02-131-9/+36
| | | | | | | | | throttling, neglecting to do this kept the sysctls from appearing. Attach an acpi_throttle device to each CPU that supports it. Don't add a device if the P_BLK is invalid or if _PTC is not present. This removes extraneous probe/attach failure messages on some machines. Make the cpu throttle state local to the softc to account for partial successes when changing the clock rate on MP machines.
* Attach an acpi_perf device for every processor that offers the rightnjl2005-02-131-2/+2
| | | | methods.
* Check handle types.phk2005-02-123-78/+199
| | | | | Implement more device functions. Make DMA optional.
* Add ibcntl as alias for ibcntphk2005-02-123-243/+274
| | | | | | Add ibsta and start to use it. Rename the argument structure more sensibly. Improve timeout and error handling
* - Re-write OF_decode_addr() with a bus-neutral approach, adding supportmarius2005-02-121-1/+1
| | | | | | | | | | | | for nodes hanging off of Central (untested), FireHose (untested) and PCI (tested) busses. - Add an additional parameter to OF_decode_addr() which specifies the index of the register bank to decode. These should allow to eventually add support for the Z8530 hanging off of FireHose to uart(4) and to write support for PCI-based graphics adapters. Suggested by: tmm (back in '03)
* Merge revision 1.5 from NetBSD: Fix a typo in a comment.marius2005-02-121-2/+2
| | | | | NetBSD rev. 1.4 (addition of the OFW_PCI_PHYS_HI_BUS macro) had already been merged prior to adding this file to FreeBSD (with the 1.3 tag though).
* Split the ibfoo API into its own file.phk2005-02-124-794/+926
| | | | | Implement ibdma() (only affects ibrd() mode) Implement ibeot()
* Improve the mining of MAC address from the card:imp2005-02-121-7/+36
| | | | | | | | | | | | | o Add a fallback location for the MAC address. Most of the early ne2000 PC Cards were built from the same parts, so most of them have the same address in the CIS to grab the MAC from. Use this address as our fallback if we don't find anything better. o Add printf, in bootverbose, noting the MAC addresses that we find along the way. # Better sanity checking of the MAC address is needed. Will have to # investigate using/creating a centralized function to do this as a number # of other PC Card drivers each have their own ad-hoc tests.
* Fix prototype for ibeot()phk2005-02-121-1/+1
|
* Two problems here:ru2005-02-122-42/+2
| | | | | | | | | 1. Dependency on netgraph module was broken (wrong version). 2. Netgraph node type was never destroyed on unload. This was masked by problem #1. Fixed both by using NETGRAPH_INIT(). Now netgraph node type is created on module load, as in the rest of netgraph modules.
* Add comment about MAC miningimp2005-02-121-0/+8
|
* Bumped up the driver version, following recent changes.vkashyap2005-02-121-1/+1
|
* Really old PCMCIA cards stored the MAC address in the attribute memoryimp2005-02-121-3/+41
| | | | | | | | | | | | | | | | | | at some offset. Unlike newer cards, the MAC address wasn't part of the CIS as a specific FUNCE. These older cards were having their MAC address show up as 0:2:4:6:8:a because that's what's in the ROM locations that would be there in a real ne2000. This patch allows one to specify the offset for the MAC address for these cards. Specify one for the IBM Ethernet II card, as it is one that has this problem. One shouldn't specify this unless the MAC address really isn't in the CIS at all. Side note: The novell probe likely shouldn't read the MAC address, and that should be moved to the bus specific attach routine(s), maybe as a convenience function in if_ed_novell.c. My IBM Ethernet II (aka Info Mover) now has a believable MAC address.
* Make sure the last command byte makes it onto the wire.phk2005-02-111-4/+6
|
* Diff reduction with p4.imp2005-02-111-6/+3
|
* Improve EOS handling.phk2005-02-111-8/+17
|
* Eliminate the ED_VENDOR_{PCCARD,LINKSYS} types. These cards reallyimp2005-02-113-8/+9
| | | | | | are NOVELL NE2000 with just a tiny quirk that's non vendor specific. Instead, use the chip_type of DL100XX instead. This is more inline with how the AX88190 support was added, and seems a little cleaner.
* Skip PNP probes. If there are isapnp or pnpbios instances of this driver,imp2005-02-111-0/+3
| | | | | then we can support them later. This keeps the pbio probe from claiming lots of otherwise unused pnpbios devices on my laptop.
* Merge in patch to support AP scanning via ifconfig and the newwpaul2005-02-111-0/+127
| | | | | | net80211 API. Submitted by: Stephane E. Potvin sepotvin at videotron dot ca
* Move enable/disable 16bit access routines into if_ed. Slightlyimp2005-02-103-35/+30
| | | | | | | pessmize the error recover path through edintr by calling these functions, rather than expanding it inline. This error path already does a lot in it, so an extra function call will be lost in the noise. It also happens rarely.
* useimp2005-02-101-3/+8
| | | | | | | | | | while (complicated-expr) continune; in preference to while (complicated-expr); since the code generated is identical, and the former is easier to read, especially for complicated-expr that reach to the end of the line...
* Remove lots of tab/space errors introduced by massive cut-n-paste action.julian2005-02-101-234/+234
| | | | | Noticed from: diffs of the last commit. MFC after: 1 week
OpenPOWER on IntegriCloud