dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Helge Deller <deller@gmx.de>
To: Alex Deucher <alexdeucher@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: radeon: writeback-issues since kernel 2.6.34 on ATI FireMV 2200 PCI
Date: Wed, 04 Jan 2012 20:33:17 +0100	[thread overview]
Message-ID: <4F04A97D.4060707@gmx.de> (raw)
In-Reply-To: <CADnq5_PDemOw9_PPX3Gcz0SO6P0toqT2jyDHcfhXHNN9=BebzQ@mail.gmail.com>

On 01/04/2012 12:37 AM, Alex Deucher wrote:
> On Tue, Jan 3, 2012 at 6:12 PM, Helge Deller<deller@gmx.de>  wrote:
>> On 01/03/2012 03:27 PM, Alex Deucher wrote:
>>>
>>> On Mon, Jan 2, 2012 at 5:07 PM, Helge Deller<deller@gmx.de>    wrote:
>>>>
>>>> I'm facing the problem with the radeon drm driver, that I now manually
>>>> need
>>>> to set the kernel module parameter radeon.no_wb to 1 at bootup, else X
>>>> just
>>>> hangs in average up to 8 seconds per minute without any real activity (X
>>>> or
>>>> the video driver just seems to wait for something..).
>>>>
>>>> Fedora 13 (kernel 2.6.34.9-69.fc13.x86_64) worked without problems, while
>>>> all following Fedora distributions including F16 have this problem.
>>>> I'm using a dual-DVI ATI RV280 [FireMV 2200 PCI].
>>>>
>>>> I did compared the sources of those kernels and the only obvious change
>>>> to
>>>> me is in radeon_ring.c: radeon_ring_free_size() where those lines were
>>>> added
>>>> at the top of the function:
>>>>         if (rdev->wb.enabled)
>>>>                 rdev->cp.rptr =
>>>> le32_to_cpu(rdev->wb.wb[RADEON_WB_CP_RPTR_OFFSET/4]);
>>>>
>>>> Given the problems I'm seeing (X-Windows hangs for a few seconds every
>>>> time)
>>>> this fits with the idea, that the driver is waiting for a free slot but
>>>> can't find any (maybe due to wrong values returned by not-working WB?).
>>>>
>>>> I'm wondering, if "rdev->wb.enabled" is correct in this place and if
>>>> "dev_priv->writeback_works" shouldn't be used instead here?
>>>>
>>>
>>> It's possible that writeback doesn't work on your system in which case
>>> no_wb=1 is apprioriate.  dev_priv->writeback_works is part of the old
>>> UMS drm and is not used by KMS.  The KMS code does not test if
>>> writeback works prior to enabling it like UMS did.  The slow down you
>>> are seeing is caused by the driver waiting for the fence to be written
>>> back to memory.  If writeback does not work, the fence is never
>>> written by the hw and the driver has to wait for the fence to time
>>> out.
>>
>>
>> Alex, thanks for the explanations.
>> In my opinion this is a regression then. The old code worked without
>> problems, while with the new driver (or only because of the added code
>> lines) the driver doesn't work out of the box.
>
> I just posted a patch to disable writeback by default on KMS on pre-R300 chips:
> http://lists.freedesktop.org/archives/dri-devel/2012-January/017829.html

Thanks a lot for this patch and especially for scheduling it for inclusion into the stable kernel series!
It should fix my problems.

Helge

>
>
>> Wouldn't it be an idea to port over the old UMS writeback-check-test to the
>> new KMS code base to avoid the issues I'm seeing?
>
> Maybe, assuming the writeback test reliably fails which I'm not sure
> is the case.  UMS didn't utilize the hardware to the same extent that
> KMS does so it was less likely to be an issue there.
>
> Alex
>
>> I would be willing to test such code or even provide an initial patch if
>> necessary.
>>
>> Helge

      reply	other threads:[~2012-01-04 19:33 UTC|newest]

Thread overview: 5+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-01-02 22:07 radeon: writeback-issues since kernel 2.6.34 on ATI FireMV 2200 PCI Helge Deller
2012-01-03 14:27 ` Alex Deucher
2012-01-03 23:12   ` Helge Deller
2012-01-03 23:37     ` Alex Deucher
2012-01-04 19:33       ` Helge Deller [this message]

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=4F04A97D.4060707@gmx.de \
    --to=deller@gmx.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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox