[haiku-commits] Re: r42616 - in haiku/trunk: headers/private/graphics/radeon_hd src/add-ons/accelerants/radeon_hd

  • From: Alexander von Gluck <kallisti5@xxxxxxxxxxx>
  • To: <haiku-commits@xxxxxxxxxxxxx>
  • Date: Wed, 10 Aug 2011 13:08:01 -0500

On Wed, 10 Aug 2011 19:14:43 +0200, Philippe Houdoin wrote:
Log:
* consolidate and remove unneeded Xorg headers
* move mc code to more generic gpu source/header
* add gpu reset functions (with r600 documented)

Are you sure that while make cleaner the foreign code, reorganizing
it, renaming this and that (especially renaming!), you don't make a
lot harder in the future (for someone else than you at least) to
maintain and upgrade this driver from the foreign open source
driver(s) which are always more up-to-date than Haiku's one, and will
continue to be most probably?

The main reason is that the headers for each card series (r600, northern islands, cayman) had conflicting registers (two registers named the same, 98% the same value, 2% with different values).. this means I would have to introduce three new headers, and three new source files (named for each card series) and write everything for each card (r600 gpu reset, r700 gpu reset relying on r600d.h for registers, etc). As this would of been pretty messy, I went with breaking out the subset of needed CPU status registers
and call them in a clean way consolidating as much as possible.

I am taking bits from the Xorg driver and bits from the linux DRM driver and would
like to avoid overlap as much as possible.

As I am moving to AtomBIOS, the number of one-off registers for each card series should be reduced considerably and be limited to a handful over time after AtomBIOS is working.
(mostly card control related registers)

Thanks!
 -- Alex

Other related posts: