Commit Graph

44 Commits

Author SHA1 Message Date
Jérôme Duval
f6e7d9dfbc radeon_hd: update DP definitions to match the spec
Change-Id: Ib653fcf3fef26e17e801ee016e94787c67a64e3c
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5173
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Jérôme Duval <jerome.duval@gmail.com>
2022-04-05 14:47:59 +00:00
Jérôme Duval
f0a63f1888 radeon_hd: DP AUX address is actually 20-bit
Change-Id: Ie551c6977cb4fb8b45ad896aedd0d3c6b0b183d8
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5172
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-04-05 10:53:04 +00:00
Jérôme Duval
5f90c3726b intel_extreme: change i2c_send_receive to a hook
common: i2c/ddc uses a 7-bit address for EDID.

Change-Id: Ic1bba2a23174c671bd7374104596c22433bd343a
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5171
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
2022-04-05 10:53:04 +00:00
Alexander von Gluck IV
65ed50c713 graphics/edid: Add support for digital display info; solves #17462
* We pack the first 8 bits into a union for the raw
  edid since alignment matters.
* Handing the raw_edid is a bit ugly, so in the edid struct
  we drop the input_type from the union since packing doesn't
  matter as much.

Change-Id: I32dbfe9484f9eb83cf491a44d30a32ca36d65b7b
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4775
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
2021-12-18 15:21:30 +00:00
Adrien Destugues
b819569ef4 usb_video.h: build fixes
- Remove duplicate and otherwise unused lendian_bitfield.h
- Adjust listusb jamfile to use lendian_bitfield.h
- Fix various typos in usb_video.h and restore some fields to make
  listusb happy
2019-12-05 18:28:12 +01:00
Alexander von Gluck IV
7f167d4f4a radeon_hd/dp: Fix bug in lane training. Kudos gcc7
* GCC7's static analysis found this one and it still
  took #gcc and me a while to spot. Nice work gcc7!
* Should help DisplayPort training issues :-)

Change-Id: I9b47f13c95e622a2c08ff329ec9c3fc7e3db493d
2018-05-21 18:02:32 -05:00
Augustin Cavalier
361f980f9d More "missing space after macro; invalid in C++11" error fixes. 2017-12-12 20:08:26 -05:00
Alexander von Gluck IV
2da9ebb7f3 radeon_hd: Drop dp config array from dp_info
* Caching these values could result in missed
  state changes.
* We may want to re-implement later.
* Highlights that all DP AUX communication is broken
  during my testing.
