11692 Commits

Author SHA1 Message Date
Fredrik Holmqvist
95b6779381 Format code, add display device base.
Still very much work in progress.
2014-09-07 21:20:35 +02:00
Fredrik Holmqvist
8516e6a924 Rename display_controls to display_adapter
ACPI talks about display_adapters, and we will likely have displays
as child nodes. Displays will be attached to an adapter.
2014-09-07 19:02:06 +02:00
Matej Horvat
c1fcde6665 Set the archive bit on new or modified directory entries (but not subdirectories)
Signed-off-by: Axel Dörfler <axeld@pinc-software.de>
2014-09-06 12:57:49 +02:00
Fredrik Holmqvist
62f4f056a7 Fix include order. 2014-09-05 22:10:30 +02:00
Fredrik Holmqvist
76a17ee226 No semicolons on defines. 2014-09-05 18:44:16 +02:00
Fredrik Holmqvist
1c7917f33e Tell ACPI if we use PIC or APIC. 2014-09-05 18:40:38 +02:00
Fredrik Holmqvist
b4908ff5d8 Todo about walking namespace and init _PRW's.
This needs a deeper understanding and brighter mind than mine.
2014-09-05 17:12:27 +02:00
Fredrik Holmqvist
5048bd4620 Add a global notify handler for logging. 2014-09-05 15:44:21 +02:00
Fredrik Holmqvist
78d6bbf1e5 Fix indention issues.
Two tabs since it's inside a function call inside an if.
2014-09-05 15:44:21 +02:00
Julian Harnath
08e98ffde1 Style fix: line length 2014-09-04 00:46:42 +02:00
Julian Harnath
7ef10f899a Relaxed CORB read pointer reset checking for nVidia HDA
* At least some nVidia HDA controllers do not acknowledge the CORB
  read pointer reset, which is required by the spec (cf. HDA 1.0a
  ch. 3.3.21). For these controllers, do not fail when acknowledge
  is missing.

* Makes hda driver work for nVidia HDA controllers again, thus fixing
  the regression pointed out in #10212.
2014-09-04 00:46:40 +02:00
Paweł Dziepak
5fa80ab691 usb: fix format string
fDebugChunkSize is an uint32.

Signed-off-by: Paweł Dziepak <pdziepak@quarnos.org>
2014-09-02 23:35:42 +02:00
Julian Harnath
ec8fc5ee39 Use uncached memory areas if snooping is not possible
* Some chipsets do not support bus-snooping for the HDA data
  transfers. So, when trying to enable snooping, verify that the
  setting was accepted.

* When snooping is not possible, set memory areas for audio buffers,
  buffer descriptor lists and command ring-buffers as uncached to
  ensure memory coherency with the HDA controller.

* This fixes KDLs during booting on some systems where snooping
  is not supported (seen on two systems with AMD chipsets, maybe
  applies to others as well).
  After setting up the buffer descriptor list for a stream, it was a
  gamble whether these writes would be visible to the HDA controller
  when subsequently enabling the stream. On some boots it was unlucky
  and then the HDA controller's DMA engine would go haywire and start
  overwriting random kernel memory with audio input data. The
  scheduler was usually the first victim and caused page fault KDLs
  due to corrupted data structures.
2014-09-02 23:10:57 +02:00
Julian Harnath
84dfba2972 Preserve reserved bits in registers
* Do read-modify-write cycle to preserve bits marked as RsvdP in the
  following registers: WAKEEN, CORBWP, CORBCTL, CORBSIZE, RIRBWP,
  RINTCNT, RIRBCTL, RIRBSIZE.
2014-09-02 23:10:55 +02:00
Julian Harnath
2d498c889c Use correct sequence for resetting CORB read pointer
* Spec requires software to wait for hardware to acknowledge the
  reset by waiting for the bit to become set and then manually
  unset it and again wait for it to become unset.
  (cf. HDA spec 1.0a ch. 3.3.21)

* Also, do read-modify-write to protect preserved bits
2014-09-02 23:10:53 +02:00
Julian Harnath
78b950bd2d Read back CORB/RIRB control register to ensure DMA has stopped
* Spec is somewhat unclear about whether that is really necessary,
  but let's play safe.
