History log of /haiku/headers/private/graphics/radeon_hd/radeon_hd.h
Revision Date Author Comments
# 265899da 04-Aug-2022 Jérôme Duval <jerome.duval@gmail.com>

radeon_hd: from Cedar, memory sizes as bytes only for PALM/SUMO/SUMO2

should help with #17664
register change from Tahiti for #17377

Change-Id: I52b9691cd6a04b58b70e905bc29e803f06936789
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5526
Reviewed-by: John Scipione <jscipione@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 774c33c2 18-Jun-2022 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Drop unused overlay, cursor registers

* Also drop unused vblank semaphore storage
* Spotted by X512. These are from intel_extreme
which was used as a base *ages* ago.

Change-Id: I2a6baaa4849baeb8c8cf10e2046d0fbe10c3a356
Reviewed-on: https://review.haiku-os.org/c/haiku/+/5389
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: waddlesplash <waddlesplash@gmail.com>
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>


# 82df3fc6 20-Oct-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add polaris HPD on transmitter config

Change-Id: I899e75c1556acc3462812ee6503dd1b782af2a96


# b9b2a1dc 14-Sep-2021 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: yolo add navi chipsets

* PCI ID's from Linux
* There are a bunch of NAVI quirks around 3d rendering pipelines
but not many around modesetting (which is the only thing we care
about)

Change-Id: If63e31fe1d37d9d95f2a71c222a4cda7a2914a5e
Reviewed-on: https://review.haiku-os.org/c/haiku/+/4467
Tested-by: Commit checker robot <no-reply+buildbot@haiku-os.org>
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>


# 3853f362 14-Jun-2020 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Cram in a bunch of new PCIID's

Change-Id: Ifbd82ef7bfc2c39b2aeb5c25be177421cd22d246
Reviewed-on: https://review.haiku-os.org/c/haiku/+/2920
Reviewed-by: Alex von Gluck IV <kallisti5@unixzen.com>
Reviewed-by: Adrien Destugues <pulkomandy@gmail.com>


# 4bcba8a8 22-Sep-2017 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add missing FirePro, Add vega, cleanup names.

* Vega is 100% untested.
* I think AMD is doing away with the DCE version numbers.


# 38f17b01 28-Sep-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Polaris10 power distribution fix

* Helps prevent mainboard explosions and other bad stuff.
* ...maybe not explosions, but bad things.
* The RX 480 reference design can pull as much as 90W
from its PCIe slot at load. PCIe is rated for 75W.
* This change overloads the PCIe power cables vs the PCIe
slot. The PCIe power cables can handle going over spec.
* Untested since we really can't come close to loading a
RX 480 without hardware OpenGL ^_^
* Should be able to test on real hardware within a week.


# 30d631c8 30-Jun-2016 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add new Polaris GPU, untested


# 1b69f339 15-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Properly and consistently pick HPD ID


# bf8fe3dd 07-Jul-2015 Alexander von Gluck IV <Alex.vonGluck@r1soft.com>

radeon_hd: Add Hawaii,Topaz,Tonga,Carrizo chips/cards


# e321d716 25-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add latest generation radeon_hd cards

* These aren't tested, but since we go off of DCE
versions for a lot of stuff, they may work.
* AMD doens't include market names in their drivers
anymore, so if we want to label them it will take
additional work.


# 42eed3ba 16-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Fix incorrect name -> chipset mapping

* Put names and chipsets next to each other to
help prevent further mismatch.
* Fix potential (but unlikely) string overflow
* CID 611140


# 99118351 08-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Drop marketing names

* They are all over the place.. I give up
* Going off of engineering names and DCE is more accurate
* A lot of this info came from the x.org wiki
* I'd like to transition some of the engineering
name checks to use DCE versions.. they tend to be more
accurate and exact. (in some cases we can't, but most of
the time we can)


# 4ce958fc 29-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Cleanup, new cards

* Fix some incorrect chip codenames
* Introduce a dual gpu flag
* Add some new chipsets and document
the next generation of chips


