Rev 6660 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed
Rev 6660 | Rev 6937 | ||
---|---|---|---|
Line 35... | Line 35... | ||
35 | #include "i915_trace.h" |
35 | #include "i915_trace.h" |
36 | #include "intel_drv.h" |
36 | #include "intel_drv.h" |
Line 37... | Line 37... | ||
37 | 37 | ||
38 | #include |
38 | #include |
39 | #include |
- | |
40 | #include |
- | |
41 | #include |
- | |
42 | #include |
- | |
43 | 39 | #include |
|
Line 44... | Line 40... | ||
44 | #include |
40 | #include |
Line -... | Line 41... | ||
- | 41 | ||
- | 42 | #include |
|
- | 43 | ||
- | 44 | int init_display_kms(struct drm_device *dev); |
|
45 | 45 | ||
Line 46... | Line 46... | ||
46 | #include |
46 | extern int intel_agp_enabled; |
47 | 47 | ||
48 | static struct drm_driver driver; |
48 | static struct drm_driver driver; |
Line 66... | Line 66... | ||
66 | .cursor_offsets = { CURSOR_A_OFFSET, CURSOR_B_OFFSET, CHV_CURSOR_C_OFFSET } |
66 | .cursor_offsets = { CURSOR_A_OFFSET, CURSOR_B_OFFSET, CHV_CURSOR_C_OFFSET } |
Line 67... | Line 67... | ||
67 | 67 | ||
68 | #define IVB_CURSOR_OFFSETS \ |
68 | #define IVB_CURSOR_OFFSETS \ |
Line 69... | Line -... | ||
69 | .cursor_offsets = { CURSOR_A_OFFSET, IVB_CURSOR_B_OFFSET, IVB_CURSOR_C_OFFSET } |
- | |
Line 70... | Line -... | ||
70 | - | ||
71 | int init_display_kms(struct drm_device *dev); |
- | |
72 | - | ||
73 | - | ||
Line 74... | Line 69... | ||
74 | extern int intel_agp_enabled; |
69 | .cursor_offsets = { CURSOR_A_OFFSET, IVB_CURSOR_B_OFFSET, IVB_CURSOR_C_OFFSET } |
75 | 70 | ||
76 | #define PCI_VENDOR_ID_INTEL 0x8086 |
71 | |
77 | 72 | ||
Line 205... | Line 200... | ||
205 | #define GEN7_FEATURES \ |
200 | #define GEN7_FEATURES \ |
206 | .gen = 7, .num_pipes = 3, \ |
201 | .gen = 7, .num_pipes = 3, \ |
207 | .need_gfx_hws = 1, .has_hotplug = 1, \ |
202 | .need_gfx_hws = 1, .has_hotplug = 1, \ |
208 | .has_fbc = 1, \ |
203 | .has_fbc = 1, \ |
209 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING, \ |
204 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING, \ |
210 | .has_llc = 1 |
205 | .has_llc = 1, \ |
- | 206 | GEN_DEFAULT_PIPEOFFSETS, \ |
|
- | 207 | IVB_CURSOR_OFFSETS |
|
Line 211... | Line 208... | ||
211 | 208 | ||
212 | static const struct intel_device_info intel_ivybridge_d_info = { |
209 | static const struct intel_device_info intel_ivybridge_d_info = { |
213 | GEN7_FEATURES, |
210 | GEN7_FEATURES, |
214 | .is_ivybridge = 1, |
- | |
215 | GEN_DEFAULT_PIPEOFFSETS, |
- | |
216 | IVB_CURSOR_OFFSETS, |
211 | .is_ivybridge = 1, |
Line 217... | Line 212... | ||
217 | }; |
212 | }; |
218 | 213 | ||
219 | static const struct intel_device_info intel_ivybridge_m_info = { |
214 | static const struct intel_device_info intel_ivybridge_m_info = { |
220 | GEN7_FEATURES, |
215 | GEN7_FEATURES, |
221 | .is_ivybridge = 1, |
- | |
222 | .is_mobile = 1, |
- | |
223 | GEN_DEFAULT_PIPEOFFSETS, |
216 | .is_ivybridge = 1, |
Line 224... | Line 217... | ||
224 | IVB_CURSOR_OFFSETS, |
217 | .is_mobile = 1, |
225 | }; |
218 | }; |
226 | 219 | ||
227 | static const struct intel_device_info intel_ivybridge_q_info = { |
220 | static const struct intel_device_info intel_ivybridge_q_info = { |
228 | GEN7_FEATURES, |
- | |
229 | .is_ivybridge = 1, |
- | |
230 | .num_pipes = 0, /* legal, last one wins */ |
221 | GEN7_FEATURES, |
Line -... | Line 222... | ||
- | 222 | .is_ivybridge = 1, |
|
- | 223 | .num_pipes = 0, /* legal, last one wins */ |
|
- | 224 | }; |
|
- | 225 | ||
- | 226 | #define VLV_FEATURES \ |
|
- | 227 | .gen = 7, .num_pipes = 2, \ |
|
- | 228 | .need_gfx_hws = 1, .has_hotplug = 1, \ |
|
- | 229 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING, \ |
|
231 | GEN_DEFAULT_PIPEOFFSETS, |
230 | .display_mmio_offset = VLV_DISPLAY_BASE, \ |
232 | IVB_CURSOR_OFFSETS, |
231 | GEN_DEFAULT_PIPEOFFSETS, \ |
233 | }; |
- | |
234 | - | ||
235 | static const struct intel_device_info intel_valleyview_m_info = { |
232 | CURSOR_OFFSETS |
236 | GEN7_FEATURES, |
- | |
237 | .is_mobile = 1, |
- | |
238 | .num_pipes = 2, |
- | |
239 | .is_valleyview = 1, |
- | |
240 | .display_mmio_offset = VLV_DISPLAY_BASE, |
233 | |
241 | .has_fbc = 0, /* legal, last one wins */ |
234 | static const struct intel_device_info intel_valleyview_m_info = { |
Line 242... | Line 235... | ||
242 | .has_llc = 0, /* legal, last one wins */ |
235 | VLV_FEATURES, |
243 | GEN_DEFAULT_PIPEOFFSETS, |
236 | .is_valleyview = 1, |
244 | CURSOR_OFFSETS, |
- | |
245 | }; |
237 | .is_mobile = 1, |
246 | - | ||
247 | static const struct intel_device_info intel_valleyview_d_info = { |
- | |
248 | GEN7_FEATURES, |
- | |
249 | .num_pipes = 2, |
- | |
250 | .is_valleyview = 1, |
- | |
251 | .display_mmio_offset = VLV_DISPLAY_BASE, |
238 | }; |
Line -... | Line 239... | ||
- | 239 | ||
- | 240 | static const struct intel_device_info intel_valleyview_d_info = { |
|
- | 241 | VLV_FEATURES, |
|
- | 242 | .is_valleyview = 1, |
|
- | 243 | }; |
|
- | 244 | ||
252 | .has_fbc = 0, /* legal, last one wins */ |
245 | #define HSW_FEATURES \ |
253 | .has_llc = 0, /* legal, last one wins */ |
246 | GEN7_FEATURES, \ |
254 | GEN_DEFAULT_PIPEOFFSETS, |
247 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, \ |
255 | CURSOR_OFFSETS, |
- | |
256 | }; |
- | |
257 | - | ||
258 | static const struct intel_device_info intel_haswell_d_info = { |
- | |
259 | GEN7_FEATURES, |
- | |
260 | .is_haswell = 1, |
248 | .has_ddi = 1, \ |
Line 261... | Line 249... | ||
261 | .has_ddi = 1, |
249 | .has_fpga_dbg = 1 |
262 | .has_fpga_dbg = 1, |
250 | |
263 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
251 | static const struct intel_device_info intel_haswell_d_info = { |
264 | GEN_DEFAULT_PIPEOFFSETS, |
252 | HSW_FEATURES, |
265 | IVB_CURSOR_OFFSETS, |
- | |
266 | }; |
- | |
267 | - | ||
268 | static const struct intel_device_info intel_haswell_m_info = { |
- | |
269 | GEN7_FEATURES, |
- | |
270 | .is_haswell = 1, |
253 | .is_haswell = 1, |
Line 271... | Line 254... | ||
271 | .is_mobile = 1, |
254 | }; |
272 | .has_ddi = 1, |
- | |
273 | .has_fpga_dbg = 1, |
- | |
274 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
- | |
275 | GEN_DEFAULT_PIPEOFFSETS, |
255 | |
276 | IVB_CURSOR_OFFSETS, |
- | |
277 | }; |
- | |
278 | 256 | static const struct intel_device_info intel_haswell_m_info = { |
|
279 | static const struct intel_device_info intel_broadwell_d_info = { |
- | |
280 | .gen = 8, .num_pipes = 3, |
- | |
281 | .need_gfx_hws = 1, .has_hotplug = 1, |
257 | HSW_FEATURES, |
Line 282... | Line 258... | ||
282 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
258 | .is_haswell = 1, |
283 | .has_llc = 1, |
- | |
284 | .has_ddi = 1, |
- | |
285 | .has_fpga_dbg = 1, |
- | |
286 | .has_fbc = 1, |
259 | .is_mobile = 1, |
287 | GEN_DEFAULT_PIPEOFFSETS, |
- | |
288 | IVB_CURSOR_OFFSETS, |
260 | }; |
289 | }; |
- | |
290 | - | ||
291 | static const struct intel_device_info intel_broadwell_m_info = { |
- | |
292 | .gen = 8, .is_mobile = 1, .num_pipes = 3, |
261 | |
Line 293... | Line 262... | ||
293 | .need_gfx_hws = 1, .has_hotplug = 1, |
262 | static const struct intel_device_info intel_broadwell_d_info = { |
294 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
263 | HSW_FEATURES, |
295 | .has_llc = 1, |
264 | .gen = 8, |
296 | .has_ddi = 1, |
265 | }; |
297 | .has_fpga_dbg = 1, |
- | |
298 | .has_fbc = 1, |
- | |
299 | GEN_DEFAULT_PIPEOFFSETS, |
- | |
300 | IVB_CURSOR_OFFSETS, |
- | |
301 | }; |
- | |
302 | - | ||
303 | static const struct intel_device_info intel_broadwell_gt3d_info = { |
266 | |
Line 304... | Line 267... | ||
304 | .gen = 8, .num_pipes = 3, |
267 | static const struct intel_device_info intel_broadwell_m_info = { |
305 | .need_gfx_hws = 1, .has_hotplug = 1, |
268 | HSW_FEATURES, |
306 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING, |
269 | .gen = 8, .is_mobile = 1, |
307 | .has_llc = 1, |
270 | }; |
308 | .has_ddi = 1, |
- | |
309 | .has_fpga_dbg = 1, |
- | |
310 | .has_fbc = 1, |
- | |
311 | GEN_DEFAULT_PIPEOFFSETS, |
- | |
312 | IVB_CURSOR_OFFSETS, |
- | |
313 | }; |
- | |
314 | 271 | ||
Line 315... | Line 272... | ||
315 | static const struct intel_device_info intel_broadwell_gt3m_info = { |
272 | static const struct intel_device_info intel_broadwell_gt3d_info = { |
316 | .gen = 8, .is_mobile = 1, .num_pipes = 3, |
273 | HSW_FEATURES, |
317 | .need_gfx_hws = 1, .has_hotplug = 1, |
274 | .gen = 8, |
318 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING, |
275 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING, |
319 | .has_llc = 1, |
276 | }; |
320 | .has_ddi = 1, |
277 | |
321 | .has_fpga_dbg = 1, |
278 | static const struct intel_device_info intel_broadwell_gt3m_info = { |
322 | .has_fbc = 1, |
279 | HSW_FEATURES, |
323 | GEN_DEFAULT_PIPEOFFSETS, |
280 | .gen = 8, .is_mobile = 1, |
Line 324... | Line 281... | ||
324 | IVB_CURSOR_OFFSETS, |
281 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING, |
- | 282 | }; |
|
325 | }; |
283 | |
326 | - | ||
327 | static const struct intel_device_info intel_cherryview_info = { |
- | |
328 | .gen = 8, .num_pipes = 3, |
- | |
329 | .need_gfx_hws = 1, .has_hotplug = 1, |
- | |
330 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
- | |
331 | .is_valleyview = 1, |
- | |
332 | .display_mmio_offset = VLV_DISPLAY_BASE, |
284 | static const struct intel_device_info intel_cherryview_info = { |
333 | GEN_CHV_PIPEOFFSETS, |
- | |
334 | CURSOR_OFFSETS, |
- | |
335 | }; |
285 | .gen = 8, .num_pipes = 3, |
Line 336... | Line 286... | ||
336 | 286 | .need_gfx_hws = 1, .has_hotplug = 1, |
|
- | 287 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
|
337 | static const struct intel_device_info intel_skylake_info = { |
288 | .is_cherryview = 1, |
338 | .is_skylake = 1, |
289 | .display_mmio_offset = VLV_DISPLAY_BASE, |
339 | .gen = 9, .num_pipes = 3, |
- | |
340 | .need_gfx_hws = 1, .has_hotplug = 1, |
290 | GEN_CHV_PIPEOFFSETS, |
341 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING, |
- | |
342 | .has_llc = 1, |
- | |
343 | .has_ddi = 1, |
- | |
344 | .has_fpga_dbg = 1, |
- | |
345 | .has_fbc = 1, |
- | |
346 | GEN_DEFAULT_PIPEOFFSETS, |
- | |
347 | IVB_CURSOR_OFFSETS, |
291 | CURSOR_OFFSETS, |
Line 348... | Line 292... | ||
348 | }; |
292 | }; |
349 | 293 | ||
- | 294 | static const struct intel_device_info intel_skylake_info = { |
|
350 | static const struct intel_device_info intel_skylake_gt3_info = { |
295 | HSW_FEATURES, |
351 | .is_skylake = 1, |
296 | .is_skylake = 1, |
352 | .gen = 9, .num_pipes = 3, |
297 | .gen = 9, |
353 | .need_gfx_hws = 1, .has_hotplug = 1, |
298 | }; |
354 | .ring_mask = RENDER_RING | BSD_RING | BLT_RING | VEBOX_RING | BSD2_RING, |
299 | |
Line 371... | Line 316... | ||
371 | .has_fbc = 1, |
316 | .has_fbc = 1, |
372 | GEN_DEFAULT_PIPEOFFSETS, |
317 | GEN_DEFAULT_PIPEOFFSETS, |
373 | IVB_CURSOR_OFFSETS, |
318 | IVB_CURSOR_OFFSETS, |
374 | }; |
319 | }; |
Line -... | Line 320... | ||
- |