2014-09-02 23:10:52 +02:00
Alexander von Gluck IV
f3ed89bb64 partition/intel: Fix GPT error language.
* Yeah, intel shouldn't support GPT :-)
2014-09-01 19:41:19 +00:00
Michael Lotz
064018fbf1 UHCI: Reject request debug transfers on control pipes.
Requests aren't handled in the debug transfer code path and would
end up in wrongly constructed descriptor chains.
2014-09-01 00:12:37 +02:00
Michael Lotz
dbd527de10 usb_keyboard: Try clearing endpoint stall on transfer failure.
As the keyboard is used from usb_hid in the userland as well, we quite
probably are not in sync with the data toggle. Clearing the stall
should restore the toggle and make things work.
2014-08-31 23:02:31 +02:00
Michael Lotz
e31cac6e5a USB: Implement usb_clear_stall kernel debugger command.
It constructs a clear feature request for the endpoint halt selector
and sends the request using debug transfers. Clearing a stall condition
can be done safely and has one nice side effect: it reinitializes the
data toggle to a known state. This command can therefore be used when
a pipe is possibly used from userland as well and the data toggle may
therefore be out of sync.
2014-08-31 23:02:30 +02:00
Michael Lotz
326645d2da usb_keyboard: Simplify to generalized usb_process_transfer. 2014-08-31 23:02:29 +02:00
Michael Lotz
159aa93b31 USB: Generalize logic for debug transfers used within KDL.
Pull debug transfer methods into the base BusManager class and
implement them for UHCI and EHCI. This makes it possible to have a
single debugger command installed by the USB stack instead of HCI
specific ones.
2014-08-31 23:02:29 +02:00
Joseph R. Prostko
1d016b78ec Add Intel Iris Pro Graphics 5200 to the intel_extreme driver
* This enables the intel_extreme driver on the Clevo W740SU and its variants like the System76 Galago UltraPro
2014-08-31 16:04:12 -04:00
Jonathan Schleifer
4409556b7a Small fix for C++11 to make Clang happy 2014-08-31 21:59:28 +02:00
Michael Lotz
dd89f967a7 usb_keyboard: Add support for debug keyboards on all HCIs.
Check for support of debug transfers from all HCIs and use the ones
that provide it.
2014-08-31 12:08:21 +02:00
Michael Lotz
b0e1d28d2b USB: Cleanup hardcoded bitmap size. 2014-08-31 12:08:21 +02:00
Michael Lotz
2747989d9e USB: Warn if debug allocation does not fit debug chunk size. 2014-08-31 12:08:20 +02:00
Michael Lotz
9c0623a8f2 USB: Increase debug chunk size from 64 to 128 bytes.
The queue head structure in EHCI is bigger than the previous debug
chunk size. Multiple allocations therefore overwrote eachother.
2014-08-31 12:08:19 +02:00
Michael Lotz
21c0d3131d USB: Remove check for UHCI in get_usb_pipe_for_id kdl command.
The bus managers check that the pipe belongs to them in their
respective debugger commands.
2014-08-31 12:08:19 +02:00
Michael Lotz
4182d2cadf EHCI: Cleanup member declaration order to match definition. 2014-08-31 12:08:18 +02:00
Michael Lotz
7cbae3c969 EHCI: Implement debug transfers. 2014-08-31 12:08:17 +02:00
Michael Lotz
d7626f8db3 EHCI: Move locking to be only around actually critical section. 2014-08-31 12:08:17 +02:00
Michael Lotz
63cf3cfa11 EHCI: Simplify short packet logic to use alternate pointer.
The alternate pointer is the software equivalent of the alternate
physical address in the hardware queue head part. The controller
follows that path, so we can follow the alternate pointer as well.
Simplifies and generalizes the logic.
2014-08-31 12:08:16 +02:00
Adrien Destugues
196675be76 es1370: fix build.
It looks like this driver could be used by vmware. Untested.
2014-08-30 14:04:30 +02:00
Humdinger
f8d2409385 Added Intel HD 4600 ID to intel_extreme driver 2014-08-30 11:47:36 +02:00
François Revol
19dad39ba8 pc_serial: mention my oxfordsemi 2 ports card and specs 2014-08-30 00:20:30 +02:00
François Revol
61b007a076 serial_mouse: fix string length 2014-08-29 20:30:56 +02:00
François Revol
821075b6ce serial_mouse: also check for "pc_serial#" ports
... since that's what we publish now.
Maybe we should just use the BeOS names instead.
2014-08-29 20:11:38 +02:00
François Revol
5e90a2a9c6 serial_mouse: fix debug build 2014-08-29 18:51:53 +02:00
François Revol
2cc9735a8f serial_mouse: fix build
Looks like some header changed name...
2014-08-29 18:05:07 +02:00
François Revol
4a1a879556 re-add serial_mouse input_server addon to the build
Whether it hangs input_server is not a reason to remove
it from the build anyway.
2014-08-29 17:59:03 +02:00
François Revol
039f88d807 pc_serial: more NULL checks 2014-08-29 17:09:01 +02:00
François Revol
8ee781bf7b pc_serial: fix gcc4 warnings (hopefully) 2014-08-29 16:58:08 +02:00
François Revol
a9ccc3a5ec pc_serial: mask THRE again when we're out of data 2014-08-29 15:21:43 +02:00
François Revol
b6708d7c47 pc_serial: wait for writes to complete on a sem
This avoids close being called too early and discarding output.
2014-08-29 15:21:42 +02:00
François Revol
6e7189d9b2 pc_serial: toggle THRE in IER to make VirtualBox happy
Not sure it's needed on real hardware yet.
2014-08-29 15:21:42 +02:00
François Revol
e9bbba8b84 pc_serial: cache IER and temporarily mask IRQs until dpc done
No need to be flooded by IRQs while filling in the FIFO...
2014-08-29 15:21:10 +02:00
François Revol
9ab497059d pc_serial: apply lcr parameters even when unmasking latch reg
No need to change line params even more if it was already the same before.
2014-08-29 15:21:08 +02:00
François Revol
02f6c664cc pc_serial: try to enable 64 byte FIFO
We should probably detect the UART type properly first,
but the IRQ handler also checks for the available FIFO length anyway.
2014-08-29 12:30:20 +02:00
François Revol
efbc894614 pc_serial: skip waiting for pending DPC in free hook
Since it's possible to fail queuing them, the count doesn't go down to 0,
and the process just hangs forever on exit. It might not be necessary anyway.
2014-08-29 12:30:19 +02:00