# 7d9c1f30 28-Jan-2013 Bill Randle <billr@neocat.org>

radeon_hd: Add Northern Island registers


# f8af3174 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Final round of header cleanup

* This puts the registers in a better state and ensures
all model dependant defines are prefixed with card series
* Consolidate evergreen defines into single header


# 93aac98d 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: r5xx to Avivo define cleanup

* Reorganize and clean up card defines
* Fix define spaces
* Unify card naming
* No (real) functional change


# 45dc5c46 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add Southen Island gpu temp sensor code

* Add AMD SI defines in si_reg.h
* Prefix SI registers with SI_
* Tab and space cleanup


# 0a2f1274 15-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Update southern islands info

* Add 7770 and 7750 pciid's
* Remove Thames and reorganize code names for SI
(seems the codenames changed before release)
* Untested as always


# 0188ca92 12-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

First attempt at older Radeon card support
* add missing chipset ranges
* add a few more older (X1200) PCI ID's (mostly IGP)
* add code to detect and set frame buffer size on old chipsets
* we get to the connector detection currently and fail due to the
lack of legacy support on my X1200 IGP


# 359b926f 08-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style cleanup of shared storage names
* return better data on card
* display chipset flags in screen preflet


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


# 76a3e009 08-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add lots of missing evergreen defines
* evergreen headers are split due to different
header copyrights
* detect and set up evergreen memory controler
* change the way we manage radeon chipsets to
more closely match drm driver as the chipset
model numbers aren't in order and change from
numbers to names.
* check for evergreen when populating frame buffer
information.
* style cleanup


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


# 025d4eed 27-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* reorganize register definitions
There were a large number if incorrect, duplicated, misplaced
registers that were leading to bugs in the code. This is my first
shot at cleaning them up. Luckly as we are using AtomBIOS the number
of registers we need to know about is shrinking.
* remove registers left over from register banging days
* r770 is less then r710, r720 in the drm sources. Fix in code.
* enable newer radeons for testing


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


# 46af8165 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* redesign pretty much everything frame buffer related
* don't resize the frame buffer after mapping it.. doesn't make sense
* add memory controller code and program the memory controller for r600
* remove unneeded frame_buffer_int
* don't malloc mc_info, waste of time
* fix scaler setting
* vramStart in mc should be 0... get vertical colored lines however when this
this is set properly (everything in mc_info is the MC view of FB BAR)
When vramStart is the FB physical address... i get proper video on some cards
... thoughts?


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


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

* add chipset flags vs isIGP
* we can now utilize these chipset
flags throughout the driver to better id
cards and features
* remove leftover BIOS size define from intel skel
* no *real* functional change


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


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

* simplify some trace statements
* add potential support for IGP chipsets
* igp code is *untested* and should work *in theory*
* potentially resolves #8040 / #8046 ?


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


# a4ba3a0f 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* pass dceMajor and dceMinor to accelerant
* will fix other var names to match style guidelines
shortly


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


# 9774c58f 18-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove un-used registers that were left over from
base intel_extreme driver long ago
* no functional change


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


# d3e8b642 19-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# a8232073 10-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# c9c7be9a 07-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 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


# 3f98c183 03-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


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

* 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


# 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


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

* 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


# eb027537 29-Jul-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# f7f38281 15-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

pass device pciid through to accelerant

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


# 58ddd30b 15-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add universal RadeonHD power states

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


# 217c0b1d 26-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add surface address high handling; set primary and secondary surface frame buffer offset

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


# 3be5e036 24-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* rename graphics_memory to frame_buffer. lets keep consistant
* pass mapped frame buffer area id to accelerant
* remove my temporary hacked together frame buffer memory mapping
* completely rely on PCI BAR for now for aperture size / location instead of
R6XX_CONFIG_FB_BASE reg.
* Remove my temporary AllocateFB function.
* set grphPrimarySurfaceAddr to physical memory frame buffer location (offset 0)
* fix P/N sync setting.


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


