[haiku-commits] r42878 - haiku/trunk/src/add-ons/accelerants/radeon_hd

  • From: kallisti5@xxxxxxxxxxx
  • To: haiku-commits@xxxxxxxxxxxxx
  • Date: Tue, 18 Oct 2011 05:34:29 +0200 (CEST)

Author: kallisti5
Date: 2011-10-18 05:34:28 +0200 (Tue, 18 Oct 2011)
New Revision: 42878
Changeset: https://dev.haiku-os.org/changeset/42878

Modified:
   haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile
   haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp
   haiku/trunk/src/add-ons/accelerants/radeon_hd/encoder.cpp
   haiku/trunk/src/add-ons/accelerants/radeon_hd/pll.cpp
Log:
* fix minimum pll out units
* sort files in Jamfile
* add TV and compontent video support in encoder code
* fix missing var in display detection code


Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile
===================================================================
--- haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile       2011-10-17 
22:49:44 UTC (rev 42877)
+++ haiku/trunk/src/add-ons/accelerants/radeon_hd/Jamfile       2011-10-18 
03:34:28 UTC (rev 42878)
@@ -10,16 +10,16 @@
 UsePrivateHeaders [ FDirName graphics common ] ;
 
 Addon radeon_hd.accelerant :
+       accelerant.cpp
        atom.cpp
-       gpu.cpp
-       accelerant.cpp
+       create_display_modes.cpp
+       bios.cpp
+       display.cpp
        encoder.cpp
        engine.cpp
+       gpu.cpp
        hooks.cpp
+       mode.cpp
        pll.cpp
-       display.cpp
-       mode.cpp
-       bios.cpp
-       create_display_modes.cpp
        : be libaccelerantscommon.a
 ;

Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp
===================================================================
--- haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp   2011-10-17 
22:49:44 UTC (rev 42877)
+++ haiku/trunk/src/add-ons/accelerants/radeon_hd/display.cpp   2011-10-18 
03:34:28 UTC (rev 42878)
@@ -665,7 +665,7 @@
                                // There is only one ddc communications path on 
DVI-I
                                if (encoder_analog_load_detect(id) != true) {
                                        TRACE("%s: no analog load on EDID valid 
connector "
-                                               "#%" B_PRIu32 "\n", __func__);
+                                               "#%" B_PRIu32 "\n", __func__, 
id);
                                        continue;
                                }
                        }

Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/encoder.cpp
===================================================================
--- haiku/trunk/src/add-ons/accelerants/radeon_hd/encoder.cpp   2011-10-17 
22:49:44 UTC (rev 42877)
+++ haiku/trunk/src/add-ons/accelerants/radeon_hd/encoder.cpp   2011-10-18 
03:34:28 UTC (rev 42878)
@@ -54,6 +54,7 @@
 
        uint16 connectorIndex = gDisplay[crtcID]->connectorIndex;
        uint16 encoderID = gConnector[connectorIndex]->encoder.objectID;
+       uint16 encoderFlags = gConnector[connectorIndex]->encoder.flags;
 
        switch (tableMajor) {
                case 1:
@@ -81,24 +82,22 @@
                                                        break;
                                                case 
ENCODER_OBJECT_ID_INTERNAL_DAC1:
                                                case 
ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1:
-                                                       //if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_TV_SUPPORT))
-                                                       //      
args.v1.ucDevice = ATOM_DEVICE_TV1_INDEX;
-                                                       //else if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_CV_SUPPORT))
-                                                       //      
args.v1.ucDevice = ATOM_DEVICE_CV_INDEX;
-                                                       //else
+                                                       if ((encoderFlags & 
ATOM_DEVICE_TV_SUPPORT) != 0) {
+                                                               
args.v1.ucDevice = ATOM_DEVICE_TV1_INDEX;
+                                                       } else if ((encoderFlags
+                                                               & 
ATOM_DEVICE_CV_SUPPORT) != 0) {
+                                                               
args.v1.ucDevice = ATOM_DEVICE_CV_INDEX;
+                                                       } else
                                                                
args.v1.ucDevice = ATOM_DEVICE_CRT1_INDEX;
                                                        break;
                                                case 
ENCODER_OBJECT_ID_INTERNAL_DAC2:
                                                case 
ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
-                                                       //if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_TV_SUPPORT))
-                                                       //      
args.v1.ucDevice = ATOM_DEVICE_TV1_INDEX;
-                                                       //else if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_CV_SUPPORT))
-                                                       //      
args.v1.ucDevice = ATOM_DEVICE_CV_INDEX;
-                                                       //else
+                                                       if ((encoderFlags & 
ATOM_DEVICE_TV_SUPPORT) != 0) {
+                                                               
args.v1.ucDevice = ATOM_DEVICE_TV1_INDEX;
+                                                       } else if ((encoderFlags
+                                                               & 
ATOM_DEVICE_CV_SUPPORT) != 0) {
+                                                               
args.v1.ucDevice = ATOM_DEVICE_CV_INDEX;
+                                                       } else
                                                                
args.v1.ucDevice = ATOM_DEVICE_CRT2_INDEX;
                                                        break;
                                        }
@@ -140,23 +139,21 @@
                                                        args.v2.ucEncoderID = 
ASIC_INT_DVO_ENCODER_ID;
                                                        break;
                                                case 
ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC1:
-                                                       //if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_TV_SUPPORT))
-                                                       //      
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
-                                                       //else if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_CV_SUPPORT))
-                                                       //      
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
-                                                       //else
+                                                       if ((encoderFlags & 
ATOM_DEVICE_TV_SUPPORT) != 0) {
+                                                               
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
+                                                       } else if ((encoderFlags
+                                                               & 
ATOM_DEVICE_CV_SUPPORT) != 0) {
+                                                               
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
+                                                       } else
                                                                
args.v2.ucEncoderID = ASIC_INT_DAC1_ENCODER_ID;
                                                        break;
                                                case 
ENCODER_OBJECT_ID_INTERNAL_KLDSCP_DAC2:
-                                                       //if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_TV_SUPPORT))
-                                                       //      
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
-                                                       //else if 
(radeon_encoder->active_device
-                                                       //      & 
(ATOM_DEVICE_CV_SUPPORT))
-                                                       //      
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
-                                                       //else
+                                                       if ((encoderFlags & 
ATOM_DEVICE_TV_SUPPORT) != 0) {
+                                                               
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
+                                                       } else if ((encoderFlags
+                                                               & 
ATOM_DEVICE_CV_SUPPORT) != 0) {
+                                                               
args.v2.ucEncoderID = ASIC_INT_TV_ENCODER_ID;
+                                                       } else
                                                                
args.v2.ucEncoderID = ASIC_INT_DAC2_ENCODER_ID;
                                                        break;
                                        }

Modified: haiku/trunk/src/add-ons/accelerants/radeon_hd/pll.cpp
===================================================================
--- haiku/trunk/src/add-ons/accelerants/radeon_hd/pll.cpp       2011-10-17 
22:49:44 UTC (rev 42877)
+++ haiku/trunk/src/add-ons/accelerants/radeon_hd/pll.cpp       2011-10-18 
03:34:28 UTC (rev 42878)
@@ -97,7 +97,7 @@
        }
 
        if (pll->pllOutMin == 0) {
-               pll->pllOutMin = 64800;
+               pll->pllOutMin = 64800 * 10;
                        // Avivo+ limit
        }
 


Other related posts:

  • » [haiku-commits] r42878 - haiku/trunk/src/add-ons/accelerants/radeon_hd - kallisti5