From: Andrey Volkov <avolkov@varma-el.com>
To: Geert Uytterhoeven <geert@linux-m68k.org>
Cc: Linux/PPC Development <linuxppc-dev@ozlabs.org>,
Linux Frame Buffer Device Development
<linux-fbdev-devel@lists.sourceforge.net>,
surendra.yadav@softdel.com
Subject: Re: [F]Framebuffer driver using SM501 hardware.
Date: Wed, 17 Aug 2005 18:23:50 +0400 [thread overview]
Message-ID: <43034876.900@varma-el.com> (raw)
In-Reply-To: <Pine.LNX.4.62.0508171439060.6073@numbat.sonytel.be>
Geert Uytterhoeven wrote:
> On Wed, 17 Aug 2005, Andrey Volkov wrote:
>
>>Geert Uytterhoeven wrote:
>>
>>>On Wed, 17 Aug 2005, Andrey Volkov wrote:
>>>
>>>
>>>>Todo:
>>>>- 16 bpp colormap (needed reverse endian support in fbcon/fbmem)
>>>
>>>
>>>Can you please elaborate? For 2.6, there should be no such problems (for 2.4,
>>>there are).
>>
>>Sorry for inexactitude, problem (as usually :)) in next (for case of
>>MPC5200 connected through PCI to SM501): PCI on PPC (and hence SM501) is
>>a little endian, PPC - big endian.
>>Currently (up to 2.6.13-rc6) frame buffer routines use
>>__raw_writeXX for write to fb memory. Result - garbage with colors in
>>RGB565/RGB888 modes (but pixels, meanwhile, are in place). If using
>>write[lw] - colors are diplayed correctly, but all image pixels are
>>shifted for (RGB565). This is not bug of frame buffer, this is lack of
>>some define in .config which tell fb/device driver how palette must be
>>generated (more precisely it is unknown when must be RGB565, but when
>>must be BGR565).
>
>
> Sorry, I cannot follow.
Ok, I'll try more clearly:
>
> 1. If it's a palette issue, your setcolreg() routine doesn't fill in correctly
> the pseudo palette,
> 2. If it's a RGB565 vs. BGR565 issue, you don't fill in correctly the offsets
> in the color bitfields in fb_var_screeninfo,
Yes, due to duality of SM501: in memory mapped mode, its endian same as
on the host, BUT in PCI mode it work only as little endian
(theoretically it could be switched to big endian too, but for PPC it
have not meaning).
Both above problems could be solved by #ifdef/#else in SM5xx driver (as
I said before, my driver in prerelease stage :) ).
But it will be more useful, IMHO, if somewhere in Kconfig will be
defined something like CONFIG_PCI_LITTLE_ENDIAN/
CONFIG_FB_TARGET_LITTLE_ENDIAN.
> 3. If it's an endian issue, it's RRRRRGGGGGGBBBBB vs.GGBBBBBRRRRGGGG, right?
Right. As I wrote before, when SM501 blitter work as PCI bus master, it
read/write from/to host memory in little endian mode. But situation
changed when HOST (MPC), read/write from/to framebuffer - PCI subsystem
of MPC convert endian on the fly :(.
Currently I've two workarounds:
1) Don't use SM501 as bus master (more preferably, since SM501 anyway
have some silicon bugs when work as bus master)
2) Try use different functions for accelerated/unaccelerated bitblit.
> And then there's no much we can do...
>
--
Regards
Andrey Volkov
next prev parent reply other threads:[~2005-08-17 14:23 UTC|newest]
Thread overview: 15+ messages / expand[flat|nested] mbox.gz Atom feed top
2005-08-16 13:34 Framebuffer driver using SM501 hardware Surendra Yadav
2005-08-16 16:38 ` Dan Malek
2005-08-16 18:23 ` Clemens Koller
2005-08-16 19:48 ` Wolfgang Denk
2005-08-17 10:11 ` [F]Framebuffer " Andrey Volkov
2005-08-17 11:04 ` Clemens Koller
2005-08-17 11:50 ` Matej Kupljen
2005-08-17 12:37 ` Andrey Volkov
2005-08-17 11:18 ` Geert Uytterhoeven
2005-08-17 12:15 ` Andrey Volkov
2005-08-17 12:42 ` Geert Uytterhoeven
2005-08-17 14:23 ` Andrey Volkov [this message]
2005-08-17 14:31 ` Clemens Koller
2005-08-17 14:52 ` Andrey Volkov
2005-08-16 19:42 ` Framebuffer " Wolfgang Denk
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=43034876.900@varma-el.com \
--to=avolkov@varma-el.com \
--cc=geert@linux-m68k.org \
--cc=linux-fbdev-devel@lists.sourceforge.net \
--cc=linuxppc-dev@ozlabs.org \
--cc=surendra.yadav@softdel.com \
/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).