Rev 3192 | Rev 5078 | Go to most recent revision | Show entire file | Regard whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 3192 | Rev 3764 | ||
---|---|---|---|
Line 120... | Line 120... | ||
120 | } |
120 | } |
121 | if (rdev->family == CHIP_RS600) { |
121 | if (rdev->family == CHIP_RS600) { |
122 | rdev->mc_rreg = &rs600_mc_rreg; |
122 | rdev->mc_rreg = &rs600_mc_rreg; |
123 | rdev->mc_wreg = &rs600_mc_wreg; |
123 | rdev->mc_wreg = &rs600_mc_wreg; |
124 | } |
124 | } |
- | 125 | if (rdev->family == CHIP_RS780 || rdev->family == CHIP_RS880) { |
|
- | 126 | rdev->mc_rreg = &rs780_mc_rreg; |
|
- | 127 | rdev->mc_wreg = &rs780_mc_wreg; |
|
- | 128 | } |
|
125 | if (rdev->family >= CHIP_R600) { |
129 | if (rdev->family >= CHIP_R600) { |
126 | rdev->pciep_rreg = &r600_pciep_rreg; |
130 | rdev->pciep_rreg = &r600_pciep_rreg; |
127 | rdev->pciep_wreg = &r600_pciep_wreg; |
131 | rdev->pciep_wreg = &r600_pciep_wreg; |
128 | } |
132 | } |
129 | } |
133 | } |
Line 932... | Line 936... | ||
932 | // .vga_set_state = &r600_vga_set_state, |
936 | // .vga_set_state = &r600_vga_set_state, |
933 | .asic_reset = &r600_asic_reset, |
937 | .asic_reset = &r600_asic_reset, |
934 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
938 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
935 | .gui_idle = &r600_gui_idle, |
939 | .gui_idle = &r600_gui_idle, |
936 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
940 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
- | 941 | .get_xclk = &r600_get_xclk, |
|
- | 942 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
937 | .gart = { |
943 | .gart = { |
938 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
944 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
939 | .set_page = &rs600_gart_set_page, |
945 | .set_page = &rs600_gart_set_page, |
940 | }, |
946 | }, |
941 | .ring = { |
947 | .ring = { |
Line 944... | Line 950... | ||
944 | .emit_fence = &r600_fence_ring_emit, |
950 | .emit_fence = &r600_fence_ring_emit, |
945 | .emit_semaphore = &r600_semaphore_ring_emit, |
951 | .emit_semaphore = &r600_semaphore_ring_emit, |
946 | // .cs_parse = &r600_cs_parse, |
952 | // .cs_parse = &r600_cs_parse, |
947 | .ring_test = &r600_ring_test, |
953 | .ring_test = &r600_ring_test, |
948 | .ib_test = &r600_ib_test, |
954 | .ib_test = &r600_ib_test, |
949 | .is_lockup = &r600_gpu_is_lockup, |
955 | .is_lockup = &r600_gfx_is_lockup, |
950 | }, |
956 | }, |
951 | [R600_RING_TYPE_DMA_INDEX] = { |
957 | [R600_RING_TYPE_DMA_INDEX] = { |
952 | .ib_execute = &r600_dma_ring_ib_execute, |
958 | .ib_execute = &r600_dma_ring_ib_execute, |
953 | .emit_fence = &r600_dma_fence_ring_emit, |
959 | .emit_fence = &r600_dma_fence_ring_emit, |
954 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
960 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
Line 1016... | Line 1022... | ||
1016 | // .vga_set_state = &r600_vga_set_state, |
1022 | // .vga_set_state = &r600_vga_set_state, |
1017 | .asic_reset = &r600_asic_reset, |
1023 | .asic_reset = &r600_asic_reset, |
1018 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1024 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1019 | .gui_idle = &r600_gui_idle, |
1025 | .gui_idle = &r600_gui_idle, |
1020 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1026 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
- | 1027 | .get_xclk = &r600_get_xclk, |
|
- | 1028 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1021 | .gart = { |
1029 | .gart = { |
1022 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1030 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1023 | .set_page = &rs600_gart_set_page, |
1031 | .set_page = &rs600_gart_set_page, |
1024 | }, |
1032 | }, |
1025 | .ring = { |
1033 | .ring = { |
Line 1028... | Line 1036... | ||
1028 | .emit_fence = &r600_fence_ring_emit, |
1036 | .emit_fence = &r600_fence_ring_emit, |
1029 | .emit_semaphore = &r600_semaphore_ring_emit, |
1037 | .emit_semaphore = &r600_semaphore_ring_emit, |
1030 | // .cs_parse = &r600_cs_parse, |
1038 | // .cs_parse = &r600_cs_parse, |
1031 | .ring_test = &r600_ring_test, |
1039 | .ring_test = &r600_ring_test, |
1032 | .ib_test = &r600_ib_test, |
1040 | .ib_test = &r600_ib_test, |
1033 | .is_lockup = &r600_gpu_is_lockup, |
1041 | .is_lockup = &r600_gfx_is_lockup, |
1034 | }, |
1042 | }, |
1035 | [R600_RING_TYPE_DMA_INDEX] = { |
1043 | [R600_RING_TYPE_DMA_INDEX] = { |
1036 | .ib_execute = &r600_dma_ring_ib_execute, |
1044 | .ib_execute = &r600_dma_ring_ib_execute, |
1037 | .emit_fence = &r600_dma_fence_ring_emit, |
1045 | .emit_fence = &r600_dma_fence_ring_emit, |
1038 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1046 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
Line 1100... | Line 1108... | ||
1100 | .asic_reset = &r600_asic_reset, |
1108 | .asic_reset = &r600_asic_reset, |
1101 | // .vga_set_state = &r600_vga_set_state, |
1109 | // .vga_set_state = &r600_vga_set_state, |
1102 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1110 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1103 | .gui_idle = &r600_gui_idle, |
1111 | .gui_idle = &r600_gui_idle, |
1104 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
1112 | .mc_wait_for_idle = &r600_mc_wait_for_idle, |
- | 1113 | .get_xclk = &rv770_get_xclk, |
|
- | 1114 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1105 | .gart = { |
1115 | .gart = { |
1106 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1116 | .tlb_flush = &r600_pcie_gart_tlb_flush, |
1107 | .set_page = &rs600_gart_set_page, |
1117 | .set_page = &rs600_gart_set_page, |
1108 | }, |
1118 | }, |
1109 | .ring = { |
1119 | .ring = { |
Line 1112... | Line 1122... | ||
1112 | .emit_fence = &r600_fence_ring_emit, |
1122 | .emit_fence = &r600_fence_ring_emit, |
1113 | .emit_semaphore = &r600_semaphore_ring_emit, |
1123 | .emit_semaphore = &r600_semaphore_ring_emit, |
1114 | // .cs_parse = &r600_cs_parse, |
1124 | // .cs_parse = &r600_cs_parse, |
1115 | .ring_test = &r600_ring_test, |
1125 | .ring_test = &r600_ring_test, |
1116 | .ib_test = &r600_ib_test, |
1126 | .ib_test = &r600_ib_test, |
1117 | .is_lockup = &r600_gpu_is_lockup, |
1127 | .is_lockup = &r600_gfx_is_lockup, |
1118 | }, |
1128 | }, |
1119 | [R600_RING_TYPE_DMA_INDEX] = { |
1129 | [R600_RING_TYPE_DMA_INDEX] = { |
1120 | .ib_execute = &r600_dma_ring_ib_execute, |
1130 | .ib_execute = &r600_dma_ring_ib_execute, |
1121 | .emit_fence = &r600_dma_fence_ring_emit, |
1131 | .emit_fence = &r600_dma_fence_ring_emit, |
1122 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1132 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1123 | // .cs_parse = &r600_dma_cs_parse, |
1133 | // .cs_parse = &r600_dma_cs_parse, |
1124 | .ring_test = &r600_dma_ring_test, |
1134 | .ring_test = &r600_dma_ring_test, |
1125 | .ib_test = &r600_dma_ib_test, |
1135 | .ib_test = &r600_dma_ib_test, |
1126 | .is_lockup = &r600_dma_is_lockup, |
1136 | .is_lockup = &r600_dma_is_lockup, |
- | 1137 | }, |
|
- | 1138 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1139 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1140 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1141 | // .emit_semaphore = &r600_uvd_semaphore_emit, |
|
- | 1142 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1143 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1144 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1145 | // .is_lockup = &radeon_ring_test_lockup, |
|
1127 | } |
1146 | } |
1128 | }, |
1147 | }, |
1129 | .irq = { |
1148 | .irq = { |
1130 | .set = &r600_irq_set, |
1149 | .set = &r600_irq_set, |
1131 | .process = &r600_irq_process, |
1150 | .process = &r600_irq_process, |
Line 1138... | Line 1157... | ||
1138 | // .get_backlight_level = &atombios_get_backlight_level, |
1157 | // .get_backlight_level = &atombios_get_backlight_level, |
1139 | }, |
1158 | }, |
1140 | .copy = { |
1159 | .copy = { |
1141 | .blit = &r600_copy_blit, |
1160 | .blit = &r600_copy_blit, |
1142 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1161 | .blit_ring_index = RADEON_RING_TYPE_GFX_INDEX, |
1143 | .dma = &r600_copy_dma, |
1162 | .dma = &rv770_copy_dma, |
1144 | .dma_ring_index = R600_RING_TYPE_DMA_INDEX, |
1163 | .dma_ring_index = R600_RING_TYPE_DMA_INDEX, |
1145 | .copy = &r600_copy_dma, |
1164 | .copy = &rv770_copy_dma, |
1146 | .copy_ring_index = R600_RING_TYPE_DMA_INDEX, |
1165 | .copy_ring_index = R600_RING_TYPE_DMA_INDEX, |
1147 | }, |
1166 | }, |
1148 | .surface = { |
1167 | .surface = { |
1149 | .set_reg = r600_set_surface_reg, |
1168 | .set_reg = r600_set_surface_reg, |
1150 | .clear_reg = r600_clear_surface_reg, |
1169 | .clear_reg = r600_clear_surface_reg, |
Line 1166... | Line 1185... | ||
1166 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1185 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1167 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1186 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1168 | // .get_pcie_lanes = &r600_get_pcie_lanes, |
1187 | // .get_pcie_lanes = &r600_get_pcie_lanes, |
1169 | // .set_pcie_lanes = &r600_set_pcie_lanes, |
1188 | // .set_pcie_lanes = &r600_set_pcie_lanes, |
1170 | // .set_clock_gating = &radeon_atom_set_clock_gating, |
1189 | // .set_clock_gating = &radeon_atom_set_clock_gating, |
- | 1190 | .set_uvd_clocks = &rv770_set_uvd_clocks, |
|
1171 | }, |
1191 | }, |
1172 | .pflip = { |
1192 | .pflip = { |
1173 | // .pre_page_flip = &rs600_pre_page_flip, |
1193 | // .pre_page_flip = &rs600_pre_page_flip, |
1174 | // .page_flip = &rv770_page_flip, |
1194 | // .page_flip = &rv770_page_flip, |
1175 | // .post_page_flip = &rs600_post_page_flip, |
1195 | // .post_page_flip = &rs600_post_page_flip, |
Line 1184... | Line 1204... | ||
1184 | .asic_reset = &evergreen_asic_reset, |
1204 | .asic_reset = &evergreen_asic_reset, |
1185 | // .vga_set_state = &r600_vga_set_state, |
1205 | // .vga_set_state = &r600_vga_set_state, |
1186 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1206 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1187 | .gui_idle = &r600_gui_idle, |
1207 | .gui_idle = &r600_gui_idle, |
1188 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1208 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1209 | .get_xclk = &rv770_get_xclk, |
|
- | 1210 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1189 | .gart = { |
1211 | .gart = { |
1190 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1212 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1191 | .set_page = &rs600_gart_set_page, |
1213 | .set_page = &rs600_gart_set_page, |
1192 | }, |
1214 | }, |
1193 | .ring = { |
1215 | .ring = { |
Line 1196... | Line 1218... | ||
1196 | .emit_fence = &r600_fence_ring_emit, |
1218 | .emit_fence = &r600_fence_ring_emit, |
1197 | .emit_semaphore = &r600_semaphore_ring_emit, |
1219 | .emit_semaphore = &r600_semaphore_ring_emit, |
1198 | // .cs_parse = &evergreen_cs_parse, |
1220 | // .cs_parse = &evergreen_cs_parse, |
1199 | .ring_test = &r600_ring_test, |
1221 | .ring_test = &r600_ring_test, |
1200 | .ib_test = &r600_ib_test, |
1222 | .ib_test = &r600_ib_test, |
1201 | .is_lockup = &evergreen_gpu_is_lockup, |
1223 | .is_lockup = &evergreen_gfx_is_lockup, |
1202 | }, |
1224 | }, |
1203 | [R600_RING_TYPE_DMA_INDEX] = { |
1225 | [R600_RING_TYPE_DMA_INDEX] = { |
1204 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1226 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1205 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1227 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1206 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1228 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1207 | // .cs_parse = &evergreen_dma_cs_parse, |
1229 | // .cs_parse = &evergreen_dma_cs_parse, |
1208 | .ring_test = &r600_dma_ring_test, |
1230 | .ring_test = &r600_dma_ring_test, |
1209 | .ib_test = &r600_dma_ib_test, |
1231 | .ib_test = &r600_dma_ib_test, |
1210 | .is_lockup = &r600_dma_is_lockup, |
1232 | .is_lockup = &evergreen_dma_is_lockup, |
- | 1233 | }, |
|
- | 1234 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1235 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1236 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1237 | // .emit_semaphore = &r600_uvd_semaphore_emit, |
|
- | 1238 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1239 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1240 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1241 | // .is_lockup = &radeon_ring_test_lockup, |
|
1211 | } |
1242 | } |
1212 | }, |
1243 | }, |
1213 | .irq = { |
1244 | .irq = { |
1214 | .set = &evergreen_irq_set, |
1245 | .set = &evergreen_irq_set, |
1215 | .process = &evergreen_irq_process, |
1246 | .process = &evergreen_irq_process, |
Line 1250... | Line 1281... | ||
1250 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1281 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1251 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1282 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1252 | // .get_pcie_lanes = &r600_get_pcie_lanes, |
1283 | // .get_pcie_lanes = &r600_get_pcie_lanes, |
1253 | // .set_pcie_lanes = &r600_set_pcie_lanes, |
1284 | // .set_pcie_lanes = &r600_set_pcie_lanes, |
1254 | // .set_clock_gating = NULL, |
1285 | // .set_clock_gating = NULL, |
- | 1286 | .set_uvd_clocks = &evergreen_set_uvd_clocks, |
|
1255 | }, |
1287 | }, |
1256 | .pflip = { |
1288 | .pflip = { |
1257 | // .pre_page_flip = &evergreen_pre_page_flip, |
1289 | // .pre_page_flip = &evergreen_pre_page_flip, |
1258 | // .page_flip = &evergreen_page_flip, |
1290 | // .page_flip = &evergreen_page_flip, |
1259 | // .post_page_flip = &evergreen_post_page_flip, |
1291 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1268... | Line 1300... | ||
1268 | .asic_reset = &evergreen_asic_reset, |
1300 | .asic_reset = &evergreen_asic_reset, |
1269 | // .vga_set_state = &r600_vga_set_state, |
1301 | // .vga_set_state = &r600_vga_set_state, |
1270 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1302 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1271 | .gui_idle = &r600_gui_idle, |
1303 | .gui_idle = &r600_gui_idle, |
1272 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1304 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1305 | .get_xclk = &r600_get_xclk, |
|
- | 1306 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1273 | .gart = { |
1307 | .gart = { |
1274 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1308 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1275 | .set_page = &rs600_gart_set_page, |
1309 | .set_page = &rs600_gart_set_page, |
1276 | }, |
1310 | }, |
1277 | .ring = { |
1311 | .ring = { |
Line 1280... | Line 1314... | ||
1280 | .emit_fence = &r600_fence_ring_emit, |
1314 | .emit_fence = &r600_fence_ring_emit, |
1281 | .emit_semaphore = &r600_semaphore_ring_emit, |
1315 | .emit_semaphore = &r600_semaphore_ring_emit, |
1282 | // .cs_parse = &evergreen_cs_parse, |
1316 | // .cs_parse = &evergreen_cs_parse, |
1283 | .ring_test = &r600_ring_test, |
1317 | .ring_test = &r600_ring_test, |
1284 | .ib_test = &r600_ib_test, |
1318 | .ib_test = &r600_ib_test, |
1285 | .is_lockup = &evergreen_gpu_is_lockup, |
1319 | .is_lockup = &evergreen_gfx_is_lockup, |
1286 | }, |
1320 | }, |
1287 | [R600_RING_TYPE_DMA_INDEX] = { |
1321 | [R600_RING_TYPE_DMA_INDEX] = { |
1288 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1322 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1289 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1323 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1290 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1324 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1291 | // .cs_parse = &evergreen_dma_cs_parse, |
1325 | // .cs_parse = &evergreen_dma_cs_parse, |
1292 | .ring_test = &r600_dma_ring_test, |
1326 | .ring_test = &r600_dma_ring_test, |
1293 | .ib_test = &r600_dma_ib_test, |
1327 | .ib_test = &r600_dma_ib_test, |
1294 | .is_lockup = &r600_dma_is_lockup, |
1328 | .is_lockup = &evergreen_dma_is_lockup, |
- | 1329 | }, |
|
- | 1330 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1331 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1332 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1333 | // .emit_semaphore = &r600_uvd_semaphore_emit, |
|
- | 1334 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1335 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1336 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1337 | // .is_lockup = &radeon_ring_test_lockup, |
|
1295 | } |
1338 | } |
1296 | }, |
1339 | }, |
1297 | .irq = { |
1340 | .irq = { |
1298 | .set = &evergreen_irq_set, |
1341 | .set = &evergreen_irq_set, |
1299 | .process = &evergreen_irq_process, |
1342 | .process = &evergreen_irq_process, |
Line 1334... | Line 1377... | ||
1334 | .get_memory_clock = NULL, |
1377 | .get_memory_clock = NULL, |
1335 | .set_memory_clock = NULL, |
1378 | .set_memory_clock = NULL, |
1336 | .get_pcie_lanes = NULL, |
1379 | .get_pcie_lanes = NULL, |
1337 | .set_pcie_lanes = NULL, |
1380 | .set_pcie_lanes = NULL, |
1338 | .set_clock_gating = NULL, |
1381 | .set_clock_gating = NULL, |
- | 1382 | .set_uvd_clocks = &sumo_set_uvd_clocks, |
|
1339 | }, |
1383 | }, |
1340 | .pflip = { |
1384 | .pflip = { |
1341 | // .pre_page_flip = &evergreen_pre_page_flip, |
1385 | // .pre_page_flip = &evergreen_pre_page_flip, |
1342 | // .page_flip = &evergreen_page_flip, |
1386 | // .page_flip = &evergreen_page_flip, |
1343 | // .post_page_flip = &evergreen_post_page_flip, |
1387 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1352... | Line 1396... | ||
1352 | .asic_reset = &evergreen_asic_reset, |
1396 | .asic_reset = &evergreen_asic_reset, |
1353 | // .vga_set_state = &r600_vga_set_state, |
1397 | // .vga_set_state = &r600_vga_set_state, |
1354 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1398 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1355 | .gui_idle = &r600_gui_idle, |
1399 | .gui_idle = &r600_gui_idle, |
1356 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1400 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1401 | .get_xclk = &rv770_get_xclk, |
|
- | 1402 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1357 | .gart = { |
1403 | .gart = { |
1358 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1404 | .tlb_flush = &evergreen_pcie_gart_tlb_flush, |
1359 | .set_page = &rs600_gart_set_page, |
1405 | .set_page = &rs600_gart_set_page, |
1360 | }, |
1406 | }, |
1361 | .ring = { |
1407 | .ring = { |
Line 1364... | Line 1410... | ||
1364 | .emit_fence = &r600_fence_ring_emit, |
1410 | .emit_fence = &r600_fence_ring_emit, |
1365 | .emit_semaphore = &r600_semaphore_ring_emit, |
1411 | .emit_semaphore = &r600_semaphore_ring_emit, |
1366 | // .cs_parse = &evergreen_cs_parse, |
1412 | // .cs_parse = &evergreen_cs_parse, |
1367 | .ring_test = &r600_ring_test, |
1413 | .ring_test = &r600_ring_test, |
1368 | .ib_test = &r600_ib_test, |
1414 | .ib_test = &r600_ib_test, |
1369 | .is_lockup = &evergreen_gpu_is_lockup, |
1415 | .is_lockup = &evergreen_gfx_is_lockup, |
1370 | }, |
1416 | }, |
1371 | [R600_RING_TYPE_DMA_INDEX] = { |
1417 | [R600_RING_TYPE_DMA_INDEX] = { |
1372 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1418 | .ib_execute = &evergreen_dma_ring_ib_execute, |
1373 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1419 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1374 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1420 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1375 | // .cs_parse = &evergreen_dma_cs_parse, |
1421 | // .cs_parse = &evergreen_dma_cs_parse, |
1376 | .ring_test = &r600_dma_ring_test, |
1422 | .ring_test = &r600_dma_ring_test, |
1377 | .ib_test = &r600_dma_ib_test, |
1423 | .ib_test = &r600_dma_ib_test, |
1378 | .is_lockup = &r600_dma_is_lockup, |
1424 | .is_lockup = &evergreen_dma_is_lockup, |
- | 1425 | }, |
|
- | 1426 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1427 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1428 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1429 | // .emit_semaphore = &r600_uvd_semaphore_emit, |
|
- | 1430 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1431 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1432 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1433 | // .is_lockup = &radeon_ring_test_lockup, |
|
1379 | } |
1434 | } |
1380 | }, |
1435 | }, |
1381 | .irq = { |
1436 | .irq = { |
1382 | .set = &evergreen_irq_set, |
1437 | .set = &evergreen_irq_set, |
1383 | .process = &evergreen_irq_process, |
1438 | .process = &evergreen_irq_process, |
Line 1418... | Line 1473... | ||
1418 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1473 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1419 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1474 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1420 | .get_pcie_lanes = NULL, |
1475 | .get_pcie_lanes = NULL, |
1421 | .set_pcie_lanes = NULL, |
1476 | .set_pcie_lanes = NULL, |
1422 | .set_clock_gating = NULL, |
1477 | .set_clock_gating = NULL, |
- | 1478 | .set_uvd_clocks = &evergreen_set_uvd_clocks, |
|
1423 | }, |
1479 | }, |
1424 | .pflip = { |
1480 | .pflip = { |
1425 | // .pre_page_flip = &evergreen_pre_page_flip, |
1481 | // .pre_page_flip = &evergreen_pre_page_flip, |
1426 | // .page_flip = &evergreen_page_flip, |
1482 | // .page_flip = &evergreen_page_flip, |
1427 | // .post_page_flip = &evergreen_post_page_flip, |
1483 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1436... | Line 1492... | ||
1436 | .asic_reset = &cayman_asic_reset, |
1492 | .asic_reset = &cayman_asic_reset, |
1437 | // .vga_set_state = &r600_vga_set_state, |
1493 | // .vga_set_state = &r600_vga_set_state, |
1438 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1494 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1439 | .gui_idle = &r600_gui_idle, |
1495 | .gui_idle = &r600_gui_idle, |
1440 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1496 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1497 | .get_xclk = &rv770_get_xclk, |
|
- | 1498 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1441 | .gart = { |
1499 | .gart = { |
1442 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1500 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1443 | .set_page = &rs600_gart_set_page, |
1501 | .set_page = &rs600_gart_set_page, |
1444 | }, |
1502 | }, |
1445 | .vm = { |
1503 | .vm = { |
Line 1455... | Line 1513... | ||
1455 | .emit_fence = &cayman_fence_ring_emit, |
1513 | .emit_fence = &cayman_fence_ring_emit, |
1456 | .emit_semaphore = &r600_semaphore_ring_emit, |
1514 | .emit_semaphore = &r600_semaphore_ring_emit, |
1457 | // .cs_parse = &evergreen_cs_parse, |
1515 | // .cs_parse = &evergreen_cs_parse, |
1458 | .ring_test = &r600_ring_test, |
1516 | .ring_test = &r600_ring_test, |
1459 | .ib_test = &r600_ib_test, |
1517 | .ib_test = &r600_ib_test, |
1460 | .is_lockup = &evergreen_gpu_is_lockup, |
1518 | .is_lockup = &cayman_gfx_is_lockup, |
1461 | .vm_flush = &cayman_vm_flush, |
1519 | .vm_flush = &cayman_vm_flush, |
1462 | }, |
1520 | }, |
1463 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1521 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1464 | .ib_execute = &cayman_ring_ib_execute, |
1522 | .ib_execute = &cayman_ring_ib_execute, |
1465 | // .ib_parse = &evergreen_ib_parse, |
1523 | // .ib_parse = &evergreen_ib_parse, |
1466 | .emit_fence = &cayman_fence_ring_emit, |
1524 | .emit_fence = &cayman_fence_ring_emit, |
1467 | .emit_semaphore = &r600_semaphore_ring_emit, |
1525 | .emit_semaphore = &r600_semaphore_ring_emit, |
1468 | // .cs_parse = &evergreen_cs_parse, |
1526 | // .cs_parse = &evergreen_cs_parse, |
1469 | .ring_test = &r600_ring_test, |
1527 | .ring_test = &r600_ring_test, |
1470 | .ib_test = &r600_ib_test, |
1528 | .ib_test = &r600_ib_test, |
1471 | .is_lockup = &evergreen_gpu_is_lockup, |
1529 | .is_lockup = &cayman_gfx_is_lockup, |
1472 | .vm_flush = &cayman_vm_flush, |
1530 | .vm_flush = &cayman_vm_flush, |
1473 | }, |
1531 | }, |
1474 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1532 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1475 | .ib_execute = &cayman_ring_ib_execute, |
1533 | .ib_execute = &cayman_ring_ib_execute, |
1476 | // .ib_parse = &evergreen_ib_parse, |
1534 | // .ib_parse = &evergreen_ib_parse, |
1477 | .emit_fence = &cayman_fence_ring_emit, |
1535 | .emit_fence = &cayman_fence_ring_emit, |
1478 | .emit_semaphore = &r600_semaphore_ring_emit, |
1536 | .emit_semaphore = &r600_semaphore_ring_emit, |
1479 | // .cs_parse = &evergreen_cs_parse, |
1537 | // .cs_parse = &evergreen_cs_parse, |
1480 | .ring_test = &r600_ring_test, |
1538 | .ring_test = &r600_ring_test, |
1481 | .ib_test = &r600_ib_test, |
1539 | .ib_test = &r600_ib_test, |
1482 | .is_lockup = &evergreen_gpu_is_lockup, |
1540 | .is_lockup = &cayman_gfx_is_lockup, |
1483 | .vm_flush = &cayman_vm_flush, |
1541 | .vm_flush = &cayman_vm_flush, |
1484 | }, |
1542 | }, |
1485 | [R600_RING_TYPE_DMA_INDEX] = { |
1543 | [R600_RING_TYPE_DMA_INDEX] = { |
1486 | .ib_execute = &cayman_dma_ring_ib_execute, |
1544 | .ib_execute = &cayman_dma_ring_ib_execute, |
1487 | // .ib_parse = &evergreen_dma_ib_parse, |
1545 | // .ib_parse = &evergreen_dma_ib_parse, |
Line 1501... | Line 1559... | ||
1501 | // .cs_parse = &evergreen_dma_cs_parse, |
1559 | // .cs_parse = &evergreen_dma_cs_parse, |
1502 | .ring_test = &r600_dma_ring_test, |
1560 | .ring_test = &r600_dma_ring_test, |
1503 | .ib_test = &r600_dma_ib_test, |
1561 | .ib_test = &r600_dma_ib_test, |
1504 | .is_lockup = &cayman_dma_is_lockup, |
1562 | .is_lockup = &cayman_dma_is_lockup, |
1505 | .vm_flush = &cayman_dma_vm_flush, |
1563 | .vm_flush = &cayman_dma_vm_flush, |
- | 1564 | }, |
|
- | 1565 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1566 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1567 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1568 | // .emit_semaphore = &cayman_uvd_semaphore_emit, |
|
- | 1569 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1570 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1571 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1572 | // .is_lockup = &radeon_ring_test_lockup, |
|
1506 | } |
1573 | } |
1507 | }, |
1574 | }, |
1508 | .irq = { |
1575 | .irq = { |
1509 | .set = &evergreen_irq_set, |
1576 | .set = &evergreen_irq_set, |
1510 | .process = &evergreen_irq_process, |
1577 | .process = &evergreen_irq_process, |
Line 1545... | Line 1612... | ||
1545 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1612 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1546 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1613 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1547 | .get_pcie_lanes = NULL, |
1614 | .get_pcie_lanes = NULL, |
1548 | .set_pcie_lanes = NULL, |
1615 | .set_pcie_lanes = NULL, |
1549 | .set_clock_gating = NULL, |
1616 | .set_clock_gating = NULL, |
- | 1617 | .set_uvd_clocks = &evergreen_set_uvd_clocks, |
|
1550 | }, |
1618 | }, |
1551 | .pflip = { |
1619 | .pflip = { |
1552 | // .pre_page_flip = &evergreen_pre_page_flip, |
1620 | // .pre_page_flip = &evergreen_pre_page_flip, |
1553 | // .page_flip = &evergreen_page_flip, |
1621 | // .page_flip = &evergreen_page_flip, |
1554 | // .post_page_flip = &evergreen_post_page_flip, |
1622 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1563... | Line 1631... | ||
1563 | .asic_reset = &cayman_asic_reset, |
1631 | .asic_reset = &cayman_asic_reset, |
1564 | // .vga_set_state = &r600_vga_set_state, |
1632 | // .vga_set_state = &r600_vga_set_state, |
1565 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1633 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1566 | .gui_idle = &r600_gui_idle, |
1634 | .gui_idle = &r600_gui_idle, |
1567 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1635 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1636 | .get_xclk = &r600_get_xclk, |
|
- | 1637 | .get_gpu_clock_counter = &r600_get_gpu_clock_counter, |
|
1568 | .gart = { |
1638 | .gart = { |
1569 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1639 | .tlb_flush = &cayman_pcie_gart_tlb_flush, |
1570 | .set_page = &rs600_gart_set_page, |
1640 | .set_page = &rs600_gart_set_page, |
1571 | }, |
1641 | }, |
1572 | .vm = { |
1642 | .vm = { |
Line 1582... | Line 1652... | ||
1582 | .emit_fence = &cayman_fence_ring_emit, |
1652 | .emit_fence = &cayman_fence_ring_emit, |
1583 | .emit_semaphore = &r600_semaphore_ring_emit, |
1653 | .emit_semaphore = &r600_semaphore_ring_emit, |
1584 | // .cs_parse = &evergreen_cs_parse, |
1654 | // .cs_parse = &evergreen_cs_parse, |
1585 | .ring_test = &r600_ring_test, |
1655 | .ring_test = &r600_ring_test, |
1586 | .ib_test = &r600_ib_test, |
1656 | .ib_test = &r600_ib_test, |
1587 | .is_lockup = &evergreen_gpu_is_lockup, |
1657 | .is_lockup = &cayman_gfx_is_lockup, |
1588 | .vm_flush = &cayman_vm_flush, |
1658 | .vm_flush = &cayman_vm_flush, |
1589 | }, |
1659 | }, |
1590 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1660 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1591 | .ib_execute = &cayman_ring_ib_execute, |
1661 | .ib_execute = &cayman_ring_ib_execute, |
1592 | // .ib_parse = &evergreen_ib_parse, |
1662 | // .ib_parse = &evergreen_ib_parse, |
1593 | .emit_fence = &cayman_fence_ring_emit, |
1663 | .emit_fence = &cayman_fence_ring_emit, |
1594 | .emit_semaphore = &r600_semaphore_ring_emit, |
1664 | .emit_semaphore = &r600_semaphore_ring_emit, |
1595 | // .cs_parse = &evergreen_cs_parse, |
1665 | // .cs_parse = &evergreen_cs_parse, |
1596 | .ring_test = &r600_ring_test, |
1666 | .ring_test = &r600_ring_test, |
1597 | .ib_test = &r600_ib_test, |
1667 | .ib_test = &r600_ib_test, |
1598 | .is_lockup = &evergreen_gpu_is_lockup, |
1668 | .is_lockup = &cayman_gfx_is_lockup, |
1599 | .vm_flush = &cayman_vm_flush, |
1669 | .vm_flush = &cayman_vm_flush, |
1600 | }, |
1670 | }, |
1601 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1671 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1602 | .ib_execute = &cayman_ring_ib_execute, |
1672 | .ib_execute = &cayman_ring_ib_execute, |
1603 | // .ib_parse = &evergreen_ib_parse, |
1673 | // .ib_parse = &evergreen_ib_parse, |
1604 | .emit_fence = &cayman_fence_ring_emit, |
1674 | .emit_fence = &cayman_fence_ring_emit, |
1605 | .emit_semaphore = &r600_semaphore_ring_emit, |
1675 | .emit_semaphore = &r600_semaphore_ring_emit, |
1606 | // .cs_parse = &evergreen_cs_parse, |
1676 | // .cs_parse = &evergreen_cs_parse, |
1607 | .ring_test = &r600_ring_test, |
1677 | .ring_test = &r600_ring_test, |
1608 | .ib_test = &r600_ib_test, |
1678 | .ib_test = &r600_ib_test, |
1609 | .is_lockup = &evergreen_gpu_is_lockup, |
1679 | .is_lockup = &cayman_gfx_is_lockup, |
1610 | .vm_flush = &cayman_vm_flush, |
1680 | .vm_flush = &cayman_vm_flush, |
1611 | }, |
1681 | }, |
1612 | [R600_RING_TYPE_DMA_INDEX] = { |
1682 | [R600_RING_TYPE_DMA_INDEX] = { |
1613 | .ib_execute = &cayman_dma_ring_ib_execute, |
1683 | .ib_execute = &cayman_dma_ring_ib_execute, |
1614 | // .ib_parse = &evergreen_dma_ib_parse, |
1684 | // .ib_parse = &evergreen_dma_ib_parse, |
Line 1628... | Line 1698... | ||
1628 | // .cs_parse = &evergreen_dma_cs_parse, |
1698 | // .cs_parse = &evergreen_dma_cs_parse, |
1629 | .ring_test = &r600_dma_ring_test, |
1699 | .ring_test = &r600_dma_ring_test, |
1630 | .ib_test = &r600_dma_ib_test, |
1700 | .ib_test = &r600_dma_ib_test, |
1631 | .is_lockup = &cayman_dma_is_lockup, |
1701 | .is_lockup = &cayman_dma_is_lockup, |
1632 | .vm_flush = &cayman_dma_vm_flush, |
1702 | .vm_flush = &cayman_dma_vm_flush, |
- | 1703 | }, |
|
- | 1704 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1705 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1706 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1707 | // .emit_semaphore = &cayman_uvd_semaphore_emit, |
|
- | 1708 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1709 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1710 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1711 | // .is_lockup = &radeon_ring_test_lockup, |
|
1633 | } |
1712 | } |
1634 | }, |
1713 | }, |
1635 | .irq = { |
1714 | .irq = { |
1636 | .set = &evergreen_irq_set, |
1715 | .set = &evergreen_irq_set, |
1637 | .process = &evergreen_irq_process, |
1716 | .process = &evergreen_irq_process, |
Line 1672... | Line 1751... | ||
1672 | .get_memory_clock = NULL, |
1751 | .get_memory_clock = NULL, |
1673 | .set_memory_clock = NULL, |
1752 | .set_memory_clock = NULL, |
1674 | .get_pcie_lanes = NULL, |
1753 | .get_pcie_lanes = NULL, |
1675 | .set_pcie_lanes = NULL, |
1754 | .set_pcie_lanes = NULL, |
1676 | .set_clock_gating = NULL, |
1755 | .set_clock_gating = NULL, |
- | 1756 | .set_uvd_clocks = &sumo_set_uvd_clocks, |
|
1677 | }, |
1757 | }, |
1678 | .pflip = { |
1758 | .pflip = { |
1679 | // .pre_page_flip = &evergreen_pre_page_flip, |
1759 | // .pre_page_flip = &evergreen_pre_page_flip, |
1680 | // .page_flip = &evergreen_page_flip, |
1760 | // .page_flip = &evergreen_page_flip, |
1681 | // .post_page_flip = &evergreen_post_page_flip, |
1761 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1690... | Line 1770... | ||
1690 | .asic_reset = &si_asic_reset, |
1770 | .asic_reset = &si_asic_reset, |
1691 | // .vga_set_state = &r600_vga_set_state, |
1771 | // .vga_set_state = &r600_vga_set_state, |
1692 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1772 | // .ioctl_wait_idle = r600_ioctl_wait_idle, |
1693 | .gui_idle = &r600_gui_idle, |
1773 | .gui_idle = &r600_gui_idle, |
1694 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
1774 | .mc_wait_for_idle = &evergreen_mc_wait_for_idle, |
- | 1775 | .get_xclk = &si_get_xclk, |
|
- | 1776 | .get_gpu_clock_counter = &si_get_gpu_clock_counter, |
|
1695 | .gart = { |
1777 | .gart = { |
1696 | .tlb_flush = &si_pcie_gart_tlb_flush, |
1778 | .tlb_flush = &si_pcie_gart_tlb_flush, |
1697 | .set_page = &rs600_gart_set_page, |
1779 | .set_page = &rs600_gart_set_page, |
1698 | }, |
1780 | }, |
1699 | .vm = { |
1781 | .vm = { |
Line 1709... | Line 1791... | ||
1709 | .emit_fence = &si_fence_ring_emit, |
1791 | .emit_fence = &si_fence_ring_emit, |
1710 | .emit_semaphore = &r600_semaphore_ring_emit, |
1792 | .emit_semaphore = &r600_semaphore_ring_emit, |
1711 | .cs_parse = NULL, |
1793 | .cs_parse = NULL, |
1712 | .ring_test = &r600_ring_test, |
1794 | .ring_test = &r600_ring_test, |
1713 | .ib_test = &r600_ib_test, |
1795 | .ib_test = &r600_ib_test, |
1714 | .is_lockup = &si_gpu_is_lockup, |
1796 | .is_lockup = &si_gfx_is_lockup, |
1715 | .vm_flush = &si_vm_flush, |
1797 | .vm_flush = &si_vm_flush, |
1716 | }, |
1798 | }, |
1717 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1799 | [CAYMAN_RING_TYPE_CP1_INDEX] = { |
1718 | .ib_execute = &si_ring_ib_execute, |
1800 | .ib_execute = &si_ring_ib_execute, |
1719 | // .ib_parse = &si_ib_parse, |
1801 | // .ib_parse = &si_ib_parse, |
1720 | .emit_fence = &si_fence_ring_emit, |
1802 | .emit_fence = &si_fence_ring_emit, |
1721 | .emit_semaphore = &r600_semaphore_ring_emit, |
1803 | .emit_semaphore = &r600_semaphore_ring_emit, |
1722 | .cs_parse = NULL, |
1804 | .cs_parse = NULL, |
1723 | .ring_test = &r600_ring_test, |
1805 | .ring_test = &r600_ring_test, |
1724 | .ib_test = &r600_ib_test, |
1806 | .ib_test = &r600_ib_test, |
1725 | .is_lockup = &si_gpu_is_lockup, |
1807 | .is_lockup = &si_gfx_is_lockup, |
1726 | .vm_flush = &si_vm_flush, |
1808 | .vm_flush = &si_vm_flush, |
1727 | }, |
1809 | }, |
1728 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1810 | [CAYMAN_RING_TYPE_CP2_INDEX] = { |
1729 | .ib_execute = &si_ring_ib_execute, |
1811 | .ib_execute = &si_ring_ib_execute, |
1730 | // .ib_parse = &si_ib_parse, |
1812 | // .ib_parse = &si_ib_parse, |
1731 | .emit_fence = &si_fence_ring_emit, |
1813 | .emit_fence = &si_fence_ring_emit, |
1732 | .emit_semaphore = &r600_semaphore_ring_emit, |
1814 | .emit_semaphore = &r600_semaphore_ring_emit, |
1733 | .cs_parse = NULL, |
1815 | .cs_parse = NULL, |
1734 | .ring_test = &r600_ring_test, |
1816 | .ring_test = &r600_ring_test, |
1735 | .ib_test = &r600_ib_test, |
1817 | .ib_test = &r600_ib_test, |
1736 | .is_lockup = &si_gpu_is_lockup, |
1818 | .is_lockup = &si_gfx_is_lockup, |
1737 | .vm_flush = &si_vm_flush, |
1819 | .vm_flush = &si_vm_flush, |
1738 | }, |
1820 | }, |
1739 | [R600_RING_TYPE_DMA_INDEX] = { |
1821 | [R600_RING_TYPE_DMA_INDEX] = { |
1740 | .ib_execute = &cayman_dma_ring_ib_execute, |
1822 | .ib_execute = &cayman_dma_ring_ib_execute, |
1741 | // .ib_parse = &evergreen_dma_ib_parse, |
1823 | // .ib_parse = &evergreen_dma_ib_parse, |
1742 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1824 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1743 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1825 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1744 | .cs_parse = NULL, |
1826 | .cs_parse = NULL, |
1745 | .ring_test = &r600_dma_ring_test, |
1827 | .ring_test = &r600_dma_ring_test, |
1746 | .ib_test = &r600_dma_ib_test, |
1828 | .ib_test = &r600_dma_ib_test, |
1747 | .is_lockup = &cayman_dma_is_lockup, |
1829 | .is_lockup = &si_dma_is_lockup, |
1748 | .vm_flush = &si_dma_vm_flush, |
1830 | .vm_flush = &si_dma_vm_flush, |
1749 | }, |
1831 | }, |
1750 | [CAYMAN_RING_TYPE_DMA1_INDEX] = { |
1832 | [CAYMAN_RING_TYPE_DMA1_INDEX] = { |
1751 | .ib_execute = &cayman_dma_ring_ib_execute, |
1833 | .ib_execute = &cayman_dma_ring_ib_execute, |
1752 | // .ib_parse = &evergreen_dma_ib_parse, |
1834 | // .ib_parse = &evergreen_dma_ib_parse, |
1753 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1835 | .emit_fence = &evergreen_dma_fence_ring_emit, |
1754 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1836 | .emit_semaphore = &r600_dma_semaphore_ring_emit, |
1755 | .cs_parse = NULL, |
1837 | .cs_parse = NULL, |
1756 | .ring_test = &r600_dma_ring_test, |
1838 | .ring_test = &r600_dma_ring_test, |
1757 | .ib_test = &r600_dma_ib_test, |
1839 | .ib_test = &r600_dma_ib_test, |
1758 | .is_lockup = &cayman_dma_is_lockup, |
1840 | .is_lockup = &si_dma_is_lockup, |
1759 | .vm_flush = &si_dma_vm_flush, |
1841 | .vm_flush = &si_dma_vm_flush, |
- | 1842 | }, |
|
- | 1843 | [R600_RING_TYPE_UVD_INDEX] = { |
|
- | 1844 | // .ib_execute = &r600_uvd_ib_execute, |
|
- | 1845 | // .emit_fence = &r600_uvd_fence_emit, |
|
- | 1846 | // .emit_semaphore = &cayman_uvd_semaphore_emit, |
|
- | 1847 | // .cs_parse = &radeon_uvd_cs_parse, |
|
- | 1848 | // .ring_test = &r600_uvd_ring_test, |
|
- | 1849 | // .ib_test = &r600_uvd_ib_test, |
|
- | 1850 | // .is_lockup = &radeon_ring_test_lockup, |
|
1760 | } |
1851 | } |
1761 | }, |
1852 | }, |
1762 | .irq = { |
1853 | .irq = { |
1763 | .set = &si_irq_set, |
1854 | .set = &si_irq_set, |
1764 | .process = &si_irq_process, |
1855 | .process = &si_irq_process, |
Line 1799... | Line 1890... | ||
1799 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1890 | // .get_memory_clock = &radeon_atom_get_memory_clock, |
1800 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1891 | // .set_memory_clock = &radeon_atom_set_memory_clock, |
1801 | .get_pcie_lanes = NULL, |
1892 | .get_pcie_lanes = NULL, |
1802 | .set_pcie_lanes = NULL, |
1893 | .set_pcie_lanes = NULL, |
1803 | .set_clock_gating = NULL, |
1894 | .set_clock_gating = NULL, |
- | 1895 | // .set_uvd_clocks = &si_set_uvd_clocks, |
|
1804 | }, |
1896 | }, |
1805 | .pflip = { |
1897 | .pflip = { |
1806 | // .pre_page_flip = &evergreen_pre_page_flip, |
1898 | // .pre_page_flip = &evergreen_pre_page_flip, |
1807 | // .page_flip = &evergreen_page_flip, |
1899 | // .page_flip = &evergreen_page_flip, |
1808 | // .post_page_flip = &evergreen_post_page_flip, |
1900 | // .post_page_flip = &evergreen_post_page_flip, |
Line 1827... | Line 1919... | ||
1827 | if (rdev->flags & RADEON_SINGLE_CRTC) |
1919 | if (rdev->flags & RADEON_SINGLE_CRTC) |
1828 | rdev->num_crtc = 1; |
1920 | rdev->num_crtc = 1; |
1829 | else |
1921 | else |
1830 | rdev->num_crtc = 2; |
1922 | rdev->num_crtc = 2; |
Line -... | Line 1923... | ||
- | 1923 | ||
- | 1924 | rdev->has_uvd = false; |
|
1831 | 1925 | ||
1832 | switch (rdev->family) { |
1926 | switch (rdev->family) { |
1833 | case CHIP_R100: |
1927 | case CHIP_R100: |
1834 | case CHIP_RV100: |
1928 | case CHIP_RV100: |
1835 | case CHIP_RS100: |
1929 | case CHIP_RS100: |
Line 1891... | Line 1985... | ||
1891 | case CHIP_RV630: |
1985 | case CHIP_RV630: |
1892 | case CHIP_RV620: |
1986 | case CHIP_RV620: |
1893 | case CHIP_RV635: |
1987 | case CHIP_RV635: |
1894 | case CHIP_RV670: |
1988 | case CHIP_RV670: |
1895 | rdev->asic = &r600_asic; |
1989 | rdev->asic = &r600_asic; |
- | 1990 | if (rdev->family == CHIP_R600) |
|
- | 1991 | rdev->has_uvd = false; |
|
- | 1992 | else |
|
- | 1993 | rdev->has_uvd = true; |
|
1896 | break; |
1994 | break; |
1897 | case CHIP_RS780: |
1995 | case CHIP_RS780: |
1898 | case CHIP_RS880: |
1996 | case CHIP_RS880: |
1899 | rdev->asic = &rs780_asic; |
1997 | rdev->asic = &rs780_asic; |
- | 1998 | rdev->has_uvd = true; |
|
1900 | break; |
1999 | break; |
1901 | case CHIP_RV770: |
2000 | case CHIP_RV770: |
1902 | case CHIP_RV730: |
2001 | case CHIP_RV730: |
1903 | case CHIP_RV710: |
2002 | case CHIP_RV710: |
1904 | case CHIP_RV740: |
2003 | case CHIP_RV740: |
1905 | rdev->asic = &rv770_asic; |
2004 | rdev->asic = &rv770_asic; |
- | 2005 | rdev->has_uvd = true; |
|
1906 | break; |
2006 | break; |
1907 | case CHIP_CEDAR: |
2007 | case CHIP_CEDAR: |
1908 | case CHIP_REDWOOD: |
2008 | case CHIP_REDWOOD: |
1909 | case CHIP_JUNIPER: |
2009 | case CHIP_JUNIPER: |
1910 | case CHIP_CYPRESS: |
2010 | case CHIP_CYPRESS: |
Line 1913... | Line 2013... | ||
1913 | if (rdev->family == CHIP_CEDAR) |
2013 | if (rdev->family == CHIP_CEDAR) |
1914 | rdev->num_crtc = 4; |
2014 | rdev->num_crtc = 4; |
1915 | else |
2015 | else |
1916 | rdev->num_crtc = 6; |
2016 | rdev->num_crtc = 6; |
1917 | rdev->asic = &evergreen_asic; |
2017 | rdev->asic = &evergreen_asic; |
- | 2018 | rdev->has_uvd = true; |
|
1918 | break; |
2019 | break; |
1919 | case CHIP_PALM: |
2020 | case CHIP_PALM: |
1920 | case CHIP_SUMO: |
2021 | case CHIP_SUMO: |
1921 | case CHIP_SUMO2: |
2022 | case CHIP_SUMO2: |
1922 | rdev->asic = &sumo_asic; |
2023 | rdev->asic = &sumo_asic; |
- | 2024 | rdev->has_uvd = true; |
|
1923 | break; |
2025 | break; |
1924 | case CHIP_BARTS: |
2026 | case CHIP_BARTS: |
1925 | case CHIP_TURKS: |
2027 | case CHIP_TURKS: |
1926 | case CHIP_CAICOS: |
2028 | case CHIP_CAICOS: |
1927 | /* set num crtcs */ |
2029 | /* set num crtcs */ |
1928 | if (rdev->family == CHIP_CAICOS) |
2030 | if (rdev->family == CHIP_CAICOS) |
1929 | rdev->num_crtc = 4; |
2031 | rdev->num_crtc = 4; |
1930 | else |
2032 | else |
1931 | rdev->num_crtc = 6; |
2033 | rdev->num_crtc = 6; |
1932 | rdev->asic = &btc_asic; |
2034 | rdev->asic = &btc_asic; |
- | 2035 | rdev->has_uvd = true; |
|
1933 | break; |
2036 | break; |
1934 | case CHIP_CAYMAN: |
2037 | case CHIP_CAYMAN: |
1935 | rdev->asic = &cayman_asic; |
2038 | rdev->asic = &cayman_asic; |
1936 | /* set num crtcs */ |
2039 | /* set num crtcs */ |
1937 | rdev->num_crtc = 6; |
2040 | rdev->num_crtc = 6; |
- | 2041 | rdev->has_uvd = true; |
|
1938 | break; |
2042 | break; |
1939 | case CHIP_ARUBA: |
2043 | case CHIP_ARUBA: |
1940 | rdev->asic = &trinity_asic; |
2044 | rdev->asic = &trinity_asic; |
1941 | /* set num crtcs */ |
2045 | /* set num crtcs */ |
1942 | rdev->num_crtc = 4; |
2046 | rdev->num_crtc = 4; |
- | 2047 | rdev->has_uvd = true; |
|
1943 | break; |
2048 | break; |
1944 | case CHIP_TAHITI: |
2049 | case CHIP_TAHITI: |
1945 | case CHIP_PITCAIRN: |
2050 | case CHIP_PITCAIRN: |
1946 | case CHIP_VERDE: |
2051 | case CHIP_VERDE: |
- | 2052 | case CHIP_OLAND: |
|
- | 2053 | case CHIP_HAINAN: |
|
1947 | rdev->asic = &si_asic; |
2054 | rdev->asic = &si_asic; |
1948 | /* set num crtcs */ |
2055 | /* set num crtcs */ |
- | 2056 | if (rdev->family == CHIP_HAINAN) |
|
- | 2057 | rdev->num_crtc = 0; |
|
- | 2058 | else if (rdev->family == CHIP_OLAND) |
|
- | 2059 | rdev->num_crtc = 2; |
|
- | 2060 | else |
|
1949 | rdev->num_crtc = 6; |
2061 | rdev->num_crtc = 6; |
- | 2062 | if (rdev->family == CHIP_HAINAN) |
|
- | 2063 | rdev->has_uvd = false; |
|
- | 2064 | else |
|
- | 2065 | rdev->has_uvd = true; |
|
1950 | break; |
2066 | break; |
1951 | default: |
2067 | default: |
1952 | /* FIXME: not supported yet */ |
2068 | /* FIXME: not supported yet */ |
1953 | return -EINVAL; |
2069 | return -EINVAL; |
1954 | } |
2070 | } |