Commit Graph

9081 Commits

Author SHA1 Message Date
Philippe Houdoin
1291377a6e Applied patch by Pete Goodeve, which adds multi-ports support to usb_midi driver.
Fixed some coding style and a few sanity checks where it make sense.

This driver code is not in a good shape and needs a wide cleanup.
unfortunatly, I still don't have any device to test with, so I can't do that anytime soon.
Intead of letting his patch collecting dust since 3 months (my bad),
I think it's better the multi-port support gets at least more exposure than
just Pete's hardware.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41874 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-03 10:30:03 +00:00
Alexander von Gluck IV
5d6dcc0685 remove AtomInit.. breaks radeon_hd build due to missing return and I have a while until I can implement it fully
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 23:05:24 +00:00
Alexander von Gluck IV
1dac446909 added scale update locking register; remove leftover intel hack thats not needed on Radeon; fix gcc4 warning on card model comparison
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41872 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 22:50:28 +00:00
Michael Lotz
5052c5b678 Make adjustments to the JoystickProtocolHandler so that it works in accordance
with the BJoystick requirements:

* Make the Read() non-blocking. This is required as BJoystick is a polling
  interface. A single current state is used that is updated by a separate thread
  on report arrival. The thread is spawned as soon as the ProtocolHandler is
  opened for the first time (and quit at the first wait return after the
  ProtocolHandler is closed). With this we can simply return the current state
  on read.
* Remove the ring buffer as it was not needed in the first place. This also
  happens to solve the problem of sharing a JoystickProtocolHandler. Before,
  concurrent reads would queue up the same result multiple times in the ring
  buffer and then return stale data on the next update.

Solves most of #7629.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41865 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-02 00:56:18 +00:00
Michael Lotz
23249681ab Since we never actually read more than one mouse_movement at a time and we only
ever wait for reports on demand, there's no need for buffering at all.
This removes some unnecessary copying and ring buffer overhead, the ring buffer
will now in fact not be created at all.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41864 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 23:34:03 +00:00
Alexander von Gluck IV
eb1b3e422f implement AtomBios CailRead/WriteFBData callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41860 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 18:34:13 +00:00
Alexander von Gluck IV
3fcaf0d61c remove unneeded orphan function declaration for AllocateFB
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41859 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 14:55:40 +00:00
Alexander von Gluck IV
057f5d1d50 GCC2 build fixes on radeon_hd driver
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41858 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-01 14:39:15 +00:00
Michael Lotz
f46bc7f19e * Add a JoystickProtocolHandler to usb_hid that supports the BJoystick protocol.
This includes input scaling, so the resulting input ranges should always match
  the ones of the BJoystick data (hence no calibration should be required).
* It supports joysticks, gamepads and multi-axis controllers. I've only tested
  it with a Microsoft SideWinder Gamepad Pro so far, which now works as expected
  with stickit.
* Fixes #7429.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41851 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-31 02:21:05 +00:00
Michael Lotz
10a1a81d02 Also clear the sign extension when not changing signedness, as otherwise we'll
overwrite the values with the sign extension.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41850 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-31 02:09:10 +00:00
Michael Lotz
6d551ee44f Also take the unsigned -> signed conversion into account.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41846 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 22:31:59 +00:00
Michael Lotz
d75a906285 Add a ScaledData() getter that scales the data to the desired bit width and
converts the signed-ness as specified.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41843 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:45:10 +00:00
Clemens Zeidler
a4710c0d46 Move ServerConnection class from the IMAP add-on to libmail.so. This avoids to init SSL each time an IMAP add-on
is loaded. SMTP and POP still have this problem! TODO: use the ServerConnection class in these add-ons too.
This would also remove a lot of #ifdef SSL form these add-ons. Will not do it in the near future, feel free to fix it
...



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 21:36:06 +00:00
Michael Lotz
b5274bc4f6 Pass read and write calls to the protocol handlers as well, moving the default
of returning B_ERROR to the ProtocolHandler base class. Not used yet, but will
be used for the BJoystick <-> JoystickProtocolHandler.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41835 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 19:53:14 +00:00
Clemens Zeidler
b58ab52cd6 SSL should be thread safe (right?) but SSL_library_init function and SSL_load_error_strings are not, or they should be called only once...
Remove extra ssl lock, there is already one in ssl.
This fixes #7574. I have seen this or a similar bug before and it was quit reproduceable, now it seems to be fixed.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41828 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-30 05:46:10 +00:00
Fredrik Modeen
981bdb5af9 Hope I fix more than I breake with this update of ipro1000
it's taken from freebsd driver e1000 r221505

