[PATCH] drm/radeon: 9800 SE has only one quadpipe

Tormod Volden debian.tormod at gmail.com
Thu Apr 22 13:57:32 PDT 2010


Although these cards have 2 pipelines on the silicon only
the first passed the QA and the other should be disabled.

http://www.digital-daily.com/video/ati-radeon9800se/
http://www.rojakpot.com/showarticle.aspx?artno=101&pgno=1

agd5f: add some other SE cards as well; fix up kms

Signed-off-by: Tormod Volden <debian.tormod at gmail.com>
Signed-off-by: Alex Deucher <alexdeucher at gmail.com>
---
 drivers/gpu/drm/radeon/r300.c      |    5 ++---
 drivers/gpu/drm/radeon/r420.c      |    6 ++++++
 drivers/gpu/drm/radeon/radeon_cp.c |    9 +++++++--
 3 files changed, 15 insertions(+), 5 deletions(-)

diff --git a/drivers/gpu/drm/radeon/r300.c b/drivers/gpu/drm/radeon/r300.c
index bb005bf..590f6a8 100644
--- a/drivers/gpu/drm/radeon/r300.c
+++ b/drivers/gpu/drm/radeon/r300.c
@@ -328,13 +328,12 @@ void r300_gpu_init(struct radeon_device *rdev)
 {
 	uint32_t gb_tile_config, tmp;

-	/* FIXME: rv380 one pipes ? */
 	if ((rdev->family == CHIP_R300 && rdev->pdev->device != 0x4144) ||
-	    (rdev->family == CHIP_R350)) {
+	    (rdev->family == CHIP_R350 && rdev->pdev->device != 0x4148)) {
 		/* r300,r350 */
 		rdev->num_gb_pipes = 2;
 	} else {
-		/* rv350,rv370,rv380,r300 AD */
+		/* rv350,rv370,rv380,r300 AD, r350 AH */
 		rdev->num_gb_pipes = 1;
 	}
 	rdev->num_z_pipes = 1;
diff --git a/drivers/gpu/drm/radeon/r420.c b/drivers/gpu/drm/radeon/r420.c
index 3759d83..be092d2 100644
--- a/drivers/gpu/drm/radeon/r420.c
+++ b/drivers/gpu/drm/radeon/r420.c
@@ -59,6 +59,12 @@ void r420_pipes_init(struct radeon_device *rdev)
 	/* get max number of pipes */
 	gb_pipe_select = RREG32(0x402C);
 	num_pipes = ((gb_pipe_select >> 12) & 3) + 1;
+
+	/* SE chips have 1 pipe */
+	if ((rdev->pdev->device == 0x5e4c) ||
+	    (rdev->pdev->device == 0x5e4f))
+		num_pipes = 1;
+
 	rdev->num_gb_pipes = num_pipes;
 	tmp = 0;
 	switch (num_pipes) {
diff --git a/drivers/gpu/drm/radeon/radeon_cp.c
b/drivers/gpu/drm/radeon/radeon_cp.c
index 419630d..2f042a3 100644
--- a/drivers/gpu/drm/radeon/radeon_cp.c
+++ b/drivers/gpu/drm/radeon/radeon_cp.c
@@ -435,14 +435,19 @@ static void radeon_init_pipes(struct drm_device *dev)
 	if ((dev_priv->flags & RADEON_FAMILY_MASK) >= CHIP_R420) {
 		gb_pipe_sel = RADEON_READ(R400_GB_PIPE_SELECT);
 		dev_priv->num_gb_pipes = ((gb_pipe_sel >> 12) & 0x3) + 1;
+		/* SE cards have 1 pipe */
+		if ((dev->pdev->device == 0x5e4c) ||
+		    (dev->pdev->device == 0x5e4f))
+			dev_priv->num_gb_pipes = 1;
 	} else {
 		/* R3xx */
 		if (((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R300 &&
 		     dev->pdev->device != 0x4144) ||
-		    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350)) {
+		    ((dev_priv->flags & RADEON_FAMILY_MASK) == CHIP_R350 &&
+		     dev->pdev->device != 0x4148)) {
 			dev_priv->num_gb_pipes = 2;
 		} else {
-			/* RV3xx/R300 AD */
+			/* RV3xx/R300 AD/R350 AH */
 			dev_priv->num_gb_pipes = 1;
 		}
 	}
-- 
1.5.6.3

--001485f27f9461f19a0484d99a55
Content-Type: text/plain; charset=US-ASCII; 
	name="0001-drm-radeon-9800-SE-has-only-one-quadpipe.patch"
Content-Disposition: attachment; 
	filename="0001-drm-radeon-9800-SE-has-only-one-quadpipe.patch"
Content-Transfer-Encoding: base64
X-Attachment-Id: f_g8c240j70

RnJvbSAzODZkYjM5YWRiMzRlMGM1ZWExY2EzYTAzNDEwNjJiZWQxNzdlM2NkIE1vbiBTZXAgMTcg
MDA6MDA6MDAgMjAwMQpGcm9tOiBUb3Jtb2QgVm9sZGVuIDxkZWJpYW4udG9ybW9kQGdtYWlsLmNv
bT4KRGF0ZTogVGh1LCAyMiBBcHIgMjAxMCAxNjo1NzozMiAtMDQwMApTdWJqZWN0OiBbUEFUQ0hd
IGRybS9yYWRlb246IDk4MDAgU0UgaGFzIG9ubHkgb25lIHF1YWRwaXBlCgpBbHRob3VnaCB0aGVz
ZSBjYXJkcyBoYXZlIDIgcGlwZWxpbmVzIG9uIHRoZSBzaWxpY29uIG9ubHkKdGhlIGZpcnN0IHBh
c3NlZCB0aGUgUUEgYW5kIHRoZSBvdGhlciBzaG91bGQgYmUgZGlzYWJsZWQuCgpodHRwOi8vd3d3
LmRpZ2l0YWwtZGFpbHkuY29tL3ZpZGVvL2F0aS1yYWRlb245ODAwc2UvCmh0dHA6Ly93d3cucm9q
YWtwb3QuY29tL3Nob3dhcnRpY2xlLmFzcHg/YXJ0bm89MTAxJnBnbm89MQoKYWdkNWY6IGFkZCBz
b21lIG90aGVyIFNFIGNhcmRzIGFzIHdlbGw7IGZpeCB1cCBrbXMKClNpZ25lZC1vZmYtYnk6IFRv
cm1vZCBWb2xkZW4gPGRlYmlhbi50b3Jtb2RAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBBbGV4
IERldWNoZXIgPGFsZXhkZXVjaGVyQGdtYWlsLmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vcmFk
ZW9uL3IzMDAuYyAgICAgIHwgICAgNSArKy0tLQogZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNDIw
LmMgICAgICB8ICAgIDYgKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5j
IHwgICAgOSArKysrKysrLS0KIDMgZmlsZXMgY2hhbmdlZCwgMTUgaW5zZXJ0aW9ucygrKSwgNSBk
ZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmFkZW9uL3IzMDAuYyBi
L2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCmluZGV4IGJiMDA1YmYuLjU5MGY2YTggMTAw
NjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjMwMC5jCisrKyBiL2RyaXZlcnMvZ3B1
L2RybS9yYWRlb24vcjMwMC5jCkBAIC0zMjgsMTMgKzMyOCwxMiBAQCB2b2lkIHIzMDBfZ3B1X2lu
aXQoc3RydWN0IHJhZGVvbl9kZXZpY2UgKnJkZXYpCiB7CiAJdWludDMyX3QgZ2JfdGlsZV9jb25m
aWcsIHRtcDsKIAotCS8qIEZJWE1FOiBydjM4MCBvbmUgcGlwZXMgPyAqLwogCWlmICgocmRldi0+
ZmFtaWx5ID09IENISVBfUjMwMCAmJiByZGV2LT5wZGV2LT5kZXZpY2UgIT0gMHg0MTQ0KSB8fAot
CSAgICAocmRldi0+ZmFtaWx5ID09IENISVBfUjM1MCkpIHsKKwkgICAgKHJkZXYtPmZhbWlseSA9
PSBDSElQX1IzNTAgJiYgcmRldi0+cGRldi0+ZGV2aWNlICE9IDB4NDE0OCkpIHsKIAkJLyogcjMw
MCxyMzUwICovCiAJCXJkZXYtPm51bV9nYl9waXBlcyA9IDI7CiAJfSBlbHNlIHsKLQkJLyogcnYz
NTAscnYzNzAscnYzODAscjMwMCBBRCAqLworCQkvKiBydjM1MCxydjM3MCxydjM4MCxyMzAwIEFE
LCByMzUwIEFIICovCiAJCXJkZXYtPm51bV9nYl9waXBlcyA9IDE7CiAJfQogCXJkZXYtPm51bV96
X3BpcGVzID0gMTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yYWRlb24vcjQyMC5jIGIv
ZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNDIwLmMKaW5kZXggMzc1OWQ4My4uYmUwOTJkMiAxMDA2
NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yNDIwLmMKKysrIGIvZHJpdmVycy9ncHUv
ZHJtL3JhZGVvbi9yNDIwLmMKQEAgLTU5LDYgKzU5LDEyIEBAIHZvaWQgcjQyMF9waXBlc19pbml0
KHN0cnVjdCByYWRlb25fZGV2aWNlICpyZGV2KQogCS8qIGdldCBtYXggbnVtYmVyIG9mIHBpcGVz
ICovCiAJZ2JfcGlwZV9zZWxlY3QgPSBSUkVHMzIoMHg0MDJDKTsKIAludW1fcGlwZXMgPSAoKGdi
X3BpcGVfc2VsZWN0ID4+IDEyKSAmIDMpICsgMTsKKworCS8qIFNFIGNoaXBzIGhhdmUgMSBwaXBl
ICovCisJaWYgKChyZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1ZTRjKSB8fAorCSAgICAocmRldi0+
cGRldi0+ZGV2aWNlID09IDB4NWU0ZikpCisJCW51bV9waXBlcyA9IDE7CisKIAlyZGV2LT5udW1f
Z2JfcGlwZXMgPSBudW1fcGlwZXM7CiAJdG1wID0gMDsKIAlzd2l0Y2ggKG51bV9waXBlcykgewpk
aWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYyBiL2RyaXZlcnMv
Z3B1L2RybS9yYWRlb24vcmFkZW9uX2NwLmMKaW5kZXggNDE5NjMwZC4uMmYwNDJhMyAxMDA2NDQK
LS0tIGEvZHJpdmVycy9ncHUvZHJtL3JhZGVvbi9yYWRlb25fY3AuYworKysgYi9kcml2ZXJzL2dw
dS9kcm0vcmFkZW9uL3JhZGVvbl9jcC5jCkBAIC00MzUsMTQgKzQzNSwxOSBAQCBzdGF0aWMgdm9p
ZCByYWRlb25faW5pdF9waXBlcyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCWlmICgoZGV2X3By
aXYtPmZsYWdzICYgUkFERU9OX0ZBTUlMWV9NQVNLKSA+PSBDSElQX1I0MjApIHsKIAkJZ2JfcGlw
ZV9zZWwgPSBSQURFT05fUkVBRChSNDAwX0dCX1BJUEVfU0VMRUNUKTsKIAkJZGV2X3ByaXYtPm51
bV9nYl9waXBlcyA9ICgoZ2JfcGlwZV9zZWwgPj4gMTIpICYgMHgzKSArIDE7CisJCS8qIFNFIGNh
cmRzIGhhdmUgMSBwaXBlICovCisJCWlmICgoZGV2LT5wZGV2LT5kZXZpY2UgPT0gMHg1ZTRjKSB8
fAorCQkgICAgKGRldi0+cGRldi0+ZGV2aWNlID09IDB4NWU0ZikpCisJCQlkZXZfcHJpdi0+bnVt
X2diX3BpcGVzID0gMTsKIAl9IGVsc2UgewogCQkvKiBSM3h4ICovCiAJCWlmICgoKGRldl9wcml2
LT5mbGFncyAmIFJBREVPTl9GQU1JTFlfTUFTSykgPT0gQ0hJUF9SMzAwICYmCiAJCSAgICAgZGV2
LT5wZGV2LT5kZXZpY2UgIT0gMHg0MTQ0KSB8fAotCQkgICAgKChkZXZfcHJpdi0+ZmxhZ3MgJiBS
QURFT05fRkFNSUxZX01BU0spID09IENISVBfUjM1MCkpIHsKKwkJICAgICgoZGV2X3ByaXYtPmZs
YWdzICYgUkFERU9OX0ZBTUlMWV9NQVNLKSA9PSBDSElQX1IzNTAgJiYKKwkJICAgICBkZXYtPnBk
ZXYtPmRldmljZSAhPSAweDQxNDgpKSB7CiAJCQlkZXZfcHJpdi0+bnVtX2diX3BpcGVzID0gMjsK
IAkJfSBlbHNlIHsKLQkJCS8qIFJWM3h4L1IzMDAgQUQgKi8KKwkJCS8qIFJWM3h4L1IzMDAgQUQv
UjM1MCBBSCAqLwogCQkJZGV2X3ByaXYtPm51bV9nYl9waXBlcyA9IDE7CiAJCX0KIAl9Ci0tIAox
LjUuNi4zCgo=
--001485f27f9461f19a0484d99a55--


More information about the dri-devel mailing list