Commit Graph
100 Commits
Author SHA1 Message Date
Alexander von Gluck IV ec89b98617 * remove excess NULL check
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42673 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 22:03:36 +00:00
Alexander von Gluck IV aee8efc244 * add gConnector for card connector storage
* add detect_connectors to detect card connectors
* add infinitely compex detect_connectors_manual
  (used when detect_connectors fails)
* add missing AtomBIOS header


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42670 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 21:21:36 +00:00
Alexander von Gluck IV 583110831e * remove tracing on AtomBIOS parser
* fix a few compile issues when tracing is disabled


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42669 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 21:10:24 +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
Alexander von Gluck IV 20fbef1e74 * a few additions to the PCI ID list
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42652 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-21 02:57:07 +00:00
Alexander von Gluck IV 11390ce010 * correction to AtomBIOS register loopback calls
* cail calls have their registers multiplied by 4
* solves infinite loops


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42647 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-20 14:29:06 +00:00
Alexander von Gluck IV d3e8b64208 * introduce mc control calls
* malloc storage for mc state info
* redo pll range struct
* change to ATOM_ENCODER_MODE for connector info
* redo pll calculations to match AtomBIOS requirements
* some structure changes
* no longer init already posted AtomBIOS as it
  causes an infinite loop of AtomBIOS calls


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42644 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-19 23:07:45 +00:00
Alexander von Gluck IV 7a2bb2b04c * backport a missed endian change
* clean up some tabs and spaces


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42625 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-12 02:04:32 +00:00
Alexander von Gluck IV 5cdfd17b4b * backport some additional linux atom parser fixes
* backport fixes to ATOM_IIO_MOVE_ register offsets
* small bit of style correction


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42624 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-12 01:00:34 +00:00
Alexander von Gluck IV a823207363 * add card instance to accelerant shared info
* when TRACE_ATOM is enabled in bios.c, we dump
  each accelerant instance of the AtomBIOS rom
  to disk in /boot/common/cache/tmp/ (next to usb
  hid descriptors in the same file name format)
* these images can be parsed with the AtomDis application


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42622 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-11 05:17:34 +00:00
Alexander von Gluck IV 93d4d55295 * a few small style fixes to last commit
* no functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42617 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 15:51:00 +00:00
Alexander von Gluck IV d356bf5033 * consolidate and remove unneeded Xorg headers
* move mc code to more generic gpu source/header
* add gpu reset functions (with r600 documented)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42616 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-10 15:48:20 +00:00
Alexander von Gluck IV 336835776b * clean up tracing and exit gracefully to vesa if
we can't locate an AtomBIOS for the card.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42601 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-08 18:36:45 +00:00
Alexander von Gluck IV 5348fbe689 * fix trace typedef size to fix iso9660 tracing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42597 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 20:24:34 +00:00
Alexander von Gluck IV c9c7be9a54 * add initial set of Northern Island cards
* add igp property to pciid map
* add disabled bios pull for r700 and ni cards
* refactor model numbering as >R700 AMD switched
  to named card families


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42596 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 20:16:32 +00:00
Alexander von Gluck IV 0cd93754a4 * init scratch before card post
* B_OK != 1!, so don't if (status_t)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42592 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 05:24:23 +00:00
Alexander von Gluck IV 77e8ac07c6 * add allocation of atombios fb scratch
* add free of allocated fb scratch


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42591 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 05:19:42 +00:00
Alexander von Gluck IV 7a2d0c5e92 * lets not make AtomBIOS calls until our
semaphore is created :)
* delete semaphore on AtomBIOS destroy


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42590 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 03:48:58 +00:00
Alexander von Gluck IV ee5d8bd0a8 * tab fix
* add atom_parse_cmd|table_header functions to evaluate
  data structure versions
* convert asic function to status_t and reflect
  execute_table result
* cleanup logic in destroy atombios parser function


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42589 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-07 03:40:23 +00:00
Alexander von Gluck IV 81e071b76e * more style cleanup
* backport additional bugfixes from drm version
* add logic to detect infinite execution loops
* add a semephore to prevent multiple executions on
  non-thread safe code ( this needs testing )


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42585 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 07:00:49 +00:00
Alexander von Gluck IV 7eb6bbc78c * style cleanup
* add some missing functions from drm version


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42583 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-06 04:39:47 +00:00
Alexander von Gluck IV 6da3f7d4c1 * lots of changes
* add missing header for some radeon registers
* begin removing now un-needed direct register calls
* move and refactor crtc functions
* fix function naming to be clearer
* create more AtomBIOS style calls
* this will eat your cat at the moment, don't bother testing


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42582 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 22:24:57 +00:00
Alexander von Gluck IV 88932cfb41 * repair time by slowing it down
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42580 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 05:47:31 +00:00
Alexander von Gluck IV e7f4040697 * improve debugging in AtomBIOS atom.c parser
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42579 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 05:34:28 +00:00
Alexander von Gluck IV d77ff85e1f * add required atombios.h from drm driver from linux 3.0 with a few tweaks
(we aren't taking ownership of this one.. yikes)
* add first AtomBIOS call to test the waters


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42578 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-05 02:37:05 +00:00
Alexander von Gluck IV 7949c8cbe4 * move create_area for kernel AtomBIOS into radeon_hd_getbios
* only create_area if we found a valid AtomBIOS
* lock down write access to kernel AtomBIOS area after populating
* remove locking on kernel AtomBIOS area as it's not needed


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42573 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 15:28:50 +00:00
Alexander von Gluck IV 5e1a7a9299 * these examples should really be commented out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42572 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 14:57:34 +00:00
Alexander von Gluck IV 94e15508ec * clean up style
* remove some un-needed log messages
* memset area from create_area just incase
* add enabled bios read in addition to disabled one


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42566 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 04:57:42 +00:00
Alexander von Gluck IV 1c623886b3 * undo accidental change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42565 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 03:56:54 +00:00
Alexander von Gluck IV f0b0d6cb37 * use create_area correctly
* AtomBIOS is now loaded and passed into the radeon_hd accelerant
* correct pointer passing in bios_init
* AtomBIOS is now read and initialized by AtomBIOS parser
* feel free to start testing the driver again :-)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42564 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-04 03:55:01 +00:00
Alexander von Gluck IV 2168cdbddd * bug fix, wrong offset
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42561 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:26:26 +00:00
Alexander von Gluck IV 3f98c1831c * create area for AtomBIOS
* clone mapped AtomBIOS area into accelerant


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42560 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 23:23:16 +00:00
Alexander von Gluck IV c3cfda776d * don't trample PCI rom config
* better error checking
* the driver can now locate the AtomBIOS on real hw!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42558 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 21:42:28 +00:00
Alexander von Gluck IV 77a64ff2c8 * use new PCI.h rom flags
* clean up tracing
* remove infinite loop :)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42556 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:46:26 +00:00
Alexander von Gluck IV cd4c994bdf * define PCI add-on rom flags that are normally defined in PCI header files.
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42555 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 20:36:41 +00:00
Alexander von Gluck IV 5cf44dda39 * move obtaining / copying the vga bios into the driver.
* add missing r500 header
* replace r600 headers with newer one from kernel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42554 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 18:16:10 +00:00
Alexander von Gluck IV 1d5cfc649a * move bios functions into bios.cpp
* implement various methods to pull AtomBIOS from card
* add some missing registers to headers from linux drm driver


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42553 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-03 03:02:57 +00:00
Alexander von Gluck IV 8992f603ed * var typo fix in driver rom shared area creation
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42551 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:13:45 +00:00
Alexander von Gluck IV 81cd663666 * refactor accelerant debugging
* clone VGA rom shared area in accelerant
* enable access, and make a copy of the VGA bios
* give malloc'ed VGA bios pointer to AtomBIOS parser
* Still invalid BIOS magic
* TODO : Move atomBIOS pointer and reorganize some stuff


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42550 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 23:11:15 +00:00
Alexander von Gluck IV 39b96f9e92 * Rename PCI rom shared area.. isn't AtomBios until we verify it is
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42546 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:16:23 +00:00
Alexander von Gluck IV 52aeea2482 * Register additions
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42545 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 22:14:13 +00:00
Alexander von Gluck IV 32e7d18a75 * Quick style cleanup
* Check for failed malloc in atom_parse


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42544 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:14:54 +00:00
Alexander von Gluck IV 22582a297c * Map AtomBIOS specified by PCI rom into virtual memory
* Point AtomBIOS to PCI rom mapped in memory
* Things no longer crash, but we get an Invalid BIOS Magic error
  in the logs.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42543 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 18:05:52 +00:00
