History log of /haiku-fatelf/src/add-ons/accelerants/radeon_hd/gpu.h
Revision Date Author Comments
# 817c114d 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: rework some pll code

* Force fractional feedback divider on APU's
* Spread Spectrum is now probed more correctly
across multiple encoders and cards
* SS still disabled however.


# 63624e40 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: reorganize some pll code

* Move DisplayPort external pixel clock out of pll
as this frequency is card-wide.
* Add new function to pull display clock frequency
and other card-wide settings.
* Set displayDefault frequency card-wide
* My DisplayPort LVDS bridge laptop now kind of works
(a clock somewhere seems a little off though)


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

radeon_hd: Card define cleanup

* Trying to do cleanup on the layout of these headers


# 325089f1 14-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Stub out gfx ring boot.

* Tab fix as well


# 745450ad 11-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: More initial ring queue work

* Rename RenderQueue to RingQueue to be more generic
* We will need two Ring Buffer types, one for
host -> gpu (render/cp data) and one gpu -> host (irq)
* Add header guard to ringqueue.h
* Things still may change as I work up to a bigger picture.


# 59bfec57 25-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better implement GPU idle function

* Function only checked for idle and didn't
wait for the gpu memory controler to idle.
* May resolve mode setting issues on some
newer hardware.


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

radeon_hd: Disable spread spectrum

* SS requires complex pll adjustments that we don't do atm


# 4540f5e9 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Create connector source file, move connector bus calls into it

* this will help break apart some of the sources
* display bus communications really don't belong with GPU operations
* rename functions to better describe their actions


# 30207c6c 27-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Move thermal query into new driver sensor source file

* thermal query still works pre-atombios init


# 54fda1c6 26-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Enhance lvds laptop panel support

* if an edid request for LVDS panel is detected, we now
return true and the VESA edid info.
* add #if 0'ed function to pull prefered timing info from atombios
on LVDS panels, still need to generate a fake EDID with this.
* not sure which method above is better... maybe a combination of both


# 0cd97231 21-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add first hints of thermal monitoring on radeon cards

* add a few missing/needed header defines
* show GPU temp in millidegrees C on r600/r700
* evergreen+ support soon
* function may be moved to driver long term once testing done


# e9e9c194 07-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* change the way we store GPU MC state information
on halt / resume as it doesn't need to persist.
* rename mc_info -> fb_info to better communicate
it's contents
* add some gart (gtt) storage and prep AGP VM code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43212 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


# dd295058 27-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remap GPIO pin storage to global struct as they really aren't tied to
a connector. (thus allowing for future non-ddc gpio devices like fan speed)
* map all i2c gpio pins on accelerant init
* use a smaller sub function to attach gpio info to connector i2c info


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


# e40c0068 21-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* correct some naming after deeper investigation of
linux drm driver. Seems radeon_hd isn't limited to the
standard 0xa0 i2c slave address.


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


# 6fca1a84 19-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix header function define
* while doing our last-resort fallback, skip
TV DAC encoders as it is likely that is not
what the user wants. This may need to change
as the driver matures. (ex: only a tv is
connected, no edid)


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


# 54c0390b 14-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove un-needed i2c_bus on each connector... we simply set this up each time
it's needed using the gpio information
* rename gpio information struct to be cleaner and shorter
* add function to debug found connectors
* set gpio mask to 1 vs the defined mask... this seems to get us closer
to working ddc / edid per connector
* change gpio_info u16's to u32's to ensure we aren't overflowing anything
* fix bug always setting hw_capable true
* change TRACE to ERROR to always show debug data when called


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


# b5fc0237 06-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add i2c/ddc info storage to connector
* add edid info storage to display
* pass i2c/ddc information to common i2c code
* add code to read/write i2c/ddc
* i2c/ddc read/write code works 'in theory', needs tested
* detect monitors based on presence of edid on connector


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


# cfda569d 02-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add function to set up i2c bus for connector
* few tab fixes
* add Axel as author as the base i2c stuff is from intel_extreme


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42709 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


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

* 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


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

* 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


# 817c114de7e2e71d98adccb66358e94244a1486a 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: rework some pll code

* Force fractional feedback divider on APU's
* Spread Spectrum is now probed more correctly
across multiple encoders and cards
* SS still disabled however.


# 63624e404b5eb6fc11a503331e67ce29af074021 07-Aug-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: reorganize some pll code

* Move DisplayPort external pixel clock out of pll
as this frequency is card-wide.
* Add new function to pull display clock frequency
and other card-wide settings.
* Set displayDefault frequency card-wide
* My DisplayPort LVDS bridge laptop now kind of works
(a clock somewhere seems a little off though)


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

