Commit Graph
2733 Commits
Author SHA1 Message Date
Nathan Whitehorn 0a60ca24de Fixed a hang on boot problem with bus manager initialization. Apparently the BeOS kernel doesn't seem to like using spinlocks as the ver first thing in the boot process, so I rolled my own. Everything is now working consistently.
I also fixed my power button, so I don't need to test acpi_button by shorting motherboard contacts with a screwdriver...


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 02:40:06 +00:00
Nathan Whitehorn a28a2204fb Made acpi_button clear the button status register, if not properly, at least in a way that works.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11464 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-24 02:12:42 +00:00
Nathan Whitehorn 20a7c7863d Fixed a crashing bug in GPE interrupt handlers, and cleaned up the error reporting code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-23 20:38:24 +00:00
Nathan Whitehorn 91fbc56d75 Reworked ACPI button routines to make them more flexible, and remove the need for the power management daemon to care about ACPI in particular.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-23 20:36:33 +00:00
Nathan Whitehorn 94e3125a61 Fixed a stupid bug in setting registers
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-23 05:57:16 +00:00
Nathan Whitehorn 3a3a6bb0a7 Added an ACPI power and sleep button driver, similar in purpose to the one on BeBits. Will be used by a power management daemon that is not yet in CVS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-23 04:26:23 +00:00
Rudolf Cornelissen 860d572c2e finalized documentation for driver release (as V0.41). All my cards confirmed OK and very fast compared to 'the old days'.
It's confirmed BTW that GeForce PCIe/AGP 6600GT is working OK (tested on 3 cards), and also GeForce AGP 6800GT is OK (one card tested).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 20:52:21 +00:00
Nathan Whitehorn baf98f1cd8 The ACPI bus manager backend is now fully operational, tested on a Tyan Tiger i7505. Next up: adding useful operations to the public interface, and writing drivers for ACPI hardware.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11445 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 02:34:01 +00:00
Nathan Whitehorn fe5117f99d AML table parsing and discovery now works. AcpiEnableSubsystem() is still hangin
g my machine hard, probably due to it mucking with the PCI controller way after
boot. I'm going to try inserting it earlier in the boot process. Also added bett
er debugging tracers, and removed the kernel_debugger() trace calls.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11444 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-22 02:06:13 +00:00
Nathan Whitehorn ddbd7b91b5 ACPI Bus Manager module, derived from Intel's ACPI CA. Has some very rough edges and the bus manager interface is currently incomplete.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11443 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 20:29:17 +00:00
Michael Pfeiffer 5fc71589cf Implemented RLE compression
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11441 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 17:45:24 +00:00
Michael Pfeiffer e2bfe39dea Unrolled most inner loop of ColorRasterizer::MergePlaneBuffersToCurrentLine to gain a total speed up of about 5 percent.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11440 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 17:43:59 +00:00
Michael Pfeiffer b2086ea837 Removed debugging code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11439 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 17:39:33 +00:00
Michael Pfeiffer 367817c939 Added function pack_bits_size().
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11438 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 17:34:21 +00:00
Michael Pfeiffer 5d4b78560b Rewrote get_valid_rect because it contained bugs.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11437 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 17:33:16 +00:00
Rudolf Cornelissen 4879571b0d doc update. Version is now 0.41.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11434 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 16:24:41 +00:00
Rudolf Cornelissen 7540371dbb the DMA acc sub-cmd-lists are now issued to a single engine command (except for blit because it's hardware can't do that), instead of to multiple issued engine commands. (one could say 'parallel processing' but that's not the case: it remains serial: it's just faster).
DMA acceleration speed is up another 10% for rect and span commands.
commencing more testing now: code is complete (I hope).


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11433 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 16:20:40 +00:00
Rudolf Cornelissen dffca5825b doc update, version is now 0.40.
(still one more speed update to do before testing and release :)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11432 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 14:36:51 +00:00
Rudolf Cornelissen d0ef756a52 optimized DMA acc code more by splitting up command lists into sublists before issuing them to the engine. this further improves speed with upto about 70 percent, for a total of about doubling the speed by pure software optimation.
Note: code is now working the same as Thomas's ATI driver: he minimized calls in the same ways. (Curious how a benchmark contest would hold up now.. ;-)


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11431 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 14:34:09 +00:00
Rudolf Cornelissen 361b304a02 ... on slow CPU's it's also upto 15% gain apparantly.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11429 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 13:15:42 +00:00
Rudolf Cornelissen 0702e3f652 (doc update..)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11428 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 13:02:05 +00:00
Rudolf Cornelissen 1554e5cb4c applied DMA mode speed optimations 'step 1.5': incorporated all top-level acceleration functions inside the engine's code so minimal nested calls are made. Confirmed further speedup of about 15% on fast CPU's...
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11427 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-21 13:00:14 +00:00
Rudolf Cornelissen 9e7390ba4a bumped version to 0.38.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11423 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 17:42:58 +00:00
Rudolf Cornelissen 18dfc8a2b0 optimizing DMA acc for speed ('step 1'). Also simplifies code.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11422 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 17:40:56 +00:00
Rudolf Cornelissen 27fe7559f1 updated doc once more.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 12:57:54 +00:00
Rudolf Cornelissen 10988528d1 added fix (not yet completely tested) for NV40/NV45 artifacts on heavy acc engine use. Bumped driverversion to 0.37.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11419 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 12:50:09 +00:00
Rudolf Cornelissen cb49723124 added one (still disabled) register for framebuffer config(?) on NV40/NV45 (in test)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11417 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-19 09:54:56 +00:00
Rudolf Cornelissen 93ae86bf61 replaced some occurances of BeOS with Haiku :-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-18 20:48:09 +00:00
Rudolf Cornelissen 813524fb5a updated driver documentation.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11415 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-18 20:40:26 +00:00
Jérôme Duval 8ac049a845 Wacom devices are now not handled, uses devices preferences devices list
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-18 20:29:19 +00:00
Rudolf Cornelissen 29e629c82e shutdown panel DPMS for laptops: I don't like the looks of that!. Confirmed DPMS working OK for all DVI panels though.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11406 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-17 16:51:35 +00:00
Rudolf Cornelissen 6072aa9f44 fixed PLL locking trouble on NV36 (confirmed) and problably more cards (NV31, NV40 and higher): those with extended PLL's.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11404 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-17 13:47:54 +00:00
Rudolf Cornelissen ecaef637fa added preliminary DPMS support for all panels (still in test)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11401 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-17 13:34:13 +00:00
Rudolf Cornelissen 4157b3aeec -added the NV40 arch screen connections limitations to the doc;
-added a fixme comment in the kerneldriver: it seems we must try to map cardBIOSes to memory ourselves if possible after all (should be PCI config manager work I'd say): encountered two systems now that don't have that done (by BIOS I guess). A old PCI-only system (Pentium200), and a brand new PCIe system: Both PCI and PCIe cardBIOSes don't get mapped here which prevents us from using coldstarts on secondary cards :-/


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11400 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-17 11:53:25 +00:00
Rudolf Cornelissen 36ad4411a8 added some comments about NV40 architecture. We have several new unknown factors:
- DAC2 always detects a analog screen connected;
- it seems like there are at least two new registers we don't know about. One extra switch to place output on connectors, and one (extra) switch for pixelclock PLL to CRTC connections (one PLL drives both CRTC's in some cases, pre-programmed by the card BIOS determined on the screen configuration found at power-up.
- in a known register (TSTCTRL) b20 blocks/moves output on connectors (?).
All confirmed on NV43, GeForce PCIe 6600GT.

Driver status:
- one DVI monitor connected is OK;
- one analog screen connected on the DB15 connector is OK,
- two analog screens connected is OK and can be used for dualhead.
other combinations don't work well or at all. This is the status confirmed on
the NV43. Assuming same for other cards of NV40 architecture.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11399 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-17 11:39:07 +00:00
Axel Dörfler be6b98a967 Since the mode commands are ignored anyway, we're now also accepting a "?"
starting parameter (or better, we silently ignore it) that's used for
private DEC modes. Vim uses those for whatever reason.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11395 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-16 21:56:14 +00:00
Jérôme Duval 7c49936aa6 Simplified pci bus manager Jamfiles
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11384 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-15 22:27:58 +00:00
Axel Dörfler 1ceb0f4da3 Added the new console driver to the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11376 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-15 00:22:07 +00:00
Axel Dörfler 4cf2fd241c The vga_text module is now part of the build.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11374 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-15 00:10:15 +00:00
Axel Dörfler d156256cd6 console_module_info::clear() now honors the "attr" argument. Minor cleanup.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11373 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-15 00:02:15 +00:00
Axel Dörfler 4efb3cc0f4 Now also support reading in cursor images (.CUR files seem to have the same
format as .ICO files). Now ignores the alpha channel mask if it couldn't be
read completely instead of not being able to read the image at all.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11369 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-14 15:09:46 +00:00
Rudolf Cornelissen 11058c2f96 fixed cursor visibility update on show/hide_cursor commands for secondary head on NV40 architecture (hardware bug workaround). Confirmed Dualhead up and working correctly with two analog connected screens on PCIe 6600 GT.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-14 14:16:50 +00:00
Rudolf Cornelissen de0194f56b updated docs (working cards, DMA mode info).
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11365 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-13 17:54:11 +00:00
Rudolf Cornelissen 5857e1d66b added a few ID comments ('sync' to Xorg 6.8.2)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-13 11:56:27 +00:00
Rudolf Cornelissen 3a1749827c added a few ID comments ('sync' to Xorg6.8.2)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-13 11:55:11 +00:00
Rudolf Cornelissen 2e73688338 blocking exporting overlay hooks on NV40 architecture cards that are not NV40 or NV45: these newer NV40 architecture cards have a new bes, but we don't know how to set it up yet. :-/
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11355 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 13:26:57 +00:00
Rudolf Cornelissen 9b501a81b3 added some more PIO mode acceleration programming for NV40 and higher. This remains non-functional: aborting dev on this for now. Notes about the problem are in the code. For now I guess no-one cares about PIO mode nomore anyway... ;-)
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11354 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 13:06:46 +00:00
Axel Dörfler c48c2a976f Ported over the vga text console module from NewOS.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11349 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 03:40:03 +00:00
Axel Dörfler 825474c914 Ported over the console driver from NewOS - this one is a bit more capable
than our currently built-in one (colors and stuff). It won't be needed
later on for the distribution, though.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11348 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-12 03:25:03 +00:00
Axel Dörfler 9cbe0af410 Identify() returned wrong MIME type.
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@11335 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-02-11 04:35:44 +00:00