Alexander von Gluck IV 4034e8950e * Fix Jamfile to properly reference external source file.
(thanks DeadYak!)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42542 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 16:15:32 +00:00
Alexander von Gluck IV ef2909a10f * Move bios_info into shared info
* Pull pci_rom base address from pci subsystem
* Point AtomBIOS parser to pci rom address
  to set up and malloc atom_context
* This is untested! Don't run on an
  expensive card until I test it on a cheaper
  one!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42541 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 14:58:56 +00:00
Alexander von Gluck IV 5136067474 * Initial work on bios_init for setting up AtomBIOS parser
* Refactor AtomBIOS parser to use non-linux-kernel calls
  (normally I would keep it as-is and do wrappers, but the
  AtomBIOS parser has been rewritten from scratch twice
  by its creator  in the last 5 years.. so eh.
* Refactor AtomBIOS parser to be more haiku-like stylewise


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42538 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 06:07:49 +00:00
Alexander von Gluck IV b375e9cd65 * Program DATA_FORMAT to non-interlaced
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42536 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-02 01:07:10 +00:00
Alexander von Gluck IV cc9e8e94d4 * Add card_info struct used by AtomBIOS parser
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42535 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:56:18 +00:00
Alexander von Gluck IV 2df3def596 * Remove old legacy internal AtomBIOS parser
* Import "new" AMD AtomBios Parser (aka AMD KGrids)
* Add a new global storage struct for BIOS info
  (ex. location, size, etc)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42534 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-08-01 22:41:04 +00:00
Alexander von Gluck IV ef3a7658fa bug fix, POWER_SHUTDOWN vs POWER_ON
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42522 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-31 16:48:59 +00:00
Alexander von Gluck IV 0e3075fb4d * Provide device chipset in accelerant_device_info
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42516 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 18:25:08 +00:00
Alexander von Gluck IV 6ab8261b98 * Pass device name into shared info
* Refactor MCFBsetup to be a little simpler for now
* Implement radeon accelerant_device_info for screen preflet
* Re-add CRT Power calls to display code.
* Disable blanking setting for now... just can't figure out
  what AMD wants for this.
* Remove some un-needed locking in the scaling code
* Be sure to disable VGA when set_display_mode is called
* Refactor mode setting code to loop over all possible displays
  and set the provided mode on the attached ones.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42515 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-30 17:45:14 +00:00
Alexander von Gluck IV 3b1fd3270e * Remove return from testing
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42510 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:12:01 +00:00
Alexander von Gluck IV eb02753779 * Little cleanup
* Add missing Idle call for connectors
* Reformulate blanking.. this should match what the
  register is after the GTF vesa call
* Set FrameBuffer to card internal address


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42509 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 06:10:52 +00:00
Alexander von Gluck IV e1b9d6e674 * Add LVDS handling for TMDSB
* Fix crash situation if no monitors detected
* Assume TMDSB if no monitors sensed (temporary)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42508 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-29 03:32:01 +00:00
Alexander von Gluck IV a956672a33 * Fix a few spots where we were checking for NULL unneededly
* Fix a few spots where we *should* of been checking for NULL
  to prevent referencing a null pointer.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42505 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 02:26:49 +00:00
Alexander von Gluck IV 13e2521356 * Fix free NULL check style violations
* Remove linux style EINVAL


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42504 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-27 01:42:43 +00:00
Alexander von Gluck IV 659fefbd43 * Insert missing case break, CID 10659
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42500 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:36:49 +00:00
Alexander von Gluck IV 271ed0f390 * Fix improper sizeof, CID 10628
* Improve malloc check to look for NULL, CID 10698
* Remove unused size_t


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42499 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 18:27:39 +00:00
Alexander von Gluck IV 40a5a5a0ac * Rename of_region type template as per Axel
* Rename of_support.h/cpp back to support.cpp as per Axel


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42498 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 16:42:14 +00:00
Alexander von Gluck IV bf0e980dc4 * Fix a few style issues as per Axel
* Rename a few variables to make more sense
* OF_FAILED is a signed int.. fix return of of_address_cells
* OF_FAILED is a signed int.. fix return of of_size_cells


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42497 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-26 15:09:18 +00:00
Alexander von Gluck IV ed8b50f79a small tab fix; no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42490 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:52:00 +00:00
Alexander von Gluck IV 8320d948d5 small style fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42489 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:46:24 +00:00
Alexander von Gluck IV d24ddec4e4 * Move platform support.cpp into less generic of_support.cpp
* Add header file to support of_support.cpp
* Add support functions to obtain address and size cell lengths
* Small style cleanups
* Add support for G5 PowerPC cpus...
* Refactor memory region code to be aware of 64-bit OF addresses.
  As-is the boot loader wouldn't start on G5 systems because
  OpenFirmware memory base addresses are stored as two 32-bit
  unsigned int 'cells' vs one 32-bit unsigned int 'cell' on G3/G4.
  I removed the static struct and replaced it with a template
  and pass uint32 or uint64 depending on the address cell size.
  Thanks for the idea DeadYak!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42486 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 22:26:35 +00:00
Alexander von Gluck IV 0bb924af97 * Add 4250, 4290 PCIIDs as per #7871
* Fix a few tabs to make things consistent


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42485 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-25 17:39:20 +00:00
Alexander von Gluck IV 422a49d2f8 * Add TMDS Set and Power controls
* Call TMDS controls if the monitor is TMDS connected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42467 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 14:38:48 +00:00
Alexander von Gluck IV 9e26987aff * Tab fix
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42466 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:32:25 +00:00
Alexander von Gluck IV d17bf8d4fb * Add fancy detected monitors debug function
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42465 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-23 01:27:59 +00:00
Alexander von Gluck IV f09dc6d975 * Small bit of comment cleanup
* Rename crt_info display_info


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42463 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 05:14:39 +00:00
Alexander von Gluck IV 95e1d7e828 * Large refactoring of display detection and storage
* Create new display.c/h for display management
* Rename global gCRT to gDisplay
* Add CRT connection type into gDisplay
* Add CRT connection index into gDisplay
* Refactor registers for each display into gDisplay via regs
* We now shouldn't freak out too badly on multi-monitors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42462 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 04:59:07 +00:00
Alexander von Gluck IV 787929837b * Add AtomBIOS memory controller callbacks
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42461 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-22 01:24:26 +00:00
Alexander von Gluck IV 75f0db355c * Remove a few superfluous spaces
* Style fixes as per Axel
* Reintroduce removed OF_FAIL checks


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42460 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-21 01:44:45 +00:00
Alexander von Gluck IV 372fe617b2 * Clean up OpenFirmware machine detections
* Detect OpenBIOS used in QEMU and set machine flag
  (OpenBIOS isn't 1:1 Apple OpenFirmware)
* Show at boot which machine type is detected


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42459 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-20 20:31:32 +00:00
Alexander von Gluck IV a1a978ff21 * Clean up translation debug output
* Few small style cleanups
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42458 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-20 17:06:13 +00:00
Alexander von Gluck IV 2e3b6c53ad * Clean up debugging of PowerPC mmu code to be consistent
* Clean up messge and error text
* Begin use B_PRI* macros


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42449 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-19 04:20:38 +00:00
Alexander von Gluck IV 84bcfa3d4b * Add mc.cpp for memory controller functions
* Remove read32MC as it doesn't apply to radeon cards >= r600
* Add tmds.cpp for tmds connected monitor management (current radeons
  only have TMDSA for the moment) still needs TDMSPower, etc.
* Add some MC calls to mode.cpp, causes KDL so commented out atm.
* Add command to idle all DACs (although POWER_RESET doesn't do
  anything on DACs, we should be consistent)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42416 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-12 20:14:31 +00:00
Alexander von Gluck IV 037bc8a188 * Lots of style cleanup on my code
* Remove some badly ported code in FlashBulkWrite


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42414 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 21:35:27 +00:00
Alexander von Gluck IV ff2898e24a * Use haiku provided arch defines Axel pointed out
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42413 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 20:06:39 +00:00
Alexander von Gluck IV b8d5c5cec2 * Some cleanup of some really bad style introduced by myself
* No functional change


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42412 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 20:02:19 +00:00
Alexander von Gluck IV 3fe7883778 * remove superfluous parentheses as per Axel
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42411 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 18:46:37 +00:00
Alexander von Gluck IV 70d8929d63 * Wrap x86 asm in defines
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42410 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 18:05:46 +00:00
Alexander von Gluck IV 414b6dd98e DeadYak gave a better solution to r42407, simply typecast the defines as we don't want to modify the AMD radeon_hd register headers
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42409 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:59:36 +00:00
Alexander von Gluck IV c59e093db8 wrap x86-only asm code in ifdef's to ensure radeon driver compiles on powerpc and other platforms
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42408 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:50:58 +00:00
Alexander von Gluck IV 5da2e46394 prevent radeon_hd enumeral mismatch on powerpc/gcc4
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42407 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-11 17:28:14 +00:00
Alexander von Gluck IV f2fe29a0db * Final (hopefully?) calculation for blank start/end
* Lets actually call PLLPower after PLLSet
* Improve screen blanking function
* Detect DAC/PLL to use separately from CRT id
* Add DACSense that senses displays on DACA/DACB
* Grab CRT in PLL code via gRegister crtid
* Set overscan to 0 for now
* Setting extended video modes now kinda works sometimes :-/


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42397 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-09 05:23:51 +00:00
Alexander von Gluck IV eb5c4b0745 * Style Cleanup
* Remove some un-needed test stuff
* Perform a little re-ordering
* Make scale corrections


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42390 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-08 04:25:21 +00:00
Alexander von Gluck IV d97da786e1 * Refactor PLL legacy registers to be pllIndex aware
* Rename PLL register vars to more closely match AMD defines
* Small logic fixes
* Fix pretty large PLLControlTable bug in legacy set.
  Wasn't using output of PLLControlTable.
* Fix *REALLY* big bug in CRTCGrab.
  Using PLL2 value instead of PLL1 due to incorrect
  index offset of pllIndex.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42389 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-08 03:35:01 +00:00
Alexander von Gluck IV b6c5f46896 * Add D2 GRPH update lock register to priv headers
* Add crtControl global register
* Add grphUpdate storage
* Do some logical reordering of register writes
* Correct crt final power-on checks
* Enhance tracing
* Disable PLL, it is needed but seems to completely break
  the modesetting resulting in black-screen-of-doom.
  (fixing PLL set/calibration is now priority one)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42380 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 22:24:17 +00:00
Alexander von Gluck IV 4c330e8cfd small order of operations fix
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42368 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-04 03:10:32 +00:00
Alexander von Gluck IV 97510b0338 * Introduce a new tab to the Appearance Preflet for Decorator
* Show Decorator information button
* Decorator changes happen in real time on click
* Remove *old* OpenBeOS Decerator selection code
* Still have a little cleanup todo
* Need to give a little focus on revert/default buttons
* Decerator test / screenshots?


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42356 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-07-01 04:46:07 +00:00
Alexander von Gluck IV 26e18b1f89 gcc2 buildfix; few style adjustments
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42347 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-30 21:57:39 +00:00
Alexander von Gluck IV a1d3b4af1e * Add missing DAC code for >= r620
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42286 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 22:09:44 +00:00
Alexander von Gluck IV e3e0bb558a finish off DACPower modes
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42285 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-22 21:17:56 +00:00
Alexander von Gluck IV ab29dee1ed A few style fixes, no functional change
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42207 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 15:24:08 +00:00
Alexander von Gluck IV 6604b1b623 * Break DAC code into sperate source file
* Implement assigning DAC A/B to crt
* Clean up mode change code
* Still some pixel clock wierdness


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42205 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 14:39:07 +00:00
Alexander von Gluck IV f7f3828178 pass device pciid through to accelerant
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42203 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-16 03:10:17 +00:00
Alexander von Gluck IV d1d65a79cb * malloc an array of pointers to hold active crt info, mode, limits, etc.
Plan to move gRegister into the crt struct at some point.
* Few style fixes
* Added function to probe edid of attached monitors and populate CRT info
* Disable VGA control modifications temporarly while I hammer out some issues.
* Fix radeon card model checks (bitwise & is not |)
* Finally fix? blanking start / end calculations using porch
* Use mask for setting sync polarity
* Add overscan (8 pixels is default?)
* Disable PLLSet/Power for the moment as it seems to muck things up.
* is_mode_supported now validates if a mode line is with the monitors
  h/v sync frequencies (how does is_mode_supported know what crt the os wants?)
* PLL Write/Read don't actually use the PLL Write/Read functions (thanks AMD!)
* Added better PLL legacy (r600-r610) support
* Consistantly give no DCCG on legacy cards.
* Tracing!


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42191 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-15 18:22:06 +00:00
Alexander von Gluck IV 58ddd30b23 add universal RadeonHD power states
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42189 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-15 15:44:14 +00:00
Alexander von Gluck IV b3ce8cd8ba small logic fix on my part, not properly handling usb drives with empty media. Potential fix to #7687
git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42186 a95241bf-73f2-0310-859d-f6bbb57e9c96
2011-06-14 16:39:35 +00:00