diff options
| -rw-r--r-- | drivers/gpu/drm/drm_crtc_helper.c | 19 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_drv.c | 3 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_stub.c | 15 | ||||
| -rw-r--r-- | drivers/gpu/drm/drm_sysfs.c | 2 | ||||
| -rw-r--r-- | drivers/gpu/drm/r128/r128_cce.c | 6 | ||||
| -rw-r--r-- | drivers/gpu/drm/radeon/radeon_drv.h | 3 |
6 files changed, 16 insertions, 32 deletions
diff --git a/drivers/gpu/drm/drm_crtc_helper.c b/drivers/gpu/drm/drm_crtc_helper.c index a04639dc633d..45890447feec 100644 --- a/drivers/gpu/drm/drm_crtc_helper.c +++ b/drivers/gpu/drm/drm_crtc_helper.c | |||
| @@ -561,7 +561,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 561 | int saved_x, saved_y; | 561 | int saved_x, saved_y; |
| 562 | struct drm_encoder *encoder; | 562 | struct drm_encoder *encoder; |
| 563 | bool ret = true; | 563 | bool ret = true; |
| 564 | bool depth_changed, bpp_changed; | ||
| 565 | 564 | ||
| 566 | adjusted_mode = drm_mode_duplicate(dev, mode); | 565 | adjusted_mode = drm_mode_duplicate(dev, mode); |
| 567 | 566 | ||
| @@ -570,15 +569,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 570 | if (!crtc->enabled) | 569 | if (!crtc->enabled) |
| 571 | return true; | 570 | return true; |
| 572 | 571 | ||
| 573 | if (old_fb && crtc->fb) { | ||
| 574 | depth_changed = (old_fb->depth != crtc->fb->depth); | ||
| 575 | bpp_changed = (old_fb->bits_per_pixel != | ||
| 576 | crtc->fb->bits_per_pixel); | ||
| 577 | } else { | ||
| 578 | depth_changed = true; | ||
| 579 | bpp_changed = true; | ||
| 580 | } | ||
| 581 | |||
| 582 | saved_mode = crtc->mode; | 572 | saved_mode = crtc->mode; |
| 583 | saved_x = crtc->x; | 573 | saved_x = crtc->x; |
| 584 | saved_y = crtc->y; | 574 | saved_y = crtc->y; |
| @@ -590,15 +580,6 @@ bool drm_crtc_helper_set_mode(struct drm_crtc *crtc, | |||
| 590 | crtc->x = x; | 580 | crtc->x = x; |
| 591 | crtc->y = y; | 581 | crtc->y = y; |
| 592 | 582 | ||
| 593 | if (drm_mode_equal(&saved_mode, &crtc->mode)) { | ||
| 594 | if (saved_x != crtc->x || saved_y != crtc->y || | ||
| 595 | depth_changed || bpp_changed) { | ||
| 596 | ret = !crtc_funcs->mode_set_base(crtc, crtc->x, crtc->y, | ||
| 597 | old_fb); | ||
| 598 | goto done; | ||
| 599 | } | ||
| 600 | } | ||
| 601 | |||
| 602 | /* Pass our mode to the connectors and the CRTC to give them a chance to | 583 | /* Pass our mode to the connectors and the CRTC to give them a chance to |
| 603 | * adjust it according to limitations or connector properties, and also | 584 | * adjust it according to limitations or connector properties, and also |
| 604 | * a chance to reject the mode entirely. | 585 | * a chance to reject the mode entirely. |
diff --git a/drivers/gpu/drm/drm_drv.c b/drivers/gpu/drm/drm_drv.c index c4ada8b6295b..f01def16a669 100644 --- a/drivers/gpu/drm/drm_drv.c +++ b/drivers/gpu/drm/drm_drv.c | |||
| @@ -456,7 +456,8 @@ int drm_ioctl(struct inode *inode, struct file *filp, | |||
| 456 | retcode = -EINVAL; | 456 | retcode = -EINVAL; |
| 457 | } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || | 457 | } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || |
| 458 | ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) || | 458 | ((ioctl->flags & DRM_AUTH) && !file_priv->authenticated) || |
| 459 | ((ioctl->flags & DRM_MASTER) && !file_priv->is_master)) { | 459 | ((ioctl->flags & DRM_MASTER) && !file_priv->is_master) || |
| 460 | (!(ioctl->flags & DRM_CONTROL_ALLOW) && (file_priv->minor->type == DRM_MINOR_CONTROL))) { | ||
| 460 | retcode = -EACCES; | 461 | retcode = -EACCES; |
| 461 | } else { | 462 | } else { |
| 462 | if (cmd & (IOC_IN | IOC_OUT)) { | 463 | if (cmd & (IOC_IN | IOC_OUT)) { |
diff --git a/drivers/gpu/drm/drm_stub.c b/drivers/gpu/drm/drm_stub.c index ef878615c49f..b9631e3a1ea6 100644 --- a/drivers/gpu/drm/drm_stub.c +++ b/drivers/gpu/drm/drm_stub.c | |||
| @@ -402,14 +402,14 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent, | |||
| 402 | if (dev->driver->load) { | 402 | if (dev->driver->load) { |
| 403 | ret = dev->driver->load(dev, ent->driver_data); | 403 | ret = dev->driver->load(dev, ent->driver_data); |
| 404 | if (ret) | 404 | if (ret) |
| 405 | goto err_g3; | 405 | goto err_g4; |
| 406 | } | 406 | } |
| 407 | 407 | ||
| 408 | /* setup the grouping for the legacy output */ | 408 | /* setup the grouping for the legacy output */ |
| 409 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { | 409 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
| 410 | ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); | 410 | ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); |
| 411 | if (ret) | 411 | if (ret) |
| 412 | goto err_g3; | 412 | goto err_g4; |
| 413 | } | 413 | } |
| 414 | 414 | ||
| 415 | list_add_tail(&dev->driver_item, &driver->device_list); | 415 | list_add_tail(&dev->driver_item, &driver->device_list); |
| @@ -420,8 +420,11 @@ int drm_get_dev(struct pci_dev *pdev, const struct pci_device_id *ent, | |||
| 420 | 420 | ||
| 421 | return 0; | 421 | return 0; |
| 422 | 422 | ||
| 423 | err_g3: | 423 | err_g4: |
| 424 | drm_put_minor(&dev->primary); | 424 | drm_put_minor(&dev->primary); |
| 425 | err_g3: | ||
| 426 | if (drm_core_check_feature(dev, DRIVER_MODESET)) | ||
| 427 | drm_put_minor(&dev->control); | ||
| 425 | err_g2: | 428 | err_g2: |
| 426 | pci_disable_device(pdev); | 429 | pci_disable_device(pdev); |
| 427 | err_g1: | 430 | err_g1: |
| @@ -502,11 +505,11 @@ void drm_put_dev(struct drm_device *dev) | |||
| 502 | dev->agp = NULL; | 505 | dev->agp = NULL; |
| 503 | } | 506 | } |
| 504 | 507 | ||
| 505 | drm_ht_remove(&dev->map_hash); | ||
| 506 | drm_ctxbitmap_cleanup(dev); | ||
| 507 | |||
| 508 | list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) | 508 | list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) |
| 509 | drm_rmmap(dev, r_list->map); | 509 | drm_rmmap(dev, r_list->map); |
| 510 | drm_ht_remove(&dev->map_hash); | ||
| 511 | |||
| 512 | drm_ctxbitmap_cleanup(dev); | ||
| 510 | 513 | ||
| 511 | if (drm_core_check_feature(dev, DRIVER_MODESET)) | 514 | if (drm_core_check_feature(dev, DRIVER_MODESET)) |
| 512 | drm_put_minor(&dev->control); | 515 | drm_put_minor(&dev->control); |
diff --git a/drivers/gpu/drm/drm_sysfs.c b/drivers/gpu/drm/drm_sysfs.c index 022876ae34f0..8f9372921f82 100644 --- a/drivers/gpu/drm/drm_sysfs.c +++ b/drivers/gpu/drm/drm_sysfs.c | |||
| @@ -489,9 +489,7 @@ int drm_sysfs_device_add(struct drm_minor *minor) | |||
| 489 | 489 | ||
| 490 | return 0; | 490 | return 0; |
| 491 | 491 | ||
| 492 | device_unregister(&minor->kdev); | ||
| 493 | err_out: | 492 | err_out: |
| 494 | |||
| 495 | return err; | 493 | return err; |
| 496 | } | 494 | } |
| 497 | 495 | ||
diff --git a/drivers/gpu/drm/r128/r128_cce.c b/drivers/gpu/drm/r128/r128_cce.c index 32de4cedc363..077c0455a6b9 100644 --- a/drivers/gpu/drm/r128/r128_cce.c +++ b/drivers/gpu/drm/r128/r128_cce.c | |||
| @@ -511,9 +511,9 @@ static int r128_do_init_cce(struct drm_device * dev, drm_r128_init_t * init) | |||
| 511 | 511 | ||
| 512 | #if __OS_HAS_AGP | 512 | #if __OS_HAS_AGP |
| 513 | if (!dev_priv->is_pci) { | 513 | if (!dev_priv->is_pci) { |
| 514 | drm_core_ioremap(dev_priv->cce_ring, dev); | 514 | drm_core_ioremap_wc(dev_priv->cce_ring, dev); |
| 515 | drm_core_ioremap(dev_priv->ring_rptr, dev); | 515 | drm_core_ioremap_wc(dev_priv->ring_rptr, dev); |
| 516 | drm_core_ioremap(dev->agp_buffer_map, dev); | 516 | drm_core_ioremap_wc(dev->agp_buffer_map, dev); |
| 517 | if (!dev_priv->cce_ring->handle || | 517 | if (!dev_priv->cce_ring->handle || |
| 518 | !dev_priv->ring_rptr->handle || | 518 | !dev_priv->ring_rptr->handle || |
| 519 | !dev->agp_buffer_map->handle) { | 519 | !dev->agp_buffer_map->handle) { |
diff --git a/drivers/gpu/drm/radeon/radeon_drv.h b/drivers/gpu/drm/radeon/radeon_drv.h index ed4d27e6ee6f..8071d965f142 100644 --- a/drivers/gpu/drm/radeon/radeon_drv.h +++ b/drivers/gpu/drm/radeon/radeon_drv.h | |||
| @@ -99,9 +99,10 @@ | |||
| 99 | * 1.27- Add support for IGP GART | 99 | * 1.27- Add support for IGP GART |
| 100 | * 1.28- Add support for VBL on CRTC2 | 100 | * 1.28- Add support for VBL on CRTC2 |
| 101 | * 1.29- R500 3D cmd buffer support | 101 | * 1.29- R500 3D cmd buffer support |
| 102 | * 1.30- Add support for occlusion queries | ||
| 102 | */ | 103 | */ |
| 103 | #define DRIVER_MAJOR 1 | 104 | #define DRIVER_MAJOR 1 |
| 104 | #define DRIVER_MINOR 29 | 105 | #define DRIVER_MINOR 30 |
| 105 | #define DRIVER_PATCHLEVEL 0 | 106 | #define DRIVER_PATCHLEVEL 0 |
| 106 | 107 | ||
| 107 | /* | 108 | /* |
