summaryrefslogtreecommitdiffstats
path: root/sys/dev
Commit message (Collapse)AuthorAgeFilesLines
...
* Advance the descriptor pointer by sc->sc_tx_desclen bytes, rather thanadrian2012-08-201-12/+11
| | | | | | | | | | | | | | sizeof(struct ath_desc). This isn't correct for EDMA TX descriptors. This popped up during iperf tests. Ping tests never created frames that had enough segments to overflow into a second descriptor. However, an iperf TCP test would do that after a few seconds; the second descriptor would almost always certainly have garbage. Tested: * AR9380, STA mode * AR9280, STA mode (802.11n TX, legacy TX)
* Make sure all of the buffers are printed, rather than (n-1).adrian2012-08-201-4/+2
|
* Add a new sound driver for PowerMacs, found here on my Quad G5.andreast2012-08-191-0/+315
| | | | | It allows simple playback and volume control like the other Mac drivers, not more.
* Add a new temperature driver for certain PowerMacs. Found here on my Quad G5.andreast2012-08-191-0/+413
|
* Unify the sysctl description with the other PowerMac temperature drivers.andreast2012-08-191-7/+9
|
* Avoid using the degree symbol. Looks ugly on the console.andreast2012-08-191-3/+4
|
* Do the ADC init only at startup and not during every sensor read call.andreast2012-08-191-5/+12
| | | | This reduces the number of interrupts.
* Extend the TX descriptor debug printing to be properly aware ofadrian2012-08-192-4/+83
| | | | | | | | | | | | | | | | | EDMA code. * create a new TX EDMA descriptor struct to represent TX EDMA descriptors when doing debugging; * implement an EDMA printing function which: + hardcodes the TX map size to 4 for now; + correctly prints out the number of segments - there's one descriptor for up to 4 buffers (segments), not one for each segment; + print out 4 DS buffer and len pointers; + print out the correct number of DWORDs in the TX descriptor. TODO: * Remove all of the hard-coded stuff. Ew.
* When assembling the descriptor list, make sure that the "first" descriptoradrian2012-08-191-1/+3
| | | | | | | | | | | | | | | | | | | | | | is marked correctly. The existing logic assumed that the first descriptor is i == 0, which doesn't hold for EDMA TX. In this instance, the first time filltxdesc() is called can be up to i == 3. So for a two-buffer descriptor: * firstSeg is set to 0; * lastSeg is set to 1; * the ath_hal_filltxdesc() code will treat it as the last segment in a descriptor chain and blank some of the descriptor fields, causing the TX to stop. When firstSeg is set to 1 (regardless of lastSeg), it overrides the lastSeg setting. Thus, ath_hal_filltxdesc() won't blank out these fields. Tested: AR9380, STA mode. With this, association is successful.
* Add drm and i915 ioctl translations for 32 bit process on 64 bit host.kib2012-08-186-6/+976
| | | | | Submitted by: meowthink@gmail.com MFC after: 2 weeks
* - Add OF_hasprop() and ofw_bus_has_prop(). These can be used to checkhrs2012-08-184-2/+29
| | | | | | | | | existence of the property. - Fix ofw_bus_is_compatible{,_strict}() to prevent substring match in the compatible string. Reviewed by: raj
* Add new USB device ID.hselasky2012-08-172-0/+2
| | | | | PR: usb/170688 MFC after: 1 week
* Support for TCP DDP (Direct Data Placement) in the T4 TOE module.np2012-08-179-51/+1485
| | | | | | | | | | | | Basically, this is automatic rx zero copy when feasible. TCP payload is DMA'd directly into the userspace buffer described by the uio submitted in soreceive by an application. - Works with sockets that are being handled by the TCP offload engine of a T4 chip (you need t4_tom.ko module loaded after cxgbe, and an "ifconfig +toe" on the cxgbe interface). - Does not require any modification to the application. - Not enabled by default. Use hw.t4nex.<X>.toe.ddp="1" to enable it.
* Initialize various DDP parameters in the main cxgbe(4) driver:np2012-08-163-12/+19
| | | | | | | | | | | | | | | | - Setup multiple DDP page sizes. When the driver attempts DDP it will try to combine physically contiguous pages into regions of these sizes. - Set the indicate size such that the payload carried in the indicate can be copied in the header mbuf (and the 16K rx buffer can be recycled). - Set DDP threshold to the max payload that the chip will coalesce and deliver to the driver (this is ~16K by default, which is also why the offload rx queue is backed by 16K buffers). If the chip is able to coalesce up to the max it's allowed to, it's a good sign that the peer is transmitting in bulk without any TCP PSH. MFC after: 2 weeks
* Merge ACPICA 20120816.jkim2012-08-162-17/+4
|
* Make room for DDP page pods in the default configuration profile. Whilenp2012-08-161-3/+4
| | | | | | here, bump up the L2 table's size to 4K entries. MFC after: 2 weeks
* Add a routine (t4_set_tcb_field) to update arbitrary parts of a hardwarenp2012-08-164-5/+60
| | | | | | | | | TCB. Filters are programmed by modifying the TCB too (via a different routine) and the reply to any TCB update is delivered via a CPL_SET_TCB_RPL. Figure out whether the reply is for a filter-write or something else and route it appropriately. MFC after: 2 weeks
* Allow for a different handler for each type of firmware message.np2012-08-164-11/+52
| | | | MFC after: 2 weeks
* On lun disable, complete all INOTs and ATIOs with CAM_REQ_ABORTED.mjacob2012-08-161-1/+18
| | | | | Reviewed by: ken (silently), chuck MFC after: 3 weeks
* Fix "speaker" volume control, broken at r230451.mav2012-08-161-5/+8
| | | | | Reported and tested by: Slawa Olhovchenkov <slw@zxy.spb.ru> MFC after: 1 month
* Fix argument type for bus_space_mapgonzo2012-08-151-1/+1
|
* Customer report of a panic on boot due to the oldjfv2012-08-151-0/+2
| | | | | | | | | | | "m_getjcl:invalid cluster type" that occurred some time back with the igb driver. This happens often when booting over the net. I believe the NIC hardware is left in a warm state when handed over to the driver, and a stray RX interrupt happens earlier than the code is prepared for it to happen. This change was verified to fix the problem, its kind of a bandaid... but it is similar to what was done in the igb code.
* Streamline use of cdevpriv and correct some corner cases.hselasky2012-08-153-18/+12
| | | | | | | | | | | | | | | | | | | | 1) It is not useful to call "devfs_clear_cdevpriv()" from "d_close" callbacks, hence for example read, write, ioctl and so on might be sleeping at the time of "d_close" being called and then then freed private data can still be accessed. Examples: dtrace, linux_compat, ksyms (all fixed by this patch) 2) In sys/dev/drm* there are some cases in which memory will be freed twice, if open fails, first by code in the open routine, secondly by the cdevpriv destructor. Move registration of the cdevpriv to the end of the drm open routines. 3) devfs_clear_cdevpriv() is not called if the "d_open" callback registered cdevpriv data and the "d_open" callback function returned an error. Fix this. Discussed with: phk MFC after: 2 weeks
* Fix buildkib2012-08-151-2/+2
|
* Revert r239178 and implement two new functions, namelyhselasky2012-08-1522-201/+221
| | | | | | | | | | | "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
* Add new USB device quirk.hselasky2012-08-152-0/+6
| | | | | Submitted by: Kra OTN MFC after: 2 weeks
* Extend the non-aggregate TX descriptor chain routine to be aware of:adrian2012-08-151-9/+49
| | | | | | | | | | | | | | | | | | | | | | | * the descriptor ID, and * the multi-buffer support that the EDMA chips support. This is required for successful MAC transmission of multi-descriptor frames. The MAC simply hangs if there are NULL buffers + 0 length pointers, but the descriptor did have TxMore set. This won't be done for the 11n aggregate path, as that will be modified to use the newer API (ie, ath_hal_filltxdesc() and then set first|middle| last_aggr), which will deprecate some of the current code. TODO: * Populate the numTxMaps field in the HAL, then make sure that's fetched by the driver. Then I can undo that hack. Tested: * AR9380, AP mode, TX'ing non-aggregate 802.11n frames; * AR9280, STA/AP mode, doing aggregate and non-aggregate traffic.
* Bump up the rate control table size to incorporate 3 stream entries.adrian2012-08-151-3/+3
|
* Remove this comment, it's no longer relevant.adrian2012-08-151-1/+0
|
* Extend the duration calculations to work with three and four streamadrian2012-08-151-12/+19
| | | | rates.
* Add a missing comma.adrian2012-08-151-1/+1
| | | | Pointy hat to: me, for not doing a 'clean' build first.
* Add 3 stream rates to the sample rate control module.adrian2012-08-151-1/+47
|
* Extend the sample mask from 32 bits to 64 bits.adrian2012-08-152-19/+23
| | | | | | | | This is required to support > MCS15 as more than 32 bit rate entries are suddenly available. This is quite messy - instead of doing typecasts at each mask operation, this should be migrated to use a macro and have that do the typecast.
* Implement a sequential descriptor ID value and stuff it in the ath_buf.adrian2012-08-152-0/+10
| | | | | This will be used by the EDMA TX code to assign descriptor IDs in order to provide some debugging.
* Merging of projects/armv6, part 10gonzo2012-08-151-0/+1
| | | | | | | | | | - Support for Texas Instruments SoCs: - AM335x - OMAP4 - Kernel configs, DTS for Beaglebone and Pandaboard Submitted by: Ben Gray, Damjan Marion
* Merging of projects/armv6, part 8gonzo2012-08-154-5/+903
| | | | | | | | | | | | | | | | | | | | r235162: Initial LPC32x0 support. Includes DTS file for Embedded Artists EA3250 board. Peripherals currently supported: - Serial ports - Interrupt controller - Timers - Ethernet - USB host - Framebuffer (in conjunction with SSD1289 LCD controller) - RTC - SPI - GPIO Submitted by: Jakub Wojciech Klama <jceel@freebsd.org>
* Merging of projects/armv6, part 6gonzo2012-08-152-25/+85
| | | | | | | r229271: Import files needed to build ARMADA XP kernel. Submitted by: Grzegorz Bernacki
* Merging of projects/armv6, part 5gonzo2012-08-156-1/+2277
| | | | | | | - Driver for SMSC LAN95XX and LAN8710A ethernet controllers - Driver for LAN8710A PHY Submitted by: Ben Gray, Damjan Marion, Tim Kientzle
* Merging of projects/armv6, part 4gonzo2012-08-155-49/+70
| | | | | | | | | | | | | | | | | r233822: Remove useless and wrong piece of code in fdt_get_range() which i overwrites passed phandle_t node. Modify debug printf in fdt_reg_to_rl() to be consistent (that is, print start and end *virtual* addresses). r230560: Handle "ranges;" Make fdt_reg_to_rl() responsible for mapping the device memory, instead on just hoping that there's only one simplebus, and using fdt_immr_va as the base VA. r230315 Add a function to get the PA from range, instead of (ab)using fdt_immr_pa, and use it for the UART driver
* Merging of projects/armv6, part 4gonzo2012-08-151-2/+5
| | | | | r232281: Fix byte order.
* The size of the buffers in an Ethernet freelist has to be higher than thenp2012-08-151-5/+15
| | | | | | | | | | interface's MTU. Initialize such freelists with correct values. This wasn't a problem for common MTUs (1500 and 9000) as the buffers (2048 and 9216 in size) happened to have enough spare room. I ran into it when playing around with unusual MTUs. MFC after: 2 weeks
* Dump out the TX FIFO depth.adrian2012-08-141-2/+3
|
* Break out the TX completion code into a separate function, so it can beadrian2012-08-142-35/+67
| | | | | | | | | re-used by the upcoming EDMA TX completion code. Make ath_stoptxdma() public, again so the EDMA TX code can use it. Don't check for the TXQ bitmap in the ISR when doing EDMA work as it doesn't apply for EDMA.
* Add an assertion to check that the given TXQ is _not_ locked.adrian2012-08-141-1/+4
|
* Rename command defines to match names used in the datasheet, in order togavin2012-08-141-54/+57
| | | | | | | | | | make maintaining this driver from the documentation easier in the future. This is a mostly mechanical change. In uslcom_param(), move the zeroing of the final two fields of the flowctrl structure outside of the "if CRTSCTS" section - not only were they being zeroed in both the clauses, but these two fields have nothing to do with hardware flow control anyway.
* if_iqdrops should include frames truncated within the chip.np2012-08-141-1/+2
| | | | MFC after: 2 weeks
* Convert some fixed parameters to tunables (with reasonable defaultnp2012-08-142-15/+94
| | | | | | | | | | | | values). - cong_drop specifies what to do on congestion: nothing, backpressure, or drop. - fl_pktshift specifies the padding before Ethernet payload. - fl_pad specifies the boundary upto which to pad Ethernet payload. - spg_len controls the length of the status page. MFC after: 2 weeks
* Fix multichannel input signals tracing on some CODECs like ALC260.mav2012-08-141-5/+4
| | | | | Reported and tested by: Slawa Olhovchenkov <slw@zxy.spb.ru> MFC after: 1 month
* Fix typo in comment.andreast2012-08-141-1/+1
|
* Add locking to the twe(4) driver and make it MPSAFE:jhb2012-08-134-180/+196
| | | | | | | | | | | | | | | | | | | - Add per-controller configuration (sx) and I/O (mutex) locks. The configuration lock protects the relationship of volumes and drives while the I/O lock protects access to the controller's registers and the main I/O path. - Remove some checks for M_WAITOK malloc()'s failing. - Remove the explicit bus space tag/handle from the softc and use bus_*() rather than bus_space_*(). - Reuse the existing new-bus sysctl context instead of creating a new one. - Remove compat shims for FreeBSD 4.x. - Use pci_enable_busmaster() rather than doing it by hand, and rely on bus_alloc_resource() to enable PCI I/O decoding. Tested by: Mike Tancsa mike sentex net Reviewed by: scottl (partially) MFC after: 1 month
OpenPOWER on IntegriCloud