From patchwork Tue Dec 21 21:05:38 2010 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 425091 Received: from gabe.freedesktop.org (gabe.freedesktop.org [131.252.210.177]) by demeter1.kernel.org (8.14.4/8.14.3) with ESMTP id oBLL61n0018510 for ; Tue, 21 Dec 2010 21:06:22 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3F3F59E97B for ; Tue, 21 Dec 2010 13:06:01 -0800 (PST) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-qy0-f177.google.com (mail-qy0-f177.google.com [209.85.216.177]) by gabe.freedesktop.org (Postfix) with ESMTP id 39E899E7E8 for ; Tue, 21 Dec 2010 13:05:52 -0800 (PST) Received: by qyk27 with SMTP id 27so5185398qyk.15 for ; Tue, 21 Dec 2010 13:05:51 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:received:received:from:to:cc:subject:date :message-id:x-mailer; bh=rPWaQl7ewlHvO8YjGxW57Erp6YxaoQGv9+F9MtFvd18=; b=v3qbtvxy5xYaoMPMCyXJdk/ZmQGWMFT9v1yOlalRQQEB+BlKbyb4rSdvvzOEPsYNYt b3b3+0umtItRHlzCk19nBGfmlok52KDRxodqLeaGbCv6yQsAseDSWB9CSD30vOUMLzaC 5GZYWCFfMH1YO+XQUgXpr4D/3lcADddsUu0no= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=poins1XXZB0rCwfUakl21Q9cpFycm8jgg5TKOpUjTu7ycAq3fTl3UBIXcNQa41aQtW KBRs8CqBlyigRzLAyrs20Bs4uXz0PPUm/HhW+lZFGIdmSkKhKqkj9T7rdLkuhJSrHp6A BqU1P1dbEG7yfe8asziEk1++lWsdZb6fAHD8E= Received: by 10.224.28.138 with SMTP id m10mr5656692qac.106.1292965551099; Tue, 21 Dec 2010 13:05:51 -0800 (PST) Received: from localhost.localdomain (static-74-96-105-7.washdc.fios.verizon.net [74.96.105.7]) by mx.google.com with ESMTPS id t7sm2060445qcs.40.2010.12.21.13.05.49 (version=SSLv3 cipher=RC4-MD5); Tue, 21 Dec 2010 13:05:50 -0800 (PST) From: Alex Deucher To: airlied@gmail.com, dri-devel@lists.freedesktop.org Subject: [PATCH] drm/radeon/kms: fix bug in r600_gpu_is_lockup Date: Tue, 21 Dec 2010 16:05:38 -0500 Message-Id: <1292965539-8096-1-git-send-email-alexdeucher@gmail.com> X-Mailer: git-send-email 1.7.1.1 Cc: Jerome Glisse X-BeenThere: dri-devel@lists.freedesktop.org X-Mailman-Version: 2.1.11 Precedence: list List-Id: Direct Rendering Infrastructure - Development List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Sender: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org Errors-To: dri-devel-bounces+patchwork-dri-devel=patchwork.kernel.org@lists.freedesktop.org X-Greylist: IP, sender and recipient auto-whitelisted, not delayed by milter-greylist-4.2.3 (demeter1.kernel.org [140.211.167.41]); Tue, 21 Dec 2010 21:06:22 +0000 (UTC) diff --git a/drivers/gpu/drm/radeon/r600.c b/drivers/gpu/drm/radeon/r600.c index 2078108..292b282 100644 --- a/drivers/gpu/drm/radeon/r600.c +++ b/drivers/gpu/drm/radeon/r600.c @@ -1345,13 +1345,19 @@ bool r600_gpu_is_lockup(struct radeon_device *rdev) u32 srbm_status; u32 grbm_status; u32 grbm_status2; + struct r100_gpu_lockup *lockup; int r; + if (rdev->family >= CHIP_RV770) + lockup = &rdev->config.rv770.lockup; + else + lockup = &rdev->config.r600.lockup; + srbm_status = RREG32(R_000E50_SRBM_STATUS); grbm_status = RREG32(R_008010_GRBM_STATUS); grbm_status2 = RREG32(R_008014_GRBM_STATUS2); if (!G_008010_GUI_ACTIVE(grbm_status)) { - r100_gpu_lockup_update(&rdev->config.r300.lockup, &rdev->cp); + r100_gpu_lockup_update(lockup, &rdev->cp); return false; } /* force CP activities */ @@ -1363,7 +1369,7 @@ bool r600_gpu_is_lockup(struct radeon_device *rdev) radeon_ring_unlock_commit(rdev); } rdev->cp.rptr = RREG32(R600_CP_RB_RPTR); - return r100_gpu_cp_is_lockup(rdev, &rdev->config.r300.lockup, &rdev->cp); + return r100_gpu_cp_is_lockup(rdev, lockup, &rdev->cp); } int r600_asic_reset(struct radeon_device *rdev)