From: Ben Dooks <ben@simtec.co.uk>
To: Vincent Sanders <vince@simtec.co.uk>
Cc: Krzysztof Helt <krzysztof.h1@wp.pl>,
akpm@linux-foundation.org, lethal@linux-sh.org,
dilinger@debian.org, linux-kernel@vger.kernel.org,
Simtec Linux Team <linux@simtec.co.uk>
Subject: Re: SM501: Implement acceleration features
Date: Wed, 11 Nov 2009 22:26:53 +0000 [thread overview]
Message-ID: <4AFB3A2D.3070908@simtec.co.uk> (raw)
In-Reply-To: <20091111214915.GA5182@kyllikki.org>
Vincent Sanders wrote:
> On Wed, Nov 11, 2009 at 12:58:25AM +0100, Krzysztof Helt wrote:
>> On Tue, 10 Nov 2009 17:18:10 +0000
>> Ben Dooks <ben@simtec.co.uk> wrote:
>>
>>> From: Vincent Sanders <vince@simtec.co.uk>
>>>
>>> This patch provides the acceleration entry points for the SM501
>>> framebuffer driver.
>>>
>>> This patch provides the sync, copyarea and fillrect entry points,
>>> using the SM501's 2D acceleration engine to perform the operations
>>> in-chip rather than across the bus.
>>>
>>> Signed-off-by: Vincent Sanders <vince@simtec.co.uk>
>>> Signed-off-by: Simtec Linux Team <linux@simtec.co.uk>
>>> Signed-off-by: Ben Dooks <ben@simtec.co.uk>
>>>
>>> ---
>>> drivers/video/sm501fb.c | 238 ++++++++++++++++++++++++++++++++++++++++++---
>>> include/linux/sm501-regs.h | 2
>>> 2 files changed, 226 insertions(+), 14 deletions(-)
>>>
>>> Index: b/drivers/video/sm501fb.c
>>> ===================================================================
>>> --- a/drivers/video/sm501fb.c 2009-11-03 11:19:44.000000000 +0000
>>> +++ b/drivers/video/sm501fb.c 2009-11-03 11:19:46.000000000 +0000
>
> I have snipped all but small amount for context
>
>>> + /* wait for the 2d engine to be ready */
>>> + while ((count > 0) &&
>>> + (readl(fbi->regs + SM501_SYSTEM_CONTROL) &
>>> + SM501_SYSCTRL_2D_ENGINE_STATUS) != 0)
>>> + count--;
>>> +
>> You may add cpu_relax() inside this loop.
>>
>
> ok, would need to test this thoroughly as the SM501 has some...odd
> behaviours (see later on).
>
>>> +
>>> + if (sm501fb_sync(info))
>>> + return;
>>> +
>> Please check if you need to wait for the blit engine before writting
>> to any register. Usually, the values in the bit engine registers
>> are shadowed after the engine is started (ie. the blitting operation
>> is started) and the next set of values can be written into the regs.
>
> indeed, if it were sane I would agree, it isnt in all circumstances, see later
It might be worth caching the data that relies on bpp after set_par
call, and thus avoiding another swtich on bpp in the acceleration
routines.
Otherwise not much else to say.
--
Ben Dooks, Software Engineer, Simtec Electronics
http://www.simtec.co.uk/
prev parent reply other threads:[~2009-11-11 22:27 UTC|newest]
Thread overview: 5+ messages / expand[flat|nested] mbox.gz Atom feed top
2009-11-10 17:18 SM501: Implement acceleration features Ben Dooks
2009-11-10 22:21 ` Ben Dooks
2009-11-10 23:58 ` Krzysztof Helt
2009-11-11 21:49 ` Vincent Sanders
2009-11-11 22:26 ` Ben Dooks [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=4AFB3A2D.3070908@simtec.co.uk \
--to=ben@simtec.co.uk \
--cc=akpm@linux-foundation.org \
--cc=dilinger@debian.org \
--cc=krzysztof.h1@wp.pl \
--cc=lethal@linux-sh.org \
--cc=linux-kernel@vger.kernel.org \
--cc=linux@simtec.co.uk \
--cc=vince@simtec.co.uk \
/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