# 51a43d0f 19-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

ensure framebuffer doesn't exceed PCI bar; add basic monitoring of frame buffer memory allocation; fix return of framebuffer to OS to be the correct area

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


# 882e2ef7 18-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

remove frame_buffer_pci as it duplicates frame_buffer_phys, remove frame_buffer_base as it duplicates framebuffer_area

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


# 90af9543 18-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* actually set device_chipset before reading it.
* make shared memory info naming clearer.
* move frame buffer internal offset read to driver
* remove check of > 512MB as we really should always use frame_buffer_size


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


# 56e6d991 17-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

make math easier to read; fix chipset int length; additions to CardScale

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


# 6c43ea63 16-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

read and store aperture size (will be used in fblocation calculations)

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


# 2be925fd 15-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


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


# 344802cb 15-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

stir in evergreen/r800 mixins from Xorg radeonhd driver, may need to add to this as I just grep'ed evergreen; r800/evergreen has a different set of registers for some things, thus my work so far not working for me :(

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


# 2613175e 09-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add commented out radeon_hd driver/accel to HaikuImage
* add boot item support to radeon hd driver
* add edid storage to shared info
* add pull of active monitor VESA EDID to radeon hd driver (until AtomBios complete)
* EDID pulled in driver now passed to create_display_modes
* move registers to external stock xorg radeon hd register headers (lic. allows it)


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


# 67f2df23 28-Apr-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add some R800 cards to known pci ids; implement basic known card type/model storage

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


# 917235a8 03-Apr-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add some needed generic radeonhd registers, added Xorg copyright as I am taking a lot of their register definitions

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


# 75f51fc7 21-Mar-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

remove a bunch of leftover Intel extreme registers, add in relevant ATI r600 registers from Xorg driver, remove kATIVendorId from driver and use vendor var from global private header

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


# a90ebd77 13-Apr-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Work in progress of a Radeon HD 3200 driver to change the display mode (status when I leave the coding spring). At least it shows a picture but with a wrong scaling.

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


# 1b69f3394ba2521b952c2e2cbe644eb0929fdbd4 15-Jul-2015 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Properly and consistently pick HPD ID


# bf8fe3ddb36985b4632269866bd10cf440bf53b9 07-Jul-2015 Alexander von Gluck IV <Alex.vonGluck@r1soft.com>

radeon_hd: Add Hawaii,Topaz,Tonga,Carrizo chips/cards


# e321d716e4d42a2462d3229331290bcd0f07202f 25-May-2014 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add latest generation radeon_hd cards

* These aren't tested, but since we go off of DCE
versions for a lot of stuff, they may work.
* AMD doens't include market names in their drivers
anymore, so if we want to label them it will take
additional work.


# 42eed3ba691cd89d758eddaae8d44593d026b9bd 16-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Fix incorrect name -> chipset mapping

* Put names and chipsets next to each other to
help prevent further mismatch.
* Fix potential (but unlikely) string overflow
* CID 611140


# 991183511b154ecf3a60e5be62451cd997c7f6a6 08-Jul-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Drop marketing names

* They are all over the place.. I give up
* Going off of engineering names and DCE is more accurate
* A lot of this info came from the x.org wiki
* I'd like to transition some of the engineering
name checks to use DCE versions.. they tend to be more
accurate and exact. (in some cases we can't, but most of
the time we can)


# 4ce958fcd4d3476aea984a9318f33357475955f6 29-Jun-2013 Alexander von Gluck IV <kallisti5@unixzen.com>

RadeonHD: Cleanup, new cards

* Fix some incorrect chip codenames
* Introduce a dual gpu flag
* Add some new chipsets and document
the next generation of chips


# 7d9c1f30f19f7d5de848a8d0498b225056db37b3 28-Jan-2013 Bill Randle <billr@neocat.org>

radeon_hd: Add Northern Island registers


