Searched +hist:1 +hist:f75663c (Results 1 - 3 of 3) sorted by last modified time

/haiku/src/add-ons/kernel/drivers/graphics/intel_extreme/
H A Dintel_extreme.cppdiff c2d37953 Sat Jul 28 14:52:37 MDT 2018 Adrien Destugues <pulkomandy@pulkomandy.tk> Rework PLL calculations for Iron Lake

The limits were wrong in several places. Checked the sandy bridge, ivy
brige and haswell docs, they all say mostly the same.

- The value of p2 is either 7, 14, 5 or 10 depending on 1 bit in the
config register and on the display type. We can guess which values are
right according to the global P limit (5-80 when using 5/10,
28-something when using 14/7). The values are different because CRT
need a precise, but rather low pixel clock, while modern display
interface can accomodate being faster than required by a few MHz, but
need a much higher speed (the bits are transferred serially, so they
need to be at least 8 times faster than a DAC).

- The limits for N were obviously wrong, as the register is written with
N-2, so values less than 2 make no sense. Use 3-8 as specified in the
datasheet.

- The reference frequency (set by the driver) was wrong, too. It is
120MHz, not 96. It is 100MHz in some cases (FDI, etc), we should see
when this happens and switch to the right reference for PLL
computations.

- There was an attempt to minimize the value of N (a powersaving effort,
I guess?), but it would basically force the loop to stop at the first
value of N tested, resulting in way off timings in some cases.

- To ease testing and stop sending patches and syslogs back and forth
with vidrep, extract the "test mode" from pll.cpp into a proper test
executable, making it a little easier to experiment with the code and
fix the problems.

This should fix #13669 and possibly other cases of "out of range", black
screen, bad timings, etc.

Change-Id: Ic4c1c159701f352b7c1ef15a647f023c82ac26c
Reviewed-on: https://review.haiku-os.org/360
Reviewed-by: Axel Dörfler <axeld@pinc-software.de>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
diff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1 Tue Jan 29 01:55:36 MST 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
diff 1faf767b Wed May 24 04:37:34 MDT 2006 Axel Dörfler <axeld@pinc-software.de> Made the memory mapped registers temporarily accessible from userland for testing
purposes (a.k.a. poke).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17575 a95241bf-73f2-0310-859d-f6bbb57e9c96
diff 1f75663ca6601b1960c4e91b7e586e7d7bc27dd6 Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1f5e168501f89a270233457e04aa1b16b Tue Jan 29 01:55:36 MST 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
diff 1faf767bbdf563198ee31af1755d056a5e21e08b Wed May 24 04:37:34 MDT 2006 Axel Dörfler <axeld@pinc-software.de> Made the memory mapped registers temporarily accessible from userland for testing
purposes (a.k.a. poke).


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17575 a95241bf-73f2-0310-859d-f6bbb57e9c96
H A Dintel_extreme_private.hdiff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1 Tue Jan 29 01:55:36 MST 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
diff 1f75663ca6601b1960c4e91b7e586e7d7bc27dd6 Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1f5e168501f89a270233457e04aa1b16b Tue Jan 29 01:55:36 MST 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
/haiku/headers/private/graphics/intel_extreme/
H A Dintel_extreme.hdiff 1c23e6bc Tue May 03 08:01:58 MDT 2022 Jérôme Duval <jerome.duval@gmail.com> intel_extreme: leverage VBT device type for internal panel

* also handle dp aux on PCH.
* tested on Gen7, should work from Gen6.

Change-Id: I8d99bcdc10c817e66441a6a644df490dd988a74d
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5290
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
diff 22ec6455 Fri Mar 13 02:47:36 MDT 2020 Adrien Destugues <pulkomandy@pulkomandy.tk> intel_extreme: some minor fixes

- Cleanup HEAD_MODE constants. These should be completely removed, now
that we have a proper notion of pipes and displays. But the DPMS code
still uses them, for now.
- Fix the ie_pipe command where width and height were swapped and
missing a +1 to show the actual videomode values
diff ec4e9ea8 Mon Jan 27 05:56:57 MST 2020 Adrien Destugues <adrien.destugues@opensource.viveris.fr> intel_extreme: remove unhandled generation defines

- 7xx (1st gen) has no driver in Haiku or is handled by the intel_810 driver
- PowerVR has no driver in Haiku

So there is no point in having those in the intel_extreme driver.

While I'm at it, fix the video timing/resolution constraints for
sanitize_video_mode.
diff 3a2b67b5 Tue Nov 21 01:12:18 MST 2017 Adrien Destugues <pulkomandy@pulkomandy.tk> Support for configuring screen backlight

Accelerant interface:
Introduce new hooks B_SET_BRIGHTNESS and B_GET_BRIGHTNESS. Brightness is
a float in the 0..1 range.

App_server:
Forward brightness things between BScreen and the accelerant.

intel_extreme:
Implement the hooks. Note that this only works for laptop panels, but
the driver will pretend to support it in other cases as well.

Screen preferences:
If the accelerant supports the B_GET_BRIGHTNESS hook, allow to set
brightness with a slider. Otherwise, the slidere is hidden and these
changes aren't visible.
diff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1f75663c Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1 Tue Jan 29 01:55:36 MST 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
diff 8818c505 Thu Dec 13 07:56:28 MST 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
diff 1f75663ca6601b1960c4e91b7e586e7d7bc27dd6 Sun Oct 16 14:48:54 MDT 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
diff 1c34b9b1f5e168501f89a270233457e04aa1b16b Tue Jan 29 01:55:36 MST 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

Completed in 172 milliseconds