This include alot of cards (including my HP)

I had to "remove" som parts. led was the easiest part. All code shoulc have haiku in them

The part below was perhaps needed but I could not fix the error that whas showing (located in if_em.c) aslo it works as is on my HP 8540.

static int
em_sysctl_reg_handler(SYSCTL_HANDLER_ARGS)
{
	struct adapter *adapter;
	u_int val;

	adapter = oidp->oid_arg1;
	val = E1000_READ_REG(&adapter->hw, oidp->oid_arg2);
	return (sysctl_handle_int(oidp, &val, 0, req));
}

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41815 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-29 19:27:05 +00:00
Michael Lotz
305aff3f78 * Changed the way how devices are enumerated and protocol handlers are added to
handle the different device classes. Handlers are now added based on the
  application collections that the HID descriptor describes instead of by
  enumerating the different report items inside the reports. This means that a
  device is now logically treated as a mouse when it comes with an application
  collection that designates it as a mouse, instead of when there is a report
  that contains an X and a Y axis. This resolves the conflicts that gamepads
  and joysticks were added as mice due to them containing such elements. This
  therefore fixes #4499 and opens up the way to properly handle other device
  types like joysticks (#7429), gamepads, tablets (#7354, #5989 and #7481) and
  so on. I'll work on gamepads/joysticks next and see where we stand for tablets
  later.
* Added a few enumeration functions to HIDCollection to support the above.
* Fix the root collection handling. A device doesn't describe a single root
  collection and then adds everything as a child. Instead it just has multiple
  collections on level 0. We account for that now by always creating an empty
  logical collection as the root collection where all the collections of the
  descriptor get added.
* Rename the {Mouse|Keyboard}Device.{cpp|h} to
  {Mouse|Keyboard}ProtocolHandler.{cpp|h} as that more clearly describes their
  purpose. These classes are protocol handlers, i.e. they handle the ioctl based
  mouse and keyboard protocol between the driver and the input_server add-ons.
* Change a lot of stuff to use references instead of pointers where it makes
  sense (not necessarily complete yet).

I've tested this successfully on a keyboard with extended keys, a combo device
with a keyboard with extended keys and a mouse, a mouse and a gamepad (that now
doesn't do anything anymore) and found no regressions. However, since there are
a lot of very varied ways how to describe such functions with HID, it's not too
unlikely that some more curiously described devices will now stop working. These
have to be handled case by case and their usages have to be added to the added
to the appropriate handlers (or new handlers have to be written). Please test
and create bug reports (preferrably including the report descriptor that is
written out to /tmp).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41794 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-28 19:59:02 +00:00
Alexander von Gluck IV
3035edeb39 add Radeon HD2600 PCIID, Thanks Benjamin A!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41792 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-28 16:29:16 +00:00
Jérôme Duval
3cd099e2d4 Patch from Jérôme Leveque: Work in progress: code cleanup (includes dos newlines and 80 chars by line)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41778 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 18:59:25 +00:00
Alexander von Gluck IV
27dde8e939 small style fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41770 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 02:16:00 +00:00
Alexander von Gluck IV
217c0b1d48 Add surface address high handling; set primary and secondary surface frame buffer offset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41769 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-27 02:14:54 +00:00
Alexander von Gluck IV
5f6744a8cd * move all register calculation into init_registers to
keep things simple to troubleshoot
* use crt offset only on evergreen, else use AMD provided
  register locations
* init_registers(crtid) is called before making register calls
  to a monitor.
* init_registers supports 1-2 displays on r600-r700
* init_registers supports 1-6 displays on r800+ (AMD eyefinity)
* restore CardBlankSet function in a more simple form
  (still needs init_registers addition)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41757 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-26 04:51:57 +00:00
Alexander von Gluck IV
2cc7e38c93 temporarly disable screen blanking; setting V/H blank start/end is what was causing empty display, disabled for now; Hardware video mode setting is close!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41753 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-25 22:42:37 +00:00
Alexander von Gluck IV
3be5e03652 * rename graphics_memory to frame_buffer. lets keep consistant
* pass mapped frame buffer area id to accelerant
* remove my temporary hacked together frame buffer memory mapping
* completely rely on PCI BAR for now for aperture size / location instead of
  R6XX_CONFIG_FB_BASE reg.
* Remove my temporary AllocateFB function.
* set grphPrimarySurfaceAddr to physical memory frame buffer location (offset 0)
* fix P/N sync setting.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41722 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 22:08:54 +00:00
Michael Lotz
35e8baa6b0 Fix typo in error output and a little automatic whitespace cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41715 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-24 17:01:35 +00:00
Michael Lotz
c05a3fa6a7 We obviously need to mask off the interrupt threshold value before overwriting
it with our new setting. Otherwise we might end up with an illegal value as the
interrupt threshold which might inhibit interrupt generation alltogether
depending on the controller implementation. This was the case for the ATI/AMD
SBx00 chipsets. Therefore fixes #5551.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41690 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 21:53:12 +00:00
Michael Lotz
fe81732aca Tiny cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41689 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 21:48:40 +00:00
Michael Lotz
ce44796e34 Introduce simplistic poll mode for EHCI. If enabled a thread will run the
interrupt handler every millisecond so it can check for interrupts to handle.
While this is certainly not ideal, it allows EHCI to run (surprisingly well
even) on chipsets that experience interrupt routing issues.
It can be enabled with the safemode setting "ehci_polling on" that can either
be entered using the new advanced debug option entry in the bootloader and/or
in the kernel settings file.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41688 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-23 20:50:21 +00:00
Ingo Weinhold
10919035c8 PlainTextCatalog::WriteToFile(): Escape characters in the comment string.
Hopefully undoes the string changes seen on HTA since r41629.

Note that the asymmetric escaping/unescaping (PlainTextCatalog::WriteToFile()
vs. BHashMapCatalog::SetString()) is rather broken and needs to be fixed.

+alpha I guess.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41667 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 21:21:01 +00:00
Jérôme Duval
c0b58c071f * added some EHCI definitions (specification 1.1)
* enable per-port change events when available


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41661 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 19:44:09 +00:00
Jérôme Duval
cca52e7987 ehci usb driver:
* make sure the PortEnable bit is disabled (specification page 28)
* 250ms is too long: USB 2.0 specifies only 50ms. This prevented one of my devices to be detected.
+alpha


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41658 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 18:43:29 +00:00
Clemens Zeidler
45f20f8f91 Fix reading long lines in multiple bunches. Thanks pulkomandy for testing.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41651 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-22 08:49:31 +00:00
Alexander von Gluck IV
51a43d0ff4 ensure framebuffer doesn't exceed PCI bar; add basic monitoring of frame buffer memory allocation; fix return of framebuffer to OS to be the correct area
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41586 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 17:39:07 +00:00
Stephan Aßmus
b46615c55a Applied patch by Joseph "looncraz" Groover from ticket #7445.
This changes how Decorators are managed and applied. The app_server
no longer scans and maintains the available ones himself, but is
simply asked to load a Decorator add-on from a provided path.
The Decorator scanning is moved into DecorInfo and DecorInfoUtil,
private classes in the InterfaceKit. The bin command 'setdecor'
uses those.
I cleaned up all the coding style violations that I could find,
removed chunks of code which didn't make sense (if you never put
a NULL pointer into a list, you don't need to check for this and
so on) and also cleaned up other passages for improved clarity
and simplicity.
I also tested the functionality and it works fine. Would even be
Ok to include in Alpha 3, IMHO. Thanks for the patch!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41581 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-19 15:25:54 +00:00
Alexander von Gluck IV
90af954387 * actually set device_chipset before reading it.
* make shared memory info naming clearer.
* move frame buffer internal offset read to driver
* remove check of > 512MB as we really should always use frame_buffer_size


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41569 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 18:38:28 +00:00
Ingo Weinhold
c2069a9a2e Patch by "starsseed" (with style fixes by myself):
PartitionMapWriter::WriteMBR(): Also read the old MBR from disk when the boot
code shall be overwritten. Prevents overwriting of the disk ID. Closes ticket
#7507.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 10:34:53 +00:00
Alexander von Gluck IV
e7812dd963 correct missed improper int size
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41563 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 05:28:28 +00:00
Alexander von Gluck IV
e8de44210d fix reversed memory units
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41562 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 05:25:41 +00:00
Alexander von Gluck IV
56e6d991bb make math easier to read; fix chipset int length; additions to CardScale
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-18 04:25:05 +00:00
Alexander von Gluck IV
c41d9ce694 add viewport registers; correct chipset dependent scale code; rename virtualheight to make it more consistant; spell check
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41557 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 18:00:58 +00:00
Alexander von Gluck IV
fc7b565382 now CRT is 0-1 vs 1-2
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:12:16 +00:00
Alexander von Gluck IV
bd34b2f756 * enhance tracing of accelerant
* introduce a global struct to hold register locations for
  Radeon HD chipset model this accelerant was spawned for.
* add Radeon 5430 PCIID


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 17:08:06 +00:00
Alexander von Gluck IV
2a2b9f942c r600 chipset pciids are a mess, added a few more chipsets from AMD's site
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-17 14:44:49 +00:00
Alexander von Gluck IV
e6f5f4a6ef improve on Radeon HD pciid list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41548 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 20:29:54 +00:00
Alexander von Gluck IV
6c43ea6336 read and store aperture size (will be used in fblocation calculations)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 18:10:49 +00:00
Jérôme Duval
22f4c33994 * select idle alternate when stopping the UVC device.
* set up a dumb deframer.
* received isochronous buffers can be zero length: loop instead of breaking.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 17:31:38 +00:00
Alexander von Gluck IV
ce8044a8cb card ids are ordered by series as the AMD pciid space is nowhere near sequential; also removing the series word as it doesn't align to the other entries
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 16:35:26 +00:00
Philippe Houdoin
d7a82feb5c Added a few Radeon HD 48xx devices IDs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41537 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 15:19:02 +00:00
Alexander von Gluck IV
f60710603b be more consistent in bitwise unit conversions
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 14:46:23 +00:00
Alexander von Gluck IV
e49d783eb9 add proper memory size unit handling across all driver supported cards
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41526 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:43:58 +00:00
Alexander von Gluck IV
2be925fd04 * turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41525 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-16 04:03:18 +00:00
Alexander von Gluck IV
536fb7eef6 added 4770, thanks moochris!; added 5650, thanks DaaT!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41518 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 19:08:24 +00:00
Michael Lotz
609f2f3393 Check if PCI interrupts are disabled on the EHCI device. Rather unlikely to be
the case, but maybe there's some BIOSes that disable them? More or less poking
around for #5551, doesn't do any harm in any case.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41514 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 15:03:38 +00:00
Michael Lotz
c46509339b * Disable interrupts in OHCI before doing BIOS handover. Shouldn't matter much
but maybe it helps on some chipsets to avoid interrupt storms during handover.
* Remove comments that aren't true anymore.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41513 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:42:53 +00:00
Michael Lotz
3bb5704280 Introduce workaround for the (documented) bug with ATI/AMD SB600 and early SB700
periodic list cache. This workaround is based on similar patches in NetBSD and
Linux and disables the (Advanced) Periodic List Cache on the affected devices
using ATI/AMD specifc registers (as documented in the corresponding AMD
register reference guide).
Also remove a ton of stray whitespace introduced by the isochronous patches.
Please take more care the next time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41512 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 14:36:19 +00:00
Alexander von Gluck IV
19935655ac add Radeon 5470, thanks RISC!; simplification in Blanking call, thanks Axel!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41507 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-15 00:37:59 +00:00
Michael Lotz
5316b696ae * Set the actual default of the ACPI module to enabled instead of relying on the
kernel settings file. As pointed out by Rene, there's otherwise no way to
  enable ACPI when the settings file is absent, as there's only a disable switch
  in the boot menu.
* Remove MADT dumping as it isn't really implemented. This info can actually be
  printed in the IO-APIC code now.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 16:28:43 +00:00
Alexander von Gluck IV
cf546fa0c3 move framebuffer setting code into its own function; reorder mode setting operations to match Xorg driver; make mode functions CRT1/2 register aware
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41496 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-14 14:34:12 +00:00
Alexander von Gluck IV
415c4ad366 correct incorrect read location of PLL data
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-13 03:17:31 +00:00
Alexander von Gluck IV
9331e9bb0d fix bitwise check for mode timing polarity
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 22:03:47 +00:00
Alexander von Gluck IV
88bfef92b3 add hook to pass EDID back if requested by userspace (screen applet); fix calculation of H blankStart; correct typo on H_SYNC vs V_SYNC register; set +/- V_SYNC to 0x01 vs 0x02.. this prob still needs work; style corrections
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 16:58:49 +00:00
Alexander von Gluck IV
c106176083 doh! style fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:41:33 +00:00
Alexander von Gluck IV
e1d1a14430 further enhance / cleanup tracing; detect Radeon HD graphics card memory size and store it in shared info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-12 01:36:51 +00:00
Alexander von Gluck IV
dfd1e5889e remove (now) un-needed modeline examples; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 17:04:31 +00:00
Michael Lotz
407af313ca Make the signature argument to get_table() const. Should fix the GCC4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 09:05:43 +00:00
Michael Lotz
2645ca0a28 Provide a function to gain ACPI table access.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-11 08:22:22 +00:00
Jérôme Duval
7df33d912b * Implement inbound isochronous transfer for EHCI, based on UHCI implementation.
* changes next_log to their actual type instead of void*
* the field this_phy now includes the item type, it simplifies things.
* isochronous transfer descriptors are linked in the periodic frame list first,
and points to existing interrupt transfer descriptors.

This is still work in progress. Yet it's worth committing as it doesn't seem to
have impacts, and is required for the UVC SoC project. Tested basically with 
usb_webcam to receive UVC stream headers.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41424 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:25:32 +00:00
Jérôme Duval
16d113f9e5 fix typo
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 21:05:41 +00:00
Alexander von Gluck IV
2613175e19 * add commented out radeon_hd driver/accel to HaikuImage
* add boot item support to radeon hd driver
* add edid storage to shared info
* add pull of active monitor VESA EDID to radeon hd driver (until AtomBios complete)
* EDID pulled in driver now passed to create_display_modes
* move registers to external stock xorg radeon hd register headers (lic. allows it)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-10 02:02:41 +00:00
Michael Lotz
2800b06462 Add missing const to the path argument of get_handle().
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41398 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-09 13:05:28 +00:00
Jérôme Duval
c356b0477f spaces -> tab
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41388 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:36:47 +00:00
Jérôme Duval
eae25c8854 "intel_extreme" was printed twice
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41387 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:18:31 +00:00
Jérôme Duval
c5fc0286bc style fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41386 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 19:16:42 +00:00
Michael Lotz
ce57718d12 Add set_current_resources() which will be used to configure device resources
from settings retrieved through get_{current|possible}_resources().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41382 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 12:13:55 +00:00
Jérôme Duval
fae2ac4671 Made ieee80211_ratectl_tx_complete and ieee80211_ratectl_rate functions no op instead of not calling these functions in each wlan driver.
This should be iso functionality.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41375 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 07:46:25 +00:00
Alexander von Gluck IV
192781dd49 * use common accelerant code
* remove manual sDisplayMode and make use of mode_list_area via Axel's common accelerant code using vesa as example
* move mask enabled write32 function to accelerant with write32 calls
* move register offsets into mode.h headers
* rename DxMode* to CardMode*
* make adjustments and implement radeon hd mode setting further
* remove previously defined kStdModeTimings
* hardware mode setting still needs work


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 05:37:26 +00:00
Michael Lotz
290ac5f9b5 Basically revert r41365. Remove the get_pci_info() function of ACPI again as it
turns out to be flaky, is a little bit of a hack anyway and performs unnecessary
operations. The functionality is now handled kernel side which optimizes those
problems away.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-08 01:15:39 +00:00
Michael Lotz
5789be33af Add a way to look up basic PCI info for an ACPI device. It works for retrieving
the base bus number and segment which is what we're using them for. It should
work generically, however I only tested it to look up PCI bridge devices.
The logic is a subset of what is done in AcpiEvPciConfigRegionSetup when setting
up the operation region for a PCI device.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:50:46 +00:00
Michael Lotz
63cffb7ee3 Add a way to store a new interrupt_line value to the PCI module. It both updates
the cached pci_info and writes the new value into PCI config space. Drivers
using either mechanism to enumerate devices will therefore get the updated
value.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41364 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 16:40:32 +00:00
Michael Lotz
f8dac47aab Add a debugger command to refresh the cached pci_infos from PCI config space.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41363 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-07 15:49:13 +00:00
Alexander von Gluck IV
91235829b2 start a const list of common mode timings (mostly vesa); verify refresh rate is sane by calculating it using pixel clock and horizontal/vertical totals
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:50:05 +00:00
Alexander von Gluck IV
45aa6cb6a2 revert _currentMode back to the way it should be
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41352 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:19:01 +00:00
Axel Dörfler
10dfe8970c * Really, there is absolutely no need to pass the default argument to an
optional parameter...


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 20:03:15 +00:00
Alexander von Gluck IV
333bd77062 fix naming of static display mode var; make mode sanity check ensure timing settings are sane instead of less-then-useful positive int check; fix silly bug in tracing output (%d vs %s)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 19:22:39 +00:00
Alexander von Gluck IV
d1baedd428 simplify and enhance tracing; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41342 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 16:29:49 +00:00
Alexander von Gluck IV
b95e491de2 undid some of r41334, gDisplayMode didn't make sense as
a pointer (also as written would prob crash); use new mode sanity check on the provided static mode

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-06 05:06:11 +00:00
Alexander von Gluck IV
089bcdeab0 move mode related registers into header file
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41336 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:59:39 +00:00
Alexander von Gluck IV
71f51395d6 add header file ifndef guard
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:55:02 +00:00
Alexander von Gluck IV
d5c3acac3e added header file for mode.cpp; change gDisplayMode to pointer for now; add function to quickly perform sanity check on mode lines; enhance tracing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41334 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 22:52:17 +00:00
Alexander von Gluck IV
12c25669bf enhance tracing of the radeon_hd accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41326 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 19:25:18 +00:00
Fredrik Holmqvist
01de6adfba This opens up so many possiblities.
* ACPI module now has a get_possible_resources function.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41320 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-05 17:29:37 +00:00
Alexander von Gluck IV
042aefc4ea small bit of style cleanup; added additional checks to see if a battery was damaged or it is just an empty slot
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41319 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-05-04 23:12:25 +00:00
Rene Gollent
8a9d5e34fe Patch by Atis Elsts from GSoC 2010 that was overlooked.
- Adds IPv6 fragmentation support and some partial work to enable configuration of IPv6 in net_server. Not currently in the build.
 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 22:07:39 +00:00
Axel Dörfler
a0bc939256 * Correctly detect Enhanced CDs, and take their extra lead gap into account.
* This fixes bug #3025.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41290 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 19:28:02 +00:00
Alexander von Gluck IV
67f2df2363 add some R800 cards to known pci ids; implement basic known card type/model storage
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41289 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:57:22 +00:00
Axel Dörfler
3b8f747060 Applied cleaned up patch originally by Ziusudra as part of ticket #3473:
* Changed the session module to create an extra session for existing audio
  tracks.
* Let cdda also recognize "audio partitions" as published by the session module.
* If there is only a single session, the session module now gives file system
  drivers the chance to play with the device directly.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41288 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:27:12 +00:00
Axel Dörfler
f505da5e20 * Removed two superfluous newlines from debug output.
* Automatic whitespace cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41287 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-28 18:10:42 +00:00
Jérôme Duval
e5937bd21c * fixed typo
* when removing a transfer, if this was the only one in the list, we set fLastIsochronousTransfer to NULL.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-27 20:06:28 +00:00
Axel Dörfler
b21e41910b * Write the new Media:Length attribute instead of the old Audio:Length one.
* Use uint64 instead of off_t for the frame numbers.
* Shuffled Volume methods around to match the declaration order.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41282 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-26 17:15:20 +00:00
Clemens Zeidler
eb32094b24 Fix wrong debug output and disable it, might help with #7448.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@41272 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-04-22 06:53:40 +00:00