Commit Graph

142398 Commits

Author SHA1 Message Date
yongari
a2018f7497 Use auto-negotiation for manual media type selection. This fixes
establishment of 10/100Mbps link on Atheros AR8121(L1E).
2008-10-25 06:39:17 +00:00
marcel
7774881025 Enable the cfi(4) driver. 2008-10-25 06:25:15 +00:00
marcel
b53efb78fa Add a driver for flash memory that implements to the Common Flash
Memory Interface (CFI). The flash memory can be read and written
to through /dev/cfi# and an ioctl() exists so processes can read
the query information.
The driver supports the AMD and Intel command set, though only
the AMD command has been tested.

Obtained from:	Juniper Networks, Inc.
2008-10-25 06:18:12 +00:00
marcel
b40a52a5c2 Add a driver for the Local Bus Controller.
Obtained from:	Juniper Networks, Inc.
2008-10-25 06:03:40 +00:00
marcel
caaefb5c1f Assign 0xff800000-0xffffffff to the LBC controller. That's where
the NOR flash lives by default.
2008-10-25 05:57:36 +00:00
kmacy
e1cd1f8e48 handle case where eflags represents actual flags value when
restoring interrupts
2008-10-25 04:46:02 +00:00
yongari
fed9d33665 Implement miibus_statchg handler. It detects whether rl(4)
established a valid link or not.
In rl_start_locked, don't try to send packets unless we have valid
link. While I'm here add a check that verifies whether driver can
accept Tx requests by inspecting IFF_DRV_OACTIVE/IFF_DRV_RUNNING
flag.
2008-10-25 03:41:36 +00:00
marcel
c854de7273 In mmu_booke_mapdev(), handle mappings that cannot be represented
by a single TLB entry. The boot ROM on the MPC85555CDS is 8MB, for
example, and in order to map that we need 2 4MB TLB entries.
2008-10-25 03:36:21 +00:00
yongari
7a59a01ca5 After sending stop command to MAC, give hardware chance to drain
active DMA operation.
2008-10-25 03:06:47 +00:00
yongari
33ba86e90c Make rl_init_locked() call rl_reset. This will put hardware into
sane state after resume/watchdog timeouts.
2008-10-25 02:52:06 +00:00
yongari
1b612ce28e Don't rearm watchdog timer in rl_txeof(). The watchdog timer was
already set in rl_start_locked(). Touching the watchdog timer in
other places will hide the root cause of watchdog timeouts.
2008-10-25 02:41:11 +00:00
yongari
0eb79dbab5 Various bus_dma(9) fixes.
- The hardware does not support DAC so limit DMA address space to
   4GB.
 - Removed BUS_DMA_ALLOC_NOW flag.
 - Created separated Tx buffer and Rx buffer DMA tags. Previously
   it used to single DMA tag and it was not possible to specify
   different DMA restrictions.
 - Apply 4 bytes alignment limitation of Tx buffer.
 - Apply 8 bytes alignment limitation of Rx buffer.
 - Tx side bus_dmamap_load_mbuf_sg(9) support.
 - Preallocate Tx DMA maps as creating DMA maps take very long time
   on architectures that require real DMA maps.
 - Adjust guard buffer size to 1522 + 8 as it should include VLAN
   and additional reserved bytes in Rx buffer.
 - Plug memory leak in device detach. Previously wrong buffer
   address was used to free allocated memory.
 - Added rl_list_rx_init() to clear Rx buffer and cleared the
   buffer.
 - Don't destroy DMA maps in rl_txeof() as the DMA map should be
   reused. There is no reason to destroy/recreate the DMA maps in
   this driver.
 - Removed rl_dma_map_rxbuf()/rl_dma_map_txbuf() callbacks.
 - The hardware does not support descriptor based DMA on Tx side
   and the Tx buffer address should be aligned on 4 bytes boundary
   as well as manual padding for short frames. Because of this
   hardware limitation rl(4) always used to invoke m_defrag(9) to
   get a 4 bytes aligned single buffer. However m_defrag(9) takes
   a lot of CPU cycles on slow machines and not all packets need
   the help of m_defrag(9). Armed with the information, don't
   invoke m_defrag(9) if the following conditions are true.
      1. Buffer is not fragmented.
      2. Buffer is aligned on 4 bytes boundary.
      3. Manual padding is not necessary.
      4. Or padding is necessary but upper stack passed a writable
         buffer and the space needed for padding is satisfied.
   This change combined with preallocated DMA maps greatly
   increased Tx performance of driver on sparc64.
 - Moved bus_dmamap_sync(9) in rl_start_locked() to rl_encap() and
   corrected memory synchronization operation specifier of
   bus_dmamap_sync(9).
 - Removed bus_dmamap_unload(9) in rl_stop(). There is no need to
   reload/unload Rx buffer as rl(4) always have to copy from the
   buffer. It just needs proper bus_dmamap_sync(9) calls before
   copying the received frame.

