#
a2b448a0 |
|
28-Dec-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
intel_extreme: Mark IvyBridge as having a PCH * Modesetting now works on IvyBridge * Preferred mode needs work though as my chipset defaults to 1024x768 vs 1366x768
|
#
660ca29e |
|
26-Dec-2012 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
intel_extreme: Add IvyBridge PCIID's * This needs testing and likely some IvyBridge fixups
|
#
4254fc37 |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix wrong register values introduced in r42870. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f75663c |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the interrupt register block. These aren't actually identitiy mapped (they are actually reversed), so introduce a find_reg() inline function to map such regs individually instead. Should fix interrupt storms on SandyBridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42870 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0cb09ba |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Add a couple more SandyBridge IDs. They might work, but I can't test them. * Also add the definitions and some specifics for IronLake (ILK), but keep the IDs disabled as at least the one version I can test with doesn't work yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e2e0d8d |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Make some more SandyBridge specifics into Platform Control Hub (PCH) specifics. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c788baed |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Style cleanups only, no functional change. * Make the pointer style consistent accross all components, which should make it easier when working all over the place. * 80 char limits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d004e3e |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix register definition for image size registers. They are in the north pipe control block. Doesn't matter on (G)MCH (they are the same register block tehre) but fixes mode setting on PCH again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42862 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f0468be3 |
|
15-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Rework how registers are accessed. Most registers are now grouped into register blocks and we encode their block into the register definition. On register access these blocks are then translated into the final address. * Set up the register blocks for (G)MCH and PCH variants. * Remove most SandyBridge code that was actually PCH specific and is now taken care of automatically. * This will temporarily break SandyBridge support again until the right transcoders are actually programmed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42857 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
16cc5977 |
|
15-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Attempt at panel control for SandyBridge, still disabled though as it doesn't work yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42856 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4f4ac92 |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Group the PCH registers logically. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bff57edf |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Add indexed color mode support for SandyBridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
395d16a9 |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Some more SandyBridge specifics to get V-blank interrupts going. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42850 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
951b5e51 |
|
13-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
More SandyBridge specifics: Use the proper registers for display detection and DPMS. Still needs to be reworked... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e436a27e |
|
13-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Add preliminary support for one SandyBridge mobile integrated graphics device (the one in my new ThinkPad X1). The PLL is still off a bit so it has a few blurry stripes, but EDID and mode setting basically works. * Starting with IronLake the north/south bridge or (G)MCH/ICH setup was moved into a platform control hub (PCH) which means that many registers previously located in the GMCH are now in the PCH and have a new address. * I'm committing this mostly because this way the additions are more easy to follow. It is a bit messy and I'll clean it up more and possibly make it a bit more generic. Also most of these changes actually apply to IronLake and up and aren't SandyBridge specific, so a few of those additions will still get a broader scope and new chips will be added. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f4ab8df |
|
06-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
Comparing with i915 DRM: * add a INTEL_TYPE_915M type to be used by 0x2592 (mobile version) * 0x2e32 is actually non mobile, added its brothers 0x2e02, 0x2e12, 0x2e22, 0x2e42, 0x2e92 * 0x27a2 is actually mobile. * added 0x2972, 0x2982, 0x2992 for INTEL_TYPE_965 type, and 0x2a12 for INTEL_TYPE_965M. * added corresponding entries in intel_gart. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2f4d9fdb |
|
29-Jan-2011 |
Brecht Machiels <brecht@mos6581.org> |
* added support for the Atom IGD, based on the X driver sources (fixes #6202) * fixes G4x PLL limits git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40319 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8e3ab4f |
|
26-Nov-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Enable the VBlank interrupt on pipe B for LVDS panels. This gets it working for me. Most stuff using BDirectWindowand synced drawing should now work better (\n and TVBack demos for example) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
124a502a |
|
25-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Always set the LVDS panel to its native mode, except for the 'display' part. This allows to use lower resolution screen modes with black border. Added a set of TODOs : * The smaller scren is not centered, but aligned top-left * The base resolution used is the one reported from edid 1.1, because I'm still not sure how to parse EDID 1.2. This resolution is too small on my laptop, but it works. Also added two ways of setting 8-to-6 dithering for 18-bit LVDS panel. No visible result for me, unfortunately. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdfd124b |
|
06-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Now phys_addr_t should be used where needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37028 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b20f2e4 |
|
28-Oct-2009 |
Brecht Machiels <brecht@mos6581.org> |
forgot to add this file in r33815 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33821 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dfdfbd3e |
|
23-Oct-2009 |
Brecht Machiels <brecht@mos6581.org> |
* added support for GM45 (might work for other chips in the G4 series) * added header for dealing with binary numbers and bitmasks (C++ templates) these "macro's" might not work well for long words, though git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33749 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
795bd7a6 |
|
18-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* The save_lvds_mode() function did not correctly support the i965 chipset - I've now removed that code, and factored out a retrieve_current_mode() function that can work on head A and B. * This fixes Adrien's flickering problem on his laptop - I can't find the bug ticket, though. Hopefully it does not break other laptop chips. Testing would be welcome, as I don't have any other machine here. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33633 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
23843356 |
|
14-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* 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
|
#
2d5f339d |
|
16-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
78fa3aff |
|
31-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* 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
|
#
1c34b9b1 |
|
29-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
d75c8820 |
|
26-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Simplified usage of the INTEL_TYPE_xxx constants. * Added some defines needed when playing with the bridge controller. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4dfa9e42 |
|
23-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Some work in progress: * set_gtt_entry() used the wrong index to fill the GTT - this could have never worked correctly when you specified more memory than the amount of stolen memory. * Implementing maintaining resources for emulating overlay using the 3D engine on i965. I don't yet commit the actual overlay code, as that is a) ugly, and b) does not work yet. * Moved AreaKeeper into its own header. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23709 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88e5e41 |
|
02-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT. * Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the driver working with these chips at all. * The memory used by the driver now take the GTT area into account - before the GTT could be overwritten theoretically... * Added fix for some i965 quirks from the X driver. * Added some overlay definitions for the i965. * Started support for G33 overlay (not complete yet). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23220 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8818c505 |
|
13-Dec-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Made QueueCommands::Write() and MakeSpace() public. * Implemented MakeSpace() (not yet tested). * Changed intel_wait_engine_idle() to spin() between reads and to timeout after 1 second of waiting (could probably be done way earlier). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23120 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61291964 |
|
31-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The intel_extreme driver now finally works with the i965 chipset; acceleration works fine, but overlay doesn't - that's next on my list. Turns out the i965 differentiates between RGB-32 and RGB-32-alpha, and didn't like trying to use the latter as display mode (the i865 didn't care at all)... finding that took me *way* too long, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7e32550 |
|
16-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Allocating additional memory should now work on the i965 as well (but bad things will happen on earlier i9xx chips for now...). Not yet tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cbd40810 |
|
24-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed PLL timing computation for the i9xx chips - I mixed post2 min/max values, and did not take the VCO limits into account; both could (and would during testing) create invalid frequencies. * Also reverted the order in which the PLL divisors are traversed to match the order of what is used in the X driver to create comparable output (our error computation is based on float, though, and should therefore create more accurate values). * The i965 introduced a special register for the surface; the former display base register is now only used for the view offset. Instead of setting the base manually here and there, there is now a set_frame_buffer_base() function. * The DPMS code will now also turn off/on the PLL clock generator. * The code needs some more cleanup, and while the driver now produces the correct timing on my i965 system, I'm now greeted by a black screen after startup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22289 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
523a30f3 |
|
21-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented I2C support to get the DDC EDID info from the monitor - it's working as is, but nothing is done with the data yet (besides dumping them to the serial output). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22272 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c85ed21 |
|
19-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Forgot to commit the header... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22255 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7aced0c7 |
|
04-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The second open will now fail, too, in case the hardware could not be initialized correctly. * Got rid of this superfluous cookie stuff - either the VFS behaves correctly, or we're screwed anyway. * Made adding debugger commands optional depending on if DEBUG_COMMANDS is defined or not. * Minor other cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21322 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bac9ea1 |
|
04-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Work in progress to support the i965 chipset as well; still works on i865, but doesn't work on i965 yet. * B_GET_DISPLAY_MODE now returns the mode actually configured in the chip instead of the last mode set; while this isn't really necessary, it allows to check what mode was used during startup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21321 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ef31db0 |
|
27-Jul-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Obviously, the i9xx family has changed the order of the PCI mappings, so we need to take that into account. * Introduced INTEL_TYPE_FAMILY_MASK and INTEL_TYPE_GROUP_MASK to better differentiate the device type. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c5f5d834 |
|
23-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* B_MOVE_DISPLAY and B_SET_INDEXED_COLORS should now work for the digital output as well. * Obviously got the register for INTEL_DISPLAY_B_DIGITAL_PORT wrong - it's not 0x61000 but 0x61140, maybe that can explain the fun we had at BeGeistert :) * Renamed the analog display registers to better fit the digital ones, ie. replaced DISPLAY with DISPLAY_A - although this might be not really correct as it seems that the pipes can be selected arbitrarily. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0902420 |
|
23-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Some work to support output on the digital interface like laptop panels. Need to clean this up, though. It even sort of worked on tic's IBM X40 on BeGeistert - if you weren't irritated by the fact some parts of the screen were just black, that is :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17565 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7902c46c |
|
17-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Added i830 as supported chipset - doesn't work perfectly, though. But Kyan reports that at least 8 bit modes seems to work (but overlay only partially) * Added "hardware_cursor" option to the settings file - when set to "false", you should have a cursor in the second output now as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17498 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
112db6b6 |
|
15-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now disables the VGA display mode explicetly, which allows it to work without having a VESA mode set first (thanks to Stephan for noticing this). * intel_set_display_mode() now calls intel_propose_display_mode() to make sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still not working correctly (which will cause problems for BWindowScreen and friends). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
973d499e |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the accelerant safer to use when cloned (though I didn't test cloning yet); introduced a lock that is used in B_SET_DISPLAY_MODE etc. * Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock the engine now). * The lock of the ring buffers is now deleted when the (primary) accelerant is closed. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17453 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4955c11b |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the intel_info structure and prototypes from intel_extreme.cpp from the shared headers into intel_extreme_private.h. * Removed non-memory-mapped definitions from driver.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17452 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7d5957df |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented hardware cursor support. * Turns out cursor handling is simpler as originally thought, so I could remove its physical mapping - it's still put into the shared area, though, although that isn't needed for this chip (but could eventually simplify the handling of other generations of this chip). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17450 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
63dbc0a8 |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Accidently overwrote info.registers which let all subsequent register writes (in the kernel driver) fail - or crash the system. * Waiting for VBLANK now works as expected - you actually have to *set* the bit to clear it, isn't that obvious? :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af5259c |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented vblank interrupt and support for the retrace semaphore - not yet tested, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17439 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb666bc |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Prepared having hardware cursor support; got quite complicated because there is no good (or reliable) way to retrieve the physical address of "stolen" (by the BIOS) graphics memory. * Implemented allocation of additional graphics memory in case the BIOS was a bit too cheap. We now guarantee 8 MB of memory available to the graphics chip - would be nicer to only allocate that on demand, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d906e6a0 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented B_FILL_SPAN - I am not sure if it's used at all, though, so I am also not sure if it's working correctly. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17425 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
efeb7726 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Say hello to B_FILL_RECTANGLE and B_INVERT_RECTANGLE - only B_FILL_SPAN is missing from the acceleration hooks in BeOS. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5462d440 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turns out the virtual messes with the data in struct command, so we can't use it (which isn't really that bad). * B_SCREEN_TO_SCREEN_BLIT is now working as intended, so we can finally move windows and scroll at decent speed :-) * Implemented a simple version of B_WAIT_ENGINE_IDLE for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ace35ed |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Started implementing screen-to-screen blits, not yet tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc88cd93 |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* The Y/RGB and UV registers for the integer downscale factor are reverse to the usual order of other registers, so I mixed it up: vertical downscaling is now working as expected as well. * The downscaling factor was a tiny bit too low (one pixel from the view). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
08ef16ab |
|
09-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now allocates space for the hardware status page and cursor memory, not yet used, though. * Renamed the PhyisicalPageMapper class to AreaKeeper and made it a bit more generic (ie. it can now also create usual areas) * The shared_info is now created using the AreaKeeper, too, and this actually fixes some potential memory leaks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96451fe1 |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
We're now using a secondary (high priority) ring buffer for hardware overlay - this will improve the overlay performance when the engine is under load (the acceleration engine will use the primary lower priority ring buffer). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1973028 |
|
08-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The size of the stolen memory for the graphics chip is now read out of the host bridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17381 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8bea0da |
|
08-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turns out you must not set the source width/height UV registers (for planar mode), but you have to set the scaling UV registers in order to have correct overlay. * In other words, overlay is working now! There are still issues with it, which can probably be attributed to missing bounds checks (the screen goes black when you leave full-screen mode in VLC - but not if overlay just stops). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94f8a931 |
|
05-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use 8 bit modes with this driver as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a3543db |
|
04-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Finally the overlay looks like an overlay. It took me almost a day to realize that the Intel chip obviously cannot do overlays in B_RGB16 - even though it pretends to be able to do that. * B_YCbCr422 seems to work, though, I haven't tested any other spaces for now, and I somewhat doubt they will work. It's all green, though, and the scaling doesn't seem to be correct - that we be solvable, though :) * There aren't any bounds checks (so don't move the window out of the screen), and also the overlay_view offsets are ignored. * Scaling and moving is now detected, and there is always as little work done as possible to reduce the workload on buffer switches (the most common case). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17315 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4c4106a |
|
02-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Doh, I had done all bitfields in the wrong direction (msb to lsb, but it's actually lsb to msb). * The result is that there is now *something* to see when overlay is turned on. In fact the whole screen goes dark besides a few pixels on the top - now isn't that something? :-) * The overlay is also turned off again correctly - which also revealed a bug in our app_server: B_CONFIGURE_OVERLAY is not always called with window=NULL/view=NULL to turn off overlay (might be an incorrect handling of BView::ClearOverlay()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17300 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7740a4c1 |
|
28-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Enabling overlay requires a command ring buffer, and we're setting one (very small) up for this specific task - this will later be used for the acceleration engine as well. Some more work on overlay initialization, doesn't do anything yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
22d4db92 |
|
26-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Added overlay register definitions. * The overlay register update buffer is now created and exported, ready to be used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17244 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b907a5ac |
|
25-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented overlay management. The hardware doesn't notice them yet, though :) (but the app_server thinks they're working). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17242 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5da6291b |
|
24-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now using Thomas memory manager to manage the graphics memory; allocation of graphics memory is now possible. * Changed driver name to start with "intel_extreme" to have a nicer device name. * Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just happens to be located somewhere in the graphics memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
020c1aa8 |
|
03-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* init_driver() now behaves better in low memory situations. * Some preparations to support more than one chipset, added i855G (device ID 0x3582) to test with - the accelerant_device_info is now filled with that additional data as well. * Some minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16982 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e404297e |
|
24-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Very basic driver for the "Intel Extreme Graphics 2" chips, only supports i865G for now. Only mode switches do work, doesn't yet make sure the mode is valid, though. At this point, this driver only works on Haiku, the R5 app_server is crashing for some reason I need to investigate some day (maybe tomorrow :)). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4254fc37051c1dc1728b362f526164df696c57ef |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix wrong register values introduced in r42870. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
1f75663ca6601b1960c4e91b7e586e7d7bc27dd6 |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Remove the interrupt register block. These aren't actually identitiy mapped (they are actually reversed), so introduce a find_reg() inline function to map such regs individually instead. Should fix interrupt storms on SandyBridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42870 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c0cb09baee3bffd53702c25c6b7d3c990df1d8fd |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Add a couple more SandyBridge IDs. They might work, but I can't test them. * Also add the definitions and some specifics for IronLake (ILK), but keep the IDs disabled as at least the one version I can test with doesn't work yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42869 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
9e2e0d8dacfbf49553256dadb0a3b40f494c1774 |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Make some more SandyBridge specifics into Platform Control Hub (PCH) specifics. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42868 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c788baed28e28960c17306fe9f5b40382b07cb1d |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Style cleanups only, no functional change. * Make the pointer style consistent accross all components, which should make it easier when working all over the place. * 80 char limits. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42863 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2d004e3e89b98b25cdd710f0f92a33f5cee7a10d |
|
16-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Fix register definition for image size registers. They are in the north pipe control block. Doesn't matter on (G)MCH (they are the same register block tehre) but fixes mode setting on PCH again. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42862 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f0468be3845a6f7318a5a4f4dadcd62f7ed4ee22 |
|
15-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Rework how registers are accessed. Most registers are now grouped into register blocks and we encode their block into the register definition. On register access these blocks are then translated into the final address. * Set up the register blocks for (G)MCH and PCH variants. * Remove most SandyBridge code that was actually PCH specific and is now taken care of automatically. * This will temporarily break SandyBridge support again until the right transcoders are actually programmed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42857 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
16cc59778b590eea0e0a39fe1838880169cdfdb6 |
|
15-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Attempt at panel control for SandyBridge, still disabled though as it doesn't work yet. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42856 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b4f4ac9237dc94e3384ad841dcdbb57d30e48642 |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Group the PCH registers logically. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42852 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
bff57edf94aa70c5437710e75e0f62e7bc7a2516 |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Add indexed color mode support for SandyBridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42851 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
395d16a9bd615881a63bcfb31e04ad12de377bb7 |
|
14-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
Some more SandyBridge specifics to get V-blank interrupts going. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42850 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
951b5e51470a8f323f194e669e7c79725b500a61 |
|
13-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
More SandyBridge specifics: Use the proper registers for display detection and DPMS. Still needs to be reworked... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42846 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e436a27e5f6df975a1e35c27f42e8f6ad27ebdca |
|
13-Oct-2011 |
Michael Lotz <mmlr@mlotz.ch> |
* Add preliminary support for one SandyBridge mobile integrated graphics device (the one in my new ThinkPad X1). The PLL is still off a bit so it has a few blurry stripes, but EDID and mode setting basically works. * Starting with IronLake the north/south bridge or (G)MCH/ICH setup was moved into a platform control hub (PCH) which means that many registers previously located in the GMCH are now in the PCH and have a new address. * I'm committing this mostly because this way the additions are more easy to follow. It is a bit messy and I'll clean it up more and possibly make it a bit more generic. Also most of these changes actually apply to IronLake and up and aren't SandyBridge specific, so a few of those additions will still get a broader scope and new chips will be added. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42839 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0f4ab8dfd39f8fcdad2f32b653ddd11bddbf18c3 |
|
06-Mar-2011 |
Jérôme Duval <korli@users.berlios.de> |
Comparing with i915 DRM: * add a INTEL_TYPE_915M type to be used by 0x2592 (mobile version) * 0x2e32 is actually non mobile, added its brothers 0x2e02, 0x2e12, 0x2e22, 0x2e42, 0x2e92 * 0x27a2 is actually mobile. * added 0x2972, 0x2982, 0x2992 for INTEL_TYPE_965 type, and 0x2a12 for INTEL_TYPE_965M. * added corresponding entries in intel_gart. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40838 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2f4d9fdbab2d62559a66c7fd86535cca9d5b0c13 |
|
29-Jan-2011 |
Brecht Machiels <brecht@mos6581.org> |
* added support for the Atom IGD, based on the X driver sources (fixes #6202) * fixes G4x PLL limits git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@40319 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a8e3ab4f46ab0b3b122831f12680453eb412e04c |
|
26-Nov-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Enable the VBlank interrupt on pipe B for LVDS panels. This gets it working for me. Most stuff using BDirectWindowand synced drawing should now work better (\n and TVBack demos for example) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@39655 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
124a502a7a9c6af4e8fb25dfe710ee69268f7397 |
|
25-Aug-2010 |
Adrien Destugues <pulkomandy@pulkomandy.ath.cx> |
Always set the LVDS panel to its native mode, except for the 'display' part. This allows to use lower resolution screen modes with black border. Added a set of TODOs : * The smaller scren is not centered, but aligned top-left * The base resolution used is the one reported from edid 1.1, because I'm still not sure how to parse EDID 1.2. This resolution is too small on my laptop, but it works. Also added two ways of setting 8-to-6 dithering for 18-bit LVDS panel. No visible result for me, unfortunately. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38354 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cdfd124b11d10b55a284bdc2a94f499c74a832cc |
|
06-Jun-2010 |
Axel Dörfler <axeld@pinc-software.de> |
* Now phys_addr_t should be used where needed. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@37028 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8b20f2e4aee7674883b5b13a59679958758df4c9 |
|
28-Oct-2009 |
Brecht Machiels <brecht@mos6581.org> |
forgot to add this file in r33815 git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33821 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
dfdfbd3eefeb8aff04b7e8e2d6ebb46a51fe24ad |
|
23-Oct-2009 |
Brecht Machiels <brecht@mos6581.org> |
* added support for GM45 (might work for other chips in the G4 series) * added header for dealing with binary numbers and bitmasks (C++ templates) these "macro's" might not work well for long words, though git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33749 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
795bd7a697d6157c37af3c93edb0bbad9572476a |
|
18-Oct-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* The save_lvds_mode() function did not correctly support the i965 chipset - I've now removed that code, and factored out a retrieve_current_mode() function that can work on head A and B. * This fixes Adrien's flickering problem on his laptop - I can't find the bug ticket, though. Hopefully it does not break other laptop chips. Testing would be welcome, as I don't have any other machine here. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@33633 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
238433564972d525584b2dfbe1a2c0eb52ef49c1 |
|
14-Aug-2009 |
Axel Dörfler <axeld@pinc-software.de> |
* 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
|
#
2d5f339decd181abac7ea2dd74136aca4b1b6e92 |
|
16-Jun-2008 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
78fa3affbc8be3c4e69497c15e87ae2f0ebd8c48 |
|
31-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* 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
|
#
1c34b9b1f5e168501f89a270233457e04aa1b16b |
|
29-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
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
|
#
d75c88206ebdc2e711a9edcf2f4ccf38ba1663e2 |
|
26-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Simplified usage of the INTEL_TYPE_xxx constants. * Added some defines needed when playing with the bridge controller. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23753 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4dfa9e425fef3a6105e1cd97c4d4324f339f5614 |
|
23-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
Some work in progress: * set_gtt_entry() used the wrong index to fill the GTT - this could have never worked correctly when you specified more memory than the amount of stolen memory. * Implementing maintaining resources for emulating overlay using the 3D engine on i965. I don't yet commit the actual overlay code, as that is a) ugly, and b) does not work yet. * Moved AreaKeeper into its own header. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23709 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c88e5e410ca5c9ee95c0c72bf0093203db1906cb |
|
02-Jan-2008 |
Axel Dörfler <axeld@pinc-software.de> |
* Added support for the G33 line of chips: mode setting and acceleration is working fine AFAICT. * Implemented mapping the GTT area for i9xx chips other than the i965. This should also fix the driver working with these chips at all. * The memory used by the driver now take the GTT area into account - before the GTT could be overwritten theoretically... * Added fix for some i965 quirks from the X driver. * Added some overlay definitions for the i965. * Started support for G33 overlay (not complete yet). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23220 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
8818c505079d042697e36085387f553224c484a9 |
|
13-Dec-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Made QueueCommands::Write() and MakeSpace() public. * Implemented MakeSpace() (not yet tested). * Changed intel_wait_engine_idle() to spin() between reads and to timeout after 1 second of waiting (could probably be done way earlier). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@23120 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
61291964c3e6cc275ece67168ea4b9631338f861 |
|
31-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
The intel_extreme driver now finally works with the i965 chipset; acceleration works fine, but overlay doesn't - that's next on my list. Turns out the i965 differentiates between RGB-32 and RGB-32-alpha, and didn't like trying to use the latter as display mode (the i865 didn't care at all)... finding that took me *way* too long, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22780 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e7e325508bae1c80e024c942e09cc1d186821d40 |
|
16-Oct-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Allocating additional memory should now work on the i965 as well (but bad things will happen on earlier i9xx chips for now...). Not yet tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22589 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
cbd4081064f0aee215b62407ecfd0462cdc204ff |
|
24-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Fixed PLL timing computation for the i9xx chips - I mixed post2 min/max values, and did not take the VCO limits into account; both could (and would during testing) create invalid frequencies. * Also reverted the order in which the PLL divisors are traversed to match the order of what is used in the X driver to create comparable output (our error computation is based on float, though, and should therefore create more accurate values). * The i965 introduced a special register for the surface; the former display base register is now only used for the view offset. Instead of setting the base manually here and there, there is now a set_frame_buffer_base() function. * The DPMS code will now also turn off/on the PLL clock generator. * The code needs some more cleanup, and while the driver now produces the correct timing on my i965 system, I'm now greeted by a black screen after startup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22289 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
523a30f313255fbf177f1a29e3d5c74d1ce9e480 |
|
21-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented I2C support to get the DDC EDID info from the monitor - it's working as is, but nothing is done with the data yet (besides dumping them to the serial output). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22272 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
0c85ed21ae5bd3b68237158739d7a08d76497218 |
|
19-Sep-2007 |
Axel Dörfler <axeld@pinc-software.de> |
Forgot to commit the header... git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22255 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7aced0c77631160829cd5aadae5f8942f1b16596 |
|
04-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* The second open will now fail, too, in case the hardware could not be initialized correctly. * Got rid of this superfluous cookie stuff - either the VFS behaves correctly, or we're screwed anyway. * Made adding debugger commands optional depending on if DEBUG_COMMANDS is defined or not. * Minor other cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21322 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3bac9ea19a06864317ae4345f425f7f68956b118 |
|
04-Jun-2007 |
Axel Dörfler <axeld@pinc-software.de> |
* Work in progress to support the i965 chipset as well; still works on i865, but doesn't work on i965 yet. * B_GET_DISPLAY_MODE now returns the mode actually configured in the chip instead of the last mode set; while this isn't really necessary, it allows to check what mode was used during startup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@21321 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
3ef31db042b7015258b781f33497ee53aa21968d |
|
27-Jul-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Obviously, the i9xx family has changed the order of the PCI mappings, so we need to take that into account. * Introduced INTEL_TYPE_FAMILY_MASK and INTEL_TYPE_GROUP_MASK to better differentiate the device type. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@18293 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
c5f5d8347ebabf50f635a1043e04b27359cd0df1 |
|
23-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* B_MOVE_DISPLAY and B_SET_INDEXED_COLORS should now work for the digital output as well. * Obviously got the register for INTEL_DISPLAY_B_DIGITAL_PORT wrong - it's not 0x61000 but 0x61140, maybe that can explain the fun we had at BeGeistert :) * Renamed the analog display registers to better fit the digital ones, ie. replaced DISPLAY with DISPLAY_A - although this might be not really correct as it seems that the pipes can be selected arbitrarily. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17566 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
a0902420ff3fc943e535a6686ebac46a26a2dbfd |
|
23-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Some work to support output on the digital interface like laptop panels. Need to clean this up, though. It even sort of worked on tic's IBM X40 on BeGeistert - if you weren't irritated by the fact some parts of the screen were just black, that is :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17565 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7902c46c3e03133bc17b23822b95bf3e8e84c9a2 |
|
17-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Added i830 as supported chipset - doesn't work perfectly, though. But Kyan reports that at least 8 bit modes seems to work (but overlay only partially) * Added "hardware_cursor" option to the settings file - when set to "false", you should have a cursor in the second output now as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17498 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
112db6b691a676e62af6422d74632d46742254f7 |
|
15-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now disables the VGA display mode explicetly, which allows it to work without having a VESA mode set first (thanks to Stephan for noticing this). * intel_set_display_mode() now calls intel_propose_display_mode() to make sure the mode passed in is valid. Note, B_PROPOSE_DISPLAY_MODE is still not working correctly (which will cause problems for BWindowScreen and friends). * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17460 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
973d499ee1ed8d233b5c8c03685dbcfb25c03816 |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Made the accelerant safer to use when cloned (though I didn't test cloning yet); introduced a lock that is used in B_SET_DISPLAY_MODE etc. * Correctly implemented B_ACQUIRE_ENGINE and B_RELEASE_ENGINE now (ie. they lock the engine now). * The lock of the ring buffers is now deleted when the (primary) accelerant is closed. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17453 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
4955c11be9aeaff376e59315955d002c840ef4c8 |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Moved the intel_info structure and prototypes from intel_extreme.cpp from the shared headers into intel_extreme_private.h. * Removed non-memory-mapped definitions from driver.h. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17452 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7d5957df85f66116fd487377d418a0d3550afc3b |
|
14-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented hardware cursor support. * Turns out cursor handling is simpler as originally thought, so I could remove its physical mapping - it's still put into the shared area, though, although that isn't needed for this chip (but could eventually simplify the handling of other generations of this chip). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17450 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
63dbc0a8d668ca226e098bf85613c094a4627354 |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Accidently overwrote info.registers which let all subsequent register writes (in the kernel driver) fail - or crash the system. * Waiting for VBLANK now works as expected - you actually have to *set* the bit to clear it, isn't that obvious? :-) git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17443 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5af5259c38b8e63ab87a2bfb8d715ad2ea28d887 |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented vblank interrupt and support for the retrace semaphore - not yet tested, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17439 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
ccb666bc0e384dd7be48cd85df95683a90db3f85 |
|
13-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Prepared having hardware cursor support; got quite complicated because there is no good (or reliable) way to retrieve the physical address of "stolen" (by the BIOS) graphics memory. * Implemented allocation of additional graphics memory in case the BIOS was a bit too cheap. We now guarantee 8 MB of memory available to the graphics chip - would be nicer to only allocate that on demand, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17433 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
d906e6a03e51ba75e8c5d998eae3016bce962651 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Implemented B_FILL_SPAN - I am not sure if it's used at all, though, so I am also not sure if it's working correctly. * Minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17425 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
efeb77268db82e4081b7b09e610697feaa34e125 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Say hello to B_FILL_RECTANGLE and B_INVERT_RECTANGLE - only B_FILL_SPAN is missing from the acceleration hooks in BeOS. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17424 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5462d44020180ca5dd42fd91ce51fdc5550536b6 |
|
11-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turns out the virtual messes with the data in struct command, so we can't use it (which isn't really that bad). * B_SCREEN_TO_SCREEN_BLIT is now working as intended, so we can finally move windows and scroll at decent speed :-) * Implemented a simple version of B_WAIT_ENGINE_IDLE for now. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17422 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
2ace35ed2238f5d94294e3e30c869e8725862705 |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Started implementing screen-to-screen blits, not yet tested. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17416 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
fc88cd9396f2d519305f86f126f031675443c1b4 |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* The Y/RGB and UV registers for the integer downscale factor are reverse to the usual order of other registers, so I mixed it up: vertical downscaling is now working as expected as well. * The downscaling factor was a tiny bit too low (one pixel from the view). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17414 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
08ef16abee9eb7639c8387e283c186f11b627075 |
|
09-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now allocates space for the hardware status page and cursor memory, not yet used, though. * Renamed the PhyisicalPageMapper class to AreaKeeper and made it a bit more generic (ie. it can now also create usual areas) * The shared_info is now created using the AreaKeeper, too, and this actually fixes some potential memory leaks. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17412 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
96451fe1332d971e149796b2024c4797c1169ad7 |
|
10-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
We're now using a secondary (high priority) ring buffer for hardware overlay - this will improve the overlay performance when the engine is under load (the acceleration engine will use the primary lower priority ring buffer). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17411 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f1973028671b8b2fe2730841655a5c10583b575f |
|
08-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
The size of the stolen memory for the graphics chip is now read out of the host bridge. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17381 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f8bea0dacbe4678d23a854ce24b63bbb5706179d |
|
08-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Turns out you must not set the source width/height UV registers (for planar mode), but you have to set the scaling UV registers in order to have correct overlay. * In other words, overlay is working now! There are still issues with it, which can probably be attributed to missing bounds checks (the screen goes black when you leave full-screen mode in VLC - but not if overlay just stops). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17365 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
94f8a931c8946a6063445dd244e39404fe52a89d |
|
05-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
B_SET_INDEXED_COLORS is now working correctly for B_CMAP8, IOW you can now use 8 bit modes with this driver as well. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17339 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
6a3543db2a68e1d35d99c0e72ae935d72b2b5d52 |
|
04-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Finally the overlay looks like an overlay. It took me almost a day to realize that the Intel chip obviously cannot do overlays in B_RGB16 - even though it pretends to be able to do that. * B_YCbCr422 seems to work, though, I haven't tested any other spaces for now, and I somewhat doubt they will work. It's all green, though, and the scaling doesn't seem to be correct - that we be solvable, though :) * There aren't any bounds checks (so don't move the window out of the screen), and also the overlay_view offsets are ignored. * Scaling and moving is now detected, and there is always as little work done as possible to reduce the workload on buffer switches (the most common case). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17315 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
f4c4106a4083a9ffdfdf3640ebd1f7caad01e4c2 |
|
02-May-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Doh, I had done all bitfields in the wrong direction (msb to lsb, but it's actually lsb to msb). * The result is that there is now *something* to see when overlay is turned on. In fact the whole screen goes dark besides a few pixels on the top - now isn't that something? :-) * The overlay is also turned off again correctly - which also revealed a bug in our app_server: B_CONFIGURE_OVERLAY is not always called with window=NULL/view=NULL to turn off overlay (might be an incorrect handling of BView::ClearOverlay()). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17300 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
7740a4c15bd6ee7fd66388b5fc21c786b926429d |
|
28-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Enabling overlay requires a command ring buffer, and we're setting one (very small) up for this specific task - this will later be used for the acceleration engine as well. Some more work on overlay initialization, doesn't do anything yet, though. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17254 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
22d4db9280e309e12ca7ba9a826ead8f6b5b79f6 |
|
26-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Added overlay register definitions. * The overlay register update buffer is now created and exported, ready to be used. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17244 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
b907a5acab12226b59087b4364e34ba5ddd981e3 |
|
25-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Implemented overlay management. The hardware doesn't notice them yet, though :) (but the app_server thinks they're working). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17242 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
5da6291b99c3bd38505f6306dcb6398b9485783d |
|
24-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* Now using Thomas memory manager to manage the graphics memory; allocation of graphics memory is now possible. * Changed driver name to start with "intel_extreme" to have a nicer device name. * Renamed frame_buffer* stuff to graphics_memory* as the frame buffer just happens to be located somewhere in the graphics memory. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17224 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
020c1aa823222f456bcf1ef94ab229690786d60d |
|
03-Apr-2006 |
Axel Dörfler <axeld@pinc-software.de> |
* init_driver() now behaves better in low memory situations. * Some preparations to support more than one chipset, added i855G (device ID 0x3582) to test with - the accelerant_device_info is now filled with that additional data as well. * Some minor cleanup. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16982 a95241bf-73f2-0310-859d-f6bbb57e9c96
|
#
e404297e56d4d54998a8f21b661def9d2da746d6 |
|
24-Mar-2006 |
Axel Dörfler <axeld@pinc-software.de> |
Very basic driver for the "Intel Extreme Graphics 2" chips, only supports i865G for now. Only mode switches do work, doesn't yet make sure the mode is valid, though. At this point, this driver only works on Haiku, the R5 app_server is crashing for some reason I need to investigate some day (maybe tomorrow :)). git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@16872 a95241bf-73f2-0310-859d-f6bbb57e9c96
|