tech-kern archive

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index][Old Index]

Re: pm2fb driver



Hello,

On Thu, 18 Dec 2014 01:03:25 +0900
"Naruaki.Etomi" <nullnilaki%gmail.com@localhost> wrote:

> I carry out a test according to your instructions.

Looks good as far as I can see :)

> >- a workaround for pm2fb_bitblt() on little endian hardware as
> >discussed recently ( Seriously, I have no idea why this is necessary.
> >Endianness shouldn't matter for unaligned blits - according to the
> >manual 'adjust' should be the number of pixels the source needs to be
> >shifted in order to match the destination's alignment, for vertical
> >scrolling it should be 0. The Xorg driver contains nothing
> >endian-specific there either. There must be something else I'm
> >missing. )
> 
> I agree with you.
> It may seem strange, nevertheless it is a fact.

It obviously works, but I'd like to know why.
I wonder if instead of adjust = 1 we could use 
((xd & 3) - (xs & 3)) + 1, assuming we're off by one for whatever
reason.
Also, it could be that we're only off by one when scrolling.
If you have a chance please try this on alpha:
* disable BITBLT_LE_WORKAROUND
* with FONT_DROID_SANS_MONO9x18 try
  - adjust = ((xd & 3) - (xs & 3)) + 1;
  - adjust = ((xd & 3) - (xs & 3)); if (wi > 30) adjust += 1;
That should tell us if we need to be off by one in general or if
something goes wrong when scrolling which gets compensated by the +1.

> >Please try xf86-video-glint as well.
> 
> It is quite impossible.
> 
> XFree86 is the default for NetBSD/alpha.(Support ancient chip)
> 
> See:
> http://nxr.netbsd.org/xref/src/share/mk/bsd.own.mk#1019
> 
> and
> 
> Xorg is broken on NetBSD/alpha.

Hmm, I dimly remember someone working on Xorg on alpha.

> I think that X cannot map /dev/mem.

That's odd - these days we map PCI resources through /dev/pci*,
and /dev/mem should only be needed for PCI IO, which PM2 and most ATI
chips don't need.
Maybe I'm missing something. One of these days I'll get some alpha
hardware.

Either way, the glint driver should work on sparc64, I've been using it
for years.

> I tried to fix this problem, but I was give up.
> I and tsutsui-san was fixed bus_space_mmap's problem instead of it.
> 
> See:
> http://gnats.netbsd.org/cgi-bin/query-pr-single.pl?number=48431

Ah, I guess that's what I remembered.

> Therefore, I use only wsfb-driver.

In that case we should probably add hardware cursor support to pm2fb -
anything that reduces framebuffer accesses should help performance.
( I'm fairly sure I added hw cursor support to wsfb before the switch
to Xorg )
That said, Xorg with just wsfb shouldn't depend on /dev/mem at all
since it maps the framebuffer through /dev/ttyE0.

> I think that all problem are solved!

Thanks for doing the work :)

> Please modify /sys/arch/alpha/conf/GENERIC!

Will do, give me a minute...

> I am very happy that I was able to work with you.

I'm sorry I didn't get to it right away.

have fun
Michael


Home | Main Index | Thread Index | Old Index