With this change rl(4) should work on systems with more than 4GB
memory.

PR:	kern/128143
2008-10-25 02:36:08 +00:00
n_hibma
deaf0437bc Make the driver compile on FBSD6 as well.
Up the speed on the E220 ID as it is a part which is used in other
devices that are capable of HSPA speeds.
2008-10-24 21:52:50 +00:00
mav
752759a368 Add MSI support.
Tested on:	Acer TravelMate 6292 with 0x4229 chip.
Reviewed by:	sam@
2008-10-24 21:21:43 +00:00
mav
6caf1de441 Bump the revision after the latest commits. 2008-10-24 19:36:28 +00:00
mav
882a5fcfeb Add some special handeling for AD1981HD codec. It has very unusual design
with several points unappropriate for the present parser. This patch
disables input-to-output analog monitoring but instead fixes recording.

Tested by Tobias Grosser on ThinkPad T61p.
2008-10-24 19:29:07 +00:00
mav
7ab8bc1fe7 Fix month mistake. Again. Sorry. :) 2008-10-24 18:57:11 +00:00
mav
e2f3199b95 Add hint.hdac.%d.msi description. 2008-10-24 18:28:52 +00:00
dfr
f98e1f1bbf Don't rely on the value of *statep without first taking the vnode interlock.
Reviewed by:	Mike Tancsa
MFC after:	2 weeks
2008-10-24 16:04:10 +00:00
alc
788640b731 Finish what revision 1.40 started. Revision 1.40 removed a false statement
from the description but not the errors section.  This revision removes it
from the errors statement.

Add a statement about the non-portability of non-page-aligned offsets.
2008-10-24 14:40:13 +00:00
kmacy
e0996986ab Fix general issues with IPI support 2008-10-24 07:58:38 +00:00
kmacy
bdb00bcfe2 Fix evtchn initialization on SMP 2008-10-24 07:57:48 +00:00
ru
9a16e00e36 Don't fail mistakenly with -r when we already have the whole file.
Reviewed by:	des
2008-10-24 07:56:01 +00:00
n_hibma
96ccad1cbd After adding U3G_DEBUG to LINT we need to create the opt_u3g.h file when
building the module.
2008-10-24 07:19:09 +00:00
n_hibma
304051a1cc Add U3G_DEBUG to LINT 2008-10-24 07:16:13 +00:00
n_hibma
f050d3fb83 Remove the entry from the i386 specific NOTES as it is in the generic
NOTES file as well. This avoids one of the warnings from

	make LINT && config LINT
2008-10-24 07:12:05 +00:00
n_hibma
90f7e74713 - Bugfix: Only claim interface after having checked all endpoints. This
might make Qualcomm and Option cards (which have all endpoints in 1
  interface) work.
- Change the USB buffer sizes to depend on the transfer speed. With UMTS
  we use a buffer 384k / 1000 frames/sec * 50msecs =~ 15kB for example.
- Add a MODULE_VERSION statement
2008-10-24 07:08:42 +00:00
davidxu
238f3ee5f4 Don't rearm callout if the process is exiting, it may leak a callout
because callout_drain() only waits for running callout, but not disable
it if it is rearmed.
2008-10-24 01:09:24 +00:00
davidxu
e66e7ee6bb partly revert revision 184199, because TDF_NEEDSIGCHK is persitent
when thread is in kernel mode, it can cause dead loop, now unlock
process lock after acquired sleep queue lock and thread lock to
avoid the problem. This means TDF_NEEDSIGCHK and TDF_NEEDSUSPCHK must
be set with process lock and thread lock being hold at same time.
2008-10-24 01:03:31 +00:00
jhb
2e4682de75 Whitespace fix. 2008-10-23 21:50:16 +00:00
des
a1e1ad22e0 Fix a number of style issues in the MALLOC / FREE commit. I've tried to
be careful not to fix anything that was already broken; the NFSv4 code is
particularly bad in this respect.
2008-10-23 20:26:15 +00:00
rnoland
0b81365bc6 Replace calls to minor() with dev2unit(). Ed already fixed this once,
but I inadvertently overwrote the change when I synced to git.  Commit
the fix in both places, so this doesn't happen again.

