Commit Graph

983 Commits

Author SHA1 Message Date
Rudolf Cornelissen
19a34ea09c added disabling of spread spectrum-ing DAC clocks on NV30 and later: my laptop display nolonger shivers on the secondary output. version is 1.03. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32965 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 14:42:11 +00:00
Rudolf Cornelissen
f9eaa39dc1 oops. fixed singlehead DVI/laptop panel modes: pllsel needs to be set even if we don't program the pll itself. +alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32960 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 11:55:42 +00:00
Rudolf Cornelissen
148077d71e the previous commit shifted the PLLsel problem from digitally connected screens to analog connected screens apparantly. That is now fixed and both should work OK. Bumped version to 1.01. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32958 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-06 10:20:42 +00:00
Rudolf Cornelissen
faed7a30d4 fixed PLL selection trouble on GF6xxx and 7xxx cards with a little help from the nouveau project and a lot of testing. Now dualhead should work on most of these cards, and now you should nolonger be presented with a 'out of range' message on your DVI connected screen if the boot splash screen is at a lower-than-native resolution for your screen. This hopefully fixes bugs #1557, #2780, #2948 and #4321. Bumped version to 1.00. Yes. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-05 16:02:20 +00:00
Rudolf Cornelissen
be913753e7 added a bit of extra programming for NV44 and G7x making sure the DAC(s) is(are) enabled. Bumped version to 0.99. +alphabranch.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32933 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-09-04 18:19:10 +00:00
Rudolf Cornelissen
aca7132053 added support for ID 0x02e0 (Nvidia GeForce 7600 GT), closing bug #2465. +alphabranch./boot/home/rudolf/haiku-svn/trunk/src/add-ons/kernel/drivers/graphics/nvidia/ /boot/home/rudolf/haiku-svn/trunk/src/add-ons/accelerants/nvidia/
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32867 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-31 18:00:21 +00:00
Rudolf Cornelissen
fa42e59564 rewrote memory size detection. This should fix black screen at app_server startup on a number of GF7xxx cards (humdinger's for instance). updated docs, bumped version to 0.98.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32845 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-31 08:55:02 +00:00
Rudolf Cornelissen
3ab7752ce8 fixed use of EDID info for at least the internal panel on NV34, geforce FX 5200 laptops. +alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32840 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-30 19:54:25 +00:00
Rudolf Cornelissen
42529205ad added support for haiku specific driverhook GET_PREFERRED_DISPLAY_MODE. Now laptops and other systems where EDID fails but a screen is digitally connected should also come up in their native modes from first system boot on.Updated docs. Bumped version to 0.97. +alphabranch
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32765 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-27 20:26:31 +00:00
Rudolf Cornelissen
d44a7fae51 fixed a typo in dump_edid.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32631 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 16:07:33 +00:00
Rudolf Cornelissen
efe3fb34a0 implemented haiku-specific hook GET_EDID_INFO. Haiku's screen prefs panel now indicates the brand name of the screen and only offers fully compatible modes for a connected screen if I understand it correctly. Now working for digital connected screens.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32629 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 11:57:56 +00:00
Rudolf Cornelissen
9b53cf03cd implemented haiku-specific hook GET_ACCELERANT_DEVICE_INFO. Haiku's screen prefs panel now indicates the brand name of the screen and only offers fully compatible modes for a connected screen if I understand it correctly. Note: currently only working for analog connected screens, digital connected screens coming up next. Updated docs, bumped version to 0.96.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32627 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-23 08:48:58 +00:00
Michael Lotz
b5172954bb Better watch your bools in C code. In C99, the bool type of the argument to
send_bit() causes a type conversion from the value handed in to 0 or 1. This
clashed with the usage in send_byte(), that hands over a shifted byte. The
argument was converted to true when it had any value other than 0, whereas
before (where a bool simply was an int) it would have just handed over the value
directly. Therefore the logic in send_bit() that simply masked off the lowest
bit of the value would now not work anymore.
This fixes EDID failing on GCC4 and therefore fixes #2275, the last issue of
#4084 and may also affect #2780.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32593 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-22 01:03:10 +00:00
Rudolf Cornelissen
4caccc456d modified the 100kHz timing inside the DDC common accelerant code. If delays with values near the timer resolution are required, the values should always have one resolution step added since otherwise the minimum delay isn't quaranteed. the 400khz timing needs fixing as well I guess... This modification fixes at least ticket #4084 where a DDC monitor isn't detected otherwise.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 16:41:39 +00:00
Rudolf Cornelissen
f72c42f862 reverting part of the I2C delay between writing SCL and DAT since the hardware design does not suffer from the read-modify-write issue I thought it might be.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-20 16:33:33 +00:00
Rudolf Cornelissen
203116954e added small delay between outputting clock and data signals on I2C buses to prevent possible read-modify-write errors. hopefully fixes ticket #4084.. bumped driverversion to 0.95.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32478 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 19:24:54 +00:00
Axel Dörfler
bebab154d9 * Added a fake overlay support, allowing you to test overlay support in the
app_server without having a card that actually supports this.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32457 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-17 12:47:58 +00:00
Axel Dörfler
8f935c23a8 * Don't export the overlay hooks on hardware where the overlay reportedly does
not work yet. This fixes #4215 the easy way.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32372 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 16:03:30 +00:00
Axel Dörfler
8fb1f94f42 * Reverted accidental commit, fixes the build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 14:15:02 +00:00
Axel Dörfler
2384335649 * Changed the way the device type is tested/set. There shouldn't be any functional
changes.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32353 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 13:02:52 +00:00
Axel Dörfler
bb693d7764 * Added VESA capabilities field to the kernel args.
* The vesa driver no longer uses VGA programming if the chip does not support
  VGA compatibility.
* The VESA driver now tries to set the DAC to 8 bits per color gun.
* In VESA modes, the driver no longer tries to use VGA programming; introduced
  the new vesa_set_indexed_colors() that is now used for palette programming.
  This should fix wrong colors of 8 bit BWindowScreen users with VESA on real
  hardware (emulators usually didn't mind either way).
* Note that the app_server needs to maintain a palette per 8 bit screen, as
  right now, the colors are garbled after a workspace switch. Stefano, are you
  looking into that already?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-08-14 09:49:28 +00:00
Axel Dörfler
3bde1f121a * If the VESA accelerant has EDID information, it will now also pass it to
create_display_modes().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32020 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:07:19 +00:00
Axel Dörfler
7badc72cf1 * Missing EDID video modes are now added from the base mode list, resolving
a TODO.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32019 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:05:27 +00:00
Rudolf Cornelissen
3b5534fdd9 added 1366x768 mode support, modeline fetched and tested on packard bell viseo 190W monitor.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31748 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-25 11:50:28 +00:00
Rudolf Cornelissen
3dd8670617 sometimes it's hard to not make copy and paste errors. This fixes modes showing up in screenprefs for higher vertical resolutions than the screen can display.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-03 19:14:35 +00:00
Rudolf Cornelissen
dd92605394 and fix the PLL setting dumping code for extended PLL's. BIOS settings now make sense on extended PLL's. This fix does not change the drivers behaviour.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31362 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 20:18:15 +00:00
Rudolf Cornelissen
4bc3f15ce3 fixed digitally connected panel at crtc2 detection, stupid typo. This lead to the driver exporting and accepting zero modes if a panel was at crtc2. Result was a black screen. Error was introduced when updating for EDID use.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31361 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-01 19:54:23 +00:00
Rudolf Cornelissen
646357964f fixed panel detection for NV11, I accidentally broke that with a recent commit.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31341 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 18:35:32 +00:00
Rudolf Cornelissen
2cdfd70e42 small cleanup, no functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31340 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-30 18:12:23 +00:00
Rudolf Cornelissen
9e347ade99 now checking for max. resolution on analog screens as well as on digital screens. Resolutions above 'native' resolutions are nolonger accepted. Bumped version to 0.94, updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31292 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 15:22:31 +00:00
Rudolf Cornelissen
c8453f43a4 driver now sets up internal EDID info related to CRTCs next to earlier introcuded code for EDID info related to connectors which makes it much more useable later on. This commit also hopefully fixes the problem introduced in R31183 shutting off some screens in 'invalid' connector setups that the driver tries to correct.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31291 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-28 14:53:07 +00:00
Axel Dörfler
10f01c97ec * Make sure that the bytes per scanline is always a multiple of 64. This fixes
1680x1050 with 16 bit on i865+ (still need to check the restrictions of
  older chips).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31277 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-27 18:07:37 +00:00
Axel Dörfler
7f5bbbdc56 * Removed PI, and PI2 from math.h.
* Replaced all occurences with the standard macros M_PI, and M_PI_2.
* Some coding style cleanup on the touched files, no other changes besides
  adding a missing check for a failed memory allocation.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31250 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-26 11:58:43 +00:00
Rudolf Cornelissen
63e909772d added DDC/EDID widescreen detection for analog connected screens. Switched off the force widescreen option so autodetection is actually used. This should fix non-ws DVI connected screens displaying black screens or shutting off on non-native modes. Bumped version to 0.93.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31213 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-23 20:52:30 +00:00
Rudolf Cornelissen
4ae1f25b97 fixed typo in unused routine I think.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31185 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:52:15 +00:00
Rudolf Cornelissen
8f9bd6355d removed leftover, this file was not used.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31184 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:36:54 +00:00
Rudolf Cornelissen
8bdea4194a doing preparations for using analog widescreen detection. if all is right the driver's behaviour hasn't changed yet.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31183 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-22 20:33:17 +00:00
Rudolf Cornelissen
3ce78c81c4 added basic analog connected screens detection using EDID fetched info while keeping the old method (load detection) as fallback. This should improve the driver choosing the correct output connector for primary video on some cards.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31093 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-17 19:20:02 +00:00
Rudolf Cornelissen
ba18d798b9 obviously a card is always dualhead when it has two dacs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31062 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 18:35:40 +00:00
Rudolf Cornelissen
4bef539ea7 added pixelPLLs programming settings dump to driver logfile before overwriting it with new calculated settings.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@31061 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-15 18:29:46 +00:00
Axel Dörfler
bfd4c59b63 * Added DPMS support to the VESA driver, in case the hardware/BIOS supports it.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30974 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 13:03:05 +00:00
Rene Gollent
08acbdd994 Fix gcc4 build. Closes ticket #3996.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30973 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 12:33:22 +00:00
Rudolf Cornelissen
bc84e16481 comments update only: newly discovered PLL info/trouble. needs to be investigated more.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30971 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 09:10:40 +00:00
Rene Gollent
80829ec813 Imported Gerald Zajac's ATI Mach64 / Rage driver and removed the old GPL-only mach64 driver that wasn't even part of the image anyways. Thanks!
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-05 02:50:25 +00:00
Rudolf Cornelissen
7843b5bfa3 re-enabled EDID native modeline grabbing with I2C bus 2 enabled. Now EDID is correctly fetched on all my cards, including G72 id0x1d1 and NV43 id0x141. info is stored in shared_info, not actually used yet though. (wip)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30951 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-03 19:20:04 +00:00
Rudolf Cornelissen
c1db4db3cc modified I2C code to read the third bus on cards that can support it. Dumping EDID scanning results in logfile only for now (testing..) Bumped version to 0.92.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30946 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-02 20:37:59 +00:00
Rudolf Cornelissen
dd67a9b2d4 added enabling I2C buses for NV40 arch cards. hopefully this makes the buses work on GF6100 (noted in bug #2780) and maybe others. added a few registerdefines (wip).
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30938 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-06-01 20:06:21 +00:00
Rudolf Cornelissen
1f58723702 comments update only. There's now enough info to implement actual use of DDC/EDID (I hope). It will be mixed with the old methods, since on some cards DDC fails for some connectors, and laptops don't use DDC for their internal panels at all.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-28 20:33:02 +00:00
Rudolf Cornelissen
f595427d00 fixed comment typos. No actual change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30881 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 18:57:01 +00:00
Rudolf Cornelissen
21bade017a added more EDID stuff. Now extracting needed monitor specs and placing them in shared_info. More dumping to logfile added. The EDID info is not yet actually used: more testing is needed.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30880 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-27 18:46:07 +00:00
Rudolf Cornelissen
aeb4bf93d4 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30867 a95241bf-73f2-0310-859d-f6bbb57e9c96 2009-05-26 18:34:05 +00:00
Rudolf Cornelissen
fa0fea5f25 fixed acceleration engine crashes on at least G72 cards by powering up a new part of the engine. This fixes acc on Geforce 7300/7400/7500 cards, and closes tickets #927, #1535 and #3482. In order to test this you need to go back to Haiku R30277 at least since app_server nolonger uses acceleration. Acceleration code was synced to Xfree86 4.8.0. and no chances were found. Bumped version to 0.90, updated docs.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30783 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-17 20:37:20 +00:00
Axel Dörfler
48cf5b5ef6 * Replaced remaining 'x' with '@' before the refresh rate, thanks Urias for
reporting.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30626 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 18:46:31 +00:00
Axel Dörfler
edf7d67773 * Applied patch by Fredrik Holmqvist: improved EDID dump output.
* This closes ticket #3809.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-04 09:03:19 +00:00
Rudolf Cornelissen
e9caec2c66 added Andrea's card 01d7: G72M [Quadro NVS 110M/GeForce Go 7300]
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30598 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-03 07:40:22 +00:00
Rudolf Cornelissen
404077189c EDID test: only check on wired buses.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 10:15:30 +00:00
Rudolf Cornelissen
bb0ac35825 added partial DDC/EDID support using the accelerants common staticlibrary. Only dumping config, monitor info to logfile. logfiles are welcome as the CRTC/DAC to I2Cport relationchip is not known by me yet. Bumped version to 0.89.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-02 09:58:11 +00:00
Rudolf Cornelissen
ce6115a180 added support for all HDTV modes video overlay for all GeForce cards that have overlay support. TNT1/2/2-M64 users remain in bitmap mode: the overlay engine there can't handle above DVD quality. Bumped version to 0.88.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 15:05:43 +00:00
Rudolf Cornelissen
a6cde944e6 fixed (at least NV34) card hanging after failed boot-time kernel VESA modeswitch. Updated docs. Bumped version to 0.87.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30531 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-05-01 10:09:22 +00:00
Rudolf Cornelissen
6042b7b665 added 'block_acc' option in nvidia.settings to completely disable the acceleration engine. This lets my G72 run (not crash) for the first time when enabled. Note: Haiku becomes very slow in drawing in 32bit mode when the driver is running this way compared to vesa mode. I am assuming this is because of (too) fine-grained calling of the engine management functions. Never saw this effect AFAIK in BeOS.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29381 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-03-02 19:55:03 +00:00
Philippe Houdoin
28eeacfd7f Ooops, cursor base address register should be the last written, as it's the trigger register.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28980 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-21 22:20:03 +00:00
Philippe Houdoin
9d2810262f Specify both cursor width and height.
BTW, changing cursor shape when he's invisible will show it immediatly
right now. Sounds like wrong... 


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28978 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-21 20:22:29 +00:00
Axel Dörfler
258ca3186e * Another try for ticket #2791, this time using the modeline proposed by
tigerdog; let's see how many complaints we get this time :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28913 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-15 22:23:20 +00:00
Axel Dörfler
89a5132e8d * Fixed typo.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28912 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-01-15 22:16:31 +00:00
Axel Dörfler
8fcbae95c7 Applied patch by Gerald Zajac:
* Fix for a problem of the ProSavage chip when VESA ran 32 bit before.
* Better error codes in SetDisplayMode().


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28816 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-12-18 21:01:18 +00:00
Stephan Aßmus
3f2f8b4c9a Fix some char/line limit and naming problems. No functional change.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@28085 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-14 13:25:14 +00:00
Axel Dörfler
c1379d357b Update for the S3 driver by Gerald:
* The hardware cursor is now disabled at 640x480 with a Virge VX (before it
  was just invisible).
* EDID info can now be read for all S3 chips.
* For the Savage IX, Savage MX, and SuperSavage chips the display is no 
  longer expanded to fill a laptop LCD display when the mode resolution is 
  less than the size of LCD display.
* Savage IX, Savage MX, and SuperSavage chips will now display mode 
  1400x1050 on a 1400x1050 laptop LCD display.  Previously the display was 
  blank at that resolution. 
* Previously about half the Savage chips would not draw properly at 
  1400x1050.  That is, the image was badly skewed and unusable.  All of 
  them now draw properly at 1400x1050.
* Some code was reorganized to remove unnecessary and redundant code.  


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27863 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-10-04 08:09:40 +00:00
Michael Lotz
7b7464670e OK, how completely can one mess up a single change? Fixed the intel_extreme
accelerant I broke.

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 21:20:14 +00:00
Michael Lotz
2f464b193f Fix the build of the intel_extreme.accelerant, I obviously compiled the wrong
target when I checked it. Move the target display_mode declaration back above
the check but remove the dereferencing assignment. If proposing the display
mode succeeds it also initializes target. Thanks luroh for noticing.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27492 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 18:42:03 +00:00
Michael Lotz
6b9d141359 CID 1039: Dereference mode only after checking it for NULL.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@27489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-09-13 18:00:47 +00:00
Axel Dörfler
7956689223 * Removed the extraneous 640x480 modes as pointed out by Gerald.
* Disabled "timing.sync != 3" check that potentially ignores modes that we might
  want to have. We could also add the mode by resolution in that case, and
  ignore the timing info completely. There should be an open bug about this,
  but I couldn't find it.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26762 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-08-03 18:00:20 +00:00
Stephan Aßmus
167caf601e When switching ports, the code forgot to also switch the detected flatpanel
parameters. This caused ticket #1732 for me. At another place in the code,
the native resolution is added to the supported mode list and there it is
hardcoded to the first flatpanel info.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26540 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:25:33 +00:00
Stephan Aßmus
d0dc969483 Added two resolutions for certain wide screen TVs that have VGA or DVI inputs.
Either of the two should work when the native resolution is 1368x768.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@26539 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-07-21 12:16:42 +00:00
Rudolf Cornelissen
f433117839 removed all pre-NV40refs, removed all overlay code (no info on the current engine known). Driver cleanup mostly done now I hope.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25999 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-17 19:16:40 +00:00
Axel Dörfler
2d5f339dec Patch by Christopher Plymire, style-reworked by myself:
* first steps of supporting LVDS panels.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25975 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-16 18:01:34 +00:00
Rudolf Cornelissen
fab07df0fb test commit
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25962 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-15 12:39:39 +00:00
Rudolf Cornelissen
730ebb158c removed all pre-NV20 refs, removed all TVout stuff except clearing some flags, re-enabled force_ws option, force_ws is now default true, pgm_panel is now default false.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25929 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-11 18:14:15 +00:00
Rudolf Cornelissen
6fafa6bf00 removed PIO mode acceleration completely.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25907 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 17:56:12 +00:00
Rudolf Cornelissen
69ca210263 removed all references to G80 and newer cards. Bumped version to 0.85
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25903 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 11:10:01 +00:00
Rudolf Cornelissen
5ee68405ad added verified support for Nvidia GeForce 6150 Go (NFORCE4 Integr.GPU) on behalf of Dustin Howett. Thanks for your work on this.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25901 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 10:44:10 +00:00
Rudolf Cornelissen
109f1e1cb8 re-enabled force-WS option, but changed default to being true. Also modified default setting for program panel to being false since this may provide a higher chance for a working panel outthere. If people experience trouble please let me know.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25899 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-10 10:38:50 +00:00
Rudolf Cornelissen
179645d635 removed nv_agp.c
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25877 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 15:25:03 +00:00
Rudolf Cornelissen
dcdc3ec9ed copied nvidia driver over to nvidia_gpgpu driver. Does nothing but compile. I hope to be fidding around with a EN8500GT soon. If for some reason I shouldn't be creating these folders, feel free to remove it again, and let me know :)
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25873 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-09 14:37:03 +00:00
Rene Gollent
4284d925c6 Build fix.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25817 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-06 05:27:01 +00:00
Axel Dörfler
0db852e1bf Fixed copy and paste error.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25788 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 16:00:09 +00:00
Axel Dörfler
d16ddc579c * The boot loader now passes on its EDID info to the kernel, and that will
be put into a boot_item in frame_buffer_console_init().
* The VESA driver now supports gettings the EDID information as well; this
  is necessary now, since the app_server no longer takes over the mode the
  boot loader had chosen.
* Note, we might want to do this via vm86 instead in the future, and remove
  the kernel part again.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25786 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-03 15:17:59 +00:00
Rene Gollent
7ee180f34d Fix I2C tracing, style cleanups.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25749 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-06-01 16:16:10 +00:00
Axel Dörfler
9f16184577 Patch by Jan Klötzke with minor changes by myself:
* Use vm86 mode to call the VESA BIOS to do the actual mode switching by
  providing an ioctl in the vesa driver.
* Fix vm86.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25680 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-28 10:48:01 +00:00
François Revol
fe8f40adef Fix gcc4 build.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25599 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-21 22:48:29 +00:00
Axel Dörfler
35db13ea5a * Replaced the old s3savage driver with the new s3 driver, both written by
Gerald Zajac. Thanks a lot!
* Also put it on the image by default.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-20 21:09:49 +00:00
Axel Dörfler
bcd14b4955 Rudolf's accelerant skeleton is not really meant to be built.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@25346 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-05-07 12:14:49 +00:00
Axel Dörfler
c54a6536d6 Committed patch by Gerald Zajac, thanks!:
* Enabled testing the checksum of the EDID info.
* Added a version check of the EDID info.
* Added more debug output.
* In the ModeList class, changes were made to how the refresh rate is 
  computed and used.  Previously, some of the basic VESA modes were not 
  added to the mode list because the computed and specified refresh rates 
  did not exactly match.  Now if the computed refresh rate is within 1.2% 
  of the specified rate, the mode is added.  With this change, all basic 
  VESA modes selected by the EDID info are now added to the mode list.
* The "additional video modes" shown in the EDID dump are now added to 
  the mode list.  Previously, this mode data was setup but not added to 
  the mode list.  Code was also added here to set the vertical & 
  horizontal sync polarity according the EDID info.  The sync polarities 
  are set according to a VESA document that I have.
* Fixed copy_str() warning, broken removal of trailing spaces, and null
  termination.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24959 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-04-13 10:58:30 +00:00
Axel Dörfler
6328832fba * Changed get_boot_item() API: it now also can retrieve the size of the boot
item entry.
* The bios_ia32 video platform code now stores the available VESA modes in
  the new vesa_modes kernel_args field.
* When configuring a VESA mode via settings file, it's no longer needed to
  specify the exact mode - the closest available mode is now used. This should
  help with bug #1962.
* frame_buffer_console_init() now also creates a boot_item for the VESA modes
  in the kernel_args.
* The VESA accelerant now filters the mode list to only contain modes that
  are actually supported.
* Moved non-shared vesa driver data into its own file vesa_private.h.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24675 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-30 11:01:41 +00:00
Axel Dörfler
f54507d748 Applied patch by Gerald Zajac:
* Adds mode 1152x864 @60 Hz
* Adds mode 1400x1050 @75 Hz
* Adds a blank line between each of the different resolutions to make
  the list more readable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24638 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-29 11:41:55 +00:00
Axel Dörfler
094a5fb22f * Effectively disabled the force_ws option: wide screen resolutions are pretty common
these days, so having a not so crowded resolution menu is not really a good argument
  for making the driver unusable for the majority of potential users.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24241 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-05 14:43:46 +00:00
Axel Dörfler
6c39860087 * Added 1280x800x60, thanks Michael!
* Also added 800x480x60.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24209 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-02 21:22:57 +00:00
Axel Dörfler
002e8b64ae * Now completely initializes the current_mode if it's in the mode list.
* The mode list is now created by the common mode list creation code.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24190 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 17:27:20 +00:00
Axel Dörfler
4165dff999 Added modes for 1270x720 and 1400x1050 to the generic mode list.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@24189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-03-01 17:23:40 +00:00
Axel Dörfler
78fa3affbc * Overlay on the G33 does not work anymore in the secondary ring buffer;
we now always only use the primary ring buffer.
* Removed secondary ring buffer allocation and member fields.
* Increased size of the primary ring buffer to 65536 bytes.
* The bytes per row register is computed differently for 9xx chips.
* On G33, the overlay does not need a physical address anymore, so we
  don't pass B_APERTURE_NEED_PHYSICAL to the allocation anymore for that
  device.
* intel_free_memory() accidently added the aperture base to the allocation
  and would therefore never free any memory.
* INTEL_RING_BUFFER_SIZE_MASK was shifted one bit to the right, didn't
  cause any harm with our buffer sizes, yet, though.
* With these changes, the driver runs stable on a G33 chipset (I have not
  yet tested the hardware cursor, though, it might need some work, too).
  The only known issue left is that overlay flickers a bit if its buffer
  is partially backed up by reserved and allocated memory.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23798 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-31 18:28:48 +00:00
Axel Dörfler
1c34b9b1f5 Work in progress (might not work for you yet):
* Now uses the AGP GART module for memory management. This greatly simplifies
  the memory handling, and memory is now actually allocated on demand,
  instead of a fixed size (stolen memory is not freed, though).
* The Intel GART module should now also work with older chipsets.
* No longer remove the GTT size from the stolen memory; this appears to have
  been a mistake in the X driver. Not sure about the BIOS popup yet.
* The AGP module (in combination with the Intel GART module) is now mandatory
  to use the Intel driver.
* Removed now superfluous settings (like memory size). Only enabling/disabling
  the hardware cursor is still supported.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23781 a95241bf-73f2-0310-859d-f6bbb57e9c96
2008-01-29 08:55:36 +00:00