Commit Graph

26942 Commits

Author SHA1 Message Date
mav
ddd0f9d4a3 Some fixes to snd_envy24ht(4) driver:
- Allow DMA addresses anywhere in the lower 4GB; Envy24HT has a 32-bit DMA
engine, not 28-bit like Envy24.
 - Mark interrupt handler as MPSAFE, seems to be correctly synchronized.

PR:		kern/152378
Submitted by:	Jason Harmening <jason.harmening@gmail.com>
MFC after:	1 month
2013-05-05 19:09:34 +00:00
adrian
6e54a02558 The holding buffer logic needs to be used for _all_ transmission, not
just "when the queue is busy."

After talking with the MAC team, it turns out that the linked list
implementation sometimes will not accept a TxDP update and will
instead re-read the link pointer.  So even if the hardware has
finished transmitting a chain and has hit EOL/VEOL, it may still
re-read the link pointer to begin transmitting again.

So, always set ATH_BUF_BUSY on the last buffer in the chain (to
mark the last descriptor as the holding descriptor) and never
blank the axq_link pointer.

Tested:

* AR5416, STA mode

TODO:

* much more thorough testing with the pre-11n NICs, just to verify
  that they behave the same way.
* test TDMA on the 11n and non-11n hardware.
2013-05-04 04:03:50 +00:00
np
20af13d27b cxgbe: Switch to a better way to install firmware.
MFC after:	1 week
2013-05-03 20:09:17 +00:00
np
be8e188ab1 cxgbe/tom: Do not use M_PROTO1 to mark rx zero-copy mbufs as special.
All the M_PROTOn flags are clobbered when an mbuf is appended to the
socket buffer.

MFC after:	1 week
2013-05-03 18:37:50 +00:00
hselasky
cc9f388839 Fix compile warning. 2013-05-03 13:33:36 +00:00
hselasky
fad53c9a9b - Add more defines to limit USB memory usage and number of allocations
in reduced memory systems.

- Split allocation and freeing of the configuration descriptor into a separate
function, so that the configuration descriptor can be made fixed size
to save memory allocations. This applies for both device and host mode.
2013-05-03 11:10:04 +00:00
smh
bf0ecb6670 Fix uninitialized warning in mps
Reviewed by:	pjd (mentor)
Approved by:	pjd (mentor)
MFC after:	2 weeks
2013-05-03 10:37:59 +00:00
hselasky
e7d3a7e303 Always put space before the comma before ##__VA_ARGS__ due to subtle compiler
differences.
2013-05-03 10:13:29 +00:00
hselasky
57751c1012 Add some defines to limit USB memory usage in reduced memory systems. 2013-05-03 09:23:06 +00:00
hselasky
345c64961e Allow the default USB template to be specified at compile time. 2013-05-03 08:19:09 +00:00
hselasky
b7fe9e8c88 Add new USB API to get the port path of a USB device.
MFC after:	2 weeks
Requested by:	emaste @
2013-05-03 07:44:58 +00:00
mav
8183b49f3e Add IDs for HighPoint RocketRAID 640L/642L/644L -- new series of 4-port
6Gbps PCIe 2.0 x2 SATA controllers, based on Marvell 88SE9235 chips.

MFC after:	1 week
2013-05-02 16:09:06 +00:00
luigi
14aed713fd remove trailing whitespace 2013-05-02 16:01:04 +00:00
davide
0a4bbe752e Suppress a GCC warning. This warning is actually bogus and newer GCC
versions than the one in base (dim@ mentioned he tried on 4.7.3 and 4.8.1)
do not whine about it, so, at some point this workaround will be reverted.

Reported by:	ache
Discussed with:	dim
2013-05-02 14:55:21 +00:00
eadler
adde1f48fc Update Intel email address.
PR:		docs/175349
Submitted by:	Lars Eggert <lars@netapp.com>
Discussed with:	jfv
2013-05-02 01:36:52 +00:00
adrian
0add75b9ba Add device identification and probe/attach support for the QCA9565.
The QCA9565 is a 1x1 2.4GHz 11n chip with integrated on-chip bluetooth.
The AR9300 HAL already has support for this chip; it just wasn't
included in the probe/attach path.

Tested:

* This commit brought to you over a QCA9565 wifi connection from
  FreeBSD.
* .. ie, basic STA, pings, no iperf or antenna diversity checking just yet.
2013-05-02 00:59:39 +00:00
eadler
dc57ef9748 Remove ancient compatibility cruft.
Reviewed by:	delphij
2013-04-30 23:36:48 +00:00
eadler
460755b498 Add missing braces
Reviewed by:	swildner@dragonflybsd.org
Reviewed by:	delphij
2013-04-30 23:36:45 +00:00
np
74e4174d3b Fix DDP breakage introduced in r248925. Bitwise OR has higher
precedence than ternary conditional.

MFC after:	1 week
2013-04-30 19:57:21 +00:00
brooks
fa5ecaab37 MFP4 change 222060:
On Intel devices, put the Factory PPR in kenv.  On some FPGA boards it may
be the only software accessable unique ID.

Sponsored by:	DARPA, AFRL
2013-04-30 18:48:11 +00:00
brooks
dd0b40bba3 MFP4 changes 222065 and 222068:
Add a simplebus attachment for cfi(4)'s FDT support and move
cfi_bus_fdt.c to sys/conf/files so non-ppc architectures are supported.

Sponsored by:	DARPA, AFRL
2013-04-30 18:33:29 +00:00
brooks
ae9d96c81e Partial MFC of change 228122:
Due to the requirement that tty prefixes be unique per driver, rename
the Altera JTAG UART devices to ttyj#.

Sponsored by:	DARPA, AFRL
2013-04-30 18:29:05 +00:00
luigi
1bb72eeda1 use netmap_rx_irq() and netmap_tx_irq() instead of replicating the
logic in the individual driver.
2013-04-30 16:51:58 +00:00
luigi
85a101f010 use netmap_rx_irq() / netmap_tx_irq() to handle interrupts in
netmap mode, removing the logic from individual drivers.

(note: if_lem.c not updated yet due to some other pending modifications)
2013-04-30 16:18:29 +00:00
luigi
13e3fcbdc5 Partial cleanup in preparation for upcoming changes:
- netmap_rx_irq()/netmap_tx_irq() can now be called by FreeBSD drivers
  hiding the logic for handling NIC interrupts in netmap mode.
  This also simplifies the case of NICs attached to VALE switches.
     Individual drivers will be updated with separate commits.

- use the same refcount() API for FreeBSD and linux

- plus some comments, typos and formatting fixes

Portions contributed by Michio Honda
2013-04-30 16:08:34 +00:00
davide
6fde656c55 malloc(9) cannot return NULL if M_WAITOK flag is specified. 2013-04-30 15:59:22 +00:00
davide
e45f362b6b The Intel PMC architectural events have encodings which are identical to
those of some non-architectural core events. This is not a problem in the
general case as long as there's an 1:1 mapping between the two, but there
are few exceptions. For example, 3CH_01H on Nehalem/Westmere represents
both unhalted-reference-cycles and CPU_CLK_UNHALTED.REF_P.
CPU_CLK_UNHALTED.REF_P on the aforementioned architectures does not measure
reference (i.e. bus) but TSC, so there's the need to disambiguate.
In order to avoid the namespace collision rename all the architectural
events in a way they cannot be ambigous and refactor the architectural
events handling function to reflect this change.
While here, per Jim Harris request, rename
iap_architectural_event_is_unsupported() to iap_event_is_architectural().

Discussed with:	jimharris
Reviewed by:	jimharris, gnn
2013-04-30 15:31:45 +00:00
davide
70ee3bdcde Complete r250097:
Do not change the initialization order in pmc_intel_initialize().
2013-04-30 14:56:41 +00:00
davide
cce56d6bd8 When hwpmc(4) module is unloaded it reports a double leakage. This happens
at least if FreeBSD is ran under VirtualBox. In order to avoid the leakage,
properly deallocate structures in case CPU claims that hw performance
monitoring counters are not supported.

Reported by:	hiren
2013-04-30 08:33:38 +00:00
davide
3569f976bf Fixup Westmere hwpmc(4) support: add missing CPU flag so that
intrucion-retired, llc-misses and llc-reference events can now be
allocated.

Reviewed by:	jimharris, gnn
2013-04-30 08:18:08 +00:00
np
1ae8f599c6 Attach to the T580 (2 x 40G) card.
MFC after:	1 week.
2013-04-30 06:30:21 +00:00
np
f28f0645eb - Provide accurate ifmedia information so that 40G ports/transceivers are
displayed properly in ifconfig, etc.

- Use the same number of tx and rx queues for a 40G port as for a 10G port.

MFC after:	1 week
2013-04-30 05:51:52 +00:00
np
5d25f28d35 cxgbe(4): Some updates to shared code.
Obtained from:	Chelsio
MFC after:	1 week
2013-04-30 05:32:07 +00:00
pluknet
b51a1214f6 Pass a format string to kproc_create() [1] and thus fix the build with
-DBKTR_NEW_MSP34XX_DRIVER and -Wformat-security.
This also allows to eliminates a superfluous malloc/snprintf/free on
intermediate buffer.