Approved by:	jhb (mentor)
MFC after:	2 weeks
2008-10-23 20:23:03 +00:00
rnoland
a92db6b830 This check is invalid and I disabled it once already. I accidentally
reintroduced it with the sync to git master.  Commit the fix in both
places this time.

Approved by:	jhb (mentor)
MFC after:	2 weeks
2008-10-23 20:19:56 +00:00
gallatin
58aba2ce39 Update to Myri10GE Firmware 1.4.36.
This update fixes a transmit bug in the multi-queue (MSI-X) firmware
which happens when RDMAs complete out of order, and provides
improved support for the new Myri10GE NIC models (10G-PCIE-8Bx)

Sponsored by: Myricom Inc.

MFC after:3 days
2008-10-23 20:07:08 +00:00
des
2668f9825b Revert the removal of the MALLOC and FREE macros from the net80211 code.
Requested by:	sam
2008-10-23 19:57:13 +00:00
ed
859f75637c Don't include <sys/clist.h> inside ucom(4) and ufoma(4).
After being ported to the MPSAFE TTY layer, these drivers do not use
clists anymore. Don't include their header files.
2008-10-23 19:16:57 +00:00
ed
25ee4afba9 Fix detaching of uart(4) devices.
With our new TTY layer we use a two step device destruction procedure.
The TTY first gets abandoned by the device driver. When the TTY layer
notices all threads have left the TTY layer, it deallocates the TTY.

This means that the device unit number should not be reused before a
callback from the TTY layer to the device driver has been made. newbus
doesn't seem to support this concept (yet), so right now just add a
destructor with a big comment in it. It's not ideal, but at least it's
better than panicing.

Reported by:	rnoland
2008-10-23 19:11:44 +00:00
mav
8c20f01ac3 Add Intel ICH10 and SCH HDA controllers PCI IDs. 2008-10-23 18:30:06 +00:00
des
56068b0b4c Back out testing aid that was inadvertantly committed as part of r184205.
Noticed by:	rdivacky
2008-10-23 16:06:49 +00:00
des
66f807ed8b Retire the MALLOC and FREE macros. They are an abomination unto style(9).
MFC after:	3 months
2008-10-23 15:53:51 +00:00
rdivacky
a779c60ce0 Fix a typo.
Approved by:	kib (mentor)
2008-10-23 15:32:06 +00:00
marck
de31be7740 Correct a typo in Nocona core name.
MFC after:	3 days (modulo RE approval)
2008-10-23 10:38:04 +00:00
davidxu
2062caca24 Actually, for signal and thread suspension, extra process spin lock is
unnecessary, the normal process lock and thread lock are enough. The
spin lock is still needed for process and thread exiting to mimic
single sched_lock.
2008-10-23 07:55:38 +00:00
kmacy
b20c19bc66 Fix IPI support 2008-10-23 07:20:43 +00:00
marcel
ea4a9c9585 Add mips/conf/DEFAULTS and populate it with:
machine arm
        device  mem
	device  uart_ns8250
        options GEOM_BSD
        options GEOM_MBR

Remove the first three from all kernel configuration files
(sometimes commented-out) and change geom_bsd and geom_mbr
from standard to optional.
2008-10-23 02:16:38 +00:00
marcel
0b89118840 Add arm/conf/DEFAULTS and populate it with:
machine arm
        device  mem
        options GEOM_BSD
        options GEOM_MBR

Remove the first two from all kernel configuration files and
change geom_bsd and geom_mbr from standard to optional.
2008-10-23 01:51:55 +00:00
yongari
13ea6f6b0f Correct PHY description and OUI of VSC8211. Previously VSC8211 was
not recognized by ciphy(4) due to the incorrect OUI.

Reported by:	nork
Tested by:	nork
2008-10-23 01:27:15 +00:00
delphij
4274559e69 Slightly adjust code logic: we allocate a "size"ed length of memory, not
size+1.  Use strlcpy() to avoid using - 1 as length for strncpy().
2008-10-23 00:31:15 +00:00
delphij
be08be711c Use strlcpy() before strlen() instead of strncpy(). 2008-10-23 00:28:21 +00:00
delphij
5c9667b50c Since we are going to strlen() on the string, it is supposed to be
NUL-terminated, so use strlcpy() instead of strncpy() here.
2008-10-23 00:27:35 +00:00