linux-fbdev.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Keith Williams <espian@linuxinstruments.com>
To: linux-fbdev-devel@lists.sourceforge.net
Subject: Enabling Hardware acceleration in existing framebuffer driver
Date: Fri, 04 Jul 2008 11:56:02 -0400	[thread overview]
Message-ID: <486E4812.5070803@linuxinstruments.com> (raw)

Hi, all,

I have an embedded board with a s1d13506 epson display chip.  There is a 
s1d13xxxfb driver that was written for the '806 that generally works 
well for the '506.

The '506 does have some 2D hardware acceleration capabilities.  Last 
night I wrote a fillrect routine as an initial test of how much 
performance improvement I could potentially see from enabling acceleration.

However, neither DirectFB nor fbset is picking up on the enabled 
acceleration.  I'm not sure if there is something more that I need to do.

Below are portions of the driver that I modified:

        info->par = default_par;
        info->fbops = &s1d13xxxfb_fbops;
        info->flags = FBINFO_DEFAULT | FBINFO_HWACCEL_YPAN | 
FBINFO_HWACCEL_FILLRECT;

--The above should set the fb_info flags to show that fillrect 
acceleration is available


void s1d13xxxfb_fillrect (struct fb_info *p, const struct fb_fillrect *rect)
{
        u32 destination_address;
        struct s1d13xxxfb_par *par = p->par;

        if (p->state != FBINFO_STATE_RUNNING)
                return;

        destination_address = (((rect->dy)*480*2)+(rect->dx)*2);

                s1d13xxxfb_writereg(par, S1DREG_BBLT_DST_START0, 
(destination_address & 0xff));
                s1d13xxxfb_writereg(par, S1DREG_BBLT_DST_START1, 
((destination_address >> 8) & 0xff));
                s1d13xxxfb_writereg(par, S1DREG_BBLT_DST_START2, 
((destination_address >> 16) & 0xff));

/// SNIP ///

--This is the beginning of the fillrect acceleration routine (right now 
just hardcoded for my particular set-up)



/* framebuffer information structures */

static struct fb_ops s1d13xxxfb_fbops = {
        .owner          = THIS_MODULE,
        .fb_set_par     = s1d13xxxfb_set_par,
        .fb_setcolreg   = s1d13xxxfb_setcolreg,
        .fb_blank       = s1d13xxxfb_blank,

        .fb_pan_display = s1d13xxxfb_pan_display,

        /* to be replaced by any acceleration we can */
        .fb_fillrect    = s1d13xxxfb_fillrect,
        .fb_copyarea    = cfb_copyarea,
        .fb_imageblit   = cfb_imageblit,
};

--This is I've added the s1d13xxxfb_fillrect to the fb_ops structure.

Is there anything else that I need to do?

Thanks for any insight.

Keith



-------------------------------------------------------------------------
Sponsored by: SourceForge.net Community Choice Awards: VOTE NOW!
Studies have shown that voting for your favorite open source project,
along with a healthy diet, reduces your potential for chronic lameness
and boredom. Vote Now at http://www.sourceforge.net/community/cca08

             reply	other threads:[~2008-07-04 15:56 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-07-04 15:56 Keith Williams [this message]
2008-07-04 16:22 ` Enabling Hardware acceleration in existing framebuffer driver Krzysztof Helt
2008-07-04 16:33   ` Keith Williams
2008-07-04 17:32     ` Krzysztof Helt
2008-07-04 18:21       ` Ville Syrjälä
2008-07-04 19:09         ` Robert Reif

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=486E4812.5070803@linuxinstruments.com \
    --to=espian@linuxinstruments.com \
    --cc=linux-fbdev-devel@lists.sourceforge.net \
    /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;
as well as URLs for NNTP newsgroup(s).