Re: [RFC] video/macfb: Wire up inverse option

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

 



On Mon, 18 Feb 2019, Geert Uytterhoeven wrote:

> >
> > I did some more investigation. When I tested macfb in qemu, I found 
> > that dafb_setpalette() is actually being called.
> >
> > And with this patch to add the missing call to fb_invert_cmaps(), the 
> > dafb_setpalette() parameters change accordingly. So I'll submit this 
> > patch again with signed-off-by.
> >
> > (The problem remains that dafb_setpalette() doesn't seem to have the 
> > desired effect on the hardware, but that's a separate issue.)
> 
> Could it be the hardware CLUT pointer is out of sync? Given lastreg is 
> initialized to -1, if the first write is to regno 0, the code will 
> assume the CLUT pointer is pointing to the right register.
> 
> Initializing lastreg to e.g. -2 would fix that.
> 

Well, Stan found that the 'inverse' option didn't work on his LC III, 
which involves v8_brazil_setpalette() and not dafb_setpalette(). The bug 
you found only affects the latter function. I will send a patch for the 
bug though it doesn't seem to help on qemu (quadra 800). On qemu I was 
able to get 'inverse' to work by switching to 2 bpp. So there seems to be 
some other driver issue at work here that I'll have to look into.

> > On some powerbooks with greyscale LCD panels, the the black background 
> > is actually white, due to the backlight, and the white text is opaque 
> > black. This may or may not be optimal, depending on conditions etc. so 
> > I prefer not to remove macfb's 'inverse' option.
> 
> You can always use a higher layer to configure that, e.g. "setterm 
> --inversescreen on".  Won't help for the initial kernel log, though.
> 
> Originally (before git history), the inverse parameter also affected 
> display.inverse.  While this field still exists (see fbcon.h), there is 
> no code left that uses it.
> 
> The last user was removed in full-history-linux commit 25e5e3c795bcf408 
> ("[PATCH] fbdev: support for bold attribute for monochrome 
> framebuffers").
> 
> Probably reviving that, and getting rid of the fb_invert_cmaps() calls, 
> is the best solution, as display.inverse does not affect other frame 
> buffers.
> 

Maybe. It seems like an enhancement, or at best a theoretical bug. Can I 
leave that one in your hands?

-- 

> Gr{oetje,eeting}s,
> 
>                         Geert
> 
> 



[Index of Archives]     [Video for Linux]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite Tourism]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux