Linux Framebuffer Layer development
 help / color / mirror / Atom feed
From: Geert Uytterhoeven <geert@linux-m68k.org>
To: arun c <arun.edarath@gmail.com>
Cc: linux-fbdev-devel@lists.sourceforge.net
Subject: Re: How to implement rotation for framebuffer?
Date: Fri, 4 Apr 2008 12:34:08 +0200 (CEST)	[thread overview]
Message-ID: <Pine.LNX.4.64.0804041230490.24006@anakin> (raw)
In-Reply-To: <c656a4d20804040202g370948e2pa4d70b1f693df2cd@mail.gmail.com>

On Fri, 4 Apr 2008, arun c wrote:
> I am working on 2430SDP. SDP has omap2430 as the processor and it's
> display controller supports rotation of framebuffer in hardware.
> 
> I will explain the hardware rotation in brief.
> 
> 1) One Physical framebuffer is allocated in memory
> 2) This physical address ( as well as width and height) is programmed in the
>     VRFB Module (the hardware rotation engine, it stands for virtual rotated
>     frame buffer)
> 3)Then VRFB gives you 4 addresses ( virtual addresses which are
> transparent to applications)
>     VBA0      --> Address for 0 degree rotation
>     VBA90    --> Address for 90 degree rotation
>     VBA180  --> Address for 180 degree rotation
>     VBA270  --> Address for 270 degree rotation
> 
> Rotation is achieved like this
> Assume you want 90 degree rotation
> 
> Processor writes all picture data to VBA90 space and lcd reads all
> data from VBA0 space
> 
> For this kind of implementation i need to change fb_fix_screeninfo
> members (smem_start ,smem_len) and fb_info member( screen_base)
> dynamically according to degree of rotation.

Yep, that's correct.

> Please anybody suggest me  good ways to implement this kind of
> rotation in my driver or point me to some code so that i can refer and
> implement the same.

Very simple: any change of struct fb_var_screeninfo may cause a change
of fb_fix_screeninfo.

Hence if an application requests to change the rotation angle by
changing fb_var_screeninfo.rotate and issuing an FBIOPUT_VSCREENINFO
ioctl, you update your fb_fix_screeninfo and fb_info.screen_base.

Gr{oetje,eeting}s,

						Geert

--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org

In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
							    -- Linus Torvalds

-------------------------------------------------------------------------
Check out the new SourceForge.net Marketplace.
It's the best place to buy or sell services for
just about anything Open Source.
http://ad.doubleclick.net/clk;164216239;13503038;w?http://sf.net/marketplace

  reply	other threads:[~2008-04-04 10:34 UTC|newest]

Thread overview: 3+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2008-04-04  9:02 How to implement rotation for framebuffer? arun c
2008-04-04 10:34 ` Geert Uytterhoeven [this message]
2008-04-08  5:03   ` arun c

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=Pine.LNX.4.64.0804041230490.24006@anakin \
    --to=geert@linux-m68k.org \
    --cc=arun.edarath@gmail.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