summaryrefslogtreecommitdiff
path: root/src/radeon_probe.h
diff options
context:
space:
mode:
Diffstat (limited to 'src/radeon_probe.h')
-rw-r--r--src/radeon_probe.h49
1 files changed, 32 insertions, 17 deletions
diff --git a/src/radeon_probe.h b/src/radeon_probe.h
index dc30e2e..cbe9e74 100644
--- a/src/radeon_probe.h
+++ b/src/radeon_probe.h
@@ -38,10 +38,13 @@
#include "xf86str.h"
#include "xf86DDC.h"
+#include "randrstr.h"
#define _XF86MISC_SERVER_
#include <X11/extensions/xf86misc.h>
+#include "xf86Crtc.h"
+
typedef enum
{
DDC_NONE_DETECTED,
@@ -103,28 +106,36 @@ typedef enum
TMDS_EXT = 1
} RADEONTmdsType;
-typedef struct
-{
- Bool IsUsed;
- Bool IsActive;
- int binding; // which instance of the driver "owns" this controller
- DisplayModePtr pCurMode;
-} RADEONController;
-
-typedef struct
+typedef enum
{
+ OUTPUT_NONE,
+ OUTPUT_VGA,
+ OUTPUT_DVI,
+ OUTPUT_LVDS,
+ OUTPUT_STV,
+ OUTPUT_CTV,
+} RADEONOutputType;
+
+typedef struct _RADEONCrtcPrivateRec {
+ int crtc_id;
+ int binding;
+ /* Lookup table values to be set when the CRTC is enabled */
+ CARD8 lut_r[256], lut_g[256], lut_b[256];
+} RADEONCrtcPrivateRec, *RADEONCrtcPrivatePtr;
+
+typedef struct _RADEONOutputPrivateRec {
+ int num;
+ RADEONOutputType type;
+ void *dev_priv;
RADEONDDCType DDCType;
RADEONDacType DACType;
RADEONTmdsType TMDSType;
RADEONConnectorType ConnectorType;
RADEONMonitorType MonType;
- xf86MonPtr MonInfo;
-
- /* one connector can be bound to one CRTC */
int crtc_num;
-} RADEONConnector;
-
-
+ int DDCReg;
+ I2CBusPtr pI2CBus;
+} RADEONOutputPrivateRec, *RADEONOutputPrivatePtr;
#define RADEON_MAX_CONNECTOR 2
#define RADEON_MAX_CRTC 2
@@ -145,8 +156,12 @@ typedef struct
Bool ReversedDAC; /* TVDAC used as primary dac */
Bool ReversedTMDS; /* DDC_DVI is used for external TMDS */
- RADEONConnector *PortInfo[RADEON_MAX_CONNECTOR];
- RADEONController *Controller[RADEON_MAX_CRTC]; /* pointer to a controller */
+ xf86OutputPtr pOutput[RADEON_MAX_CONNECTOR];
+ RADEONOutputPrivatePtr PortInfo[RADEON_MAX_CONNECTOR];
+
+ xf86CrtcPtr pCrtc[RADEON_MAX_CRTC];
+ RADEONCrtcPrivatePtr Controller[RADEON_MAX_CRTC];
+
} RADEONEntRec, *RADEONEntPtr;
/* radeon_probe.c */