#
25ef6f0b |
|
08-Sep-2017 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Implement AtomBIOS debug op
|
#
f8df3953 |
|
08-Apr-2016 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Fix build. Port missed macros in AtomBIOS parser
|
#
190b33c4 |
|
04-Mar-2016 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Add updated / missing atombios opcodes * Newer cards introduce two new opcodes mul32 and div32 * Add completely missing processds opcode
|
#
1e6dd3fe |
|
24-Apr-2015 |
Murai Takashi <tmurai01@gmail.com> |
Fix GCC 5 maybe-uninitialized warnings. Signed-off-by: Adrien Destugues <pulkomandy@pulkomandy.tk> Fixes #12020
|
#
97fb429c |
|
09-Nov-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
radeon_hd: fix typecast in atombios table header parser * The pointer mdt should point to the start of the contents of the master data table. As defined in struct ATOM_MASTER_DATA_TABLE, the content begins 4 bytes after the beginning of the table (which in turn is ctx->data_table bytes from the start of the AtomBIOS). The wrong parantheses in the cast moved the pointer somewhere else completely. * That this apparently worked on many cards is because the mdt pointer in this function is used just to make sure that the following dereference is not a NULL-pointer access. The actual dereference is then done using the CU16() and CU8() macros which do the casts correctly. However, it only worked when the wrong pointer plus index lead to some byte which was, by chance, not zero. For many chips, this was the case. * For the AtomBIOS of a Radeon HD7850M (Heathrow Pro) it didn't work out though and the driver couldn't parse tables. With this fix, it now works on such chips as well. * Also, fix the same problem in code for master command table.
|
#
096413db |
|
30-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Upgrade AtomBIOS parser * Bring inline to current Linux version * Apply upstream bug fixes to AtomBIOS * Update atombios headers to latest version
|
#
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
|
#
97fb429c556740c2968b9c48605d8fb4f7fa5007 |
|
09-Nov-2014 |
Julian Harnath <julian.harnath@rwth-aachen.de> |
radeon_hd: fix typecast in atombios table header parser * The pointer mdt should point to the start of the contents of the master data table. As defined in struct ATOM_MASTER_DATA_TABLE, the content begins 4 bytes after the beginning of the table (which in turn is ctx->data_table bytes from the start of the AtomBIOS). The wrong parantheses in the cast moved the pointer somewhere else completely. * That this apparently worked on many cards is because the mdt pointer in this function is used just to make sure that the following dereference is not a NULL-pointer access. The actual dereference is then done using the CU16() and CU8() macros which do the casts correctly. However, it only worked when the wrong pointer plus index lead to some byte which was, by chance, not zero. For many chips, this was the case. * For the AtomBIOS of a Radeon HD7850M (Heathrow Pro) it didn't work out though and the driver couldn't parse tables. With this fix, it now works on such chips as well. * Also, fix the same problem in code for master command table.
|
#
096413dbce5a84e1ff3fd59e558398f04492b369 |
|
30-Dec-2013 |
Alexander von Gluck IV <kallisti5@unixzen.com> |
radeon_hd: Upgrade AtomBIOS parser * Bring inline to current Linux version * Apply upstream bug fixes to AtomBIOS * Update atombios headers to latest version
|
#
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
|