open-src/driver/efb/sparc-efb.patch
author Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
Mon, 25 Apr 2011 13:38:53 -0700
changeset 1116 605549b491ac
child 1124 7bc7e624f965
permissions -rw-r--r--
7039092 Move efb module for Xorg to X consolidation
Ignore whitespace changes - Everywhere: Within whitespace: At end of lines:
1116
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     1
diff --git a/src/AtomBios/Decoder.c b/src/AtomBios/Decoder.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     2
index cdaa9ef..c6e3c9f 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     3
--- a/src/AtomBios/Decoder.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     4
+++ b/src/AtomBios/Decoder.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     5
@@ -210,7 +210,7 @@ CD_STATUS ParseTable(DEVICE_DATA STACK_BASED* pDeviceData, UINT8 IndexInMasterTa
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     6
 						{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     7
               IndexInMasterTable=ProcessCommandProperties((PARSER_TEMP_DATA STACK_BASED *)&ParserTempData);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     8
 							(*CallTable[IndexInMasterTable].function)((PARSER_TEMP_DATA STACK_BASED *)&ParserTempData);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
     9
-#if (PARSER_TYPE!=DRIVER_TYPE_PARSER)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    10
+#if (!defined(__sparc__) && (PARSER_TYPE!=DRIVER_TYPE_PARSER))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    11
               BIOS_STACK_MODIFIER();
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    12
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    13
 						}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    14
diff --git a/src/AtomBios/hwserv_drv.c b/src/AtomBios/hwserv_drv.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    15
index a5f5a5b..2a454a4 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    16
--- a/src/AtomBios/hwserv_drv.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    17
+++ b/src/AtomBios/hwserv_drv.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    18
@@ -105,6 +105,10 @@ UINT8   ReadPCIReg8(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    19
     CailReadPCIConfigData(pWorkingTableData->pDeviceData->CAIL,&rvl,pWorkingTableData->Index,sizeof(UINT8));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    20
 	return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    21
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    22
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    23
+UINT8   ReadPCIReg8(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    24
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    25
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    26
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    27
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    28
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    29
@@ -117,6 +121,10 @@ UINT16	ReadPCIReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    30
     return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    31
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    32
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    33
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    34
+UINT16	ReadPCIReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    35
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    36
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    37
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    38
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    39
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    40
@@ -129,6 +137,10 @@ UINT32  ReadPCIReg32   (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    41
     CailReadPCIConfigData(pWorkingTableData->pDeviceData->CAIL,&rvl,pWorkingTableData->Index,sizeof(UINT32));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    42
     return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    43
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    44
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    45
+UINT32  ReadPCIReg32   (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    46
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    47
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    48
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    49
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    50
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    51
@@ -142,6 +154,10 @@ VOID	WritePCIReg8	(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    52
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    53
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    54
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    55
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    56
+VOID	WritePCIReg8	(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    57
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    58
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    59
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    60
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    61
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    62
@@ -152,6 +168,10 @@ VOID    WritePCIReg16  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    63
         CailWritePCIConfigData(pWorkingTableData->pDeviceData->CAIL,&(pWorkingTableData->DestData32),pWorkingTableData->Index,sizeof(UINT16));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    64
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    65
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    66
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    67
+VOID    WritePCIReg16  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    68
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    69
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    70
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    71
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    72
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    73
@@ -160,6 +180,10 @@ VOID    WritePCIReg32  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    74
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    75
     CailWritePCIConfigData(pWorkingTableData->pDeviceData->CAIL,&(pWorkingTableData->DestData32),pWorkingTableData->Index,sizeof(UINT32));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    76
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    77
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    78
+VOID    WritePCIReg32  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    79
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    80
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    81
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    82
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    83
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    84
@@ -174,6 +198,10 @@ UINT8   ReadSysIOReg8    (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    85
     //rvl= (UINT8) ReadGenericPciCfg(dev,reg,sizeof(UINT8));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    86
 	return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    87
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    88
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    89
+UINT8   ReadSysIOReg8    (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    90
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    91
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    92
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    93
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    94
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    95
@@ -187,6 +215,10 @@ UINT16	ReadSysIOReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    96
     return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    97
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    98
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
    99
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   100
+UINT16	ReadSysIOReg16(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   101
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   102
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   103
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   104
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   105
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   106
@@ -200,6 +232,10 @@ UINT32  ReadSysIOReg32   (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   107
     //rvl= (UINT32) ReadGenericPciCfg(dev,reg,sizeof(UINT32));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   108
     return rvl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   109
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   110
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   111
+UINT32  ReadSysIOReg32   (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   112
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   113
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   114
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   115
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   116
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   117
@@ -212,6 +248,10 @@ VOID	WriteSysIOReg8	(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   118
     //WriteGenericPciCfg(dev,reg,sizeof(UINT8),(UINT32)value);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   119
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   120
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   121
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   122
+VOID	WriteSysIOReg8	(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   123
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   124
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   125
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   126
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   127
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   128
@@ -222,6 +262,10 @@ VOID    WriteSysIOReg16  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   129
     //WriteGenericPciCfg(dev,reg,sizeof(UINT16),(UINT32)value);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   130
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   131
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   132
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   133
+VOID    WriteSysIOReg16  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   134
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   135
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   136
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   137
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   138
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   139
@@ -230,6 +274,10 @@ VOID    WriteSysIOReg32  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   140
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   141
     //WriteGenericPciCfg(dev,reg,sizeof(UINT32),(UINT32)value);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   142
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   143
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   144
+VOID    WriteSysIOReg32  (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   145
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   146
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   147
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   148
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   149
 // ATI Registers Memory Mapped Access
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   150
@@ -257,6 +305,24 @@ VOID	WriteIndReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   151
     CailWriteATIRegister(pWorkingTableData->pDeviceData->CAIL,*(UINT16*)(pWorkingTableData->IndirectIOTablePointer+1),pWorkingTableData->IndirectData );
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   152
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   153
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   154
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   155
+UINT32	ReadReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   156
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   157
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   158
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   159
+VOID	WriteReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   160
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   161
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   162
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   163
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   164
+VOID	ReadIndReg32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   165
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   166
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   167
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   168
+VOID	WriteIndReg32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   169
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   170
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   171
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   172
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   173
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   174
 // ATI Registers IO Mapped Access
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   175
@@ -271,8 +337,17 @@ VOID	WriteRegIO(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   176
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   177
       //  return CailWriteATIRegister(pWorkingTableData->pDeviceData->CAIL,pWorkingTableData->Index,pWorkingTableData->DestData32 );
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   178
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   179
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   180
+UINT32	ReadRegIO (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   181
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   182
+    return 0;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   183
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   184
+VOID	WriteRegIO(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   185
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   186
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   187
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   188
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   189
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   190
 // access to Frame buffer, dummy function, need more information to implement it  
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   191
 UINT32	ReadFrameBuffer32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   192
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   193
@@ -286,6 +361,15 @@ VOID	WriteFrameBuffer32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   194
     CailWriteFBData(pWorkingTableData->pDeviceData->CAIL,(pWorkingTableData->Index <<2), pWorkingTableData->DestData32);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   195
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   196
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   197
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   198
+UINT32	ReadFrameBuffer32 (PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   199
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   200
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   201
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   202
+VOID	WriteFrameBuffer32(PARSER_TEMP_DATA STACK_BASED * pWorkingTableData)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   203
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   204
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   205
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   206
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   207
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   208
 VOID *AllocateMemory(DEVICE_DATA *pDeviceData , UINT16 MemSize)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   209
diff --git a/src/AtomBios/includes/CD_Structs.h b/src/AtomBios/includes/CD_Structs.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   210
index c43f81d..f61232a 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   211
--- a/src/AtomBios/includes/CD_Structs.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   212
+++ b/src/AtomBios/includes/CD_Structs.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   213
@@ -375,7 +375,7 @@ typedef UINT8	COMMAND_TYPE_OPCODE_ONLY;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   214
 typedef UINT8  COMMAND_HEADER_POINTER;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   215
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   216
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   217
-#if (PARSER_TYPE==BIOS_TYPE_PARSER)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   218
+#if (!defined(__sparc__) && (PARSER_TYPE==BIOS_TYPE_PARSER)) 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   219
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   220
 typedef struct _DEVICE_DATA	{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   221
     UINT32	STACK_BASED		*pParameterSpace;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   222
diff --git a/src/AtomBios/includes/CD_binding.h b/src/AtomBios/includes/CD_binding.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   223
index 7b021d3..b74b5db 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   224
--- a/src/AtomBios/includes/CD_binding.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   225
+++ b/src/AtomBios/includes/CD_binding.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   226
@@ -36,7 +36,11 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   227
 #define USE_SWITCH_COMMAND			1
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   228
 #define	DRIVER_TYPE_PARSER		0x48
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   229
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   230
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   231
 #define PARSER_TYPE DRIVER_TYPE_PARSER
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   232
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   233
+#define PARSER_TYPE 0
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   234
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   235
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   236
 #define AllocateWorkSpace(x,y)      AllocateMemory(pDeviceData,y)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   237
 #define FreeWorkSpace(x,y)          ReleaseMemory(x,y)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   238
diff --git a/src/Makefile.am b/src/Makefile.am
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   239
index a146df3..7411677 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   240
--- a/src/Makefile.am
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   241
+++ b/src/Makefile.am
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   242
@@ -27,8 +27,6 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   243
 # TODO: -nostdlib/-Bstatic/-lgcc platform magic, not installing the .a, etc.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   244
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   245
 if DRI
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   246
-ATIMISC_DRI_SRCS = atidri.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   247
-R128_DRI_SRCS = r128_dri.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   248
 RADEON_DRI_SRCS = radeon_dri.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   249
 endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   250
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   251
@@ -64,52 +62,17 @@ XMODE_SRCS=\
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   252
         modes/xf86Rotate.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   253
         modes/xf86DiDGA.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   254
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   255
-if ATIMISC_CPIO
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   256
-ATIMISC_CPIO_SOURCES = ativga.c ativgaio.c atibank.c atiwonder.c atiwonderio.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   257
-endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   258
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   259
-if ATIMISC_DGA
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   260
-ATIMISC_DGA_SOURCES = atidga.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   261
-endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   262
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   263
 if USE_EXA
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   264
-ATIMISC_EXA_SOURCES = atimach64exa.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   265
 RADEON_EXA_SOURCES = radeon_exa.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   266
 endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   267
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   268
-AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XMODES_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DFGL_LINUX -DDRIVER_PARSER
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   269
+AM_CFLAGS = @XORG_CFLAGS@ @DRI_CFLAGS@ @XMODES_CFLAGS@ -DDISABLE_EASF -DENABLE_ALL_SERVICE_FUNCTIONS -DATOM_BIOS -DATOM_BIOS_PARSER -DDRIVER_PARSER
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   270
 INCLUDES = -I$(srcdir)/AtomBios/includes
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   271
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   272
-ati_drv_la_LTLIBRARIES = ati_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   273
-ati_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   274
-ati_drv_ladir = @moduledir@/drivers
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   275
-ati_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   276
-	ati.c atimodule.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   277
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   278
-mach64_drv_la_LTLIBRARIES = mach64_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   279
-mach64_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   280
-mach64_drv_ladir = @moduledir@/drivers
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   281
-mach64_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   282
-	atibus.c atichip.c atiprobe.c atividmem.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   283
-	atiadjust.c atiaudio.c aticlock.c aticonfig.c aticonsole.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   284
-	atidac.c atidecoder.c atidsp.c atii2c.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   285
-	atilock.c atimach64.c atimach64accel.c atimach64cursor.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   286
-	atimach64i2c.c atimach64io.c atimach64xv.c atimode.c atipreinit.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   287
-	atiprint.c atirgb514.c atiscreen.c atituner.c atiutil.c ativalid.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   288
-	atiload.c atimisc.c atimach64probe.c $(ATIMISC_CPIO_SOURCES) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   289
-	$(ATIMISC_DGA_SOURCES) $(ATIMISC_DRI_SRCS) $(ATIMISC_EXA_SOURCES)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   290
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   291
-r128_drv_la_LTLIBRARIES = r128_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   292
-r128_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   293
-r128_drv_ladir = @moduledir@/drivers
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   294
-r128_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   295
-	r128_accel.c r128_cursor.c r128_dga.c r128_driver.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   296
-	r128_video.c r128_misc.c r128_probe.c $(R128_DRI_SRCS)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   297
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   298
-radeon_drv_la_LTLIBRARIES = radeon_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   299
-radeon_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   300
-radeon_drv_ladir = @moduledir@/drivers
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   301
-radeon_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   302
+efb_drv_la_LTLIBRARIES = efb_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   303
+efb_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   304
+efb_drv_ladir = @moduledir@/drivers
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   305
+efb_drv_la_SOURCES = efb_driver.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   306
 	radeon_accel.c radeon_cursor.c radeon_dga.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   307
 	radeon_driver.c radeon_video.c radeon_bios.c radeon_mm_i2c.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   308
 	radeon_vip.c radeon_misc.c radeon_probe.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   309
@@ -119,31 +82,10 @@ radeon_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   310
 	$(RADEON_DRI_SRCS) $(RADEON_EXA_SOURCES) atombios_output.c atombios_crtc.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   311
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   312
 if XMODES
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   313
-radeon_drv_la_SOURCES += \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   314
+efb_drv_la_SOURCES += \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   315
 	$(XMODE_SRCS)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   316
 endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   317
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   318
-theatre_detect_drv_la_LTLIBRARIES = theatre_detect_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   319
-theatre_detect_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   320
-theatre_detect_drv_ladir = @moduledir@/multimedia
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   321
-theatre_detect_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   322
-	theatre_detect.c theatre_detect_module.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   323
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   324
-theatre_drv_la_LTLIBRARIES = theatre_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   325
-theatre_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   326
-theatre_drv_ladir = @moduledir@/multimedia
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   327
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   328
-theatre_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   329
-	theatre.c theatre_module.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   330
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   331
-theatre200_drv_la_LTLIBRARIES = theatre200_drv.la
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   332
-theatre200_drv_la_LDFLAGS = -module -avoid-version
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   333
-theatre200_drv_ladir = @moduledir@/multimedia
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   334
-theatre200_drv_la_CFLAGS = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   335
-	$(AM_CFLAGS) -DMICROC_DIR=\"$(theatre200_drv_ladir)\"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   336
-theatre200_drv_la_SOURCES = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   337
-	theatre200.c theatre200_module.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   338
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   339
 EXTRA_DIST = \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   340
 	$(XMODE_SRCS) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   341
 	atimach64render.c \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   342
diff --git a/src/ati.c b/src/ati.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   343
index b3f07ca..084b27f 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   344
--- a/src/ati.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   345
+++ b/src/ati.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   346
@@ -68,7 +68,12 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   347
 /* names duplicated from version headers */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   348
 #define MACH64_DRIVER_NAME  "mach64"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   349
 #define R128_DRIVER_NAME    "r128"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   350
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   351
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   352
+#define RADEON_DRIVER_NAME  "efb"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   353
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   354
 #define RADEON_DRIVER_NAME  "radeon"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   355
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   356
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   357
 enum
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   358
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   359
diff --git a/src/aticonsole.c b/src/aticonsole.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   360
index 8efe897..aa3905a 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   361
--- a/src/aticonsole.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   362
+++ b/src/aticonsole.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   363
@@ -514,6 +514,20 @@ ATIEnterGraphics
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   364
     ATIPtr      pATI
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   365
 )
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   366
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   367
+    unsigned int PciReg;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   368
+    pciConfigPtr           pPCI;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   369
+    pciVideoPtr            pVideo, *xf86PciVideoInfo = xf86GetPciVideoInfo();
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   370
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   371
+    pVideo = xf86PciVideoInfo[pScreenInfo->scrnIndex];
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   372
+    pPCI = pVideo->thisCard;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   373
+/*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   374
+* Possibly fix block I/O indicator in PCI configuration space.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   375
+*/
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   376
+    PciReg = pciReadLong(pPCI->tag, PCI_REG_USERCONFIG);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   377
+    if (!(PciReg & 0x00000004U))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   378
+		pciWriteLong(pPCI->tag, PCI_REG_USERCONFIG, PciReg | 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   379
+				0x00000004U);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   380
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   381
     /* Map apertures */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   382
     if (!ATIMapApertures(pScreenInfo->scrnIndex, pATI))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   383
         return FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   384
diff --git a/src/radeon.h b/src/radeon.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   385
index 7d63f28..ddb779e 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   386
--- a/src/radeon.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   387
+++ b/src/radeon.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   388
@@ -167,7 +167,15 @@ typedef enum {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   389
     OPTION_TVDAC_LOAD_DETECT,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   390
     OPTION_FORCE_TVOUT,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   391
     OPTION_TVSTD,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   392
-    OPTION_IGNORE_LID_STATUS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   393
+    OPTION_IGNORE_LID_STATUS,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   394
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   395
+    OPTION_DUAL_DISPLAY,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   396
+    OPTION_DUAL_DISPLAY_VERTICAL,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   397
+    OPTION_STREAM_XOFFSET,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   398
+    OPTION_STREAM_YOFFSET,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   399
+    OPTION_OUTPUTS,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   400
+    OPTION_DISABLE_RANDR,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   401
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   402
 } RADEONOpts;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   403
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   404
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   405
@@ -734,6 +742,12 @@ typedef struct {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   406
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   407
     Bool              r600_shadow_fb;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   408
     void *fb_shadow;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   409
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   410
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   411
+    char *deviceName;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   412
+    int  fd;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   413
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   414
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   415
 } RADEONInfoRec, *RADEONInfoPtr;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   416
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   417
 #define RADEONWaitForFifo(pScrn, entries)				\
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   418
@@ -1182,4 +1196,8 @@ static __inline__ int radeon_timedout(const struct timeval *endtime)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   419
         now.tv_usec > endtime->tv_usec : now.tv_sec > endtime->tv_sec;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   420
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   421
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   422
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   423
+#include "efb.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   424
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   425
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   426
 #endif /* _RADEON_H_ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   427
diff --git a/src/radeon_accel.c b/src/radeon_accel.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   428
index 8b2f167..b581719 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   429
--- a/src/radeon_accel.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   430
+++ b/src/radeon_accel.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   431
@@ -280,7 +280,11 @@ void RADEONEngineReset(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   432
 	INREG(RADEON_RBBM_SOFT_RESET);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   433
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   434
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   435
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   436
+    // soft reset the HDP causes system panic on some SPARC machines
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   437
     OUTREG(RADEON_HOST_PATH_CNTL, host_path_cntl | RADEON_HDP_SOFT_RESET);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   438
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   439
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   440
     INREG(RADEON_HOST_PATH_CNTL);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   441
     OUTREG(RADEON_HOST_PATH_CNTL, host_path_cntl);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   442
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   443
diff --git a/src/radeon_accelfuncs.c b/src/radeon_accelfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   444
index e3b37c1..52856ec 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   445
--- a/src/radeon_accelfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   446
+++ b/src/radeon_accelfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   447
@@ -723,7 +723,11 @@ FUNC_NAME(RADEONSetupForScanlineCPUToScreenColorExpandFill)(ScrnInfoPtr pScrn,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   448
 #else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   449
     BEGIN_ACCEL(5);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   450
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   451
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   452
     OUT_ACCEL_REG(RADEON_RBBM_GUICNTL,       RADEON_HOST_DATA_SWAP_NONE);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   453
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   454
+    OUT_ACCEL_REG(RADEON_RBBM_GUICNTL,       RADEON_HOST_DATA_SWAP_32BIT);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   455
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   456
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   457
     OUT_ACCEL_REG(RADEON_DP_GUI_MASTER_CNTL, info->dp_gui_master_cntl_clip);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   458
     OUT_ACCEL_REG(RADEON_DP_WRITE_MASK,      planemask);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   459
diff --git a/src/radeon_atombios.h b/src/radeon_atombios.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   460
index 9cb279e..ba1b462 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   461
--- a/src/radeon_atombios.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   462
+++ b/src/radeon_atombios.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   463
@@ -245,9 +245,13 @@ typedef struct _atomBiosHandle {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   464
     unsigned int BIOSImageSize;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   465
 } atomBiosHandleRec;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   466
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   467
-# endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   468
-
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   469
 extern Bool
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   470
 RADEONATOMGetTVTimings(ScrnInfoPtr pScrn, int index, SET_CRTC_TIMING_PARAMETERS_PS_ALLOCATION *crtc_timing, int32_t *pixel_clock);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   471
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   472
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   473
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   474
+extern Bool
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   475
+RADEONATOMGetTVTimings(ScrnInfoPtr pScrn, int index, void *crtc_timing, int32_t *pixel_clock);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   476
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   477
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   478
 #endif /*  RHD_ATOMBIOS_H_ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   479
diff --git a/src/radeon_common.h b/src/radeon_common.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   480
index 467addf..c081088 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   481
--- a/src/radeon_common.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   482
+++ b/src/radeon_common.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   483
@@ -73,6 +73,7 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   484
 #define DRM_RADEON_SETPARAM               0x19
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   485
 #define DRM_RADEON_SURF_ALLOC             0x1a
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   486
 #define DRM_RADEON_SURF_FREE              0x1b
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   487
+#define DRM_RADEON_GET_PCICONFIG          0x1c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   488
 #define DRM_RADEON_MAX_DRM_COMMAND_INDEX  0x39
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   489
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   490
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   491
diff --git a/src/radeon_commonfuncs.c b/src/radeon_commonfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   492
index 8c4b598..2ff5bcb 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   493
--- a/src/radeon_commonfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   494
+++ b/src/radeon_commonfuncs.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   495
@@ -285,12 +285,34 @@ void FUNC_NAME(RADEONWaitForIdle)(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   496
     RADEONWaitForFifoFunction(pScrn, 64);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   497
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   498
     for (;;) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   499
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   500
+	/* execute a tight loop to wait for idle. If timeout, then
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   501
+	   execute a slower loop for half a second. If then timeout,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   502
+	   reset the engine.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   503
+         */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   504
 	for (i = 0; i < RADEON_TIMEOUT; i++) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   505
 	    if (!(INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_ACTIVE)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   506
 		RADEONEngineFlush(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   507
 		return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   508
 	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   509
 	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   510
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   511
+#ifdef __sparc__
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   512
+	{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   513
+            hrtime_t limit;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   514
+            limit = gethrtime() + (hrtime_t)1000000000; /* 1000 ms from now */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   515
+            while (((unsigned int)(INREG(RADEON_RBBM_STATUS)) & RADEON_RBBM_ACTIVE) 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   516
+			&& (gethrtime() < limit)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   517
+                    yield();
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   518
+	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   519
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   520
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   521
+	if (!(INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_ACTIVE)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   522
+	    RADEONEngineFlush(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   523
+	    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   524
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   525
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   526
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   527
 	xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   528
 		       "Idle timed out: %u entries, stat=0x%08x\n",
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   529
 		       (unsigned int)INREG(RADEON_RBBM_STATUS) & RADEON_RBBM_FIFOCNT_MASK,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   530
diff --git a/src/radeon_crtc.c b/src/radeon_crtc.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   531
index 3524b75..da1153a 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   532
--- a/src/radeon_crtc.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   533
+++ b/src/radeon_crtc.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   534
@@ -218,6 +218,11 @@ radeon_crtc_mode_set(xf86CrtcPtr crtc, DisplayModePtr mode,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   535
     } else {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   536
 	legacy_crtc_mode_set(crtc, mode, adjusted_mode, x, y);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   537
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   538
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   539
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   540
+    pScrn->currentMode = mode;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   541
+    EFBNotifyModeChanged(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   542
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   543
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   544
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   545
 static void
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   546
@@ -238,6 +243,9 @@ radeon_crtc_mode_commit(xf86CrtcPtr crtc)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   547
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   548
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   549
     radeon_crtc_dpms(crtc, DPMSModeOn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   550
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   551
+    if (crtc->scrn->pScreen != NULL)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   552
+	xf86_reload_cursors (crtc->scrn->pScreen);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   553
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   554
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   555
 void
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   556
diff --git a/src/radeon_dri.h b/src/radeon_dri.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   557
index 3b54626..57ff2d8 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   558
--- a/src/radeon_dri.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   559
+++ b/src/radeon_dri.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   560
@@ -80,20 +80,25 @@ typedef struct {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   561
     /* MMIO register data */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   562
     drm_handle_t     registerHandle;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   563
     drmSize       registerSize;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   564
+	int		padding0;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   565
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   566
     /* CP in-memory status information */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   567
     drm_handle_t     statusHandle;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   568
     drmSize       statusSize;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   569
+	int		padding1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   570
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   571
     /* CP GART Texture data */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   572
     drm_handle_t     gartTexHandle;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   573
     drmSize       gartTexMapSize;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   574
+	int		padding2;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   575
     int           log2GARTTexGran;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   576
     int           gartTexOffset;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   577
     unsigned int  sarea_priv_offset;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   578
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   579
 #ifdef PER_CONTEXT_SAREA
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   580
     drmSize      perctx_sarea_size;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   581
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   582
+	int		padding3;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   583
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   584
 } RADEONDRIRec, *RADEONDRIPtr;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   585
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   586
diff --git a/src/radeon_driver.c b/src/radeon_driver.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   587
index 25d912d..095d71b 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   588
--- a/src/radeon_driver.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   589
+++ b/src/radeon_driver.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   590
@@ -115,6 +115,10 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   591
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   592
 #include "radeon_chipinfo_gen.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   593
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   594
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   595
+#include "efb.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   596
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   597
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   598
 				/* Forward definitions for driver functions */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   599
 static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   600
 static Bool RADEONSaveScreen(ScreenPtr pScreen, int mode);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   601
@@ -221,6 +225,14 @@ static const OptionInfoRec RADEONOptions[] = {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   602
     { OPTION_FORCE_TVOUT,    "ForceTVOut",         OPTV_BOOLEAN, {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   603
     { OPTION_TVSTD,          "TVStandard",         OPTV_STRING,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   604
     { OPTION_IGNORE_LID_STATUS, "IgnoreLidStatus", OPTV_BOOLEAN, {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   605
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   606
+    { OPTION_DUAL_DISPLAY,   "DoubleWide",	 OPTV_STRING,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   607
+    { OPTION_DUAL_DISPLAY_VERTICAL,   "DoubleHigh",	 OPTV_STRING,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   608
+    { OPTION_STREAM_XOFFSET,   "StreamXOffset",	 OPTV_INTEGER,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   609
+    { OPTION_STREAM_YOFFSET,   "StreamYOffset",	 OPTV_INTEGER,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   610
+    { OPTION_OUTPUTS,          "Outputs",	 OPTV_STRING,   {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   611
+    { OPTION_DISABLE_RANDR,    "DisableRANDR",	 OPTV_BOOLEAN,  {0}, FALSE },
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   612
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   613
     { -1,                    NULL,               OPTV_NONE,    {0}, FALSE }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   614
 };
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   615
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   616
@@ -367,7 +379,7 @@ RADEONPostInt10Check(ScrnInfoPtr pScrn, void *ptr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   617
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   618
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   619
 /* Allocate our private RADEONInfoRec */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   620
-static Bool RADEONGetRec(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   621
+Bool RADEONGetRec(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   622
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   623
     if (pScrn->driverPrivate) return TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   624
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   625
@@ -383,6 +395,41 @@ static void RADEONFreeRec(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   626
     pScrn->driverPrivate = NULL;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   627
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   628
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   629
+static pciVideoPtr RADEONGetPciInfo(RADEONInfoPtr info)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   630
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   631
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   632
+    return (xf86GetPciInfoForEntity(info->pEnt->index));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   633
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   634
+    return (EFBGetPciInfo(info));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   635
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   636
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   637
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   638
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   639
+pointer
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   640
+RADEONMapVidMem(ScrnInfoPtr pScrn, unsigned int flags, PCITAG picTag, 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   641
+			unsigned long base, unsigned long size)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   642
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   643
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   644
+    return (xf86MapPciMem(pScrn->scrnIndex, flags, pciTag, base, size));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   645
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   646
+    return (EFBMapVidMem(pScrn, flags, picTag, base, size));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   647
+#endif /* sparc */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   648
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   649
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   650
+void
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   651
+RADEONUnmapVidMem(ScrnInfoPtr pScrn, pointer base, unsigned long size)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   652
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   653
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   654
+    xf86UnMapVidMem(pScrn->scrnIndex, base, size);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   655
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   656
+    EFBUnmapVidMem(pScrn, base, size);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   657
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   658
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   659
+    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   660
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   661
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   662
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   663
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   664
 /* Memory map the MMIO region.  Used during pre-init and by RADEONMapMem,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   665
  * below
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   666
  */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   667
@@ -390,9 +437,9 @@ static Bool RADEONMapMMIO(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   668
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   669
     RADEONInfoPtr  info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   670
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   671
-#ifndef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   672
+#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   673
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   674
-    info->MMIO = xf86MapPciMem(pScrn->scrnIndex,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   675
+    info->MMIO = RADEONMapVidMem(pScrn,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   676
 			       VIDMEM_MMIO | VIDMEM_READSIDEEFFECT,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   677
 			       info->PciTag,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   678
 			       info->MMIOAddr,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   679
@@ -428,8 +475,8 @@ static Bool RADEONUnmapMMIO(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   680
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   681
     RADEONInfoPtr  info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   682
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   683
-#ifndef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   684
-    xf86UnMapVidMem(pScrn->scrnIndex, info->MMIO, info->MMIOSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   685
+#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   686
+    RADEONUnmapVidMem(pScrn, info->MMIO, info->MMIOSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   687
 #else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   688
     pci_device_unmap_range(info->PciInfo, info->MMIO, info->MMIOSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   689
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   690
@@ -446,9 +493,9 @@ static Bool RADEONMapFB(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   691
     xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   692
 		   "Map: 0x%08lx, 0x%08lx\n", info->LinearAddr, info->FbMapSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   693
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   694
-#ifndef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   695
+#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   696
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   697
-    info->FB = xf86MapPciMem(pScrn->scrnIndex,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   698
+    info->FB = RADEONMapVidMem(pScrn,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   699
 			     VIDMEM_FRAMEBUFFER,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   700
 			     info->PciTag,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   701
 			     info->LinearAddr,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   702
@@ -482,8 +529,8 @@ static Bool RADEONUnmapFB(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   703
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   704
     RADEONInfoPtr  info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   705
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   706
-#ifndef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   707
-    xf86UnMapVidMem(pScrn->scrnIndex, info->FB, info->FbMapSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   708
+#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   709
+    RADEONUnmapVidMem(pScrn, info->FB, info->FbMapSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   710
 #else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   711
     pci_device_unmap_range(info->PciInfo, info->FB, info->FbMapSize);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   712
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   713
@@ -1261,6 +1308,10 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   714
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   715
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   716
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   717
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   718
+    //
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   719
+    // don't reinitialize mc_fb_location on sparc
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   720
+    //
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   721
     if (info->ChipFamily != CHIP_FAMILY_RS690) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   722
 	if (info->IsIGP)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   723
 	    info->mc_fb_location = INREG(RADEON_NB_TOM);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   724
@@ -1306,6 +1357,8 @@ static void RADEONInitMemoryMap(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   725
 	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   726
 	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   727
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   728
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   729
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   730
     if (info->ChipFamily >= CHIP_FAMILY_R600) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   731
 	info->fbLocation = (info->mc_fb_location & 0xffff) << 24;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   732
     } else {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   733
@@ -1429,6 +1482,12 @@ static CARD32 RADEONGetAccessibleVRAM(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   734
 	    return aper_size * 2;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   735
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   736
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   737
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   738
+    else if (info->ChipFamily == CHIP_FAMILY_RV100) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   739
+	return aper_size;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   740
+    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   741
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   742
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   743
     /* Older cards have all sorts of funny issues to deal with. First
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   744
      * check if it's a multifunction card by reading the PCI config
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   745
      * header type... Limit those to one aperture size
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   746
@@ -1492,8 +1551,12 @@ static Bool RADEONPreInitVRAM(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   747
     bar_size = PCI_REGION_SIZE(info->PciInfo, 0) / 1024;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   748
     if (bar_size == 0)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   749
 	bar_size = 0x20000;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   750
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   751
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   752
+#if ccl
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   753
     if (accessible > bar_size)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   754
 	accessible = bar_size;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   755
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   756
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   757
     xf86DrvMsg(pScrn->scrnIndex, X_INFO,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   758
 	       "Detected total video RAM=%dK, accessible=%uK (PCI BAR=%uK)\n",
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   759
@@ -2190,8 +2253,16 @@ static void RADEONPreInitColorTiling(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   760
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   761
     RADEONInfoPtr  info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   762
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   763
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   764
     info->allowColorTiling = xf86ReturnOptValBool(info->Options,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   765
 				        OPTION_COLOR_TILING, TRUE);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   766
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   767
+    /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   768
+     * disable Tiling for now because of coherent console
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   769
+     */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   770
+    info->allowColorTiling = FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   771
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   772
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   773
     if (IS_R300_VARIANT || IS_AVIVO_VARIANT) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   774
 	/* this may be 4096 on r4xx -- need to double check */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   775
 	info->MaxSurfaceWidth = 3968; /* one would have thought 4096...*/
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   776
@@ -2551,6 +2622,16 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   777
     info->IsPrimary = FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   778
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   779
     info->pEnt         = xf86GetEntityInfo(pScrn->entityList[pScrn->numEntities - 1]);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   780
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   781
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   782
+    if (info->fd == -1) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   783
+	xf86DrvMsg(pScrn->scrnIndex, X_ERROR,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   784
+		"invalid device %s\n", info->deviceName);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   785
+	goto fail1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   786
+    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   787
+    info->pEnt->location.type = BUS_PCI;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   788
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   789
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   790
     if (info->pEnt->location.type != BUS_PCI) goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   791
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   792
     pPriv = xf86GetEntityPrivate(pScrn->entityList[0], 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   793
@@ -2580,7 +2661,7 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   794
 	info->ModeReg = &pRADEONEnt->ModeReg;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   795
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   796
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   797
-    info->PciInfo = xf86GetPciInfoForEntity(info->pEnt->index);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   798
+    info->PciInfo = RADEONGetPciInfo(info);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   799
     info->PciTag  = pciTag(PCI_DEV_BUS(info->PciInfo),
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   800
 			   PCI_DEV_DEV(info->PciInfo),
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   801
 			   PCI_DEV_FUNC(info->PciInfo));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   802
@@ -2639,8 +2720,10 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   803
     if (xf86RegisterResources(info->pEnt->index, 0, ResExclusive))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   804
 	goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   805
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   806
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   807
     if (xf86SetOperatingState(resVga, info->pEnt->index, ResUnusedOpr))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   808
 	goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   809
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   810
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   811
     pScrn->racMemFlags = RAC_FB | RAC_COLORMAP | RAC_VIEWPORT | RAC_CURSOR;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   812
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   813
@@ -2693,7 +2776,12 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   814
     if (!RADEONPreInitWeight(pScrn))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   815
 	goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   816
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   817
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   818
     info->DispPriority = 1; 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   819
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   820
+    info->DispPriority = 2;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   821
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   822
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   823
     if ((s = xf86GetOptValString(info->Options, OPTION_DISP_PRIORITY))) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   824
 	if (strcmp(s, "AUTO") == 0) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   825
 	    info->DispPriority = 1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   826
@@ -2713,7 +2801,9 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   827
     if (!RADEONPreInitChipType(pScrn))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   828
 	goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   829
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   830
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   831
     RADEONPreInitBIOS(pScrn, pInt10);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   832
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   833
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   834
 #ifdef XF86DRI
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   835
     /* PreInit DRI first of all since we need that for getting a proper
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   836
@@ -2726,6 +2816,15 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   837
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   838
     RADEONPreInitColorTiling(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   839
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   840
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   841
+    RADEONPreInitDDC(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   842
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   843
+    if (!RADEONPreInitControllers(pScrn))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   844
+       goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   845
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   846
+    EFBPreInitOutputConfiguration(pScrn, xf86_config);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   847
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   848
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   849
     /* we really need an FB manager... */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   850
     if (pScrn->display->virtualX) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   851
 	crtc_max_X = pScrn->display->virtualX;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   852
@@ -2767,10 +2866,12 @@ Bool RADEONPreInit(ScrnInfoPtr pScrn, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   853
     /*xf86CrtcSetSizeRange (pScrn, 320, 200, info->MaxSurfaceWidth, info->MaxLines);*/
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   854
     xf86CrtcSetSizeRange (pScrn, 320, 200, crtc_max_X, crtc_max_Y);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   855
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   856
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   857
     RADEONPreInitDDC(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   858
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   859
     if (!RADEONPreInitControllers(pScrn))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   860
        goto fail;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   861
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   862
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   863
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   864
     ErrorF("before xf86InitialConfiguration\n");
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   865
@@ -2985,6 +3086,7 @@ RADEONPointerMoved(int index, int x, int y)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   866
     (*info->PointerMoved)(index, newX, newY);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   867
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   868
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   869
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   870
 static void
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   871
 RADEONInitBIOSRegisters(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   872
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   873
@@ -3028,6 +3130,7 @@ RADEONInitBIOSRegisters(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   874
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   875
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   876
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   877
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   878
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   879
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   880
 /* Called at the start of each server generation. */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   881
@@ -3077,8 +3180,10 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   882
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   883
     RADEONSave(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   884
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   885
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   886
     /* set initial bios scratch reg state */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   887
     RADEONInitBIOSRegisters(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   888
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   889
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   890
     /* blank the outputs/crtcs */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   891
     RADEONBlank(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   892
@@ -3514,6 +3619,13 @@ Bool RADEONScreenInit(int scrnIndex, ScreenPtr pScreen,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   893
    if (!xf86CrtcScreenInit (pScreen))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   894
        return FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   895
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   896
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   897
+    /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   898
+     * Give the sparc driver a chance to do any necessary initialization
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   899
+     */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   900
+    EFBScreenInit(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   901
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   902
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   903
     /* Wrap pointer motion to flip touch screen around */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   904
     info->PointerMoved = pScrn->PointerMoved;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   905
     pScrn->PointerMoved = RADEONPointerMoved;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   906
@@ -3623,7 +3735,8 @@ void RADEONRestoreMemMapRegisters(ScrnInfoPtr pScrn,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   907
 	 * reprogrammed
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   908
 	 */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   909
 	if (mc_fb_loc != restore->mc_fb_location ||
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   910
-	    mc_agp_loc != restore->mc_agp_location) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   911
+	    mc_agp_loc != restore->mc_agp_location) 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   912
+	{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   913
 	    CARD32 crtc_ext_cntl, crtc_gen_cntl, crtc2_gen_cntl=0, ov0_scale_cntl;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   914
 	    CARD32 old_mc_status, status_idle;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   915
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   916
@@ -4509,6 +4622,7 @@ void RADEONRestore(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   917
 	    RADEONRestoreMemMapRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   918
 	    RADEONRestoreCommonRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   919
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   920
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   921
 	    if (pRADEONEnt->HasCRTC2) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   922
 		RADEONRestoreCrtc2Registers(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   923
 		RADEONRestorePLL2Registers(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   924
@@ -4516,6 +4630,25 @@ void RADEONRestore(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   925
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   926
 	    RADEONRestoreCrtcRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   927
 	    RADEONRestorePLLRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   928
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   929
+	    /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   930
+	       On sparc, leave the mode untouched when switching
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   931
+	       back to the console mode, but make sure to leave
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   932
+	       the CRT on
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   933
+	     */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   934
+	    if (pRADEONEnt->HasCRTC2) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   935
+	        OUTREGP(RADEON_CRTC2_GEN_CNTL, (RADEON_CRTC2_EN | 0x200),
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   936
+            		~(RADEON_CRTC2_EN | RADEON_CRTC2_DISP_REQ_EN_B |
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   937
+			  0xf00));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   938
+	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   939
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   940
+	    OUTREGP(RADEON_CRTC_EXT_CNTL, RADEON_CRTC_CRT_ON,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   941
+            		~(RADEON_CRTC_CRT_ON));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   942
+	    OUTREGP(RADEON_CRTC_GEN_CNTL, (RADEON_CRTC_EN),
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   943
+            		~(RADEON_CRTC_EN | RADEON_CRTC_DISP_REQ_EN_B 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   944
+			  ));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   945
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   946
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   947
 	    RADEONRestoreRMXRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   948
 	    RADEONRestoreFPRegisters(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   949
 	    RADEONRestoreFP2Registers(pScrn, restore);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   950
@@ -4710,6 +4843,7 @@ ModeStatus RADEONValidMode(int scrnIndex, DisplayModePtr mode,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   951
     RADEONInfoPtr info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   952
     RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   953
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   954
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   955
     /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   956
      * RN50 has effective maximum mode bandwidth of about 300MiB/s.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   957
      * XXX should really do this for all chips by properly computing
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   958
@@ -4719,6 +4853,7 @@ ModeStatus RADEONValidMode(int scrnIndex, DisplayModePtr mode,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   959
 	if (xf86ModeBandwidth(mode, pScrn->bitsPerPixel) > 300)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   960
 	    return MODE_BANDWIDTH;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   961
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   962
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   963
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   964
     /* There are problems with double scan mode at high clocks
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   965
      * They're likely related PLL and display buffer settings.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   966
@@ -5046,9 +5181,15 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   967
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   968
 #endif /* USE_XAA */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   969
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   970
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   971
+    //
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   972
+    // When running on sparc, no need to restore the video state when 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   973
+    // switch back to console mode
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   974
+    //
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   975
     if (pScrn->vtSema) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   976
 	RADEONRestore(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   977
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   978
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   979
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   980
     xf86DrvMsgVerb(pScrn->scrnIndex, X_INFO, RADEON_LOGLEVEL_DEBUG,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   981
 		   "Disposing accel...\n");
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   982
@@ -5088,6 +5229,13 @@ static Bool RADEONCloseScreen(int scrnIndex, ScreenPtr pScreen)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   983
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   984
     xf86ClearPrimInitDone(info->pEnt->index);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   985
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   986
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   987
+    /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   988
+     * Give the sparc driver a chance to do any necessary cleanup
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   989
+     */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   990
+    EFBCloseScreen(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   991
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   992
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   993
     pScreen->BlockHandler = info->BlockHandler;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   994
     pScreen->CloseScreen = info->CloseScreen;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   995
     return (*pScreen->CloseScreen)(scrnIndex, pScreen);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   996
diff --git a/src/radeon_macros.h b/src/radeon_macros.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   997
index 7f532a8..b8e8218 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   998
--- a/src/radeon_macros.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
   999
+++ b/src/radeon_macros.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1000
@@ -60,12 +60,40 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1001
                           (info->VBIOS[(v) + 3] << 24))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1002
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1003
 				/* Memory mapped register access macros */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1004
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1005
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1006
+#define READ_MMIO_UCHAR(base, offset) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1007
+	*((unsigned char *)((unsigned char *)base + (offset)))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1008
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1009
+#define READ_MMIO_USHORT(base, offset) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1010
+	*((unsigned short *)((unsigned char *)base + (offset)))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1011
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1012
+#define READ_MMIO_UINT(base, offset) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1013
+	*((unsigned int *)((unsigned char *)base + (offset)))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1014
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1015
+#define WRITE_MMIO_UCHAR(base, offset, val) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1016
+	*((unsigned char *)((unsigned char *)base + (offset))) = val
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1017
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1018
+#define WRITE_MMIO_USHORT(base, offset, val) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1019
+	*((unsigned short *)((unsigned char *)base + (offset))) = val
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1020
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1021
+#define WRITE_MMIO_UINT(base, offset, val) \
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1022
+	*((unsigned int *)((unsigned char *)base + (offset))) = val
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1023
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1024
+#define INREG8(addr)        READ_MMIO_UCHAR(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1025
+#define INREG16(addr)       READ_MMIO_USHORT(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1026
+#define INREG(addr)         READ_MMIO_UINT(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1027
+#define OUTREG8(addr, val)  WRITE_MMIO_UCHAR(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1028
+#define OUTREG16(addr, val) WRITE_MMIO_USHORT(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1029
+#define OUTREG(addr, val)   WRITE_MMIO_UINT(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1030
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1031
 #define INREG8(addr)        MMIO_IN8(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1032
 #define INREG16(addr)       MMIO_IN16(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1033
 #define INREG(addr)         MMIO_IN32(RADEONMMIO, addr)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1034
 #define OUTREG8(addr, val)  MMIO_OUT8(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1035
 #define OUTREG16(addr, val) MMIO_OUT16(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1036
 #define OUTREG(addr, val)   MMIO_OUT32(RADEONMMIO, addr, val)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1037
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1038
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1039
 #define ADDRREG(addr)       ((volatile CARD32 *)(pointer)(RADEONMMIO + (addr)))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1040
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1041
diff --git a/src/radeon_modes.c b/src/radeon_modes.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1042
index 2c72395..140975f 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1043
--- a/src/radeon_modes.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1044
+++ b/src/radeon_modes.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1045
@@ -258,6 +258,18 @@ static void RADEONAddScreenModes(xf86OutputPtr output, DisplayModePtr *modeList)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1046
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1047
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1048
 DisplayModePtr
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1049
+RADEONOutputGetEDIDModes(xf86OutputPtr output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1050
+{
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1051
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1052
+    return (xf86OutputGetEDIDModes(output));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1053
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1054
+    extern DisplayModePtr EFBOutputGetEDIDModes();
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1055
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1056
+    return (EFBOutputGetEDIDModes(output));
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1057
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1058
+}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1059
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1060
+DisplayModePtr
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1061
 RADEONProbeOutputModes(xf86OutputPtr output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1062
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1063
     RADEONOutputPrivatePtr radeon_output = output->driver_private;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1064
@@ -283,7 +295,8 @@ RADEONProbeOutputModes(xf86OutputPtr output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1065
 	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1066
 	} else {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1067
 	    if (output->MonInfo)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1068
-		modes = xf86OutputGetEDIDModes (output);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1069
+		modes = RADEONOutputGetEDIDModes (output);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1070
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1071
 	    if (modes == NULL) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1072
 		if ((radeon_output->type == OUTPUT_LVDS) && info->IsAtomBios) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1073
 		    atomBiosResult = RHDAtomBiosFunc(pScrn->scrnIndex,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1074
@@ -292,7 +305,7 @@ RADEONProbeOutputModes(xf86OutputPtr output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1075
 		    if (atomBiosResult == ATOM_SUCCESS) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1076
 			output->MonInfo = xf86InterpretEDID(pScrn->scrnIndex,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1077
 							    atomBiosArg.EDIDBlock);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1078
-			modes = xf86OutputGetEDIDModes(output);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1079
+			modes = RADEONOutputGetEDIDModes(output);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1080
 		    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1081
 		}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1082
 		if (modes == NULL) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1083
diff --git a/src/radeon_output.c b/src/radeon_output.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1084
index aceb3d8..93c5654 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1085
--- a/src/radeon_output.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1086
+++ b/src/radeon_output.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1087
@@ -514,6 +514,7 @@ radeon_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1088
     RADEONInfoPtr info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1089
     RADEONEntPtr pRADEONEnt = RADEONEntPriv(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1090
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1091
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1092
     /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1093
      * RN50 has effective maximum mode bandwidth of about 300MiB/s.
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1094
      * XXX should really do this for all chips by properly computing
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1095
@@ -523,6 +524,7 @@ radeon_mode_valid(xf86OutputPtr output, DisplayModePtr pMode)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1096
 	if (xf86ModeBandwidth(pMode, pScrn->bitsPerPixel) > 300)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1097
 	    return MODE_BANDWIDTH;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1098
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1099
+#endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1100
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1101
     if (OUTPUT_IS_TV) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1102
 	/* FIXME: Update when more modes are added */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1103
@@ -670,6 +672,10 @@ radeon_bios_output_lock(xf86OutputPtr output, Bool lock)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1104
     unsigned char *RADEONMMIO = info->MMIO;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1105
     RADEONSavePtr save = info->ModeReg;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1106
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1107
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1108
+    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1109
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1110
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1111
     if (info->IsAtomBios) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1112
 	if (lock) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1113
 	    save->bios_6_scratch |= (ATOM_S6_CRITICAL_STATE | ATOM_S6_ACC_MODE);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1114
@@ -698,6 +704,10 @@ radeon_bios_output_dpms(xf86OutputPtr output, int mode)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1115
     unsigned char *RADEONMMIO = info->MMIO;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1116
     RADEONSavePtr save = info->ModeReg;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1117
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1118
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1119
+    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1120
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1121
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1122
     if (info->IsAtomBios) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1123
 	if (mode == DPMSModeOn) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1124
 	    if (radeon_output->MonType == MT_STV ||
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1125
@@ -845,6 +855,10 @@ radeon_bios_output_crtc(xf86OutputPtr output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1126
     xf86CrtcPtr crtc = output->crtc;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1127
     RADEONCrtcPrivatePtr radeon_crtc = crtc->driver_private;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1128
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1129
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1130
+    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1131
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1132
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1133
     if (info->IsAtomBios) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1134
 	if (radeon_output->MonType == MT_STV ||
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1135
 	    radeon_output->MonType == MT_CTV) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1136
@@ -924,6 +938,10 @@ radeon_bios_output_connected(xf86OutputPtr output, Bool connected)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1137
     unsigned char *RADEONMMIO = info->MMIO;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1138
     RADEONSavePtr save = info->ModeReg;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1139
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1140
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1141
+    return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1142
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1143
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1144
     if (info->ChipFamily >= CHIP_FAMILY_R600)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1145
 	return;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1146
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1147
@@ -1577,6 +1595,23 @@ radeon_set_property(xf86OutputPtr output, Atom property,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1148
     return TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1149
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1150
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1151
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1152
+static const xf86OutputFuncsRec radeon_output_funcs = {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1153
+    .create_resources = radeon_create_resources,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1154
+    .dpms = radeon_dpms,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1155
+    .save = radeon_save,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1156
+    .restore = radeon_restore,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1157
+    .mode_valid = radeon_mode_valid,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1158
+    .mode_fixup = radeon_mode_fixup,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1159
+    .prepare = radeon_mode_prepare,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1160
+    .mode_set = radeon_mode_set,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1161
+    .commit = radeon_mode_commit,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1162
+    .detect = radeon_detect,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1163
+    .get_modes = efb_get_modes,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1164
+    .set_property = radeon_set_property,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1165
+    .destroy = radeon_destroy
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1166
+};
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1167
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1168
 static const xf86OutputFuncsRec radeon_output_funcs = {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1169
     .create_resources = radeon_create_resources,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1170
     .dpms = radeon_dpms,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1171
@@ -1592,6 +1627,7 @@ static const xf86OutputFuncsRec radeon_output_funcs = {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1172
     .set_property = radeon_set_property,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1173
     .destroy = radeon_destroy
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1174
 };
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1175
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1176
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1177
 void RADEONSetOutputType(ScrnInfoPtr pScrn, RADEONOutputPrivatePtr radeon_output)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1178
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1179
@@ -2439,6 +2475,17 @@ static void RADEONSetupGenericConnectors(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1180
 		info->BiosConnector[1].TMDSType = TMDS_EXT;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1181
 		info->BiosConnector[1].ConnectorType = CONNECTOR_DVI_I;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1182
 		info->BiosConnector[1].valid = TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1183
+#elif defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1184
+		info->BiosConnector[1].ddc_i2c = legacy_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1185
+		info->BiosConnector[1].DACType = DAC_PRIMARY;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1186
+		info->BiosConnector[1].TMDSType = TMDS_EXT;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1187
+		info->BiosConnector[1].valid = TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1188
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1189
+		if (info->ChipFamily == CHIP_FAMILY_RV380) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1190
+		    info->BiosConnector[1].ConnectorType = CONNECTOR_DVI_I;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1191
+		} else {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1192
+		    info->BiosConnector[1].ConnectorType = CONNECTOR_VGA;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1193
+		}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1194
 #else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1195
 		info->BiosConnector[1].ddc_i2c = legacy_setup_i2c_bus(RADEON_GPIO_VGA_DDC);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1196
 		info->BiosConnector[1].DACType = DAC_PRIMARY;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1197
@@ -2782,6 +2829,10 @@ Bool RADEONSetupConnectors(ScrnInfoPtr pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1198
 	       but I'm not sure it's worth the trouble */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1199
 	    output->possible_clones = 0;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1200
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1201
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1202
+	    xf86OutputUseScreenMonitor(output, TRUE);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1203
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1204
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1205
 	    RADEONInitConnector(output);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1206
 	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1207
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1208
diff --git a/src/radeon_probe.c b/src/radeon_probe.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1209
index 36451f9..6f7eafa 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1210
--- a/src/radeon_probe.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1211
+++ b/src/radeon_probe.c
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1212
@@ -31,7 +31,9 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1213
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1214
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1215
 #include <string.h>
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1216
+#include <sys/fcntl.h>
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1217
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1218
+#include <sys/visual_io.h>
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1219
 /*
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1220
  * Authors:
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1221
  *   Kevin E. Martin <[email protected]>
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1222
@@ -53,6 +55,7 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1223
 #include "radeon_chipset_gen.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1224
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1225
 #include "radeon_pci_chipset_gen.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1226
+#include "radeon.h"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1227
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1228
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1229
 #ifdef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1230
@@ -63,6 +66,7 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1231
 static Bool RADEONProbe(DriverPtr drv, int flags);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1232
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1233
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1234
+_X_EXPORT
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1235
 int gRADEONEntityIndex = -1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1236
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1237
 /* Return the options for supported chipset 'n'; NULL otherwise */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1238
@@ -81,18 +85,22 @@ RADEONIdentify(int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1239
 		      RADEONChipsets);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1240
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1241
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1242
-static Bool
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1243
+static ScrnInfoPtr
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1244
 radeon_get_scrninfo(int entity_num)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1245
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1246
     ScrnInfoPtr   pScrn = NULL;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1247
     EntityInfoPtr pEnt;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1248
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1249
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1250
     pScrn = xf86ConfigPciEntity(pScrn, 0, entity_num, RADEONPciChipsets,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1251
                                 NULL,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1252
                                 NULL, NULL, NULL, NULL);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1253
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1254
+    pScrn = xf86ConfigFbEntity(pScrn, 0, entity_num, NULL,NULL,NULL,NULL);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1255
+#endif 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1256
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1257
     if (!pScrn)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1258
-        return FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1259
+        return NULL;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1260
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1261
     pScrn->driverVersion = RADEON_VERSION_CURRENT;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1262
     pScrn->driverName    = RADEON_DRIVER_NAME;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1263
@@ -146,10 +154,14 @@ radeon_get_scrninfo(int entity_num)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1264
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1265
     xfree(pEnt);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1266
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1267
-    return TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1268
+    return pScrn;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1269
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1270
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1271
-#ifndef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1272
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1273
+#define RADEON_DEFAULT_DEVICE_PATH "/dev/fb"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1274
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1275
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1276
+#if !defined(XSERVER_LIBPCIACCESS) || defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1277
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1278
 /* Return TRUE if chipset is present; FALSE otherwise. */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1279
 static Bool
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1280
@@ -161,13 +173,17 @@ RADEONProbe(DriverPtr drv, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1281
     GDevPtr *devSections;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1282
     Bool     foundScreen = FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1283
     int      i;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1284
+    ScrnInfoPtr pScrn;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1285
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1286
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1287
     if (!xf86GetPciVideoInfo()) return FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1288
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1289
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1290
     numDevSections = xf86MatchDevice(RADEON_NAME, &devSections);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1291
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1292
     if (!numDevSections) return FALSE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1293
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1294
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1295
     numUsed = xf86MatchPciInstances(RADEON_NAME,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1296
 				    PCI_VENDOR_ATI,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1297
 				    RADEONChipsets,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1298
@@ -183,12 +199,50 @@ RADEONProbe(DriverPtr drv, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1299
 	foundScreen = TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1300
     } else {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1301
 	for (i = 0; i < numUsed; i++) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1302
-	    if (radeon_get_scrninfo(usedChips[i]))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1303
+	    if (pScrn = radeon_get_scrninfo(usedChips[i]))
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1304
 		foundScreen = TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1305
 	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1306
     }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1307
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1308
     xfree(usedChips);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1309
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1310
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1311
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1312
+    // CR 6876840 - fix the core dump, but it still won't support
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1313
+    // -configure option
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1314
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1315
+    if (flags & PROBE_DETECT) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1316
+	if (devSections)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1317
+            xfree(devSections);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1318
+	return TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1319
+    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1320
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1321
+    for (i = 0; i < numDevSections; i++) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1322
+	char * dev;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1323
+	int entity;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1324
+	RADEONInfoPtr info;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1325
+	int fd;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1326
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1327
+	entity = xf86ClaimFbSlot(drv, 0, devSections[i], TRUE);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1328
+	if (pScrn = radeon_get_scrninfo(entity)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1329
+	    dev = xf86FindOptionValue(devSections[i]->options, "device");
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1330
+            if (dev == NULL) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1331
+                dev = RADEON_DEFAULT_DEVICE_PATH;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1332
+            }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1333
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1334
+            if (((fd = open(dev, O_RDWR, 0)) >= 0)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1335
+		foundScreen = TRUE;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1336
+	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1337
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1338
+    	    if (RADEONGetRec(pScrn)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1339
+    		info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1340
+		info->deviceName = dev;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1341
+		info->fd = fd;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1342
+	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1343
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1344
+    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1345
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1346
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1347
     xfree(devSections);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1348
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1349
     return foundScreen;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1350
@@ -196,7 +250,7 @@ RADEONProbe(DriverPtr drv, int flags)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1351
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1352
 #else /* XSERVER_LIBPCIACCESS */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1353
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1354
-static Bool
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1355
+static ScrnInfoPtr
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1356
 radeon_pci_probe(
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1357
     DriverPtr          pDriver,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1358
     int                entity_num,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1359
@@ -204,7 +258,48 @@ radeon_pci_probe(
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1360
     intptr_t           match_data
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1361
 )
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1362
 {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1363
-    return radeon_get_scrninfo(entity_num);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1364
+    ScrnInfoPtr pScrn;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1365
+    pScrn = radeon_get_scrninfo(entity_num);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1366
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1367
+#if defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1368
+    if (pScrn != NULL) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1369
+	char * dev;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1370
+	RADEONInfoPtr info = NULL;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1371
+	int fd = -1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1372
+	int i, numDevSections;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1373
+	GDevPtr *devSections;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1374
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1375
+	numDevSections = xf86MatchDevice(RADEON_NAME, &devSections);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1376
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1377
+    	if (RADEONGetRec(pScrn)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1378
+    	    info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1379
+	    info->fd = -1;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1380
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1381
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1382
+	for (i = 0; i < numDevSections; i++) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1383
+            dev = xf86FindOptionValue(devSections[i]->options, "device");
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1384
+            if (dev == NULL) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1385
+                dev = RADEON_DEFAULT_DEVICE_PATH;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1386
+            }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1387
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1388
+            if (((fd = open(dev, O_RDWR, 0)) >= 0)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1389
+    	        if (RADEONGetRec(pScrn)) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1390
+    		    info = RADEONPTR(pScrn);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1391
+		    info->deviceName = dev;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1392
+		    info->fd = fd;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1393
+	        }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1394
+	    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1395
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1396
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1397
+	if (info->fd == -1) {
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1398
+	    dev = RADEON_DEFAULT_DEVICE_PATH;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1399
+	    info->deviceName = dev;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1400
+	    info->fd = open(dev, O_RDWR, 0);
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1401
+	}
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1402
+    }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1403
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1404
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1405
+    return pScrn;
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1406
 }
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1407
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1408
 #endif /* XSERVER_LIBPCIACCESS */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1409
@@ -214,7 +309,7 @@ _X_EXPORT DriverRec RADEON =
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1410
     RADEON_VERSION_CURRENT,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1411
     RADEON_DRIVER_NAME,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1412
     RADEONIdentify,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1413
-#ifdef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1414
+#if defined(XSERVER_LIBPCIACCESS) && !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1415
     NULL,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1416
 #else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1417
     RADEONProbe,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1418
@@ -223,7 +318,7 @@ _X_EXPORT DriverRec RADEON =
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1419
     NULL,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1420
     0,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1421
     NULL,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1422
-#ifdef XSERVER_LIBPCIACCESS
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1423
+#if defined(XSERVER_LIBPCIACCESS) && !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1424
     radeon_device_match,
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1425
     radeon_pci_probe
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1426
 #endif
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1427
diff --git a/src/radeon_version.h b/src/radeon_version.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1428
index ccc1367..01958af 100644
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1429
--- a/src/radeon_version.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1430
+++ b/src/radeon_version.h
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1431
@@ -34,8 +34,14 @@
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1432
 #undef  RADEON_VERSION_STRINGIFY
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1433
 #undef  RADEON_VERSION_NAME
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1434
 
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1435
+#if !defined(__sparc__)
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1436
 #define RADEON_NAME          "RADEON"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1437
 #define RADEON_DRIVER_NAME   "radeon"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1438
+#else
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1439
+#define RADEON_NAME          "efb"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1440
+#define RADEON_DRIVER_NAME   "efb"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1441
+#endif /* __sparc__ */
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1442
+
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1443
 #define R200_DRIVER_NAME     "r200"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1444
 #define R300_DRIVER_NAME     "r300"
605549b491ac 7039092 Move efb module for Xorg to X consolidation
Alan Coopersmith <Alan.Coopersmith@Oracle.COM>
parents:
diff changeset
  1445