Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux
1
fork

Configure Feed

Select the types of activity you want to include in your feed.

Merge branch 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6

* 'drm-fixes' of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:
drm/radeon/kms: add quirk to make HP DV5000 laptop resume
drm/radeon/kms: fix RADEON_INFO_CRTC_FROM_ID info ioctl
Fix ttm_page_alloc.c build breakage
drm/radeon/kms: fix legacy LVDS dpms sequence
drm/radeon/kms: drop taking lock around crtc lookup.

+15 -10
-2
drivers/gpu/drm/radeon/evergreen_cs.c
··· 333 333 header = radeon_get_ib_value(p, h_idx); 334 334 crtc_id = radeon_get_ib_value(p, h_idx + 2 + 7 + 1); 335 335 reg = CP_PACKET0_GET_REG(header); 336 - mutex_lock(&p->rdev->ddev->mode_config.mutex); 337 336 obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC); 338 337 if (!obj) { 339 338 DRM_ERROR("cannot find crtc %d\n", crtc_id); ··· 367 368 } 368 369 } 369 370 out: 370 - mutex_unlock(&p->rdev->ddev->mode_config.mutex); 371 371 return r; 372 372 } 373 373
-2
drivers/gpu/drm/radeon/r100.c
··· 1230 1230 header = radeon_get_ib_value(p, h_idx); 1231 1231 crtc_id = radeon_get_ib_value(p, h_idx + 5); 1232 1232 reg = CP_PACKET0_GET_REG(header); 1233 - mutex_lock(&p->rdev->ddev->mode_config.mutex); 1234 1233 obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC); 1235 1234 if (!obj) { 1236 1235 DRM_ERROR("cannot find crtc %d\n", crtc_id); ··· 1263 1264 ib[h_idx + 3] |= RADEON_ENG_DISPLAY_SELECT_CRTC1; 1264 1265 } 1265 1266 out: 1266 - mutex_unlock(&p->rdev->ddev->mode_config.mutex); 1267 1267 return r; 1268 1268 } 1269 1269
+1 -2
drivers/gpu/drm/radeon/r600_cs.c
··· 585 585 header = radeon_get_ib_value(p, h_idx); 586 586 crtc_id = radeon_get_ib_value(p, h_idx + 2 + 7 + 1); 587 587 reg = CP_PACKET0_GET_REG(header); 588 - mutex_lock(&p->rdev->ddev->mode_config.mutex); 588 + 589 589 obj = drm_mode_object_find(p->rdev->ddev, crtc_id, DRM_MODE_OBJECT_CRTC); 590 590 if (!obj) { 591 591 DRM_ERROR("cannot find crtc %d\n", crtc_id); ··· 620 620 ib[h_idx + 4] = AVIVO_D2MODE_VLINE_STATUS >> 2; 621 621 } 622 622 out: 623 - mutex_unlock(&p->rdev->ddev->mode_config.mutex); 624 623 return r; 625 624 } 626 625
+8
drivers/gpu/drm/radeon/radeon_combios.c
··· 3050 3050 rdev->pdev->subsystem_device == 0x308b) 3051 3051 return; 3052 3052 3053 + /* quirk for rs4xx HP dv5000 laptop to make it resume 3054 + * - it hangs on resume inside the dynclk 1 table. 3055 + */ 3056 + if (rdev->family == CHIP_RS480 && 3057 + rdev->pdev->subsystem_vendor == 0x103c && 3058 + rdev->pdev->subsystem_device == 0x30a4) 3059 + return; 3060 + 3053 3061 /* DYN CLK 1 */ 3054 3062 table = combios_get_table_offset(dev, COMBIOS_DYN_CLK_1_TABLE); 3055 3063 if (table)
+2 -1
drivers/gpu/drm/radeon/radeon_kms.c
··· 128 128 for (i = 0, found = 0; i < rdev->num_crtc; i++) { 129 129 crtc = (struct drm_crtc *)minfo->crtcs[i]; 130 130 if (crtc && crtc->base.id == value) { 131 - value = i; 131 + struct radeon_crtc *radeon_crtc = to_radeon_crtc(crtc); 132 + value = radeon_crtc->crtc_id; 132 133 found = 1; 133 134 break; 134 135 }
+1
drivers/gpu/drm/radeon/radeon_legacy_encoders.c
··· 108 108 udelay(panel_pwr_delay * 1000); 109 109 WREG32(RADEON_LVDS_GEN_CNTL, lvds_gen_cntl); 110 110 WREG32_PLL(RADEON_PIXCLKS_CNTL, pixclks_cntl); 111 + udelay(panel_pwr_delay * 1000); 111 112 break; 112 113 } 113 114
+3 -3
drivers/gpu/drm/ttm/ttm_page_alloc.c
··· 40 40 #include <linux/slab.h> 41 41 42 42 #include <asm/atomic.h> 43 - #ifdef TTM_HAS_AGP 44 - #include <asm/agp.h> 45 - #endif 46 43 47 44 #include "ttm/ttm_bo_driver.h" 48 45 #include "ttm/ttm_page_alloc.h" 49 46 47 + #ifdef TTM_HAS_AGP 48 + #include <asm/agp.h> 49 + #endif 50 50 51 51 #define NUM_PAGES_TO_ALLOC (PAGE_SIZE/sizeof(struct page *)) 52 52 #define SMALL_ALLOCATION 16