History log of /haiku-fatelf/src/add-ons/accelerants/radeon_hd/atombios/atom.cpp
Revision Date Author Comments
# 32ef94aa 13-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS loop failure detection now time based

* If the same call is made for 5 seconds straight, fail.
* Resolves random AtomBIOS failures.
* AtomBIOS failures now represent *real* bugs :)


# 89e7764d 12-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Tune AtomBIOS failure threshold

* Fixes edge cases of AtomBIOS parser failing
before there really was a problem.
* Hopefully resolves the rest of the random
failures and #5722
* If this doesn't work, I'll rewrite the parser
to use jiffies (snooze)
* Thanks for all the testing Disreali!


# a5e3ee78 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS, correct logic. No functional change


# 24dfcdc1 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS parser improvements

* "DANGER" is a little strong of a warning
* Provide better tracing when things go wrong
* Give raw table / operation values in addition
to AtomBIOS pointers


# 24d19f4d 19-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix silly unsigned vs signed bug in gcc2


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42886 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b4aacc2 19-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* backport linux AtomBIOS parser bugfix...
Fixes memory corruption on some boards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42885 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2cc1b103 14-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* make atombios lockup checking adjustments more robust


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d06251a9 11-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* make ERROR define to always show AtomBIOS parsing errors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42739 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3ec7fed 09-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* bug fix in AtomBIOS data table parser, incorrect int size causing issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42729 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c062f84 23-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* as we are doing a lot of math on bios in gAtomContext, lets make it a
uint8 vs a void pointer.
* guys at AMD confirmed that the method looking directly at the object table
should be the only method used on modern cards (r600 or later)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42683 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 58311083 21-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7a2bb2b0 11-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 5cdfd17b 11-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 0cd93754 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 77e8ac07 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7a2d0c5e 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# ee5d8bd0 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 81e071b7 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7eb6bbc7 05-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 6da3f7d4 05-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 88932cfb 04-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* repair time by slowing it down


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42580 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7f40406 04-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* improve debugging in AtomBIOS atom.c parser


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42579 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32e7d18a 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 22582a29 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 51360674 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 32ef94aa9145f192cbbee7a72d5fadd924246d21 13-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS loop failure detection now time based

* If the same call is made for 5 seconds straight, fail.
* Resolves random AtomBIOS failures.
* AtomBIOS failures now represent *real* bugs :)


# 89e7764d9892c90a6a0110c00e70ae9efe18f0e3 12-Mar-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Tune AtomBIOS failure threshold

* Fixes edge cases of AtomBIOS parser failing
before there really was a problem.
* Hopefully resolves the rest of the random
failures and #5722
* If this doesn't work, I'll rewrite the parser
to use jiffies (snooze)
* Thanks for all the testing Disreali!


# a5e3ee78eeb19141af775feddfeb200a328d92df 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS, correct logic. No functional change


# 24dfcdc1950fac5f74340ebe11a05a06b433a6a5 22-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: AtomBIOS parser improvements

* "DANGER" is a little strong of a warning
* Provide better tracing when things go wrong
* Give raw table / operation values in addition
to AtomBIOS pointers


# 24d19f4dab07a1cf7f15ecc3c5ba6d66615725d0 19-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix silly unsigned vs signed bug in gcc2


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42886 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 9b4aacc2100bce4e5a885c77db32db6703f05192 19-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* backport linux AtomBIOS parser bugfix...
Fixes memory corruption on some boards.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42885 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2cc1b103860866ce3445df7707fb32f70437aba4 14-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* make atombios lockup checking adjustments more robust


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42849 a95241bf-73f2-0310-859d-f6bbb57e9c96


# d06251a95a7c8448eb2807ef96a3791d4a414249 11-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* make ERROR define to always show AtomBIOS parsing errors


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42739 a95241bf-73f2-0310-859d-f6bbb57e9c96


# c3ec7fedec4784b343767adcb37c4722924b18dc 09-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* bug fix in AtomBIOS data table parser, incorrect int size causing issues


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42729 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 2c062f84e5ff05c782c321d9ceceffb05b909738 23-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* as we are doing a lot of math on bios in gAtomContext, lets make it a
uint8 vs a void pointer.
* guys at AMD confirmed that the method looking directly at the object table
should be the only method used on modern cards (r600 or later)


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42683 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 583110831e1d82221da825ae1b45a39a833880f0 21-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7a2bb2b04c6c0bc7d5c1d93095e443185dd53524 11-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 5cdfd17b4b661a52301f2b480169f711c539e99a 11-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 0cd93754a4038ed73c61ce34dd398c14b3ec6dee 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 77e8ac07c6bcbc944a7c631f91bbaf64ab99634c 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7a2d0c5e92cc77ee5a59c924a2d083e0f711a89a 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# ee5d8bd0a8788c9017841a35a2a00a5ac481e6ca 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 81e071b76e191a140fe6a79f12d344aed8ba636e 06-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 7eb6bbc78c1d608f4e6f8574bf219d05506b8ccf 05-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 6da3f7d4c1de302697f5d948057a68dd428277f6 05-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 88932cfb416cf14f99ea48f18611a5828537102c 04-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* repair time by slowing it down


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42580 a95241bf-73f2-0310-859d-f6bbb57e9c96


# e7f4040697702e0a799bae50fd0387486f3ee842 04-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* improve debugging in AtomBIOS atom.c parser


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42579 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 32e7d18a75c4cc95a78858bb3b82a199a8e494b7 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 22582a297c7e74465243aad35a040ff3822cd9ce 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 5136067474e5350ce28b33e809580dd8118166c1 02-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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