Commit 413f81eba35d6ede9289b0c8a920c013a84fac71
Exists in
master
and in
7 other branches
Merge branch 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6
* 'drm-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: drm/r128: fix r128 ioremaps to use ioremap_wc. drm: cleanup properly in drm_get_dev() failure paths drm: clean the map list before destroying the hash table drm: remove unreachable code in drm_sysfs.c drm: add control node checks missing from kms merge drm/kms: don't try to shortcut drm mode set function drm/radeon: bump minor version for occlusion queries support
Showing 6 changed files Side-by-side Diff
drivers/gpu/drm/drm_crtc_helper.c
... | ... | @@ -561,7 +561,6 @@ |
561 | 561 | int saved_x, saved_y; |
562 | 562 | struct drm_encoder *encoder; |
563 | 563 | bool ret = true; |
564 | - bool depth_changed, bpp_changed; | |
565 | 564 | |
566 | 565 | adjusted_mode = drm_mode_duplicate(dev, mode); |
567 | 566 | |
... | ... | @@ -570,15 +569,6 @@ |
570 | 569 | if (!crtc->enabled) |
571 | 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 | 572 | saved_mode = crtc->mode; |
583 | 573 | saved_x = crtc->x; |
584 | 574 | saved_y = crtc->y; |
... | ... | @@ -589,15 +579,6 @@ |
589 | 579 | crtc->mode = *mode; |
590 | 580 | crtc->x = x; |
591 | 581 | crtc->y = y; |
592 | - | |
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 | 582 | |
602 | 583 | /* Pass our mode to the connectors and the CRTC to give them a chance to |
603 | 584 | * adjust it according to limitations or connector properties, and also |
drivers/gpu/drm/drm_drv.c
... | ... | @@ -456,7 +456,8 @@ |
456 | 456 | retcode = -EINVAL; |
457 | 457 | } else if (((ioctl->flags & DRM_ROOT_ONLY) && !capable(CAP_SYS_ADMIN)) || |
458 | 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 | 461 | retcode = -EACCES; |
461 | 462 | } else { |
462 | 463 | if (cmd & (IOC_IN | IOC_OUT)) { |
drivers/gpu/drm/drm_stub.c
... | ... | @@ -402,14 +402,14 @@ |
402 | 402 | if (dev->driver->load) { |
403 | 403 | ret = dev->driver->load(dev, ent->driver_data); |
404 | 404 | if (ret) |
405 | - goto err_g3; | |
405 | + goto err_g4; | |
406 | 406 | } |
407 | 407 | |
408 | 408 | /* setup the grouping for the legacy output */ |
409 | 409 | if (drm_core_check_feature(dev, DRIVER_MODESET)) { |
410 | 410 | ret = drm_mode_group_init_legacy_group(dev, &dev->primary->mode_group); |
411 | 411 | if (ret) |
412 | - goto err_g3; | |
412 | + goto err_g4; | |
413 | 413 | } |
414 | 414 | |
415 | 415 | list_add_tail(&dev->driver_item, &driver->device_list); |
416 | 416 | |
... | ... | @@ -420,8 +420,11 @@ |
420 | 420 | |
421 | 421 | return 0; |
422 | 422 | |
423 | -err_g3: | |
423 | +err_g4: | |
424 | 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 | 428 | err_g2: |
426 | 429 | pci_disable_device(pdev); |
427 | 430 | err_g1: |
428 | 431 | |
... | ... | @@ -502,11 +505,11 @@ |
502 | 505 | dev->agp = NULL; |
503 | 506 | } |
504 | 507 | |
505 | - drm_ht_remove(&dev->map_hash); | |
506 | - drm_ctxbitmap_cleanup(dev); | |
507 | - | |
508 | 508 | list_for_each_entry_safe(r_list, list_temp, &dev->maplist, head) |
509 | 509 | drm_rmmap(dev, r_list->map); |
510 | + drm_ht_remove(&dev->map_hash); | |
511 | + | |
512 | + drm_ctxbitmap_cleanup(dev); | |
510 | 513 | |
511 | 514 | if (drm_core_check_feature(dev, DRIVER_MODESET)) |
512 | 515 | drm_put_minor(&dev->control); |
drivers/gpu/drm/drm_sysfs.c
drivers/gpu/drm/r128/r128_cce.c
... | ... | @@ -511,9 +511,9 @@ |
511 | 511 | |
512 | 512 | #if __OS_HAS_AGP |
513 | 513 | if (!dev_priv->is_pci) { |
514 | - drm_core_ioremap(dev_priv->cce_ring, dev); | |
515 | - drm_core_ioremap(dev_priv->ring_rptr, dev); | |
516 | - drm_core_ioremap(dev->agp_buffer_map, dev); | |
514 | + drm_core_ioremap_wc(dev_priv->cce_ring, dev); | |
515 | + drm_core_ioremap_wc(dev_priv->ring_rptr, dev); | |
516 | + drm_core_ioremap_wc(dev->agp_buffer_map, dev); | |
517 | 517 | if (!dev_priv->cce_ring->handle || |
518 | 518 | !dev_priv->ring_rptr->handle || |
519 | 519 | !dev->agp_buffer_map->handle) { |
drivers/gpu/drm/radeon/radeon_drv.h
... | ... | @@ -99,9 +99,10 @@ |
99 | 99 | * 1.27- Add support for IGP GART |
100 | 100 | * 1.28- Add support for VBL on CRTC2 |
101 | 101 | * 1.29- R500 3D cmd buffer support |
102 | + * 1.30- Add support for occlusion queries | |
102 | 103 | */ |
103 | 104 | #define DRIVER_MAJOR 1 |
104 | -#define DRIVER_MINOR 29 | |
105 | +#define DRIVER_MINOR 30 | |
105 | 106 | #define DRIVER_PATCHLEVEL 0 |
106 | 107 | |
107 | 108 | /* |