* 2.5.11 framebuffer compilation error @ 2002-04-29 5:53 Ivan G. 2002-04-29 9:26 ` Miles Lane 2002-04-29 18:01 ` James Simmons 0 siblings, 2 replies; 10+ messages in thread From: Ivan G. @ 2002-04-29 5:53 UTC (permalink / raw) To: LKML I'll know this kernel is ready for merger with the 2.4 when I can finally compile it :) ... must have tried 6-7 versions by now ... Error: Note...this is something new that I haven't tried to compile before. Error might be caused by an earlier kernel. However, 2.5.11 does contain a lot of screen_base changes. ________________________________________________ gcc -D__KERNEL__ -I/usr/src/linux-2.5.11/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common -pipe -mpreferred-stack-boundary=2 -march=athlon -DKBUILD_BASENAME=fbcon_cfb8 -DEXPORT_SYMTAB -c fbcon-cfb8.c fbcon-cfb8.c: In function `fbcon_cfb8_bmove': fbcon-cfb8.c:55: structure has no member named `screen_base' fbcon-cfb8.c:56: structure has no member named `screen_base' fbcon-cfb8.c:66: structure has no member named `screen_base' fbcon-cfb8.c:67: structure has no member named `screen_base' fbcon-cfb8.c:74: structure has no member named `screen_base' fbcon-cfb8.c:75: structure has no member named `screen_base' fbcon-cfb8.c:52: warning: `src' might be used uninitialized in this function fbcon-cfb8.c:52: warning: `dst' might be used uninitialized in this function fbcon-cfb8.c: In function `fbcon_cfb8_clear': fbcon-cfb8.c:100: structure has no member named `screen_base' fbcon-cfb8.c:96: warning: `dest' might be used uninitialized in this function fbcon-cfb8.c: In function `fbcon_cfb8_putc': fbcon-cfb8.c:118: structure has no member named `screen_base' fbcon-cfb8.c:114: warning: `dest' might be used uninitialized in this function fbcon-cfb8.c: In function `fbcon_cfb8_putcs': fbcon-cfb8.c:165: structure has no member named `screen_base' fbcon-cfb8.c:160: warning: `dest0' might be used uninitialized in this function fbcon-cfb8.c: In function `fbcon_cfb8_revc': fbcon-cfb8.c:222: structure has no member named `screen_base' fbcon-cfb8.c:219: warning: `dest' might be used uninitialized in this function fbcon-cfb8.c: In function `fbcon_cfb8_clear_margins': fbcon-cfb8.c:247: structure has no member named `screen_base' fbcon-cfb8.c:250: structure has no member named `screen_base' make[3]: *** [fbcon-cfb8.o] Error 1 make[3]: Leaving directory `/usr/src/linux-2.5.11/drivers/video' make[2]: *** [first_rule] Error 2 make[2]: Leaving directory `/usr/src/linux-2.5.11/drivers/video' make[1]: *** [_subdir_video] Error 2 make[1]: Leaving directory `/usr/src/linux-2.5.11/drivers' make: *** [_dir_drivers] Error 2 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer compilation error 2002-04-29 5:53 2.5.11 framebuffer compilation error Ivan G. @ 2002-04-29 9:26 ` Miles Lane 2002-04-29 18:01 ` James Simmons 1 sibling, 0 replies; 10+ messages in thread From: Miles Lane @ 2002-04-29 9:26 UTC (permalink / raw) To: ivangurdiev; +Cc: LKML I hit this error as well. Here is the pertinent .config snippet. # # Console drivers # CONFIG_VGA_CONSOLE=y CONFIG_VIDEO_SELECT=y # # Frame-buffer support # CONFIG_FB=y CONFIG_DUMMY_CONSOLE=y CONFIG_FB_RIVA=y CONFIG_VIDEO_SELECT=y CONFIG_FBCON_CFB8=y CONFIG_FBCON_CFB16=y CONFIG_FBCON_CFB32=y CONFIG_FONT_8x8=y CONFIG_FONT_8x16=y On Sun, 2002-04-28 at 22:53, Ivan G. wrote: > I'll know this kernel is ready for merger with the 2.4 when I can finally > compile it :) ... must have tried 6-7 versions by now ... > > Error: > Note...this is something new that I haven't tried to compile before. > Error might be caused by an earlier kernel. > However, 2.5.11 does contain a lot of screen_base changes. > ________________________________________________ > gcc -D__KERNEL__ -I/usr/src/linux-2.5.11/include -Wall -Wstrict-prototypes > -Wno-trigraphs -O2 -fomit-frame-pointer -fno-strict-aliasing -fno-common > -pipe -mpreferred-stack-boundary=2 -march=athlon > -DKBUILD_BASENAME=fbcon_cfb8 -DEXPORT_SYMTAB -c fbcon-cfb8.c > fbcon-cfb8.c: In function `fbcon_cfb8_bmove': > fbcon-cfb8.c:55: structure has no member named `screen_base' > fbcon-cfb8.c:56: structure has no member named `screen_base' > fbcon-cfb8.c:66: structure has no member named `screen_base' > fbcon-cfb8.c:67: structure has no member named `screen_base' > fbcon-cfb8.c:74: structure has no member named `screen_base' > fbcon-cfb8.c:75: structure has no member named `screen_base' > fbcon-cfb8.c:52: warning: `src' might be used uninitialized in this function > fbcon-cfb8.c:52: warning: `dst' might be used uninitialized in this function > fbcon-cfb8.c: In function `fbcon_cfb8_clear': > fbcon-cfb8.c:100: structure has no member named `screen_base' > fbcon-cfb8.c:96: warning: `dest' might be used uninitialized in this function > fbcon-cfb8.c: In function `fbcon_cfb8_putc': > fbcon-cfb8.c:118: structure has no member named `screen_base' > fbcon-cfb8.c:114: warning: `dest' might be used uninitialized in this function > fbcon-cfb8.c: In function `fbcon_cfb8_putcs': > fbcon-cfb8.c:165: structure has no member named `screen_base' > fbcon-cfb8.c:160: warning: `dest0' might be used uninitialized in this > function > fbcon-cfb8.c: In function `fbcon_cfb8_revc': > fbcon-cfb8.c:222: structure has no member named `screen_base' > fbcon-cfb8.c:219: warning: `dest' might be used uninitialized in this function > fbcon-cfb8.c: In function `fbcon_cfb8_clear_margins': > fbcon-cfb8.c:247: structure has no member named `screen_base' > fbcon-cfb8.c:250: structure has no member named `screen_base' > make[3]: *** [fbcon-cfb8.o] Error 1 > make[3]: Leaving directory `/usr/src/linux-2.5.11/drivers/video' > make[2]: *** [first_rule] Error 2 > make[2]: Leaving directory `/usr/src/linux-2.5.11/drivers/video' > make[1]: *** [_subdir_video] Error 2 > make[1]: Leaving directory `/usr/src/linux-2.5.11/drivers' > make: *** [_dir_drivers] Error 2 > - > To unsubscribe from this list: send the line "unsubscribe linux-kernel" in > the body of a message to majordomo@vger.kernel.org > More majordomo info at http://vger.kernel.org/majordomo-info.html > Please read the FAQ at http://www.tux.org/lkml/ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer compilation error 2002-04-29 5:53 2.5.11 framebuffer compilation error Ivan G. 2002-04-29 9:26 ` Miles Lane @ 2002-04-29 18:01 ` James Simmons 2002-04-29 19:38 ` Ivan G. ` (2 more replies) 1 sibling, 3 replies; 10+ messages in thread From: James Simmons @ 2002-04-29 18:01 UTC (permalink / raw) To: Ivan G.; +Cc: LKML, Linux Fbdev development list > I'll know this kernel is ready for merger with the 2.4 when I can finally > compile it :) ... must have tried 6-7 versions by now ... > > Error: > Note...this is something new that I haven't tried to compile before. > Error might be caused by an earlier kernel. > However, 2.5.11 does contain a lot of screen_base changes. Thats my fault. I had all the correct changes locally but my experience with BK is just starting :-/ So this first time was a bit painful. I asked people to tes my stuff but no one compiled so I toke that as everything was okay. Please folks. Test the stuff. I even make classic diff patches for people as well. I have fixes against 2.5.11 avaliable for this. Diff: http://www.transvirtual.com/~jsimmons/fbdev_fixs.diff Also I commited these changes to the BK repository. The URL for this is http://fbdev.bkbits.net/fbdev-2.5 ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer compilation error 2002-04-29 18:01 ` James Simmons @ 2002-04-29 19:38 ` Ivan G. 2002-04-29 20:38 ` 2.5.11 framebuffer kernel panic Ivan G. 2002-05-02 12:28 ` 2.5.11 framebuffer compilation error Paul Mackerras 2 siblings, 0 replies; 10+ messages in thread From: Ivan G. @ 2002-04-29 19:38 UTC (permalink / raw) To: James Simmons; +Cc: LKML, LFB > Please folks. Test the stuff. I even make classic > diff patches for people as well. > > I have fixes against 2.5.11 avaliable for this. > Tested and verified to work. Thank you. Wow. I actually compiled a 2.5 kernel. must be a miracle of some kind :) Now let's reboot and test my new kernel. ^ permalink raw reply [flat|nested] 10+ messages in thread
* 2.5.11 framebuffer kernel panic 2002-04-29 18:01 ` James Simmons 2002-04-29 19:38 ` Ivan G. @ 2002-04-29 20:38 ` Ivan G. 2002-04-29 22:52 ` James Simmons 2002-05-02 12:28 ` 2.5.11 framebuffer compilation error Paul Mackerras 2 siblings, 1 reply; 10+ messages in thread From: Ivan G. @ 2002-04-29 20:38 UTC (permalink / raw) To: James Simmons; +Cc: LKML, LFB Well, here's the result of my first 2.5 compiled kernel : Codes were hand-copied. Inaccuracy is possible but unlikely. I checked several times. ---------------------------------------------------------------- ksymoops 2.4.0 on i686 2.4.19-pre3. Options used -v /usr/src/linux-2.5.11/vmlinux (specified) -K (specified) -L (specified) -o /lib/modules/2.5.11 (specified) -m /boot/System.map-2.5.11 (specified) No modules in ksyms, skipping objects Unable to handle kernel NULL pointer dereference at virtual address 000001b4 *pde = 00000000 oops: 0000 CPU: 0 EIP: 0010: [<c02055f6>] Not tainted. Using defaults from ksymoops -t elf32-i386 -a i386 EFLAGS: 00010283 eax: c0336570 ebx: 00007f80 ecx: 00000000 esi: 00000000 edi: 00000180 ebp: 00000000 esp: d3eefce8 ds: 0018 es: 0018 ss: 0018 Stack: 00007f80 c0336680 c1313800 00000000 c0203a70 c0336570 00000002 00000000 00000180 00000003 c02b48f4 c02b4a60 00000206 00000003 00000246 c012f69f c02b48f4 c02b4a5c 000001f0 00000000 c12d79c0 000001f0 c1308000 c012d39e Call Trace: [<c0203a70>] [<c012f69f>] [<c012d39f>] [<c01ff424>] [<c0200990>] [<c01ba4a9>] [<c01fef53>] [<c01fe603>] [<c01ba5de>] [<c01be0ed>] [<c01fd91a>] [<c0105000>] [<c0105070>] [<c0105000>] [<c0105646>] [<c0105050>] Code: 8b 9d b4 01 00 00 85 db 0f 84 ac 00 00 00 0f b7 82 02 01 00 >>EIP; c02055f6 <atyfb_cursor+16/e0> <===== Trace; c0203a70 <atyfbcon_switch+70/e0> Trace; c012f69f <__alloc_pages+3f/180> Trace; c012d39f <kmem_cache_grow+ef/270> Trace; c01ff424 <fbcon_cursor+b4/1e0> Trace; c0200990 <fbcon_switch+140/1c0> Trace; c01ba4a9 <redraw_screen+c9/140> Trace; c01fef53 <fbcon_setup+843/940> Trace; c01fe603 <fbcon_init+b3/e0> Trace; c01ba5de <visual_init+9e/100> Trace; c01be0ed <take_over_console+ad/180> Trace; c01fd91a <register_framebuffer+fa/130> Trace; c0105000 <_stext+0/0> Trace; c0105070 <init+20/180> Trace; c0105000 <_stext+0/0> Trace; c0105646 <kernel_thread+26/30> Trace; c0105050 <init+0/180> Code; c02055f6 <atyfb_cursor+16/e0> 00000000 <_EIP>: Code; c02055f6 <atyfb_cursor+16/e0> <===== 0: 8b 9d b4 01 00 00 mov 0x1b4(%ebp),%ebx <===== Code; c02055fc <atyfb_cursor+1c/e0> 6: 85 db test %ebx,%ebx Code; c02055fe <atyfb_cursor+1e/e0> 8: 0f 84 ac 00 00 00 je ba <_EIP+0xba> c02056b0 <atyfb_cursor+d0/e0> Code; c0205604 <atyfb_cursor+24/e0> e: 0f b7 82 02 01 00 00 movzwl 0x102(%edx),%eax <0> Kernel panic: Attempted to kill Init! ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer kernel panic 2002-04-29 20:38 ` 2.5.11 framebuffer kernel panic Ivan G. @ 2002-04-29 22:52 ` James Simmons 2002-04-30 1:54 ` 2.5.11 framebuffer kernel panic [Resolved] Ivan G. 0 siblings, 1 reply; 10+ messages in thread From: James Simmons @ 2002-04-29 22:52 UTC (permalink / raw) To: Ivan G.; +Cc: LKML, LFB Try this patch and tell me if it works. --- /usr/src/linux-2.5.11/drivers/video/aty/atyfb_base.c Mon Apr 29 10:48:07 2002 +++ atyfb_base.c Mon Apr 29 15:48:22 2002 @@ -2625,7 +2625,7 @@ #ifdef CONFIG_FB_ATY_CT /* Erase HW Cursor */ - if (info->cursor) + if (info->cursor && (fb->currcon >= 0)) atyfb_cursor(&fb_display[fb->currcon], CM_ERASE, info->cursor->pos.x, info->cursor->pos.y); #endif /* CONFIG_FB_ATY_CT */ ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer kernel panic [Resolved] 2002-04-29 22:52 ` James Simmons @ 2002-04-30 1:54 ` Ivan G. 2002-04-30 16:53 ` James Simmons 0 siblings, 1 reply; 10+ messages in thread From: Ivan G. @ 2002-04-30 1:54 UTC (permalink / raw) To: James Simmons; +Cc: LKML On Monday 29 April 2002 04:52 pm, you wrote: > Try this patch and tell me if it works. It worked. I got a penguin, just before it died again with an ide-related panic for which I'll start a new LKML thread :) ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer kernel panic [Resolved] 2002-04-30 1:54 ` 2.5.11 framebuffer kernel panic [Resolved] Ivan G. @ 2002-04-30 16:53 ` James Simmons 0 siblings, 0 replies; 10+ messages in thread From: James Simmons @ 2002-04-30 16:53 UTC (permalink / raw) To: Ivan G.; +Cc: LKML > On Monday 29 April 2002 04:52 pm, you wrote: > > Try this patch and tell me if it works. > > It worked. I got a penguin, :-) > just before it died again with an ide-related > panic for which I'll start a new LKML thread :) :-( ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer compilation error 2002-04-29 18:01 ` James Simmons 2002-04-29 19:38 ` Ivan G. 2002-04-29 20:38 ` 2.5.11 framebuffer kernel panic Ivan G. @ 2002-05-02 12:28 ` Paul Mackerras 2002-05-02 22:20 ` James Simmons 2 siblings, 1 reply; 10+ messages in thread From: Paul Mackerras @ 2002-05-02 12:28 UTC (permalink / raw) To: James Simmons; +Cc: LKML, Linux Fbdev development list, benh James Simmons writes: > Diff: > > http://www.transvirtual.com/~jsimmons/fbdev_fixs.diff I tried 2.5.12 with this patch on PPC, with most of the mac framebuffers selected, and got a few errors. Here is a patch that fixes the compilation errors plus a few other things. The files affected are: chipsfb.c ) controlfb.c ) fix compile errors from recent changes platinumfb.c) valkyriefb.c) offb.c fix a problem with colormap corruption on blank add support for IBM GXT2000P display fix compile errors from recent changes aty128.h remove duplicate definition aty128fb.c add btext_update_display call add Rage128 Pro TR eliminate compile warnings make aty128fb_blank be actually used add more default resolutions based on which type of powermac we have imsttfb.c eliminate compile warning aty/atyfb_base.c add btext_update_display call Some of these changes have come from Ben Herrenschmidt. I have changes to the radeon driver too but I haven't included them in this patch since I am using version 0.1.4 in my tree at the moment whereas Linus' tree only has version 0.1.1. James, it would be good if you could look at this and either apply it, or let me know if there is anything you don't like so we can discuss it. Regards, Paul. diff -urN ltest/drivers/video/aty/atyfb_base.c pmac-2.5/drivers/video/aty/atyfb_base.c --- ltest/drivers/video/aty/atyfb_base.c Thu May 2 22:08:08 2002 +++ pmac-2.5/drivers/video/aty/atyfb_base.c Thu May 2 21:44:26 2002 @@ -87,6 +87,9 @@ #include <linux/adb.h> #include <linux/pmu.h> #endif +#ifdef CONFIG_BOOTX_TEXT +#include <asm/btext.h> +#endif #ifdef CONFIG_NVRAM #include <linux/nvram.h> #endif @@ -815,6 +818,13 @@ display_info.disp_reg_address = info->ati_regbase_phys; } #endif /* CONFIG_FB_COMPAT_XPMAC */ +#ifdef CONFIG_BOOTX_TEXT + btext_update_display(info->frame_buffer_phys, + (((par->crtc.h_tot_disp>>16) & 0xff)+1)*8, + ((par->crtc.v_tot_disp>>16) & 0x7ff)+1, + par->crtc.bpp, + par->crtc.vxres*par->crtc.bpp/8); +#endif /* CONFIG_BOOTX_TEXT */ } static int atyfb_decode_var(const struct fb_var_screeninfo *var, diff -urN ltest/drivers/video/aty128.h pmac-2.5/drivers/video/aty128.h --- ltest/drivers/video/aty128.h Wed Feb 6 04:40:16 2002 +++ pmac-2.5/drivers/video/aty128.h Fri Feb 15 22:04:12 2002 @@ -267,7 +267,6 @@ #define DAC_MASK 0xFF000000 #define DAC_BLANKING 0x00000004 #define DAC_RANGE_CNTL 0x00000003 -#define DAC_RANGE_CNTL 0x00000003 #define DAC_PALETTE_ACCESS_CNTL 0x00000020 #define DAC_PDWN 0x00008000 diff -urN ltest/drivers/video/aty128fb.c pmac-2.5/drivers/video/aty128fb.c --- ltest/drivers/video/aty128fb.c Mon Apr 29 16:25:24 2002 +++ pmac-2.5/drivers/video/aty128fb.c Thu May 2 19:43:03 2002 @@ -70,6 +70,9 @@ #ifdef CONFIG_FB_COMPAT_XPMAC #include <asm/vc_ioctl.h> #endif +#ifdef CONFIG_BOOTX_TEXT +#include <asm/btext.h> +#endif /* CONFIG_BOOTX_TEXT */ #include <video/fbcon.h> #include <video/fbcon-cfb8.h> @@ -154,6 +157,7 @@ {"Rage128 RL (AGP)", PCI_DEVICE_ID_ATI_RAGE128_RL, rage_128}, {"Rage128 Pro PF (AGP)", PCI_DEVICE_ID_ATI_RAGE128_PF, rage_128_pro}, {"Rage128 Pro PR (PCI)", PCI_DEVICE_ID_ATI_RAGE128_PR, rage_128_pro}, + {"Rage128 Pro TR (AGP)", PCI_DEVICE_ID_ATI_RAGE128_U3, rage_128_pro}, {"Rage Mobility M3 (PCI)", PCI_DEVICE_ID_ATI_RAGE128_LE, rage_M3}, {"Rage Mobility M3 (AGP)", PCI_DEVICE_ID_ATI_RAGE128_LF, rage_M3}, {NULL, 0, rage_128} @@ -216,9 +220,13 @@ static char fontname[40] __initdata = { 0 }; static int noaccel __initdata = 0; +#ifdef MODULE static char *font __initdata = NULL; static char *mode __initdata = NULL; +#ifdef CONFIG_MTRR static int nomtrr __initdata = 0; +#endif +#endif /* MODULE */ static char *mode_option __initdata = NULL; @@ -418,6 +426,7 @@ fb_set_cmap: gen_set_cmap, fb_setcolreg: aty128fb_setcolreg, fb_pan_display: aty128fb_pan_display, + fb_blank: aty128fb_blank, fb_rasterimg: aty128fb_rasterimg, }; @@ -1243,6 +1252,13 @@ display_info.disp_reg_address = info->regbase_phys; } #endif /* CONFIG_FB_COMPAT_XPMAC */ +#if defined(CONFIG_BOOTX_TEXT) + btext_update_display(info->frame_buffer_phys, + (((par->crtc.h_total>>16) & 0xff)+1)*8, + ((par->crtc.v_total>>16) & 0x7ff)+1, + par->crtc.bpp, + par->crtc.vxres*par->crtc.bpp/8); +#endif /* CONFIG_BOOTX_TEXT */ } /* @@ -1584,7 +1600,7 @@ if (!options || !*options) return 0; - while (this_opt = strsep(&options, ",")) { + while ((this_opt = strsep(&options, ",")) != NULL) { if (!strncmp(this_opt, "font:", 5)) { char *p; int i; @@ -1686,6 +1702,29 @@ } else { if (default_vmode <= 0 || default_vmode > VMODE_MAX) default_vmode = VMODE_1024_768_60; + + /* iMacs need that resolution + * PowerMac2,1 first r128 iMacs + * PowerMac2,2 summer 2000 iMacs + * PowerMac4,1 january 2001 iMacs "flower power" + */ + if (machine_is_compatible("PowerMac2,1") || + machine_is_compatible("PowerMac2,2") || + machine_is_compatible("PowerMac4,1")) + default_vmode = VMODE_1024_768_75; + + /* iBook SE */ + if (machine_is_compatible("PowerBook2,2")) + default_vmode = VMODE_800_600_60; + + /* PowerBook Firewire (Pismo), iBook Dual USB */ + if (machine_is_compatible("PowerBook3,1") || + machine_is_compatible("PowerBook4,1")) + default_vmode = VMODE_1024_768_60; + + /* PowerBook Titanium */ + if (machine_is_compatible("PowerBook3,2")) + default_vmode = VMODE_1152_768_60; if (default_cmode < CMODE_8 || default_cmode > CMODE_32) default_cmode = CMODE_8; diff -urN ltest/drivers/video/chipsfb.c pmac-2.5/drivers/video/chipsfb.c --- ltest/drivers/video/chipsfb.c Thu May 2 22:08:08 2002 +++ pmac-2.5/drivers/video/chipsfb.c Thu May 2 21:44:26 2002 @@ -312,7 +312,7 @@ struct fb_var_screeninfo* var = &p->var; if (bpp == 16) { - if (con == info->currcon) { + if (con == p->info.currcon) { write_cr(0x13, 200); // Set line length (doublewords) write_xr(0x81, 0x14); // 15 bit (555) color mode write_xr(0x82, 0x00); // Disable palettes @@ -334,7 +334,7 @@ disp->dispsw = &fbcon_dummy; #endif } else if (bpp == 8) { - if (con == info->currcon) { + if (con == p->info.currcon) { write_cr(0x13, 100); // Set line length (doublewords) write_xr(0x81, 0x12); // 8 bit color mode write_xr(0x82, 0x08); // Graphics gamma enable diff -urN ltest/drivers/video/controlfb.c pmac-2.5/drivers/video/controlfb.c --- ltest/drivers/video/controlfb.c Thu May 2 22:08:08 2002 +++ pmac-2.5/drivers/video/controlfb.c Thu May 2 21:46:35 2002 @@ -149,7 +149,7 @@ struct fb_info *info); static int control_get_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info); -static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, +static int control_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info); static int controlfb_blank(int blank_mode, struct fb_info *info); static int control_mmap(struct fb_info *info, struct file *file, @@ -225,7 +225,7 @@ fb_set_var: control_set_var, fb_get_cmap: control_get_cmap, fb_set_cmap: gen_set_cmap, - fb_setcolreg: controlfb_setcolreg, + fb_setcolreg: control_setcolreg, fb_pan_display: control_pan_display, fb_blank: controlfb_blank, fb_mmap: control_mmap, @@ -520,7 +520,7 @@ return 0; } -static int controlfb_setcolreg(u_int regno, u_int red, u_int green, u_int blue, +static int control_setcolreg(u_int regno, u_int red, u_int green, u_int blue, u_int transp, struct fb_info *info) { struct fb_info_control *p = (struct fb_info_control *) info; @@ -1238,7 +1238,7 @@ u8 *dest; int bytes = p->next_line, rows; - dest = p->info.screen_base + yy * fontheight(p) * bytes + xx * fontwidth(p)*2; + dest = p->fb_info->screen_base + yy * fontheight(p) * bytes + xx * fontwidth(p)*2; for (rows = fontheight(p); rows--; dest += bytes) { switch (fontwidth(p)) { case 16: @@ -1261,7 +1261,7 @@ u8 *dest; int bytes = p->next_line, rows; - dest = p->info.screen_base + yy * fontheight(p) * bytes + xx * fontwidth(p) * 4; + dest = p->fb_info->screen_base + yy * fontheight(p) * bytes + xx * fontwidth(p) * 4; for (rows = fontheight(p); rows--; dest += bytes) { switch (fontwidth(p)) { case 16: diff -urN ltest/drivers/video/imsttfb.c pmac-2.5/drivers/video/imsttfb.c --- ltest/drivers/video/imsttfb.c Mon Apr 29 16:25:24 2002 +++ pmac-2.5/drivers/video/imsttfb.c Wed May 1 10:54:14 2002 @@ -1908,7 +1908,7 @@ p->ramdac = TVP; break; default: - printk(KERN_INFO "imsttfb: Device 0x%lx unknown, " + printk(KERN_INFO "imsttfb: Device 0x%x unknown, " "contact maintainer.\n", pdev->device); return -ENODEV; } diff -urN ltest/drivers/video/offb.c pmac-2.5/drivers/video/offb.c --- ltest/drivers/video/offb.c Mon Apr 29 16:25:24 2002 +++ pmac-2.5/drivers/video/offb.c Thu May 2 21:46:47 2002 @@ -49,7 +49,8 @@ cmap_r128, /* ATI Rage128 */ cmap_M3A, /* ATI Rage Mobility M3 Head A */ cmap_M3B, /* ATI Rage Mobility M3 Head B */ - cmap_radeon /* ATI Radeon */ + cmap_radeon, /* ATI Radeon */ + cmap_gxt2000 /* IBM GXT2000 */ }; struct fb_info_offb { @@ -61,6 +62,7 @@ volatile unsigned char *cmap_adr; volatile unsigned char *cmap_data; int cmap_type; + int blanked; union { #ifdef FBCON_HAS_CFB16 u16 cfb16[16]; @@ -207,9 +209,11 @@ static int offb_get_cmap(struct fb_cmap *cmap, int kspc, int con, struct fb_info *info) { - if (con == info->currcon) /* current console? */ + struct fb_info_offb *info2 = (struct fb_info_offb *)info; + + if (con == info->currcon && !info2->blanked) /* current console? */ return fb_get_cmap(cmap, kspc, offb_getcolreg, info); - else if (fb_display[con].cmap.len) /* non default colormap? */ + if (fb_display[con].cmap.len) /* non default colormap? */ fb_copy_cmap(&fb_display[con].cmap, cmap, kspc ? 0 : 2); else { @@ -237,7 +241,7 @@ if ((err = fb_alloc_cmap(&fb_display[con].cmap, size, 0))) return err; } - if (con == info->currcon) /* current console? */ + if (con == info->currcon && !info2->blanked) /* current console? */ return fb_set_cmap(cmap, kspc, info); else fb_copy_cmap(cmap, &fb_display[con].cmap, kspc ? 0 : 1); @@ -254,7 +258,16 @@ int i, j; if (!info2->cmap_adr) - return; + return 0; + + if (!info2->blanked) { + if (!blank) + return 0; + if (fb_display[info->currcon].cmap.len) + fb_get_cmap(&fb_display[info->currcon].cmap, 1, offb_getcolreg, info); + } + + info2->blanked = blank; if (blank) for (i = 0; i < 256; i++) { @@ -288,6 +301,9 @@ out_8(info2->cmap_adr + 0xb0, i); out_le32((unsigned *)(info2->cmap_adr + 0xb4), 0); break; + case cmap_gxt2000: + out_le32((unsigned *)info2->cmap_adr + i, 0); + break; } } else @@ -496,6 +512,10 @@ info->cmap_adr = ioremap(base + 0x7ff000, 0x1000) + 0xcc0; info->cmap_data = info->cmap_adr + 1; info->cmap_type = cmap_m64; + } else if (device_is_compatible(dp, "pci1014,b7")) { + unsigned long regbase = dp->addrs[0].address; + info->cmap_adr = ioremap(regbase + 0x6000, 0x1000); + info->cmap_type = cmap_gxt2000; } fix->visual = info->cmap_adr ? FB_VISUAL_PSEUDOCOLOR : FB_VISUAL_STATIC_PSEUDOCOLOR; @@ -667,8 +687,10 @@ static int offbcon_switch(int con, struct fb_info *info) { + struct fb_info_offb *info2 = (struct fb_info_offb *)info; + /* Do we have to save the colormap? */ - if (fb_display[info->currcon].cmap.len) + if (fb_display[info->currcon].cmap.len && !info2->blanked) fb_get_cmap(&fb_display[info->currcon].cmap, 1, offb_getcolreg, info); info->currcon = con; @@ -765,6 +787,10 @@ out_8(info2->cmap_adr + 0xb0, regno); out_le32((unsigned *)(info2->cmap_adr + 0xb4), (red << 16 | green << 8 | blue)); + break; + case cmap_gxt2000: + out_le32((unsigned *)info2->cmap_adr + regno, + (red << 16 | green << 8 | blue)); break; } diff -urN ltest/drivers/video/platinumfb.c pmac-2.5/drivers/video/platinumfb.c --- ltest/drivers/video/platinumfb.c Thu May 2 22:08:08 2002 +++ pmac-2.5/drivers/video/platinumfb.c Thu May 2 21:44:26 2002 @@ -329,10 +329,10 @@ struct fb_info_platinum *info = (struct fb_info_platinum *) fb; struct fb_par_platinum par; - if (fb_display[info->currcon].cmap.len) - fb_get_cmap(&fb_display[info->currcon].cmap, 1, platinum_getcolreg, + if (fb_display[fb->currcon].cmap.len) + fb_get_cmap(&fb_display[fb->currcon].cmap, 1, platinum_getcolreg, fb); - info->currcon = con; + fb->currcon = con; platinum_var_to_par(&fb_display[con].var, &par, info); platinum_set_par(&par, info); diff -urN ltest/drivers/video/valkyriefb.c pmac-2.5/drivers/video/valkyriefb.c --- ltest/drivers/video/valkyriefb.c Mon Apr 29 16:25:25 2002 +++ pmac-2.5/drivers/video/valkyriefb.c Thu May 2 21:37:03 2002 @@ -260,7 +260,7 @@ fb); fb->currcon = con; #if 1 - valkyrie_var_to_par(&fb_display[currcon].var, &par, fb); + valkyrie_var_to_par(&fb_display[fb->currcon].var, &par, fb); valkyrie_set_par(&par, info); do_install_cmap(con, fb); #else ^ permalink raw reply [flat|nested] 10+ messages in thread
* Re: 2.5.11 framebuffer compilation error 2002-05-02 12:28 ` 2.5.11 framebuffer compilation error Paul Mackerras @ 2002-05-02 22:20 ` James Simmons 0 siblings, 0 replies; 10+ messages in thread From: James Simmons @ 2002-05-02 22:20 UTC (permalink / raw) To: paulus; +Cc: LKML, Linux Fbdev development list, benh > James Simmons writes: > > > Diff: > > > > http://www.transvirtual.com/~jsimmons/fbdev_fixs.diff > > I tried 2.5.12 with this patch on PPC, with most of the mac > framebuffers selected, and got a few errors. Here is a patch that > fixes the compilation errors plus a few other things. I applied your patch. Same place and I also applied to my BK tree. As for other changes. Alot of cleanups are going to happen. Soon you will see with my new VESA framebuffer driver. ^ permalink raw reply [flat|nested] 10+ messages in thread
end of thread, other threads:[~2002-05-02 22:20 UTC | newest] Thread overview: 10+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2002-04-29 5:53 2.5.11 framebuffer compilation error Ivan G. 2002-04-29 9:26 ` Miles Lane 2002-04-29 18:01 ` James Simmons 2002-04-29 19:38 ` Ivan G. 2002-04-29 20:38 ` 2.5.11 framebuffer kernel panic Ivan G. 2002-04-29 22:52 ` James Simmons 2002-04-30 1:54 ` 2.5.11 framebuffer kernel panic [Resolved] Ivan G. 2002-04-30 16:53 ` James Simmons 2002-05-02 12:28 ` 2.5.11 framebuffer compilation error Paul Mackerras 2002-05-02 22:20 ` James Simmons
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox