From: "Christian König" <deathsimple@vodafone.de>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 2/2] drm/radeon: fix bank tiling parameters on SI
Date: Tue, 31 Jul 2012 16:21:32 +0200 [thread overview]
Message-ID: <5017E9EC.70704@vodafone.de> (raw)
In-Reply-To: <CADnq5_PSSjM6-nLLc_5wxUWbA4mrohz2CQct+9Mgi9AOJwVL_w@mail.gmail.com>
On 31.07.2012 16:02, Alex Deucher wrote:
> On Tue, Jul 31, 2012 at 7:48 AM, Christian König
> <deathsimple@vodafone.de> wrote:
>> The sixteen bank case wasn't handled here, leading to GPU
>> crashes because of userspace miscalculation.
> You mean a GPU hang or a segfault in userspace? IIRC, from the hw
> perspective numbers of banks over 8 are considered 8 for tiling.
Well it was a GPU segfault :) The GPU was accessing memory regions that
weren't VM mapped.
As far as i could figure it out it wasn't happy with the alignment of
the color buffer. The number of banks we used for that calculation
seemed to be different from what the kernel programmed into the tiling
config registers. So I tried changing it from 8 to 16 and hurray it
started working (ok, more or less currently digging into the next problem).
It is possible that this is just masquerading another bug, but as far as
I can see it is the most logical explanation.
Why are 16 banks equal to 8 banks on the hw side?
Christian.
>
> Alex
>
>> Signed-off-by: Christian König <deathsimple@vodafone.de>
>> Cc: stable@vger.kernel.org
>> ---
>> drivers/gpu/drm/radeon/si.c | 16 ++++++++++++----
>> 1 file changed, 12 insertions(+), 4 deletions(-)
>>
>> diff --git a/drivers/gpu/drm/radeon/si.c b/drivers/gpu/drm/radeon/si.c
>> index 0b02792..0182fc8 100644
>> --- a/drivers/gpu/drm/radeon/si.c
>> +++ b/drivers/gpu/drm/radeon/si.c
>> @@ -1639,11 +1639,19 @@ static void si_gpu_init(struct radeon_device *rdev)
>> /* XXX what about 12? */
>> rdev->config.si.tile_config |= (3 << 0);
>> break;
>> - }
>> - if ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT)
>> - rdev->config.si.tile_config |= 1 << 4;
>> - else
>> + }
>> + switch ((mc_arb_ramcfg & NOOFBANK_MASK) >> NOOFBANK_SHIFT) {
>> + case 0: /* four banks */
>> rdev->config.si.tile_config |= 0 << 4;
>> + break;
>> + case 1: /* eight banks */
>> + rdev->config.si.tile_config |= 1 << 4;
>> + break;
>> + case 2: /* sixteen banks */
>> + default:
>> + rdev->config.si.tile_config |= 2 << 4;
>> + break;
>> + }
>> rdev->config.si.tile_config |=
>> ((gb_addr_config & PIPE_INTERLEAVE_SIZE_MASK) >> PIPE_INTERLEAVE_SIZE_SHIFT) << 8;
>> rdev->config.si.tile_config |=
>> --
>> 1.7.9.5
>>
>> _______________________________________________
>> dri-devel mailing list
>> dri-devel@lists.freedesktop.org
>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
next prev parent reply other threads:[~2012-07-31 14:21 UTC|newest]
Thread overview: 10+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-07-31 11:48 [PATCH 1/2] drm/radeon: fix fence related segfault in CS Christian König
2012-07-31 11:48 ` [PATCH 2/2] drm/radeon: fix bank tiling parameters on SI Christian König
2012-07-31 14:02 ` Alex Deucher
2012-07-31 14:21 ` Christian König [this message]
2012-07-31 14:42 ` Alex Deucher
2012-07-31 15:07 ` [PATCH 1/2] drm/radeon: fix bank tiling parameters on evergreen alexdeucher
2012-07-31 15:07 ` [PATCH 2/2] drm/radeon: fix bank tiling parameters on cayman alexdeucher
2012-07-31 15:21 ` [PATCH 2/2] drm/radeon: fix bank tiling parameters on SI Christian König
2012-07-31 14:47 ` [PATCH 1/2] drm/radeon: fix fence related segfault in CS Michel Dänzer
2012-07-31 15:05 ` Christian König
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=5017E9EC.70704@vodafone.de \
--to=deathsimple@vodafone.de \
--cc=alexdeucher@gmail.com \
--cc=dri-devel@lists.freedesktop.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.