2017-09-29 11:10:56 -05:00
Alexander von Gluck IV
66a16010b7 radeon_hd: Add missing DP STATUS request type
* Name change inline with DP specifications.
2017-09-08 18:02:32 -05:00
Alexander von Gluck IV
25a087bc7c radeon_hd: AtomBIOS version bump. Encoder work.
* Now pulling in latest amdgpu atombios.h headers
* Lots of DisplayPort cleanup and removal of legacy stuff
* Add obsolete atombios header for things that disappear
  (amdgpu doesn't support older cards like we do)
* Introduce new code to support later encoder tables
* Drop radeon-specific encoder service from common dp_info
* Tested on HD 5450 hdmi
2016-10-05 13:54:24 -05:00
Alexander von Gluck IV
9975620612 intel_extreme: Prepare for DisplayPort AUX comms 2016-02-23 13:39:10 -06:00
Alexander von Gluck IV
7ea1ad1028 radeon_hd: Fix dp aux request / response shifts 2015-07-13 23:26:24 -05:00
Alexander von Gluck IV
63b02c37d4 accelerants/common: Add displayport aux message struct 2015-07-08 00:03:38 -05:00
Alexander von Gluck IV
8ebdc440de radeon_hd: Better tracing. Fix DP ack bitwise shift 2014-02-03 06:44:28 +00:00
Bill Randle
7aedc8b3e1 edid_raw: Correct missing bitfield
* edid1_detailed_timing_raw was missing
  a field which threw off the sync bits.
* The result was the monitor will receive
  a different sync polarity than it requested.
  Most monitors handle this, but it is still
  a bug
2013-01-27 12:18:49 -06:00
Alexander von Gluck IV
4e7e3e331d radeon_hd: display port improvements
* Remove non-generic radeon dp_get_lane_count
* Set lane count and link rate at set_display_mode
* Pass entire mode to pll_set vs only pixel clock for DP code
* Add helpers for DP config data to common code
* Obtain more correct link rate
2012-08-05 12:15:35 -05:00
Alexander von Gluck IV
694eca3bb6 radeon_hd: Add DP link_train_ce
* First attempts at DisplayPort link training
  clock equalization.
* Add DP define to detect equalization state
* Working towards resolving #8626
2012-08-05 00:01:43 -05:00
Alexander von Gluck IV
0de9d6cdef radeon_hd: Move out some DisplayPort common code
* General DisplayPort functions in common dp.cpp
* DP port information struct in common header
* Please don't use this private accelerant common DP
  code just yet as it is very early.
2012-04-06 13:43:09 -05:00
Alexander von Gluck IV
8dfc5dbb26 radeon_hd: Complete move to common DisplayPort header
* Non-spec DP stuff in accelerant displayport.h
* Common DisplayPort header still has TODO's however
2012-04-04 10:41:34 -05:00
Alexander von Gluck IV
c6799d8ae1 dp_raw: Continued cleanup of DisplayPort common header
* Reduce number of common DP registers in radeon_hd
* Move to bitwise shifts as they will make more
  sense to more people in the long-run
2012-04-03 09:52:21 -05:00
Alexander von Gluck IV
64dcb00f9f radeon_hd: Begin to widdle down DP to common code 2012-04-02 17:00:24 -05:00
Alexander von Gluck IV
37550d80c9 dp_raw: Add AUX communication defines 2012-04-02 15:45:13 -05:00
Alexander von Gluck IV
30d5507541 dp_raw common: Style fix, no change. 2012-04-02 15:36:07 -05:00
Alexander von Gluck IV
4185aa0c8c common header: Add work in progress DisplayPort header
* Obtained via DportV1.1.pdf
* Written based on my Xorg membership
2012-04-02 11:52:36 -05:00
Alexander von Gluck IV
61cf713381 Include file style cleanup, no functional change 2011-12-09 21:26:41 -06:00
Axel Dörfler
83187b29d3 * Added helper functions for the "propose mode" accelerant hook.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42741 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-11 18:29:50 +00:00
Alexander von Gluck IV
440381c60f * rename video_electronics to video_configuration as per Axel
* rename decode_* to get_*
* clean up get_* text when unknown connector/encoder


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42717 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-09-06 16:01:33 +00:00
Alexander von Gluck IV
3671476941 * add video_electronics.c
(.c to keep compatibility with older C accelerants)
* use functions for decoding video_electronics
* thanks for the guidance Axel!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42668 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 17:30:55 +00:00
Alexander von Gluck IV
cd73cccda7 * add a new generic video electronics define,
this seems like it could be useful for more then
  just radeon_hd.
* idea from linux drm driver
* feedback / flames welcome
* can move into radeon_hd private defines if requested


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42662 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 16:00:45 +00:00
Axel Dörfler
d3d53515a9 * Add the width, and height to fill_display_mode(). This should help with #7751
this time.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42454 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 18:16:58 +00:00
Axel Dörfler
95009aeeb0 * Imported Andy Ritger's GTF code in compute_display_timing.cpp, and mangled it
into a usable function - this has some coding style issues I did not care to
  fix.
* _AddBaseMode() now computes the mode in case it is not present in the list
  yet.
* This should help with bug #7787.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42420 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-13 23:26:26 +00:00
Axel Dörfler
61b6f38cfc * Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@32021 a95241bf-73f2-0310-859d-f6bbb57e9c96
2009-07-31 14:11:12 +00:00
Axel Dörfler
f6e4cbb952 * Rewrote BeBuild.h which had "a few" consequences (got rid of all those class
definitions).
* Minor cleanup here and there.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22577 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-15 20:13:55 +00:00
Axel Dörfler
53d781f439 * Now uses the new create_display_modes() function.
* Now supports the new B_GET_EDID_INFO hook under Haiku.
* Fixed build under BeOS.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-14 12:31:51 +00:00
Axel Dörfler
7bdf92f3f7 Started a create_display_modes() function that should be used by accelerants
to create their mode list. Once it's done, it should cover all possible cases,
and allow the base mode list to reside in the app_server (under Haiku, at least),
so that all drivers will benefit from an updated list.
Right now, it might already work to a degree, but it's not yet tested.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22517 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 15:59:50 +00:00
Axel Dörfler
13a81299f1 Cleanup.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-10-12 15:56:08 +00:00
Axel Dörfler
96eb4ebe33 Made i2c.h and ddc.h C++ safe.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22271 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-21 17:33:35 +00:00
Axel Dörfler
93a1ccabb9 * Separated I2C from DDC a bit more.
* i2c_bus now contains a i2c_timing structure, so that you don't need
  both to talk to the I2C bus.
* Therefore, there is now a void ddc2_init_timing() function to get the
  the timing DDC needs.
* Cleanup in radeon's monitor_detection.c, and updated it to work with
  the DDC/I2C changes.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@22265 a95241bf-73f2-0310-859d-f6bbb57e9c96
2007-09-19 22:36:55 +00:00
Axel Dörfler
97584f7d11 * Made header C++ safe.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@19576 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-12-20 21:13:59 +00:00
Axel Dörfler
48f09a2bd2 Removed the BeOS specific perfmon_kernel.h header - Haiku's kernel doesn't
export those functions. The log_coll stuff now uses system_time() instead
if enabled - that should be good enough.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17567 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-05-23 19:04:55 +00:00
Axel Dörfler
9095e05d8d * Renamed memmgr.c|h to memory_manager.c|h.
* The functions now check the acquire_sem() result.
* mem_freetag() will return an status code now, too.
* Moved the mem_block and mem_info definitions into the source file; no
  reason to have them public.
* You can now give the memory manager a name which it will use for its
  heap area and lock.
* Minor cleanup.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@17221 a95241bf-73f2-0310-859d-f6bbb57e9c96
2006-04-24 15:09:46 +00:00
Ingo Weinhold
758b1d0e05 Fixes that make Haiku build with gcc 4. Mainly out of the following
categories:
* Missing includes (like <stdlib.h> and <string.h>).
* Linking against $(TARGET_LIBSTDC++) instead of libstdc++.r4.so.
* Local variables shadowing parameters.
* Default parameters in function definitions (as opposed to function
  declarations).
* All C++ stuff (nothrow, map, set, vector, min, max,...) must be imported
  explicitly from the std:: namespace now.
* "new (sometype)[...]" must read "new sometype[...]", even if sometype is
  something like "const char *".
* __FUNCTION__ is no longer a string literal (but a string expression), i.e.
  'printf(__FUNCTION__ ": ...\n")' is invalid code.
* A type cast results in a non-lvalue. E.g. "(char *)buffer += bytes"
  is an invalid expression.
* "friend class SomeClass" only works when SomeClass is known before.
  Otherwise the an inner class with that name is considered as friend.
  gcc 4 is much pickier about scopes.
* gcc 4 is generally stricter with respect to type conversions in C.



git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@14878 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-11-12 23:27:14 +00:00
Michael Lotz
bccfa80b9b Changed radeons memory manager to use areas instead of malloc. Now the radeon.driver should work without hacking the kernel heap bigger.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@12134 a95241bf-73f2-0310-859d-f6bbb57e9c96
2005-03-29 21:09:05 +00:00
shadow303
8f6c61bcef Upgrade to version 4.1 of radeon driver.
Includes some common routines which may be used by other drivers.


git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8405 a95241bf-73f2-0310-859d-f6bbb57e9c96
2004-07-16 00:46:01 +00:00