# f8af317470d973fb57fb231b3f21030bbc8137c1 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Final round of header cleanup

* This puts the registers in a better state and ensures
all model dependant defines are prefixed with card series
* Consolidate evergreen defines into single header


# 93aac98d0a9b8ce27f94eb449cfc742446a50274 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: r5xx to Avivo define cleanup

* Reorganize and clean up card defines
* Fix define spaces
* Unify card naming
* No (real) functional change


# 45dc5c466497fccb8967779c3345a7d1af01fdda 30-Jul-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Add Southen Island gpu temp sensor code

* Add AMD SI defines in si_reg.h
* Prefix SI registers with SI_
* Tab and space cleanup


# 0a2f1274ffe0f521add07f41964c7f88f9890b15 15-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Update southern islands info

* Add 7770 and 7750 pciid's
* Remove Thames and reorganize code names for SI
(seems the codenames changed before release)
* Untested as always


# 0188ca92a5605c2d5b02752da7d2cbe89e107eeb 12-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

First attempt at older Radeon card support
* add missing chipset ranges
* add a few more older (X1200) PCI ID's (mostly IGP)
* add code to detect and set frame buffer size on old chipsets
* we get to the connector detection currently and fail due to the
lack of legacy support on my X1200 IGP


# 359b926f79d7e7ac697d6aaf28f704b5d5f1283f 08-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* style cleanup of shared storage names
* return better data on card
* display chipset flags in screen preflet


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


# 76a3e009ddb1b0c649bca1f84376ec2eb6c096c9 08-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add lots of missing evergreen defines
* evergreen headers are split due to different
header copyrights
* detect and set up evergreen memory controler
* change the way we manage radeon chipsets to
more closely match drm driver as the chipset
model numbers aren't in order and change from
numbers to names.
* check for evergreen when populating frame buffer
information.
* style cleanup


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


# 025d4eed52f31e0047268227cde722164e52e2d8 27-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* reorganize register definitions
There were a large number if incorrect, duplicated, misplaced
registers that were leading to bugs in the code. This is my first
shot at cleaning them up. Luckly as we are using AtomBIOS the number
of registers we need to know about is shrinking.
* remove registers left over from register banging days
* r770 is less then r710, r720 in the drm sources. Fix in code.
* enable newer radeons for testing


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


# 46af81655d98616bb2c30a2b76563a3d440ded16 25-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* redesign pretty much everything frame buffer related
* don't resize the frame buffer after mapping it.. doesn't make sense
* add memory controller code and program the memory controller for r600
* remove unneeded frame_buffer_int
* don't malloc mc_info, waste of time
* fix scaler setting
* vramStart in mc should be 0... get vertical colored lines however when this
this is set properly (everything in mc_info is the MC view of FB BAR)
When vramStart is the FB physical address... i get proper video on some cards
... thoughts?


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


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

* add chipset flags vs isIGP
* we can now utilize these chipset
flags throughout the driver to better id
cards and features
* remove leftover BIOS size define from intel skel
* no *real* functional change


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


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

* simplify some trace statements
* add potential support for IGP chipsets
* igp code is *untested* and should work *in theory*
* potentially resolves #8040 / #8046 ?


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


# a4ba3a0f61a920cb64dca0c49337586f45760a12 21-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* pass dceMajor and dceMinor to accelerant
* will fix other var names to match style guidelines
shortly


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


# 9774c58f55784c517aaa1a4c5b8461f5cccc165b 18-Oct-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove un-used registers that were left over from
base intel_extreme driver long ago
* no functional change


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


# d3e8b64208159ab71ca24f58ec7e56f1aa4bb5e6 19-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# a8232073639c1688160fa76541136cd9f93b65de 10-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# c9c7be9a542ef73705afae1119f5ad0b1b219628 07-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# 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


# 3f98c1831c538d84e71cb38ec4e89d19e735d02d 03-Aug-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


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

* 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


# 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


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

* 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


# eb027537793a9f57d07dc87d86e482e51c8d4b2b 29-Jul-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* 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


