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-3.7' of git://people.freedesktop.org/~agd5f/linux into drm-fixes

Just some minor fixes for VM reg check and a regression fix for dce3 plls

* 'drm-fixes-3.7' of git://people.freedesktop.org/~agd5f/linux:
drm/radeon/si: add some missing regs to the VM reg checker
drm/radeon/cayman: add some missing regs to the VM reg checker
drm/radeon/dce3: switch back to old pll allocation order for discrete

+40 -23
+31 -23
drivers/gpu/drm/radeon/atombios_crtc.c
··· 1696 1696 return ATOM_PPLL2; 1697 1697 DRM_ERROR("unable to allocate a PPLL\n"); 1698 1698 return ATOM_PPLL_INVALID; 1699 - } else { 1700 - if (ASIC_IS_AVIVO(rdev)) { 1701 - /* in DP mode, the DP ref clock can come from either PPLL 1702 - * depending on the asic: 1703 - * DCE3: PPLL1 or PPLL2 1704 - */ 1705 - if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(radeon_crtc->encoder))) { 1706 - /* use the same PPLL for all DP monitors */ 1707 - pll = radeon_get_shared_dp_ppll(crtc); 1708 - if (pll != ATOM_PPLL_INVALID) 1709 - return pll; 1710 - } else { 1711 - /* use the same PPLL for all monitors with the same clock */ 1712 - pll = radeon_get_shared_nondp_ppll(crtc); 1713 - if (pll != ATOM_PPLL_INVALID) 1714 - return pll; 1715 - } 1716 - /* all other cases */ 1717 - pll_in_use = radeon_get_pll_use_mask(crtc); 1699 + } else if (ASIC_IS_AVIVO(rdev)) { 1700 + /* in DP mode, the DP ref clock can come from either PPLL 1701 + * depending on the asic: 1702 + * DCE3: PPLL1 or PPLL2 1703 + */ 1704 + if (ENCODER_MODE_IS_DP(atombios_get_encoder_mode(radeon_crtc->encoder))) { 1705 + /* use the same PPLL for all DP monitors */ 1706 + pll = radeon_get_shared_dp_ppll(crtc); 1707 + if (pll != ATOM_PPLL_INVALID) 1708 + return pll; 1709 + } else { 1710 + /* use the same PPLL for all monitors with the same clock */ 1711 + pll = radeon_get_shared_nondp_ppll(crtc); 1712 + if (pll != ATOM_PPLL_INVALID) 1713 + return pll; 1714 + } 1715 + /* all other cases */ 1716 + pll_in_use = radeon_get_pll_use_mask(crtc); 1717 + /* the order shouldn't matter here, but we probably 1718 + * need this until we have atomic modeset 1719 + */ 1720 + if (rdev->flags & RADEON_IS_IGP) { 1718 1721 if (!(pll_in_use & (1 << ATOM_PPLL1))) 1719 1722 return ATOM_PPLL1; 1720 1723 if (!(pll_in_use & (1 << ATOM_PPLL2))) 1721 1724 return ATOM_PPLL2; 1722 - DRM_ERROR("unable to allocate a PPLL\n"); 1723 - return ATOM_PPLL_INVALID; 1724 1725 } else { 1725 - /* on pre-R5xx asics, the crtc to pll mapping is hardcoded */ 1726 - return radeon_crtc->crtc_id; 1726 + if (!(pll_in_use & (1 << ATOM_PPLL2))) 1727 + return ATOM_PPLL2; 1728 + if (!(pll_in_use & (1 << ATOM_PPLL1))) 1729 + return ATOM_PPLL1; 1727 1730 } 1731 + DRM_ERROR("unable to allocate a PPLL\n"); 1732 + return ATOM_PPLL_INVALID; 1733 + } else { 1734 + /* on pre-R5xx asics, the crtc to pll mapping is hardcoded */ 1735 + return radeon_crtc->crtc_id; 1728 1736 } 1729 1737 } 1730 1738
+3
drivers/gpu/drm/radeon/evergreen_cs.c
··· 2725 2725 /* check config regs */ 2726 2726 switch (reg) { 2727 2727 case GRBM_GFX_INDEX: 2728 + case CP_STRMOUT_CNTL: 2729 + case CP_COHER_CNTL: 2730 + case CP_COHER_SIZE: 2728 2731 case VGT_VTX_VECT_EJECT_REG: 2729 2732 case VGT_CACHE_INVALIDATION: 2730 2733 case VGT_GS_VERTEX_REUSE:
+4
drivers/gpu/drm/radeon/evergreend.h
··· 91 91 #define FB_READ_EN (1 << 0) 92 92 #define FB_WRITE_EN (1 << 1) 93 93 94 + #define CP_STRMOUT_CNTL 0x84FC 95 + 96 + #define CP_COHER_CNTL 0x85F0 97 + #define CP_COHER_SIZE 0x85F4 94 98 #define CP_COHER_BASE 0x85F8 95 99 #define CP_STALLED_STAT1 0x8674 96 100 #define CP_STALLED_STAT2 0x8678
+1
drivers/gpu/drm/radeon/si.c
··· 2474 2474 /* check config regs */ 2475 2475 switch (reg) { 2476 2476 case GRBM_GFX_INDEX: 2477 + case CP_STRMOUT_CNTL: 2477 2478 case VGT_VTX_VECT_EJECT_REG: 2478 2479 case VGT_CACHE_INVALIDATION: 2479 2480 case VGT_ESGS_RING_SIZE:
+1
drivers/gpu/drm/radeon/sid.h
··· 424 424 # define RDERR_INT_ENABLE (1 << 0) 425 425 # define GUI_IDLE_INT_ENABLE (1 << 19) 426 426 427 + #define CP_STRMOUT_CNTL 0x84FC 427 428 #define SCRATCH_REG0 0x8500 428 429 #define SCRATCH_REG1 0x8504 429 430 #define SCRATCH_REG2 0x8508