drm/radeon/kms/r600: fix rs880 support v2
Lots of cases were wrong or missing. v2: rebased against drm-next Signed-off-by: Alex Deucher <alexdeucher@gmail.com> Signed-off-by: Dave Airlie <airlied@redhat.com>
This commit is contained in:
parent
e29649db3b
commit
ee59f2b462
@ -858,7 +858,8 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
((rdev->family) == CHIP_RV630) ||
|
((rdev->family) == CHIP_RV630) ||
|
||||||
((rdev->family) == CHIP_RV610) ||
|
((rdev->family) == CHIP_RV610) ||
|
||||||
((rdev->family) == CHIP_RV620) ||
|
((rdev->family) == CHIP_RV620) ||
|
||||||
((rdev->family) == CHIP_RS780)) {
|
((rdev->family) == CHIP_RS780) ||
|
||||||
|
((rdev->family) == CHIP_RS880)) {
|
||||||
WREG32(DB_DEBUG, PREZ_MUST_WAIT_FOR_POSTZ_DONE);
|
WREG32(DB_DEBUG, PREZ_MUST_WAIT_FOR_POSTZ_DONE);
|
||||||
} else {
|
} else {
|
||||||
WREG32(DB_DEBUG, 0);
|
WREG32(DB_DEBUG, 0);
|
||||||
@ -875,7 +876,8 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
tmp = RREG32(SQ_MS_FIFO_SIZES);
|
tmp = RREG32(SQ_MS_FIFO_SIZES);
|
||||||
if (((rdev->family) == CHIP_RV610) ||
|
if (((rdev->family) == CHIP_RV610) ||
|
||||||
((rdev->family) == CHIP_RV620) ||
|
((rdev->family) == CHIP_RV620) ||
|
||||||
((rdev->family) == CHIP_RS780)) {
|
((rdev->family) == CHIP_RS780) ||
|
||||||
|
((rdev->family) == CHIP_RS880)) {
|
||||||
tmp = (CACHE_FIFO_SIZE(0xa) |
|
tmp = (CACHE_FIFO_SIZE(0xa) |
|
||||||
FETCH_FIFO_HIWATER(0xa) |
|
FETCH_FIFO_HIWATER(0xa) |
|
||||||
DONE_FIFO_HIWATER(0xe0) |
|
DONE_FIFO_HIWATER(0xe0) |
|
||||||
@ -918,7 +920,8 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
NUM_ES_STACK_ENTRIES(0));
|
NUM_ES_STACK_ENTRIES(0));
|
||||||
} else if (((rdev->family) == CHIP_RV610) ||
|
} else if (((rdev->family) == CHIP_RV610) ||
|
||||||
((rdev->family) == CHIP_RV620) ||
|
((rdev->family) == CHIP_RV620) ||
|
||||||
((rdev->family) == CHIP_RS780)) {
|
((rdev->family) == CHIP_RS780) ||
|
||||||
|
((rdev->family) == CHIP_RS880)) {
|
||||||
/* no vertex cache */
|
/* no vertex cache */
|
||||||
sq_config &= ~VC_ENABLE;
|
sq_config &= ~VC_ENABLE;
|
||||||
|
|
||||||
@ -975,7 +978,8 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
|
|
||||||
if (((rdev->family) == CHIP_RV610) ||
|
if (((rdev->family) == CHIP_RV610) ||
|
||||||
((rdev->family) == CHIP_RV620) ||
|
((rdev->family) == CHIP_RV620) ||
|
||||||
((rdev->family) == CHIP_RS780)) {
|
((rdev->family) == CHIP_RS780) ||
|
||||||
|
((rdev->family) == CHIP_RS880)) {
|
||||||
WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(TC_ONLY));
|
WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(TC_ONLY));
|
||||||
} else {
|
} else {
|
||||||
WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(VC_AND_TC));
|
WREG32(VGT_CACHE_INVALIDATION, CACHE_INVALIDATION(VC_AND_TC));
|
||||||
@ -1001,8 +1005,9 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
tmp = rdev->config.r600.max_pipes * 16;
|
tmp = rdev->config.r600.max_pipes * 16;
|
||||||
switch (rdev->family) {
|
switch (rdev->family) {
|
||||||
case CHIP_RV610:
|
case CHIP_RV610:
|
||||||
case CHIP_RS780:
|
|
||||||
case CHIP_RV620:
|
case CHIP_RV620:
|
||||||
|
case CHIP_RS780:
|
||||||
|
case CHIP_RS880:
|
||||||
tmp += 32;
|
tmp += 32;
|
||||||
break;
|
break;
|
||||||
case CHIP_RV670:
|
case CHIP_RV670:
|
||||||
@ -1043,8 +1048,9 @@ void r600_gpu_init(struct radeon_device *rdev)
|
|||||||
|
|
||||||
switch (rdev->family) {
|
switch (rdev->family) {
|
||||||
case CHIP_RV610:
|
case CHIP_RV610:
|
||||||
case CHIP_RS780:
|
|
||||||
case CHIP_RV620:
|
case CHIP_RV620:
|
||||||
|
case CHIP_RS780:
|
||||||
|
case CHIP_RS880:
|
||||||
tmp = TC_L2_SIZE(8);
|
tmp = TC_L2_SIZE(8);
|
||||||
break;
|
break;
|
||||||
case CHIP_RV630:
|
case CHIP_RV630:
|
||||||
|
@ -368,7 +368,7 @@ set_default_state(struct radeon_device *rdev)
|
|||||||
if ((rdev->family == CHIP_RV610) ||
|
if ((rdev->family == CHIP_RV610) ||
|
||||||
(rdev->family == CHIP_RV620) ||
|
(rdev->family == CHIP_RV620) ||
|
||||||
(rdev->family == CHIP_RS780) ||
|
(rdev->family == CHIP_RS780) ||
|
||||||
(rdev->family == CHIP_RS780) ||
|
(rdev->family == CHIP_RS880) ||
|
||||||
(rdev->family == CHIP_RV710))
|
(rdev->family == CHIP_RV710))
|
||||||
sq_config = 0;
|
sq_config = 0;
|
||||||
else
|
else
|
||||||
|
@ -277,7 +277,8 @@ bool radeon_get_atom_connector_info_from_object_table(struct drm_device *dev)
|
|||||||
ATOM_DEVICE_CV_SUPPORT)
|
ATOM_DEVICE_CV_SUPPORT)
|
||||||
continue;
|
continue;
|
||||||
|
|
||||||
if ((rdev->family == CHIP_RS780) &&
|
/* IGP chips */
|
||||||
|
if ((rdev->flags & RADEON_IS_IGP) &&
|
||||||
(con_obj_id ==
|
(con_obj_id ==
|
||||||
CONNECTOR_OBJECT_ID_PCIE_CONNECTOR)) {
|
CONNECTOR_OBJECT_ID_PCIE_CONNECTOR)) {
|
||||||
uint16_t igp_offset = 0;
|
uint16_t igp_offset = 0;
|
||||||
|
Loading…
Reference in New Issue
Block a user