From patchwork Wed May 25 05:00:45 2011 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Alex Deucher X-Patchwork-Id: 814942 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 p4P51ACe029431 for ; Wed, 25 May 2011 05:01:30 GMT Received: from gabe.freedesktop.org (localhost [127.0.0.1]) by gabe.freedesktop.org (Postfix) with ESMTP id 3D2FE9F03B for ; Tue, 24 May 2011 22:01:09 -0700 (PDT) X-Original-To: dri-devel@lists.freedesktop.org Delivered-To: dri-devel@lists.freedesktop.org Received: from mail-vw0-f49.google.com (mail-vw0-f49.google.com [209.85.212.49]) by gabe.freedesktop.org (Postfix) with ESMTP id 1201E9E7FF for ; Tue, 24 May 2011 22:00:57 -0700 (PDT) Received: by vws8 with SMTP id 8so6805312vws.36 for ; Tue, 24 May 2011 22:00:57 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=gamma; h=domainkey-signature:from:to:cc:subject:date:message-id:x-mailer; bh=F1QF4cM0xDM81J5UMg99MdQ1rJ2sufrfaqRcanhQUi8=; b=vxvHdLz4yCfEMXKaBR9omyhJGAFQUTHAtR7mRUG00ArOJUc7XZouAIddVkE5G9Lr8u wCziOrAWoOajXLxfaDGMPgWT/V/iasRUfgSF2rLlOQIzGml4XYZAmJSDkNcR9N0uDP/N ekyyKpgHJrcJaeq2p6VTj33SxxkS3ccVsv9yk= DomainKey-Signature: a=rsa-sha1; c=nofws; d=gmail.com; s=gamma; h=from:to:cc:subject:date:message-id:x-mailer; b=BiLZZRVqMctOzN9Ieb+YXOmCx/iDKYYvI1WeT8kmgEEGSaP7vllib/lQcgmTbeop/4 fx/DvYRm8gsP+TF9Ec4l3/qaVJ8cERvSNRKH7LQwtDtNz170DNjGEChO21StBBXMkjVK IGGCbekBxVwEk4PEgkCV1A6cCll0o+nGaIIcM= Received: by 10.220.17.206 with SMTP id t14mr1394465vca.67.1306299656788; Tue, 24 May 2011 22:00:56 -0700 (PDT) Received: from localhost.localdomain (static-74-96-105-7.washdc.fios.verizon.net [74.96.105.7]) by mx.google.com with ESMTPS id j33sm1758854vcs.18.2011.05.24.22.00.55 (version=SSLv3 cipher=OTHER); Tue, 24 May 2011 22:00:56 -0700 (PDT) From: Alex Deucher To: airlied@gmail.com, dri-devel@lists.freedesktop.org Subject: [PATCH 1/2] drm/radeon/kms/blit: workaround some hw issues on evergreen+ Date: Wed, 25 May 2011 01:00:45 -0400 Message-Id: <1306299646-1439-1-git-send-email-alexdeucher@gmail.com> X-Mailer: git-send-email 1.7.1.1 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.6 (demeter1.kernel.org [140.211.167.41]); Wed, 25 May 2011 05:01:30 +0000 (UTC) Signed-off-by: Alex Deucher --- drivers/gpu/drm/radeon/evergreen_blit_kms.c | 10 ++++++++++ 1 files changed, 10 insertions(+), 0 deletions(-) diff --git a/drivers/gpu/drm/radeon/evergreen_blit_kms.c b/drivers/gpu/drm/radeon/evergreen_blit_kms.c index ba06a69..4086729 100644 --- a/drivers/gpu/drm/radeon/evergreen_blit_kms.c +++ b/drivers/gpu/drm/radeon/evergreen_blit_kms.c @@ -199,6 +199,16 @@ static void set_scissors(struct radeon_device *rdev, int x1, int y1, int x2, int y2) { + /* workaround some hw bugs */ + if (x2 == 0) + x1 = 1; + if (y2 == 0) + y1 = 1; + if (rdev->family == CHIP_CAYMAN) { + if ((x2 == 1) && (y2 == 1)) + x2 = 2; + } + radeon_ring_write(rdev, PACKET3(PACKET3_SET_CONTEXT_REG, 2)); radeon_ring_write(rdev, (PA_SC_SCREEN_SCISSOR_TL - PACKET3_SET_CONTEXT_REG_START) >> 2); radeon_ring_write(rdev, (x1 << 0) | (y1 << 16));