# f7f3828178565188556e211cf56702f7ca810a89 15-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

pass device pciid through to accelerant

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


# 58ddd30b23ba3d83ea1d5830e3c18f74a1ec5511 15-Jun-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add universal RadeonHD power states

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


# 217c0b1d48b152376e738e2d6355854f4b872fa7 26-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add surface address high handling; set primary and secondary surface frame buffer offset

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


# 3be5e0365263c13a71e61e3097f93c43bac375cf 24-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* rename graphics_memory to frame_buffer. lets keep consistant
* pass mapped frame buffer area id to accelerant
* remove my temporary hacked together frame buffer memory mapping
* completely rely on PCI BAR for now for aperture size / location instead of
R6XX_CONFIG_FB_BASE reg.
* Remove my temporary AllocateFB function.
* set grphPrimarySurfaceAddr to physical memory frame buffer location (offset 0)
* fix P/N sync setting.


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


# 51a43d0ff44f711768d43462a253e4ff5806a608 19-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

ensure framebuffer doesn't exceed PCI bar; add basic monitoring of frame buffer memory allocation; fix return of framebuffer to OS to be the correct area

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


# 882e2ef79bc7f7b506b43f0e5a8d7eb5b081d482 18-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

remove frame_buffer_pci as it duplicates frame_buffer_phys, remove frame_buffer_base as it duplicates framebuffer_area

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


# 90af9543879078a6f9a6de1bbf997917b4fc7501 18-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* actually set device_chipset before reading it.
* make shared memory info naming clearer.
* move frame buffer internal offset read to driver
* remove check of > 512MB as we really should always use frame_buffer_size


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


# 56e6d991bb7d55b7dcf3a8c90a7fa2e563064908 17-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

make math easier to read; fix chipset int length; additions to CardScale

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


# 6c43ea63367b1533c2c9a5b054558ebff385e57a 16-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

read and store aperture size (will be used in fblocation calculations)

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


# 2be925fd04f6cb32b3c4775ffcf75acb4c03d00e 15-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* turns out r800 has different register locations :(
* remove device_type and replace with device_chipset
* change MEMSIZE to >> 10 as r600-r700 store this in bytes (r800 uses MB and will be fixed soon)
* add if statement to select what register locations to use based on chipset
** Maybe use a struct or something to store these in a standardized way?


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


# 344802cb7db632e657691ce717fbcae31f0e2143 15-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

stir in evergreen/r800 mixins from Xorg radeonhd driver, may need to add to this as I just grep'ed evergreen; r800/evergreen has a different set of registers for some things, thus my work so far not working for me :(

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


# 2613175e19f6fd2969bd35fce36ba89fc20f88d9 09-May-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add commented out radeon_hd driver/accel to HaikuImage
* add boot item support to radeon hd driver
* add edid storage to shared info
* add pull of active monitor VESA EDID to radeon hd driver (until AtomBios complete)
* EDID pulled in driver now passed to create_display_modes
* move registers to external stock xorg radeon hd register headers (lic. allows it)


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


# 67f2df2363a347b4b24b777456de34a336037137 28-Apr-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add some R800 cards to known pci ids; implement basic known card type/model storage

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


# 917235a8b6de27d34d88f81a55fa8ac3fbfa168f 03-Apr-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

add some needed generic radeonhd registers, added Xorg copyright as I am taking a lot of their register definitions

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


# 75f51fc7876584ad1d080e8c0ff110695c84b817 21-Mar-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

remove a bunch of leftover Intel extreme registers, add in relevant ATI r600 registers from Xorg driver, remove kATIVendorId from driver and use vendor var from global private header

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


# a90ebd77eeae5eca9600d039dc1298898e38278a 13-Apr-2010 Clemens Zeidler <clemens.zeidler@googlemail.com>

Work in progress of a Radeon HD 3200 driver to change the display mode (status when I leave the coding spring). At least it shows a picture but with a wrong scaling.

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