diff options
Diffstat (limited to 'drivers/gpu/drm/i915')
| -rw-r--r-- | drivers/gpu/drm/i915/i915_dma.c | 7 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_drv.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_gem.c | 4 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/i915_trace.h | 36 | ||||
| -rw-r--r-- | drivers/gpu/drm/i915/intel_display.c | 5 |
5 files changed, 47 insertions, 7 deletions
diff --git a/drivers/gpu/drm/i915/i915_dma.c b/drivers/gpu/drm/i915/i915_dma.c index f00c5ae9556c..92898035845d 100644 --- a/drivers/gpu/drm/i915/i915_dma.c +++ b/drivers/gpu/drm/i915/i915_dma.c | |||
| @@ -34,6 +34,7 @@ | |||
| 34 | #include "i915_drm.h" | 34 | #include "i915_drm.h" |
| 35 | #include "i915_drv.h" | 35 | #include "i915_drv.h" |
| 36 | #include "i915_trace.h" | 36 | #include "i915_trace.h" |
| 37 | #include <linux/pci.h> | ||
| 37 | #include <linux/vgaarb.h> | 38 | #include <linux/vgaarb.h> |
| 38 | #include <linux/acpi.h> | 39 | #include <linux/acpi.h> |
| 39 | #include <linux/pnp.h> | 40 | #include <linux/pnp.h> |
| @@ -1354,7 +1355,7 @@ static int i915_load_modeset_init(struct drm_device *dev, | |||
| 1354 | int fb_bar = IS_I9XX(dev) ? 2 : 0; | 1355 | int fb_bar = IS_I9XX(dev) ? 2 : 0; |
| 1355 | int ret = 0; | 1356 | int ret = 0; |
| 1356 | 1357 | ||
| 1357 | dev->mode_config.fb_base = drm_get_resource_start(dev, fb_bar) & | 1358 | dev->mode_config.fb_base = pci_resource_start(dev->pdev, fb_bar) & |
| 1358 | 0xff000000; | 1359 | 0xff000000; |
| 1359 | 1360 | ||
| 1360 | /* Basic memrange allocator for stolen space (aka vram) */ | 1361 | /* Basic memrange allocator for stolen space (aka vram) */ |
| @@ -2063,8 +2064,8 @@ int i915_driver_load(struct drm_device *dev, unsigned long flags) | |||
| 2063 | 2064 | ||
| 2064 | /* Add register map (needed for suspend/resume) */ | 2065 | /* Add register map (needed for suspend/resume) */ |
| 2065 | mmio_bar = IS_I9XX(dev) ? 0 : 1; | 2066 | mmio_bar = IS_I9XX(dev) ? 0 : 1; |
| 2066 | base = drm_get_resource_start(dev, mmio_bar); | 2067 | base = pci_resource_start(dev->pdev, mmio_bar); |
| 2067 | size = drm_get_resource_len(dev, mmio_bar); | 2068 | size = pci_resource_len(dev->pdev, mmio_bar); |
| 2068 | 2069 | ||
| 2069 | if (i915_get_bridge_dev(dev)) { | 2070 | if (i915_get_bridge_dev(dev)) { |
| 2070 | ret = -EIO; | 2071 | ret = -EIO; |
diff --git a/drivers/gpu/drm/i915/i915_drv.c b/drivers/gpu/drm/i915/i915_drv.c index 423dc90c1e20..65d3f3e8475b 100644 --- a/drivers/gpu/drm/i915/i915_drv.c +++ b/drivers/gpu/drm/i915/i915_drv.c | |||
| @@ -413,7 +413,7 @@ int i965_reset(struct drm_device *dev, u8 flags) | |||
| 413 | static int __devinit | 413 | static int __devinit |
| 414 | i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) | 414 | i915_pci_probe(struct pci_dev *pdev, const struct pci_device_id *ent) |
| 415 | { | 415 | { |
| 416 | return drm_get_dev(pdev, ent, &driver); | 416 | return drm_get_pci_dev(pdev, ent, &driver); |
| 417 | } | 417 | } |
| 418 | 418 | ||
| 419 | static void | 419 | static void |
diff --git a/drivers/gpu/drm/i915/i915_gem.c b/drivers/gpu/drm/i915/i915_gem.c index 51bd301cf10d..15d2d93aaca9 100644 --- a/drivers/gpu/drm/i915/i915_gem.c +++ b/drivers/gpu/drm/i915/i915_gem.c | |||
| @@ -2634,10 +2634,8 @@ i915_gem_object_bind_to_gtt(struct drm_gem_object *obj, unsigned alignment) | |||
| 2634 | if (free_space != NULL) { | 2634 | if (free_space != NULL) { |
| 2635 | obj_priv->gtt_space = drm_mm_get_block(free_space, obj->size, | 2635 | obj_priv->gtt_space = drm_mm_get_block(free_space, obj->size, |
| 2636 | alignment); | 2636 | alignment); |
| 2637 | if (obj_priv->gtt_space != NULL) { | 2637 | if (obj_priv->gtt_space != NULL) |
| 2638 | obj_priv->gtt_space->private = obj; | ||
| 2639 | obj_priv->gtt_offset = obj_priv->gtt_space->start; | 2638 | obj_priv->gtt_offset = obj_priv->gtt_space->start; |
| 2640 | } | ||
| 2641 | } | 2639 | } |
| 2642 | if (obj_priv->gtt_space == NULL) { | 2640 | if (obj_priv->gtt_space == NULL) { |
| 2643 | /* If the gtt is empty and we're still having trouble | 2641 | /* If the gtt is empty and we're still having trouble |
diff --git a/drivers/gpu/drm/i915/i915_trace.h b/drivers/gpu/drm/i915/i915_trace.h index fab21760dd57..fea97a21cc14 100644 --- a/drivers/gpu/drm/i915/i915_trace.h +++ b/drivers/gpu/drm/i915/i915_trace.h | |||
| @@ -262,6 +262,42 @@ DEFINE_EVENT(i915_ring, i915_ring_wait_end, | |||
| 262 | TP_ARGS(dev) | 262 | TP_ARGS(dev) |
| 263 | ); | 263 | ); |
| 264 | 264 | ||
| 265 | TRACE_EVENT(i915_flip_request, | ||
| 266 | TP_PROTO(int plane, struct drm_gem_object *obj), | ||
| 267 | |||
| 268 | TP_ARGS(plane, obj), | ||
| 269 | |||
| 270 | TP_STRUCT__entry( | ||
| 271 | __field(int, plane) | ||
| 272 | __field(struct drm_gem_object *, obj) | ||
| 273 | ), | ||
| 274 | |||
| 275 | TP_fast_assign( | ||
| 276 | __entry->plane = plane; | ||
| 277 | __entry->obj = obj; | ||
| 278 | ), | ||
| 279 | |||
| 280 | TP_printk("plane=%d, obj=%p", __entry->plane, __entry->obj) | ||
| 281 | ); | ||
| 282 | |||
| 283 | TRACE_EVENT(i915_flip_complete, | ||
| 284 | TP_PROTO(int plane, struct drm_gem_object *obj), | ||
| 285 | |||
| 286 | TP_ARGS(plane, obj), | ||
| 287 | |||
| 288 | TP_STRUCT__entry( | ||
| 289 | __field(int, plane) | ||
| 290 | __field(struct drm_gem_object *, obj) | ||
| 291 | ), | ||
| 292 | |||
| 293 | TP_fast_assign( | ||
| 294 | __entry->plane = plane; | ||
| 295 | __entry->obj = obj; | ||
| 296 | ), | ||
| 297 | |||
| 298 | TP_printk("plane=%d, obj=%p", __entry->plane, __entry->obj) | ||
| 299 | ); | ||
| 300 | |||
| 265 | #endif /* _I915_TRACE_H_ */ | 301 | #endif /* _I915_TRACE_H_ */ |
| 266 | 302 | ||
| 267 | /* This part must be outside protection */ | 303 | /* This part must be outside protection */ |
diff --git a/drivers/gpu/drm/i915/intel_display.c b/drivers/gpu/drm/i915/intel_display.c index 68dcf36e2793..f879589bead1 100644 --- a/drivers/gpu/drm/i915/intel_display.c +++ b/drivers/gpu/drm/i915/intel_display.c | |||
| @@ -33,6 +33,7 @@ | |||
| 33 | #include "intel_drv.h" | 33 | #include "intel_drv.h" |
| 34 | #include "i915_drm.h" | 34 | #include "i915_drm.h" |
| 35 | #include "i915_drv.h" | 35 | #include "i915_drv.h" |
| 36 | #include "i915_trace.h" | ||
| 36 | #include "drm_dp_helper.h" | 37 | #include "drm_dp_helper.h" |
| 37 | 38 | ||
| 38 | #include "drm_crtc_helper.h" | 39 | #include "drm_crtc_helper.h" |
| @@ -4650,6 +4651,8 @@ static void do_intel_finish_page_flip(struct drm_device *dev, | |||
| 4650 | atomic_dec_and_test(&obj_priv->pending_flip)) | 4651 | atomic_dec_and_test(&obj_priv->pending_flip)) |
| 4651 | DRM_WAKEUP(&dev_priv->pending_flip_queue); | 4652 | DRM_WAKEUP(&dev_priv->pending_flip_queue); |
| 4652 | schedule_work(&work->work); | 4653 | schedule_work(&work->work); |
| 4654 | |||
| 4655 | trace_i915_flip_complete(intel_crtc->plane, work->pending_flip_obj); | ||
| 4653 | } | 4656 | } |
| 4654 | 4657 | ||
| 4655 | void intel_finish_page_flip(struct drm_device *dev, int pipe) | 4658 | void intel_finish_page_flip(struct drm_device *dev, int pipe) |
| @@ -4781,6 +4784,8 @@ static int intel_crtc_page_flip(struct drm_crtc *crtc, | |||
| 4781 | 4784 | ||
| 4782 | mutex_unlock(&dev->struct_mutex); | 4785 | mutex_unlock(&dev->struct_mutex); |
| 4783 | 4786 | ||
| 4787 | trace_i915_flip_request(intel_crtc->plane, obj); | ||
| 4788 | |||
| 4784 | return 0; | 4789 | return 0; |
| 4785 | } | 4790 | } |
| 4786 | 4791 | ||