radeon_hd: Card define cleanup

* Trying to do cleanup on the layout of these headers


# 325089f1fcf20eb45c83e834e23f810f0533aa57 14-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Stub out gfx ring boot.

* Tab fix as well


# 745450ade8a43afb540bae9fd1e17fb3ba0e0842 11-Apr-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: More initial ring queue work

* Rename RenderQueue to RingQueue to be more generic
* We will need two Ring Buffer types, one for
host -> gpu (render/cp data) and one gpu -> host (irq)
* Add header guard to ringqueue.h
* Things still may change as I work up to a bigger picture.


# 59bfec576dcc58ab342be90facc3c512b9ed0d4a 25-Feb-2012 Alexander von Gluck IV <kallisti5@unixzen.com>

radeon_hd: Better implement GPU idle function

* Function only checked for idle and didn't
wait for the gpu memory controler to idle.
* May resolve mode setting issues on some
newer hardware.


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

radeon_hd: Disable spread spectrum

* SS requires complex pll adjustments that we don't do atm


# 4540f5e929448b82266a16ad5c2ea9d5f6ed5ed3 08-Dec-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Create connector source file, move connector bus calls into it

* this will help break apart some of the sources
* display bus communications really don't belong with GPU operations
* rename functions to better describe their actions


# 30207c6c8c18cafcc5451a7d5e4cb9c6b7c2c4e2 27-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Move thermal query into new driver sensor source file

* thermal query still works pre-atombios init


# 54fda1c6dfe5f9b76df5c0da2dbffbe591699a67 26-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Enhance lvds laptop panel support

* if an edid request for LVDS panel is detected, we now
return true and the VESA edid info.
* add #if 0'ed function to pull prefered timing info from atombios
on LVDS panels, still need to generate a fake EDID with this.
* not sure which method above is better... maybe a combination of both


# 0cd972316db9c56329f5f4e414826c3a01237f33 21-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

Add first hints of thermal monitoring on radeon cards

* add a few missing/needed header defines
* show GPU temp in millidegrees C on r600/r700
* evergreen+ support soon
* function may be moved to driver long term once testing done


# e9e9c194f9ca6cf30f8baeb15a89278541d5123d 07-Nov-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* change the way we store GPU MC state information
on halt / resume as it doesn't need to persist.
* rename mc_info -> fb_info to better communicate
it's contents
* add some gart (gtt) storage and prep AGP VM code


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@43212 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


# dd295058932cfb721aff7b714256dd9e5c334952 27-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remap GPIO pin storage to global struct as they really aren't tied to
a connector. (thus allowing for future non-ddc gpio devices like fan speed)
* map all i2c gpio pins on accelerant init
* use a smaller sub function to attach gpio info to connector i2c info


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


# e40c00685cbbfc348064e71f4c38c551232f8f40 21-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* correct some naming after deeper investigation of
linux drm driver. Seems radeon_hd isn't limited to the
standard 0xa0 i2c slave address.


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


# 6fca1a84fcc67f1fcc59e8d466c3638adde01d5c 19-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* fix header function define
* while doing our last-resort fallback, skip
TV DAC encoders as it is likely that is not
what the user wants. This may need to change
as the driver matures. (ex: only a tv is
connected, no edid)


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


# 54c0390b901eb0606bc6c0b46fb0e0c6530f4eda 14-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* remove un-needed i2c_bus on each connector... we simply set this up each time
it's needed using the gpio information
* rename gpio information struct to be cleaner and shorter
* add function to debug found connectors
* set gpio mask to 1 vs the defined mask... this seems to get us closer
to working ddc / edid per connector
* change gpio_info u16's to u32's to ensure we aren't overflowing anything
* fix bug always setting hw_capable true
* change TRACE to ERROR to always show debug data when called


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


# b5fc0237e14b93deac33523f327c7e36f1bca57f 06-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add i2c/ddc info storage to connector
* add edid info storage to display
* pass i2c/ddc information to common i2c code
* add code to read/write i2c/ddc
* i2c/ddc read/write code works 'in theory', needs tested
* detect monitors based on presence of edid on connector


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


# cfda569d7f1b3c08a0f74240666341d5b147f66e 02-Sep-2011 Alexander von Gluck IV <kallisti5@unixzen.com>

* add function to set up i2c bus for connector
* few tab fixes
* add Axel as author as the base i2c stuff is from intel_extreme


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42709 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


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

* 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


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

* 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