From: Tom Stellard <tom@stellard.net>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: dri-devel@lists.freedesktop.org,
Alex Deucher <alexander.deucher@amd.com>,
stable@vger.kernel.org
Subject: Re: [PATCH 1/2] drm/radeon: fix surface sync in fence on cayman
Date: Thu, 16 Jan 2014 15:24:35 -0800 [thread overview]
Message-ID: <20140116232412.GA10960@freedesktop.org> (raw)
In-Reply-To: <1389914099-24957-1-git-send-email-alexander.deucher@amd.com>
On Thu, Jan 16, 2014 at 06:14:58PM -0500, Alex Deucher wrote:
> We need to set the engine bit to select the ME and
> also set the full cache bit. Should help stability
> on TN and cayman.
>
> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
> Cc: stable@vger.kernel.org
> ---
> drivers/gpu/drm/radeon/ni.c | 7 +++----
> drivers/gpu/drm/radeon/nid.h | 1 +
> 2 files changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/gpu/drm/radeon/ni.c b/drivers/gpu/drm/radeon/ni.c
> index 9f11a55..04e9516 100644
> --- a/drivers/gpu/drm/radeon/ni.c
> +++ b/drivers/gpu/drm/radeon/ni.c
> @@ -1319,13 +1319,12 @@ void cayman_fence_ring_emit(struct radeon_device *rdev,
> {
> struct radeon_ring *ring = &rdev->ring[fence->ring];
> u64 addr = rdev->fence_drv[fence->ring].gpu_addr;
> + u32 cp_coher_cntl = PACKET3_FULL_CACHE_ENA | PACKET3_TC_ACTION_ENA |
> + PACKET3_SH_ACTION_ENA;
>
> /* flush read cache over gart for this vmid */
> - radeon_ring_write(ring, PACKET3(PACKET3_SET_CONFIG_REG, 1));
> - radeon_ring_write(ring, (CP_COHER_CNTL2 - PACKET3_SET_CONFIG_REG_START) >> 2);
> - radeon_ring_write(ring, 0);
> radeon_ring_write(ring, PACKET3(PACKET3_SURFACE_SYNC, 3));
> - radeon_ring_write(ring, PACKET3_TC_ACTION_ENA | PACKET3_SH_ACTION_ENA);
> + radeon_ring_write(ring, PACKET3_ENGINE_ME | cp_coher_cntl);
> radeon_ring_write(ring, 0xFFFFFFFF);
> radeon_ring_write(ring, 0);
> radeon_ring_write(ring, 10); /* poll interval */
Doesn't this also need to be changed in cayman_ring_ib_execute() ?
> diff --git a/drivers/gpu/drm/radeon/nid.h b/drivers/gpu/drm/radeon/nid.h
> index 22421bc..d996033 100644
> --- a/drivers/gpu/drm/radeon/nid.h
> +++ b/drivers/gpu/drm/radeon/nid.h
> @@ -1154,6 +1154,7 @@
> # define PACKET3_DB_ACTION_ENA (1 << 26)
> # define PACKET3_SH_ACTION_ENA (1 << 27)
> # define PACKET3_SX_ACTION_ENA (1 << 28)
> +# define PACKET3_ENGINE_ME (1 << 31)
Technically (1 << 31) is undefined. It should be (1U << 31).
-Tom
> #define PACKET3_ME_INITIALIZE 0x44
> #define PACKET3_ME_INITIALIZE_DEVICE_ID(x) ((x) << 16)
> #define PACKET3_COND_WRITE 0x45
> --
> 1.8.3.1
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2014-01-16 23:24 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-01-16 23:14 [PATCH 1/2] drm/radeon: fix surface sync in fence on cayman Alex Deucher
2014-01-16 23:14 ` [PATCH 2/2] drm/radeon: set the full cache bit for fences on r7xx+ Alex Deucher
2014-01-16 23:24 ` Tom Stellard [this message]
2014-01-16 23:30 ` [PATCH 1/2] drm/radeon: fix surface sync in fence on cayman Deucher, Alexander
2014-01-16 23:37 ` Tom Stellard
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20140116232412.GA10960@freedesktop.org \
--to=tom@stellard.net \
--cc=alexander.deucher@amd.com \
--cc=alexdeucher@gmail.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=stable@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.