PR:		kern/175546
MFC after:	1 week
2013-04-30 05:08:17 +00:00
carl
542feb6d72 Add a new driver to support the Intel Non-Transparent Bridge(NTB).
The NTB allows you to connect two systems with this device using a PCI-e
link. The driver is made of two modules:
 - ntb_hw which is a basic hardware abstraction layer for the device.
 - if_ntb which implements the ntb network device and the communication
   protocol.

The driver is limited at the moment to CPU memcpy instead of using DMA, and
only Back-to-Back mode is supported. Also the network device isn't full
featured yet. These changes will be coming soon. The DMA change will also
bring in the ioat driver from the project branch it is on now.

This is an initial port of the GPL/BSD Linux driver contributed by Jon Mason
from Intel. Any bugs are my contributions.

Sponsored by: Intel
Reviewed by: jimharris, joel (man page only)
Approved by: jimharris (mentor)
2013-04-29 22:48:53 +00:00
luigi
bb206a2f9f whitespace - document alternative locking under linux 2013-04-29 19:30:35 +00:00
jhb
60b12604e1 Only cleanup CMI-related state on detach if the system supports CMI.
PR:		kern/163268
MFC after:	1 week
2013-04-29 18:54:31 +00:00
luigi
ff2219e128 whitespace changes:
remove $Id$ lines, and add blank lines around some #if / #elif /#endif
2013-04-29 18:00:53 +00:00
delphij
82690df1c8 Add missing braces.
Submitted by:	Sascha Wildner <saw online de>
Obtained from:	DragonFly
MFC after:	1 week
2013-04-29 17:00:26 +00:00
luigi
c452d7eb5d explicitly mark some variables as const 2013-04-29 16:58:21 +00:00
adrian
5586a04308 Debugging changes!
* That lock isn't actually held during reset - just the whole TX/RX path
  is paused.  So, remove the assertion.

* Log the TX queue status - how many hardware frames are active in the
  MAC and whether the queue is active.
2013-04-29 07:28:29 +00:00
sbruno
5ae05b2097 Silence warning from clang:
/home/sbruno/bsd/head/sys/dev/hptrr/hptrr_osm_bsd.c:178:66: warning: for loop has empty body [-Wempty-body]
                for (order=0, size=PAGE_SIZE; size<f->size; order++, size<<=1) ;
                                                                               ^
/home/sbruno/bsd/head/sys/dev/hptrr/hptrr_osm_bsd.c:178:66: note: put the semicolon on a separate line to silence this warning

Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
2013-04-28 20:55:45 +00:00
sbruno
0f3787ab82 The controller does not zero this data structure, ever.
Zero it out here so we do not misinterpret the data error.

Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
2013-04-28 20:46:32 +00:00
sbruno
c36b497924 Let's align correctly by setting to 17.
OpenCISS states that if the value is 0, then the driver should try a value
of 31.  That's just silly.  Set to 17 so that the subtraction for maxio
becomes 16 and aligns nicely.

Reviewed by:	scottl
Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
2013-04-28 16:35:23 +00:00
sbruno
83a953c49f Its time to retire COMPAQ. I don't think that its coming back. :-)
Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
2013-04-28 16:20:09 +00:00
wkoszek
4f2702c1c3 Bring copyright changes with the agreement of Thomas Skibo.
Communication on src-commiters, Sat, 27 Apr 2013 22:09:06 -0700,
Subject was: "Re: svn commit: r249997"

As I'm here, fix the style main block comments in files' headers.
2013-04-28 07:00:36 +00:00
wkoszek
e5f418e744 Add Xilinx Zynq ARM/FPGA SoC support to FreeBSD/arm port.
Submitted by:	Thomas Skibo <ThomasSkibo (at) sbcglobal.net>
Tested by:	wkoszek (ZedBoard)
Reviewed by:	wkoszek, freebsd-arm@ (no objections raised)
2013-04-27 23:07:49 +00:00
wkoszek
1497a98f71 Add Xilinx Zynq ARM/FPGA SoC support to FreeBSD/arm port.
Submitted by:	Thomas Skibo <ThomasSkibo (at) sbcglobal.net>
Reviewed by:	wkoszek, freebsd-arm@ (no objections raised)
2013-04-27 22:38:29 +00:00
sbruno
36fb790d70 Change maxio to reflect variable hardware configurations.
If max_sg_length is 0, then we default to 16

If max_sg_length is less than CISS_MAX_SG_ELEMENTS, then
we will set round the value of max_sg_length to the nearest
power of 2 and use it to align maxio.

Else, we will use CISS_MAX_SG_ELEMENTS for our calculations.

Thanks to scottl for working me through the history and providing
the basis for this patch.

Submitted by:	scott
Obtained from:	Yahoo! Inc.
MFC after:	2 weeks
2013-04-27 08:40:37 +00:00
adrian
fcb65473b4 Conditionally compile this only if ATH_DEBUG is defined. 2013-04-26 22:22:38 +00:00