RE: radeonfb: strange blue lines after 'setterm -inversescreen on'

"Hihn, Jason" <[email protected]>
Newsgroups gmane.linux.fbdev.user
Message-ID <BE7EC6C7A6F0E74AAB1E7E36BF5E9EB70F4F4E@colms1.co.corp.verintsystems.com>
I don't know the 2.6 kernel tree, but I'd suspect radeonfb.c

The low-level pixel get/set routines probably have a simple bit shift
(<< >>) or mask (& |) error. "-inverse" was probably not taken into
account when the code was written so the math is a little off. As far as
I know, linux treats 24b as the same as 32, so maybe that's why your 24b
isn't working, no one bothered to code it because you have to align on
4-byte boundaries  anyway (no one packs 3 bytes adjacent to 3 bytes,
because it is too much work, you'd have to move then shift, and it gets
messy and slow.). So someone would have written for 24, but in the end
called it 32, so it's that extra byte that isn't being handled right.

I could probably fix it, if I had a radeon card and a 2.6 kernel and
some time. Sorry.

-----Original Message-----
From: Jurriaan [mailto:[email protected]] 
Sent: Monday, April 05, 2004 1:30 PM
To: Hihn, Jason
Cc: [email protected]
Subject: Re: [Linux-fbdev-users] radeonfb: strange blue lines after
'setterm -inversescreen on'

From: Hihn, Jason <[email protected]>
Date: Mon, Apr 05, 2004 at 01:34:16PM -0400
> Just a guess... I'm not in 2.6, but it looks like the math to do the
> inverse screen is only using 24 bits, not 32. What is it like in
24bpp?
> Visually:
> *** (inverse mask)
> aRGB = 00 00 00 FF
>  ^^^ (normal mask)
> So it looks like there may be some 24/32 bit shifting going awry when
> -inversescreen is set.
> 
This is a step in the right direction:

1600x1200-8@75: ok
1600x1200-16@75: blue screen
1600x1200-24@75: 'no mode found' in dmesg?
1600x1200-32@75: blue screen

apropos 24 bits:

Kernel command line: root=/dev/hda3 video=radeonfb:1600x1200-24@75
acpi=force

radeonfb_pci_register BEGIN
radeonfb: probed DDR SGRAM 65536k videoram
radeonfb: mapped 16384k videoram
radeonfb: Found Intel x86 BIOS ROM Image
radeonfb: Retreived PLL infos from BIOS
radeonfb: Reference=27.00 MHz (RefDiv=60) Memory=166.00 Mhz,
System=166.00 MHz
radeonfb: No connector info table detected
Starting monitor auto detection...
radeonfb: I2C (port 1) ... not found
radeonfb: I2C (port 2) ... not found
radeonfb: I2C (port 3) ... not found
radeonfb: I2C (port 4) ... not found
radeonfb: I2C (port 2) ... not found
radeonfb: I2C (port 3) ... not found
radeonfb: I2C (port 4) ... not found
radeonfb: Monitor 1 type CRT found
radeonfb: ATI Radeon QD  DDR SGRAM 64 MB
radeonfb_pci_register END
Starting balanced_irq
ikconfig 0.7 with /proc/config*
Installing knfsd (copyright (C) 1996 [email protected]).
udf: registering filesystem
Limiting direct PCI/PCI transfers.
ACPI: Power Button (FF) [PWRF]
ACPI: Processor [CPU] (supports C1)
ACPI: Processor [CPU1] (supports C1)
ACPI: Thermal Zone [THRM] (28 C)
hStart = 664, hEnd = 760, hTotal = 800
vStart = 491, vEnd = 493, vTotal = 525
h_total_disp = 0x4f0063    hsync_strt_wid = 0x8c02a2
v_total_disp = 0x1df020c           vsync_strt_wid = 0x8201ea
pixclock = 39721
freq = 2517
post div = 0x3
fb_div = 0x1bf
ppll_div_3 = 0x301bf
lvds_gen_cntl: 00000000
Console: switching to colour frame buffer device 53x21

Well, b*gger. Did I mention I use the 12x22 font from sun?

Anyway, going to 8 bits color-depth solves my problem, but I'd rather
watch some photo's in at least 16-bit color depth. What part of the
driver is suspect?

Thanks,
Jurriaan

> If I boot linux-2.6.5, with a radeonfb framebuffer 1600x1200-32@75, I
> get white letters on a black background. Fine. If I issue the command
> setterm -inversescreen on, I get black letters on a white background.
> 
> So far so good.
> 
> Now if I press enter, I get a new line with black letters on a white
> background, but everything after the cursor is blue.
> 
> Switching consoles (alt-f2, alt-f1) removes the blue line.
> Issuing 'clear' gives an entire blue screen after the cursor (so a
small
> part, the prompt, stays black-on-white).
> 
> This is with a radeon 9000 and with a radeon 7000, so it must be
> something in general. Incidentally, blue is also the color the
overscan
> area gets.
> 
> This has been happening on all 2.6.x kernels going back months.
> 
-- 
Someone's stained
Someone's gained
Us or was it them?
	The men they couldn't hang - Rosettes
Debian (Unstable) GNU/Linux 2.6.5-rc3-mm3 2x6062 bogomips 0.52 0.19


-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id=1470&alloc_id=3638&op=click
_______________________________________________
Linux-fbdev-users mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/linux-fbdev-users




-------------------------------------------------------
This SF.Net email is sponsored by: IBM Linux Tutorials
Free Linux tutorial presented by Daniel Robbins, President and CEO of
GenToo technologies. Learn everything from fundamentals to system
administration.http://ads.osdn.com/?ad_id70&alloc_id638&op=click
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.