Commit Graph

18150 Commits

Author SHA1 Message Date
Nathan Whitehorn
4fb52093a8 Improve the AT keyboard emulation of the ADB keyboard driver, by supporting
an AT-like K_RAW mode instead of just K_CODE. This has the effect of making
the arrow keys on ADB keyboards work in X11.

Copied from: sunkbd(4)
2009-01-08 17:47:45 +00:00
Edward Tomasz Napierala
02caf36ee1 Make "kldunload atapicam" return EBUSY instead of deadlocking when a device
created by atapicam is being kept opened or mounted.  This is probably just
a temporary solution until we invent something better.

Reviewed by:	scottl
Approved by:	rwatson (mentor)
Sponsored by:	FreeBSD Foundation
Reported by:	Jaakko Heinonen
2009-01-08 17:26:51 +00:00
Sam Leffler
10ad9a77f3 TDMA support for long distance point-to-point links using ath devices:
o add net80211 support for a tdma vap that is built on top of the
  existing adhoc-demo support
o add tdma scheduling of frame transmission to the ath driver; it's
  conceivable other devices might be capable of this too in which case
  they can make use of the 802.11 protocol additions etc.
o add minor bits to user tools that need to know: ifconfig to setup and
  configure, new statistics in athstats, and new debug mask bits

While the architecture can support >2 slots in a TDMA BSS the current
design is intended (and tested) for only 2 slots.

Sponsored by:	Intel
2009-01-08 17:12:47 +00:00
Rafal Jaworowski
885f8b20e6 Provide handler for USB controller error interrupts for Marvell EHCI device.
Obtained from:	Semihalf
2009-01-08 13:32:08 +00:00
Rafal Jaworowski
d0bc717a43 De-hard code UART speed setting for Marvell SOCs when hw.uart.console is not
specified. Instead, let uart(4) fall back to whatever speed firmware has set.
2009-01-08 13:24:25 +00:00
Rafal Jaworowski
8e1dc58e8c Handle mge(4) chip revision differences at run-time rather then compile time,
which is more flexible for future revisions, and lets eliminate some #defines
and compile conditionals.

Obtained from:	Semihalf
2009-01-08 11:09:27 +00:00
Takanori Watanabe
f9965aa640 Make ufoma2 driver work.
1.Sync TD on close to ensure USB request in close callback issued.
2.Add sysctls to indicate device role.
3.Enable handsfree port support.

Now modem port and obex port works well.
Handsfree port works but not with good response.
2009-01-08 05:10:03 +00:00
Pyun YongHyeon
e2157cf706 Always check whether dma map is valid before unloading the map.
When fxp(4) intializes Rx buffers for the first time, there is no
loaded dma map so attempting to unload it is an invalid operation.
2009-01-08 04:26:44 +00:00
Sam Leffler
5f82a460f8 correct fixed rate handling; the rixmap was changed a while back
to be indexed by the ieee rate code
2009-01-07 23:30:26 +00:00
Marius Strobl
7ee3780799 Make the whole initiator mode part of mpt(4) endian-clean,
specifically SPI controllers now also work in big-endian
machines and some conversions relevant for FC and SAS
controllers as well as support for ILP32 machines which all
were omitted in previous attempts are now also implemented.
The IOCTL-interface is intentionally left (and where needed
actually changed) to be completely little-endian as otherwise
we would have to add conversion code for every possible
configuration page to mpt(4), which didn't seem the right
thing to do, neither did converting only half of the user-
interface to the native byte order.
This change was tested on amd64 (SAS+SPI), i386 (SAS) and
sparc64 (SAS+SPI). Due to lack of the necessary hardware
the target mode code is still left to be made endian-clean.

Reviewed by:	scottl
MFC after:	1 month
2009-01-07 21:52:47 +00:00
Marius Strobl
3da80d3a0e Check the return values of contigmalloc(9) as well as bus_dma(9)
functions and stop attaching of dcons(4) and dcons_crom(4) if
they indicate failure. This fixes a panic seen on sparc64 machines
with no free physical memory in the requested 32-bit region but
still doesn't make dcons(4)/dcons_crom(4) these work. I think
the latter can be fixed by simply specifying ~0UL as the upper
limit for contigmalloc(9) and letting the bounce pages and the
IOMMU respectively handle limitations of the DMA engine. I didn't
want to change that without the consensus of simokawa@ though,
who unfortunately didn't reply so far.

MFC after:	1 week
2009-01-07 21:25:44 +00:00
Alexander Motin
c412d503cf Add some new oss_sysinfo structure fields from OSSv4. 2009-01-07 21:12:33 +00:00
Rong-En Fan
fb898a2cc2 - Remove snd_au88x0 which seems never got compiled into kernel nor as a kernel
module. These files cause manual interaction when building
  ports/audio/aureal-kmod which provides a usable i386-only driver (it requires
  linking against some linux object files distributed by vendor which bankrupted
  back in 2000).

MFC after:	1 week
2009-01-07 03:15:22 +00:00
Nathan Whitehorn
789c4b9d08 Change the way I2C bus attachment works to allow firmware-assisted bus
subclasses as are available with PCI. Changes I2C device drivers without
real probe logic to return BUS_PROBE_NOWILDWARD to avoid interference with
firmware bus enumeration, and reduces the probe priority of the iicbus
base driver to allow subclass attachment at higher priority.

Discussed on:	freebsd-arch
2009-01-06 17:23:37 +00:00
Edward Tomasz Napierala
67c6f956b1 Add workaround for Parallels 4.0. Without it, ehci and uhci drivers
would fail to attach due to unsupported USB revision.  It should have
no effect when running on a real hardware.

Reviewed by:	imp
Approved by:	rwatson (mentor)
2009-01-06 09:03:02 +00:00
Sam Leffler
50666d87db remove the ath_rate module dependency; it's all bundled 2009-01-06 01:58:45 +00:00
Sam Leffler
34b8d7d479 remove module glue, it's not used any more 2009-01-06 01:36:36 +00:00
Ed Schouten
2056b4c79b Import yet some more small fixes to libteken sources:
- Implement NP (ASCII 12, Form Feed). When used with cons25, it should
  clear the screen and place the cursor at the top of the screen. When
  used with xterm, it should just simulate a newline.

- When we want to use xterm emulation, make teken_demo set TERM to
  xterm.

Spotted by:	Paul B. Mahol <onemda@gmail.com>
2009-01-05 22:09:46 +00:00
Warner Losh
1f97c78986 First cut at fixing memory mapping botch. Nobody must use the ray(4)
driver since it couldn't have worked with NEWCARD w/o these fixes.
This should allow selecting 16-bit memory width as well (which was
what was broken).
2009-01-05 21:00:22 +00:00
Warner Losh
609729b7a6 Define bits for memory mapping house keeping by bridges. 2009-01-05 20:58:41 +00:00
Ed Schouten
1259994283 Fix rendering glitch in cons25 emulation.
Because we now have cons25-style linewrapping, we must also use cons25-
style reverse linewrapping. This means that a ^H on column 0 will move
the cursor one line up.

Also fix a small regression: if the user invokes a RIS (Reset to Initial
State), we must show the cursor again.

Spotted by:	Paul B. Mahol <onemda gmail com>
2009-01-04 22:24:47 +00:00
Ed Schouten
67ac7fd748 Print control characters, even though they are normally not visible.
With cons25, there are printable characters below 0x1B. This is not the
case with ASCII, UTF-8, etc. but in this case we just have to.

Also don't set LC_CTYPE to UTF-8 when libteken is compiled without UTF-8
in the demo-application.
2009-01-04 00:20:18 +00:00
Alfred Perlstein
d5474fd85f Sync with usb4bsd:
src/lib/libusb20/libusb20_desc.c

Make "libusb20_desc_foreach()" more readable.

src/sys/dev/usb2/controller/*.[ch]
src/sys/dev/usb2/core/*.[ch]

Implement support for USB power save for all HC's.

Implement support for Big-endian EHCI.

Move Huawei quirks back into "u3g" driver.

Improve device enumeration.

src/sys/dev/usb2/ethernet/*[ch]

Patches for supporting new AXE Gigabit chipset.

src/sys/dev/usb2/serial/*[ch]

Fix IOCTL return code.

src/sys/dev/usb2/wlan/*[ch]

Sync with old USB stack.

Submitted by: hps
2009-01-04 00:12:01 +00:00
Ed Schouten
17c98d6dab Resolve some regressions related to tabs and linewrap handling.
It turns out I was looking too much at mimicing xterm, that I didn't
take the differences of cons25 into account. There are some differences
between xterm and cons25 that are important. Create a new #define called
TEKEN_CONS25 that can be toggled to switch between cons25 and xterm
mode.

- Don't forget to redraw the cursor after processing a forward/backward
  tabulation.

- Implement cons25-style (WYSE?) autowrapping. This form of autowrapping
  isn't that nice. It wraps the cursor when printing something on column
  80. xterm wraps when printing the first character that doesn't fit.

- In cons25, a \t shouldn't overwrite previous contents, while xterm
  does.

Reported by:	Garrett Cooper <yanefbsd gmail com>
2009-01-03 22:51:54 +00:00
Nathan Whitehorn
acb97117e3 Fix the OFW interrupt map parser to use its own idea of the number of interrupt
cells in the map, instead of using a value passed to it and then panicing if it
disagrees. This fixes interrupt map parsing for PCI bridges on some Apple
Uninorth PCI controllers.

Reported by:	marcel
Tested on:	G4 iBook, Sun Ultra 5
2009-01-03 19:38:47 +00:00
Marius Strobl
a79bdfef68 Reapply the intpin correction part of r146420 which somehow
got lost.
2009-01-03 14:33:48 +00:00
Christian Brueffer
3514c91e2c Call pcn_start_locked() instead of pcn_start() where the softc lock is
already held.

Approved by:	rwatson (mentor)
MFC after:	3 weeks
2009-01-03 10:56:10 +00:00
Ed Schouten
bfe36bb462 Remove an unneeded assertion in libteken.
The cursor is only inside the scrolling region when we are in origin
mode. In that case, it should use originreg instead of scrollreg. It is
completely valid to place the cursor outside the scrolling region.
2009-01-01 23:22:01 +00:00
Ed Schouten
b4b1c5169d Replace syscons terminal renderer by a new renderer that uses libteken.
Some time ago I started working on a library called libteken, which is
terminal emulator. It does not buffer any screen contents, but only
keeps terminal state, such as cursor position, attributes, etc. It
should implement all escape sequences that are implemented by the
cons25 terminal emulator, but also a fair amount of sequences that are
present in VT100 and xterm.

A lot of random notes, which could be of interest to users/developers:

- Even though I'm leaving the terminal type set to `cons25', users can
  do experiments with placing `xterm-color' in /etc/ttys. Because we
  only implement a subset of features of xterm, this may cause
  artifacts. We should consider extending libteken, because in my
  opinion xterm is the way to go. Some missing features:

  - Keypad application mode (DECKPAM)
  - Character sets (SCS)

- libteken is filled with a fair amount of assertions, but unfortunately
  we cannot go into the debugger anymore if we fail them. I've done
  development of this library almost entirely in userspace. In
  sys/dev/syscons/teken there are two applications that can be helpful
  when debugging the code:

  - teken_demo: a terminal emulator that can be started from a regular
    xterm that emulates a terminal using libteken. This application can
    be very useful to debug any rendering issues.

  - teken_stress: a stress testing application that emulates random
    terminal output. libteken has literally survived multiple terabytes
    of random input.

- libteken also includes support for UTF-8, but unfortunately our input
  layer and font renderer don't support this. If users want to
  experiment with UTF-8 support, they can enable `TEKEN_UTF8' in
  teken.h. If you recompile your kernel or the teken_demo application,
  you can hold some nice experiments.

- I've left PC98 the way it is right now. The PC98 platform has a custom
  syscons renderer, which supports some form of localised input. Maybe
  we should port PC98 to libteken by the time syscons supports UTF-8?

- I've removed the `dumb' terminal emulator. It has been broken for
  years. It hasn't survived the `struct proc' -> `struct thread'
  conversion.

- To prevent confusion among people that want to hack on libteken:
  unlike syscons, the state machines that parse the escape sequences are
  machine generated. This means that if you want to add new escape
  sequences, you have to add an entry to the `sequences' file. This will
  cause new entries to be added to `teken_state.h'.

- Any rendering artifacts that didn't occur prior to this commit are by
  accident. They should be reported to me, so I can fix them.

Discussed on:	current@, hackers@
Discussed with:	philip (at 25C3)
2009-01-01 13:26:53 +00:00
Luigi Rizzo
e051c32c9b add some USB scanner IDs for recent Epson multifunction devices.
Add support to uscanner.c for known-working devices
(the same should be done for uscanner2.c).

Waiting for 7.1 to be released before the merge.

MFC after:	3 weeks
2008-12-31 14:25:14 +00:00
Warner Losh
a84736bdf6 When no driver attaches to a card, don't power down the card. We can
now read config registers of cardbus cards that are inserted, but
aren't attached to a driver.
Also, add a power related comment...
2008-12-31 07:41:42 +00:00
Kip Macy
3a6d1fcf9c merge 186535, 186537, and 186538 from releng_7_xen
Log:
 - merge in latest xenbus from dfr's xenhvm
 - fix race condition in xs_read_reply by converting tsleep to mtx_sleep

Log:
 unmask evtchn in bind_{virq, ipi}_to_irq

Log:
 - remove code for handling case of not being able to sleep
 - eliminate tsleep - make sleeps atomic
2008-12-29 06:31:03 +00:00
Stanislav Sedov
d85f3935ec - Fix incorrect array declaration that was causing the stack overflow
on some (most?) Asus laptops.

Discussed with:	rpaulo
Approved by:	kib (mentor)
MFC after:	2 weeks
2008-12-27 20:48:11 +00:00
Alexander Kabaev
7d376cbce3 Minor style(9) compliance change. 2008-12-27 16:03:34 +00:00
Roman Kurakin
11a12794a9 Add support for the Oxford OX16PCI958-based card.
Note, that the patch provided with this card for the Linux states that
the card uses DEFAULT_RCLK * 2, while in fact it is '* 10'.  So probably
we should also use the subdevice/subvendord here. For now just ignore
that fact.

PR:		kern/129665
Submitted by:	bsam
Obtained from:	united efforst with bsam
2008-12-27 15:22:22 +00:00
Bjoern A. Zeeb
44a2eb509f Remove an unused variable to make the SENTRY5 mips kernel compile
(though with some asm warning).
2008-12-27 11:38:41 +00:00
Alexander Motin
f496eee7e3 Add some found NVidia MCP7x HDA controller IDs. 2008-12-27 11:00:20 +00:00
Weongyo Jeong
b3974c00b5 Integrate the NDIS USB support code to CURRENT.
Now the NDISulator supports NDIS USB drivers that it've tested with
devices as follows:

  - Anygate XM-142 (Conexant)
  - Netgear WG111v2 (Realtek)
  - U-Khan UW-2054u (Marvell)
  - Shuttle XPC Accessory PN20 (Realtek)
  - ipTIME G054U2 (Ralink)
  - UNiCORN WL-54G (ZyDAS)
  - ZyXEL G-200v2 (ZyDAS)

All of them succeeded to attach and worked though there are still some
problems that it's expected to be solved.

To use NDIS USB support, you should rebuild and install ndiscvt(8) and
if you encounter a problem to attach please set `hw.ndisusb.halt' to
0 then retry.

I expect no changes of the NDIS code for PCI, PCMCIA devices.

Obtained from:  //depot/projects/ndisusb/...
2008-12-27 08:03:32 +00:00
Alexander Motin
3f4f72bf2b Add some special handling for AD1986A codec:
Disable some unneeded pathes in overcomplicated input mixer to help parser
to handle the rest better. This gives mic input boost control in some
configurations and just more predictable operation in others.
2008-12-26 22:47:11 +00:00
Weongyo Jeong
46e6dd8ffb fix a silly bug that I missed a for-loop to initialize AL2230S PHY.
Reported by:    Hans Petter Selasky <hselasky_at_c2i.net>
2008-12-25 04:29:40 +00:00
Sam Leffler
370e677c29 must pack structures for architectures like arm
Reviewed by:	thompsa
2008-12-24 06:59:07 +00:00
Robert Noland
b2dc68697e Only set registers if irqs are enabled
Approved by:	kib
Obtained from:	drm git
2008-12-23 22:53:57 +00:00
Andrew Thompson
ac4b4c24ac Remove CALLOUT_RETURNUNLOCKED from the callouts, there is no reason for them to
drop the lock for us.
2008-12-23 19:59:21 +00:00
Sam Leffler
cd5c694a56 move IXP4XX EHCI bus shim to the usb directory and rename 2008-12-23 17:40:02 +00:00
Andrew Thompson
cf4d7cfcc5 Name the bus mutex by the controller name, this allows each bus to be
distinguished in lock profiling, etc.
2008-12-23 17:36:25 +00:00
Robert Noland
fc25498ad9 Fix up handling of Intel G4X chips some more.
Note that you need at least xf86-video-intel 2.4.3 for this to work.
The G4X doesn't put the GATT into the same area of stolen memory
as all the other chips and older versions of the driver didn't
handle that properly.

Tested by:	ganbold
Approved by:	kib
MFC after:	2 weeks
2008-12-23 16:16:30 +00:00
Konstantin Belousov
fc72031c5d Clear busy state on the pages which are after the one that failed the bind
attempt.

Reported and tested by:	ganbold
Reviewed by:	rnoland
MFC after:	2 weeks
2008-12-23 16:04:33 +00:00
Alexander Motin
51a8e5f0c3 Organize Conexant codecs.
Add CX20561 (Hermosa) codec ID.
2008-12-23 14:58:08 +00:00
Remko Lodder
05534ba77d Add support for the HP 4470C scanner.
Note that there is no working backend (or at least
that is mentioned in the PR ticket) but the device
is now supported on our end.

PR:		117205
Submitted by:	Artem Naluzhnyy <tut at nhamon dot com dot ua>
MFC after:	1 week
2008-12-23 13:09:17 +00:00
Remko Lodder
e39a1e71cd Add support for the MaxSream USB test carrier.
PR:		117546
Submitted by:	Daniel J. O'Connor <darius at midget dot dons dot net
dot au>
MFC after:	1 week
2008-12-23 12:44:18 +00:00