* [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo @ 2013-09-20 1:53 Joe Perches 2013-09-20 1:53 ` [PATCH 2/2] framebuffer: Remove pmag-aa-fb Joe Perches ` (2 more replies) 0 siblings, 3 replies; 14+ messages in thread From: Joe Perches @ 2013-09-20 1:53 UTC (permalink / raw) To: Jean-Christophe Plagniol-Villard, Tomi Valkeinen Cc: linux-fbdev, linux-kernel s/framebugger/framebuffer/ Signed-off-by: Joe Perches <joe@perches.com> --- drivers/video/arkfb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c index ee0f1a1..b13f3f2 100644 --- a/drivers/video/arkfb.c +++ b/drivers/video/arkfb.c @@ -1048,7 +1048,7 @@ static int ark_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) rc = register_framebuffer(info); if (rc < 0) { - dev_err(info->device, "cannot register framebugger\n"); + dev_err(info->device, "cannot register framebuffer\n"); goto err_reg_fb; } -- 1.8.1.2.459.gbcd45b4.dirty ^ permalink raw reply related [flat|nested] 14+ messages in thread
* [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-20 1:53 [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Joe Perches @ 2013-09-20 1:53 ` Joe Perches 2013-09-20 7:33 ` Geert Uytterhoeven 2013-09-20 3:10 ` [PATCH 2/2] framebuffer: Fix int cast to pointer warnings Joe Perches 2013-09-26 9:47 ` [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Tomi Valkeinen 2 siblings, 1 reply; 14+ messages in thread From: Joe Perches @ 2013-09-20 1:53 UTC (permalink / raw) To: Jean-Christophe Plagniol-Villard, Tomi Valkeinen Cc: linux-fbdev, linux-kernel This driver apparently hasn't compiled since 2.5 days as it uses a #define that isn't around anymore. Remove it. Signed-off-by: Joe Perches <joe@perches.com> --- drivers/video/Kconfig | 10 - drivers/video/Makefile | 1 - drivers/video/pmag-aa-fb.c | 510 --------------------------------------------- 3 files changed, 521 deletions(-) delete mode 100644 drivers/video/pmag-aa-fb.c diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig index 14317b7..e92798e 100644 --- a/drivers/video/Kconfig +++ b/drivers/video/Kconfig @@ -1821,16 +1821,6 @@ config FB_HIT This is the frame buffer device driver for the Hitachi HD64461 LCD frame buffer card. -config FB_PMAG_AA - bool "PMAG-AA TURBOchannel framebuffer support" - depends on (FB = y) && TC - select FB_CFB_FILLRECT - select FB_CFB_COPYAREA - select FB_CFB_IMAGEBLIT - help - Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) - used mainly in the MIPS-based DECstation series. - config FB_PMAG_BA tristate "PMAG-BA TURBOchannel framebuffer support" depends on FB && TC diff --git a/drivers/video/Makefile b/drivers/video/Makefile index e8bae8d..5c8b340 100644 --- a/drivers/video/Makefile +++ b/drivers/video/Makefile @@ -114,7 +114,6 @@ obj-$(CONFIG_FB_AU1100) += au1100fb.o obj-$(CONFIG_FB_AU1200) += au1200fb.o obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o obj-$(CONFIG_FB_WM8505) += wm8505fb.o -obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o obj-$(CONFIG_FB_MAXINE) += maxinefb.o diff --git a/drivers/video/pmag-aa-fb.c b/drivers/video/pmag-aa-fb.c deleted file mode 100644 index 8384248..0000000 --- a/drivers/video/pmag-aa-fb.c +++ /dev/null @@ -1,510 +0,0 @@ -/* - * linux/drivers/video/pmag-aa-fb.c - * Copyright 2002 Karsten Merker <merker@debian.org> - * - * PMAG-AA TurboChannel framebuffer card support ... derived from - * pmag-ba-fb.c, which is Copyright (C) 1999, 2000, 2001 by - * Michael Engel <engel@unix-ag.org>, Karsten Merker <merker@debian.org> - * and Harald Koerfgen <hkoerfg@web.de>, which itself is derived from - * "HP300 Topcat framebuffer support (derived from macfb of all things) - * Phil Blundell <philb@gnu.org> 1998" - * - * This file is subject to the terms and conditions of the GNU General - * Public License. See the file COPYING in the main directory of this - * archive for more details. - * - * 2002-09-28 Karsten Merker <merker@linuxtag.org> - * Version 0.01: First try to get a PMAG-AA running. - * - * 2003-02-24 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * Version 0.02: Major code cleanup. - * - * 2003-09-21 Thiemo Seufer <seufer@csv.ica.uni-stuttgart.de> - * Hardware cursor support. - */ -#include <linux/module.h> -#include <linux/kernel.h> -#include <linux/errno.h> -#include <linux/string.h> -#include <linux/timer.h> -#include <linux/mm.h> -#include <linux/delay.h> -#include <linux/init.h> -#include <linux/fb.h> -#include <linux/console.h> - -#include <asm/bootinfo.h> -#include <asm/dec/machtype.h> -#include <asm/dec/tc.h> - -#include <video/fbcon.h> -#include <video/fbcon-cfb8.h> - -#include "bt455.h" -#include "bt431.h" - -/* Version information */ -#define DRIVER_VERSION "0.02" -#define DRIVER_AUTHOR "Karsten Merker <merker@linuxtag.org>" -#define DRIVER_DESCRIPTION "PMAG-AA Framebuffer Driver" - -/* Prototypes */ -static int aafb_set_var(struct fb_var_screeninfo *var, int con, - struct fb_info *info); - -/* - * Bt455 RAM DAC register base offset (rel. to TC slot base address). - */ -#define PMAG_AA_BT455_OFFSET 0x100000 - -/* - * Bt431 cursor generator offset (rel. to TC slot base address). - */ -#define PMAG_AA_BT431_OFFSET 0x180000 - -/* - * Begin of PMAG-AA framebuffer memory relative to TC slot address, - * resolution is 1280x1024x1 (8 bits deep, but only LSB is used). - */ -#define PMAG_AA_ONBOARD_FBMEM_OFFSET 0x200000 - -struct aafb_cursor { - struct timer_list timer; - int enable; - int on; - int vbl_cnt; - int blink_rate; - u16 x, y, width, height; -}; - -#define CURSOR_TIMER_FREQ (HZ / 50) -#define CURSOR_BLINK_RATE (20) -#define CURSOR_DRAW_DELAY (2) - -struct aafb_info { - struct fb_info info; - struct display disp; - struct aafb_cursor cursor; - struct bt455_regs *bt455; - struct bt431_regs *bt431; - unsigned long fb_start; - unsigned long fb_size; - unsigned long fb_line_length; -}; - -/* - * Max 3 TURBOchannel slots -> max 3 PMAG-AA. - */ -static struct aafb_info my_fb_info[3]; - -static struct aafb_par { -} current_par; - -static int currcon = -1; - -static void aafb_set_cursor(struct aafb_info *info, int on) -{ - struct aafb_cursor *c = &info->cursor; - - if (on) { - bt431_position_cursor(info->bt431, c->x, c->y); - bt431_enable_cursor(info->bt431); - } else - bt431_erase_cursor(info->bt431); -} - -static void aafbcon_cursor(struct display *disp, int mode, int x, int y) -{ - struct aafb_info *info = (struct aafb_info *)disp->fb_info; - struct aafb_cursor *c = &info->cursor; - - x *= fontwidth(disp); - y *= fontheight(disp); - - if (c->x = x && c->y = y && (mode = CM_ERASE) = !c->enable) - return; - - c->enable = 0; - if (c->on) - aafb_set_cursor(info, 0); - c->x = x - disp->var.xoffset; - c->y = y - disp->var.yoffset; - - switch (mode) { - case CM_ERASE: - c->on = 0; - break; - case CM_DRAW: - case CM_MOVE: - if (c->on) - aafb_set_cursor(info, c->on); - else - c->vbl_cnt = CURSOR_DRAW_DELAY; - c->enable = 1; - break; - } -} - -static int aafbcon_set_font(struct display *disp, int width, int height) -{ - struct aafb_info *info = (struct aafb_info *)disp->fb_info; - struct aafb_cursor *c = &info->cursor; - u8 fgc = ~attr_bgcol_ec(disp, disp->conp, &info->info); - - if (width > 64 || height > 64 || width < 0 || height < 0) - return -EINVAL; - - c->height = height; - c->width = width; - - bt431_set_font(info->bt431, fgc, width, height); - - return 1; -} - -static void aafb_cursor_timer_handler(unsigned long data) -{ - struct aafb_info *info = (struct aafb_info *)data; - struct aafb_cursor *c = &info->cursor; - - if (!c->enable) - goto out; - - if (c->vbl_cnt && --c->vbl_cnt = 0) { - c->on ^= 1; - aafb_set_cursor(info, c->on); - c->vbl_cnt = c->blink_rate; - } - -out: - c->timer.expires = jiffies + CURSOR_TIMER_FREQ; - add_timer(&c->timer); -} - -static void __init aafb_cursor_init(struct aafb_info *info) -{ - struct aafb_cursor *c = &info->cursor; - - c->enable = 1; - c->on = 1; - c->x = c->y = 0; - c->width = c->height = 0; - c->vbl_cnt = CURSOR_DRAW_DELAY; - c->blink_rate = CURSOR_BLINK_RATE; - - init_timer(&c->timer); - c->timer.data = (unsigned long)info; - c->timer.function = aafb_cursor_timer_handler; - mod_timer(&c->timer, jiffies + CURSOR_TIMER_FREQ); -} - -static void __exit aafb_cursor_exit(struct aafb_info *info) -{ - struct aafb_cursor *c = &info->cursor; - - del_timer_sync(&c->timer); -} - -static struct display_switch aafb_switch8 = { - .setup = fbcon_cfb8_setup, - .bmove = fbcon_cfb8_bmove, - .clear = fbcon_cfb8_clear, - .putc = fbcon_cfb8_putc, - .putcs = fbcon_cfb8_putcs, - .revc = fbcon_cfb8_revc, - .cursor = aafbcon_cursor, - .set_font = aafbcon_set_font, - .clear_margins = fbcon_cfb8_clear_margins, - .fontwidthmask = FONTWIDTH(4)|FONTWIDTH(8)|FONTWIDTH(12)|FONTWIDTH(16) -}; - -static void aafb_get_par(struct aafb_par *par) -{ - *par = current_par; -} - -static int aafb_get_fix(struct fb_fix_screeninfo *fix, int con, - struct fb_info *info) -{ - struct aafb_info *ip = (struct aafb_info *)info; - - memset(fix, 0, sizeof(struct fb_fix_screeninfo)); - strcpy(fix->id, "PMAG-AA"); - fix->smem_start = ip->fb_start; - fix->smem_len = ip->fb_size; - fix->type = FB_TYPE_PACKED_PIXELS; - fix->ypanstep = 1; - fix->ywrapstep = 1; - fix->visual = FB_VISUAL_MONO10; - fix->line_length = 1280; - fix->accel = FB_ACCEL_NONE; - - return 0; -} - -static void aafb_set_disp(struct display *disp, int con, - struct aafb_info *info) -{ - struct fb_fix_screeninfo fix; - - disp->fb_info = &info->info; - aafb_set_var(&disp->var, con, &info->info); - if (disp->conp && disp->conp->vc_sw && disp->conp->vc_sw->con_cursor) - disp->conp->vc_sw->con_cursor(disp->conp, CM_ERASE); - disp->dispsw = &aafb_switch8; - disp->dispsw_data = 0; - - aafb_get_fix(&fix, con, &info->info); - disp->screen_base = (u8 *) fix.smem_start; - disp->visual = fix.visual; - disp->type = fix.type; - disp->type_aux = fix.type_aux; - disp->ypanstep = fix.ypanstep; - disp->ywrapstep = fix.ywrapstep; - disp->line_length = fix.line_length; - disp->next_line = 2048; - disp->can_soft_blank = 1; - disp->inverse = 0; - disp->scrollmode = SCROLL_YREDRAW; - - aafbcon_set_font(disp, fontwidth(disp), fontheight(disp)); -} - -static int aafb_get_cmap(struct fb_cmap *cmap, int kspc, int con, - struct fb_info *info) -{ - static u16 color[2] = {0x0000, 0x000f}; - static struct fb_cmap aafb_cmap = {0, 2, color, color, color, NULL}; - - fb_copy_cmap(&aafb_cmap, cmap, kspc ? 0 : 2); - return 0; -} - -static int aafb_set_cmap(struct fb_cmap *cmap, int kspc, int con, - struct fb_info *info) -{ - u16 color[2] = {0x0000, 0x000f}; - - if (cmap->start = 0 - && cmap->len = 2 - && memcmp(cmap->red, color, sizeof(color)) = 0 - && memcmp(cmap->green, color, sizeof(color)) = 0 - && memcmp(cmap->blue, color, sizeof(color)) = 0 - && cmap->transp = NULL) - return 0; - else - return -EINVAL; -} - -static int aafb_ioctl(struct fb_info *info, u32 cmd, unsigned long arg) -{ - /* TODO: Not yet implemented */ - return -ENOIOCTLCMD; -} - -static int aafb_switch(int con, struct fb_info *info) -{ - struct aafb_info *ip = (struct aafb_info *)info; - struct display *old = (currcon < 0) ? &ip->disp : (fb_display + currcon); - struct display *new = (con < 0) ? &ip->disp : (fb_display + con); - - if (old->conp && old->conp->vc_sw && old->conp->vc_sw->con_cursor) - old->conp->vc_sw->con_cursor(old->conp, CM_ERASE); - - /* Set the current console. */ - currcon = con; - aafb_set_disp(new, con, ip); - - return 0; -} - -static void aafb_encode_var(struct fb_var_screeninfo *var, - struct aafb_par *par) -{ - var->xres = 1280; - var->yres = 1024; - var->xres_virtual = 2048; - var->yres_virtual = 1024; - var->xoffset = 0; - var->yoffset = 0; - var->bits_per_pixel = 8; - var->grayscale = 1; - var->red.offset = 0; - var->red.length = 0; - var->red.msb_right = 0; - var->green.offset = 0; - var->green.length = 1; - var->green.msb_right = 0; - var->blue.offset = 0; - var->blue.length = 0; - var->blue.msb_right = 0; - var->transp.offset = 0; - var->transp.length = 0; - var->transp.msb_right = 0; - var->nonstd = 0; - var->activate &= ~FB_ACTIVATE_MASK & FB_ACTIVATE_NOW; - var->accel_flags = 0; - var->sync = FB_SYNC_ON_GREEN; - var->vmode &= ~FB_VMODE_MASK & FB_VMODE_NONINTERLACED; -} - -static int aafb_get_var(struct fb_var_screeninfo *var, int con, - struct fb_info *info) -{ - if (con < 0) { - struct aafb_par par; - - memset(var, 0, sizeof(struct fb_var_screeninfo)); - aafb_get_par(&par); - aafb_encode_var(var, &par); - } else - *var = info->var; - - return 0; -} - -static int aafb_set_var(struct fb_var_screeninfo *var, int con, - struct fb_info *info) -{ - struct aafb_par par; - - aafb_get_par(&par); - aafb_encode_var(var, &par); - info->var = *var; - - return 0; -} - -static int aafb_update_var(int con, struct fb_info *info) -{ - struct aafb_info *ip = (struct aafb_info *)info; - struct display *disp = (con < 0) ? &ip->disp : (fb_display + con); - - if (con = currcon) - aafbcon_cursor(disp, CM_ERASE, ip->cursor.x, ip->cursor.y); - - return 0; -} - -/* 0 unblanks, any other blanks. */ - -static void aafb_blank(int blank, struct fb_info *info) -{ - struct aafb_info *ip = (struct aafb_info *)info; - u8 val = blank ? 0x00 : 0x0f; - - bt455_write_cmap_entry(ip->bt455, 1, val, val, val); - aafbcon_cursor(&ip->disp, CM_ERASE, ip->cursor.x, ip->cursor.y); -} - -static struct fb_ops aafb_ops = { - .owner = THIS_MODULE, - .fb_get_fix = aafb_get_fix, - .fb_get_var = aafb_get_var, - .fb_set_var = aafb_set_var, - .fb_get_cmap = aafb_get_cmap, - .fb_set_cmap = aafb_set_cmap, - .fb_ioctl = aafb_ioctl -}; - -static int __init init_one(int slot) -{ - unsigned long base_addr = CKSEG1ADDR(get_tc_base_addr(slot)); - struct aafb_info *ip = &my_fb_info[slot]; - - memset(ip, 0, sizeof(struct aafb_info)); - - /* - * Framebuffer display memory base address and friends. - */ - ip->bt455 = (struct bt455_regs *) (base_addr + PMAG_AA_BT455_OFFSET); - ip->bt431 = (struct bt431_regs *) (base_addr + PMAG_AA_BT431_OFFSET); - ip->fb_start = base_addr + PMAG_AA_ONBOARD_FBMEM_OFFSET; - ip->fb_size = 2048 * 1024; /* fb_fix_screeninfo.smem_length - seems to be physical */ - ip->fb_line_length = 2048; - - /* - * Let there be consoles.. - */ - strcpy(ip->info.modename, "PMAG-AA"); - ip->info.node = -1; - ip->info.flags = FBINFO_FLAG_DEFAULT; - ip->info.fbops = &aafb_ops; - ip->info.disp = &ip->disp; - ip->info.changevar = NULL; - ip->info.switch_con = &aafb_switch; - ip->info.updatevar = &aafb_update_var; - ip->info.blank = &aafb_blank; - - aafb_set_disp(&ip->disp, currcon, ip); - - /* - * Configure the RAM DACs. - */ - bt455_erase_cursor(ip->bt455); - - /* Init colormap. */ - bt455_write_cmap_entry(ip->bt455, 0, 0x00, 0x00, 0x00); - bt455_write_cmap_entry(ip->bt455, 1, 0x0f, 0x0f, 0x0f); - - /* Init hardware cursor. */ - bt431_init_cursor(ip->bt431); - aafb_cursor_init(ip); - - /* Clear the screen. */ - memset ((void *)ip->fb_start, 0, ip->fb_size); - - if (register_framebuffer(&ip->info) < 0) - return -EINVAL; - - printk(KERN_INFO "fb%d: %s frame buffer in TC slot %d\n", - GET_FB_IDX(ip->info.node), ip->info.modename, slot); - - return 0; -} - -static int __exit exit_one(int slot) -{ - struct aafb_info *ip = &my_fb_info[slot]; - - if (unregister_framebuffer(&ip->info) < 0) - return -EINVAL; - - return 0; -} - -/* - * Initialise the framebuffer. - */ -int __init pmagaafb_init(void) -{ - int sid; - int found = 0; - - while ((sid = search_tc_card("PMAG-AA")) >= 0) { - found = 1; - claim_tc_card(sid); - init_one(sid); - } - - return found ? 0 : -ENXIO; -} - -static void __exit pmagaafb_exit(void) -{ - int sid; - - while ((sid = search_tc_card("PMAG-AA")) >= 0) { - exit_one(sid); - release_tc_card(sid); - } -} - -MODULE_AUTHOR(DRIVER_AUTHOR); -MODULE_DESCRIPTION(DRIVER_DESCRIPTION); -MODULE_LICENSE("GPL"); -#ifdef MODULE -module_init(pmagaafb_init); -module_exit(pmagaafb_exit); -#endif -- 1.8.1.2.459.gbcd45b4.dirty ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-20 1:53 ` [PATCH 2/2] framebuffer: Remove pmag-aa-fb Joe Perches @ 2013-09-20 7:33 ` Geert Uytterhoeven 2013-09-20 18:18 ` Maciej W. Rozycki 0 siblings, 1 reply; 14+ messages in thread From: Geert Uytterhoeven @ 2013-09-20 7:33 UTC (permalink / raw) To: Joe Perches, Maciej W. Rozycki Cc: Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List Adding Maciej and linux-mips On Fri, Sep 20, 2013 at 3:53 AM, Joe Perches <joe@perches.com> wrote: > This driver apparently hasn't compiled since 2.5 days as > it uses a #define that isn't around anymore. > > Remove it. > > Signed-off-by: Joe Perches <joe@perches.com> > --- > drivers/video/Kconfig | 10 - > drivers/video/Makefile | 1 - > drivers/video/pmag-aa-fb.c | 510 --------------------------------------------- > 3 files changed, 521 deletions(-) > delete mode 100644 drivers/video/pmag-aa-fb.c > > diff --git a/drivers/video/Kconfig b/drivers/video/Kconfig > index 14317b7..e92798e 100644 > --- a/drivers/video/Kconfig > +++ b/drivers/video/Kconfig > @@ -1821,16 +1821,6 @@ config FB_HIT > This is the frame buffer device driver for the Hitachi HD64461 LCD > frame buffer card. > > -config FB_PMAG_AA > - bool "PMAG-AA TURBOchannel framebuffer support" > - depends on (FB = y) && TC > - select FB_CFB_FILLRECT > - select FB_CFB_COPYAREA > - select FB_CFB_IMAGEBLIT > - help > - Support for the PMAG-AA TURBOchannel framebuffer card (1280x1024x1) > - used mainly in the MIPS-based DECstation series. > - > config FB_PMAG_BA > tristate "PMAG-BA TURBOchannel framebuffer support" > depends on FB && TC > diff --git a/drivers/video/Makefile b/drivers/video/Makefile > index e8bae8d..5c8b340 100644 > --- a/drivers/video/Makefile > +++ b/drivers/video/Makefile > @@ -114,7 +114,6 @@ obj-$(CONFIG_FB_AU1100) += au1100fb.o > obj-$(CONFIG_FB_AU1200) += au1200fb.o > obj-$(CONFIG_FB_VT8500) += vt8500lcdfb.o > obj-$(CONFIG_FB_WM8505) += wm8505fb.o > -obj-$(CONFIG_FB_PMAG_AA) += pmag-aa-fb.o > obj-$(CONFIG_FB_PMAG_BA) += pmag-ba-fb.o > obj-$(CONFIG_FB_PMAGB_B) += pmagb-b-fb.o > obj-$(CONFIG_FB_MAXINE) += maxinefb.o > diff --git a/drivers/video/pmag-aa-fb.c b/drivers/video/pmag-aa-fb.c > deleted file mode 100644 Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-20 7:33 ` Geert Uytterhoeven @ 2013-09-20 18:18 ` Maciej W. Rozycki 2013-09-20 18:43 ` Joe Perches 0 siblings, 1 reply; 14+ messages in thread From: Maciej W. Rozycki @ 2013-09-20 18:18 UTC (permalink / raw) To: Joe Perches, Geert Uytterhoeven Cc: Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List Joe, Geert -- Can we please wait with that a few days? I've been reviving DECstation bits recently but the generic stuff took priority (thankfully little bitrot there, the port generally works, except from the 64-bit mode). I think it'll make more sense if we have an incremental diff in the repo rather than a complete removal, followed with a readdition with necessary adjustments. > Adding Maciej and linux-mips Thanks for (re-)pinging, I've been trying to push things forwards as time permits. Maciej ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-20 18:18 ` Maciej W. Rozycki @ 2013-09-20 18:43 ` Joe Perches 2013-09-22 20:09 ` Maciej W. Rozycki 0 siblings, 1 reply; 14+ messages in thread From: Joe Perches @ 2013-09-20 18:43 UTC (permalink / raw) To: Maciej W. Rozycki Cc: Geert Uytterhoeven, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List On Fri, 2013-09-20 at 19:18 +0100, Maciej W. Rozycki wrote: > Joe, Geert -- Hi Maciej > Can we please wait with that a few days? I've been reviving DECstation > bits recently but the generic stuff took priority (thankfully little > bitrot there, the port generally works, except from the 64-bit mode). I > think it'll make more sense if we have an incremental diff in the repo > rather than a complete removal, followed with a readdition with necessary > adjustments. Good for you. I do wonder how many of these still exist though. I haven't had one of those on a desk since the early '90's (a VAXstation w/VMS and a DECstation w/Ultrix) This one's been dead for about that long too so what's a little more time... The commit that removed it was: ------------------- commit c708093f8164011d01eb3bbdf7d61965f283ee0e Author: James Simmons <jsimmons@maxwell.earthlink.net> Date: Wed Oct 30 20:06:21 2002 -0800 Moved all console configuration out of arch directories into drivers/video/console. Allow resize of a single VC via the tty layer. Nuked GET_FB_IDX. ------------------- I think you could do: --- drivers/video/pmag-aa-fb.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/video/pmag-aa-fb.c b/drivers/video/pmag-aa-fb.c index 8384248..0362fb7 100644 --- a/drivers/video/pmag-aa-fb.c +++ b/drivers/video/pmag-aa-fb.c @@ -459,7 +459,7 @@ static int __init init_one(int slot) return -EINVAL; printk(KERN_INFO "fb%d: %s frame buffer in TC slot %d\n", - GET_FB_IDX(ip->info.node), ip->info.modename, slot); + ip->info.node, ip->info.modename, slot); return 0; } ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-20 18:43 ` Joe Perches @ 2013-09-22 20:09 ` Maciej W. Rozycki 2013-09-22 20:21 ` Geert Uytterhoeven 2013-10-12 13:08 ` Maciej W. Rozycki 0 siblings, 2 replies; 14+ messages in thread From: Maciej W. Rozycki @ 2013-09-22 20:09 UTC (permalink / raw) To: Joe Perches Cc: Geert Uytterhoeven, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List On Fri, 20 Sep 2013, Joe Perches wrote: > I do wonder how many of these still exist though. > > I haven't had one of those on a desk since the early > '90's (a VAXstation w/VMS and a DECstation w/Ultrix) DECstations seem virtually indestructible, so it's mostly the matter of how long people want to keep them. The only serious issue is by now they have started to suffer from dead lithium batteries that have been moulded in their DS1287A RTC chips. With Maxim taking Dallas over and then breaking their promise to produce replacements indefinitely this has become a real problem now (I did not dare trying any of the imitatations the Chinese seem to offer these days). A hack exists to rework old DS1287A (and similar) chips with a saw, a soldering iron and some skill for an external battery, but it requires some extra space around the chip and there is little in the DECstation because the DS1287A has been placed in the TURBOchannel option card area with little clearance left between the IC and any option card installed. As to the PMAG-AA board itself -- well, this is indeed a very rare item, but I happen to have a specimen. To support it properly I'll first have to wire it to a monitor somehow though; signalling is standard, 1.0 Vpp composite monochrome, but what looks to me like a type F connector is used for video output, quite unusually for a graphics card (and for DEC itself too as 3W3 was their usual video socket). It looks to me like converting it to BNC and then a standard DE-15 VGA connector (via the green line) will be the easiest way to get image produced by the adapter on a contemporary monitor (sync-on-green required of course, but with LCD devices being the norm now that seems less of a problem these days). > The commit that removed it was: > ------------------- > commit c708093f8164011d01eb3bbdf7d61965f283ee0e > Author: James Simmons <jsimmons@maxwell.earthlink.net> > Date: Wed Oct 30 20:06:21 2002 -0800 > > Moved all console configuration out of arch directories into > drivers/video/console. Allow resize of a single VC via the tty layer. > Nuked GET_FB_IDX. > ------------------- > > I think you could do: > > --- > > drivers/video/pmag-aa-fb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/video/pmag-aa-fb.c b/drivers/video/pmag-aa-fb.c > index 8384248..0362fb7 100644 > --- a/drivers/video/pmag-aa-fb.c > +++ b/drivers/video/pmag-aa-fb.c > @@ -459,7 +459,7 @@ static int __init init_one(int slot) > return -EINVAL; > > printk(KERN_INFO "fb%d: %s frame buffer in TC slot %d\n", > - GET_FB_IDX(ip->info.node), ip->info.modename, slot); > + ip->info.node, ip->info.modename, slot); > > return 0; > } Thanks, but the changes required are actually much more than that -- the driver has never been converted to the modern TURBOchannel API. I have now dug out an old patch I was working on back in 2006 to convert this driver as well as drivers/video/maxinefb.c. I'll try to complete the two drivers as soon as possible (unfortunately I can't test the latter at all; it's for an onboard graphics adapter of another DECstation model), although I now remember the main reason I didn't complete them back then was they used an old internal API that was removed and no suitable replacement provided. I need to investigate again what that actually was though (hw cursor probably). Maciej ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-22 20:09 ` Maciej W. Rozycki @ 2013-09-22 20:21 ` Geert Uytterhoeven 2013-09-22 21:54 ` Maciej W. Rozycki 2013-10-12 13:08 ` Maciej W. Rozycki 1 sibling, 1 reply; 14+ messages in thread From: Geert Uytterhoeven @ 2013-09-22 20:21 UTC (permalink / raw) To: Maciej W. Rozycki Cc: Joe Perches, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List On Sun, Sep 22, 2013 at 10:09 PM, Maciej W. Rozycki <macro@linux-mips.org> wrote: > Thanks, but the changes required are actually much more than that -- the > driver has never been converted to the modern TURBOchannel API. I have > now dug out an old patch I was working on back in 2006 to convert this > driver as well as drivers/video/maxinefb.c. I'll try to complete the two > drivers as soon as possible (unfortunately I can't test the latter at all; > it's for an onboard graphics adapter of another DECstation model), > although I now remember the main reason I didn't complete them back then > was they used an old internal API that was removed and no suitable > replacement provided. I need to investigate again what that actually was > though (hw cursor probably). pmag-aa-fb.c still has struct display_switch (for the old drawing API) and the old fb_ops (with get_var()/get_fix()), instead of the new fb_ops (rectangular drawing API and var/fix as member data). Gr{oetje,eeting}s, Geert -- Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@linux-m68k.org In personal conversations with technical people, I call myself a hacker. But when I'm talking to journalists I just say "programmer" or something like that. -- Linus Torvalds ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-22 20:21 ` Geert Uytterhoeven @ 2013-09-22 21:54 ` Maciej W. Rozycki 0 siblings, 0 replies; 14+ messages in thread From: Maciej W. Rozycki @ 2013-09-22 21:54 UTC (permalink / raw) To: Geert Uytterhoeven Cc: Joe Perches, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List On Sun, 22 Sep 2013, Geert Uytterhoeven wrote: > > Thanks, but the changes required are actually much more than that -- the > > driver has never been converted to the modern TURBOchannel API. I have > > now dug out an old patch I was working on back in 2006 to convert this > > driver as well as drivers/video/maxinefb.c. I'll try to complete the two > > drivers as soon as possible (unfortunately I can't test the latter at all; > > it's for an onboard graphics adapter of another DECstation model), > > although I now remember the main reason I didn't complete them back then > > was they used an old internal API that was removed and no suitable > > replacement provided. I need to investigate again what that actually was > > though (hw cursor probably). > > pmag-aa-fb.c still has struct display_switch (for the old drawing API) and the > old fb_ops (with get_var()/get_fix()), instead of the new fb_ops (rectangular > drawing API and var/fix as member data). That I got covered already in the old patch, but there was something else. Otherwise I would have pushed it along updates for pmag-ba-fb.c and pmagb-b-fb.c long ago. Maciej ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-09-22 20:09 ` Maciej W. Rozycki 2013-09-22 20:21 ` Geert Uytterhoeven @ 2013-10-12 13:08 ` Maciej W. Rozycki 2013-10-12 16:08 ` Joe Perches 1 sibling, 1 reply; 14+ messages in thread From: Maciej W. Rozycki @ 2013-10-12 13:08 UTC (permalink / raw) To: Joe Perches Cc: Geert Uytterhoeven, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List Joe, Just a quick update. On Sun, 22 Sep 2013, Maciej W. Rozycki wrote: > As to the PMAG-AA board itself -- well, this is indeed a very rare item, > but I happen to have a specimen. To support it properly I'll first have > to wire it to a monitor somehow though; signalling is standard, 1.0 Vpp > composite monochrome, but what looks to me like a type F connector is used > for video output, quite unusually for a graphics card (and for DEC itself > too as 3W3 was their usual video socket). It looks to me like converting > it to BNC and then a standard DE-15 VGA connector (via the green line) > will be the easiest way to get image produced by the adapter on a > contemporary monitor (sync-on-green required of course, but with LCD > devices being the norm now that seems less of a problem these days). So more weirdly even that's actually a TNC connector rather than a type F one. I've got a suitable TNC->BNC adapter now (although regrettably such adapters seem to be available as 50Ù parts only; hopefully any distortion won't be too significant or maybe my digital monitor will even be able to compensate it, but at £1.76 (~$2.64) per item it's certainly worth trying before resorting to the original DEC TNC->BNC cable still apparently available from second-hand part suppliers at ~£80/$120 per a mere 1ft part) and a BNC->DE-15 cable is on the way. > > --- a/drivers/video/pmag-aa-fb.c > > +++ b/drivers/video/pmag-aa-fb.c > > @@ -459,7 +459,7 @@ static int __init init_one(int slot) > > return -EINVAL; > > > > printk(KERN_INFO "fb%d: %s frame buffer in TC slot %d\n", > > - GET_FB_IDX(ip->info.node), ip->info.modename, slot); > > + ip->info.node, ip->info.modename, slot); > > > > return 0; > > } > > Thanks, but the changes required are actually much more than that -- the > driver has never been converted to the modern TURBOchannel API. I have > now dug out an old patch I was working on back in 2006 to convert this > driver as well as drivers/video/maxinefb.c. I'll try to complete the two > drivers as soon as possible (unfortunately I can't test the latter at all; > it's for an onboard graphics adapter of another DECstation model), > although I now remember the main reason I didn't complete them back then > was they used an old internal API that was removed and no suitable > replacement provided. I need to investigate again what that actually was > though (hw cursor probably). So I think I've got all the basic stuff covered now, including a change similar to your proposal as well as a conversion to the driver model/new TURBOchannel support infrastructure. But what I remembered is actually right, the issue is wiring hardware cursor support into fbcon. The driver uses its own display_switch structure with its own aafbcon_cursor handler to use the twin onboard Bt431 chips for cursor generation (there's also aafbcon_set_font that pokes at the Bt431s for cursor dimension changes). I need to figure out what the best way will be to make the fbcon subsystem support such an arrangement and that'll take me a little bit yet, so please be patient. Note that the board is weird enough to have a 1-bit (true monochrome) graphics plane, however the Bt455 used by the MX graphics adapter for screen image generation is a 4-bit grey-scale video RAMDAC (only the LSB inputs of its pixel port are wired to the graphics plane) and the twin Bt431s use the overlay plane to produce a 2-bit grey-scale cursor. So we do want to use the hardware cursor to be able to make it prominent among the characters displayed throughout the screen and a software-generated cursor cannot really substitute what hardware provides. Maciej ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Remove pmag-aa-fb 2013-10-12 13:08 ` Maciej W. Rozycki @ 2013-10-12 16:08 ` Joe Perches 0 siblings, 0 replies; 14+ messages in thread From: Joe Perches @ 2013-10-12 16:08 UTC (permalink / raw) To: Maciej W. Rozycki Cc: Geert Uytterhoeven, Jean-Christophe Plagniol-Villard, Tomi Valkeinen, Linux Fbdev development list, linux-kernel@vger.kernel.org, Linux MIPS Mailing List On Sat, 2013-10-12 at 14:08 +0100, Maciej W. Rozycki wrote: [] > So I think I've got all the basic stuff covered now, including a change > similar to your proposal as well as a conversion to the driver model/new > TURBOchannel support infrastructure. But what I remembered is actually > right, the issue is wiring hardware cursor support into fbcon. The driver > uses its own display_switch structure with its own aafbcon_cursor handler > to use the twin onboard Bt431 chips for cursor generation (there's also > aafbcon_set_font that pokes at the Bt431s for cursor dimension changes). > I need to figure out what the best way will be to make the fbcon subsystem > support such an arrangement and that'll take me a little bit yet, so > please be patient. > > Note that the board is weird enough to have a 1-bit (true monochrome) > graphics plane, however the Bt455 used by the MX graphics adapter for > screen image generation is a 4-bit grey-scale video RAMDAC (only the LSB > inputs of its pixel port are wired to the graphics plane) and the twin > Bt431s use the overlay plane to produce a 2-bit grey-scale cursor. So we > do want to use the hardware cursor to be able to make it prominent among > the characters displayed throughout the screen and a software-generated > cursor cannot really substitute what hardware provides. I hope you're enjoying tinkering with old toys. Best of luck getting it going. ^ permalink raw reply [flat|nested] 14+ messages in thread
* [PATCH 2/2] framebuffer: Fix int cast to pointer warnings 2013-09-20 1:53 [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Joe Perches 2013-09-20 1:53 ` [PATCH 2/2] framebuffer: Remove pmag-aa-fb Joe Perches @ 2013-09-20 3:10 ` Joe Perches 2013-11-26 14:51 ` Tomi Valkeinen 2013-09-26 9:47 ` [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Tomi Valkeinen 2 siblings, 1 reply; 14+ messages in thread From: Joe Perches @ 2013-09-20 3:10 UTC (permalink / raw) To: Jean-Christophe Plagniol-Villard, Tomi Valkeinen Cc: linux-fbdev, linux-kernel Casts of int to pointer need additional casts to (unsigned long) when compiled for x86-64 to silence the compiler. Signed-off-by: Joe Perches <joe@perches.com> --- drivers/video/arkfb.c | 2 +- drivers/video/vt8623fb.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c index b13f3f2..26fd4e4 100644 --- a/drivers/video/arkfb.c +++ b/drivers/video/arkfb.c @@ -1016,7 +1016,7 @@ static int ark_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) pcibios_bus_to_resource(dev, &vga_res, &bus_reg); - par->state.vgabase = (void __iomem *) vga_res.start; + par->state.vgabase = (void __iomem *)(unsigned long)vga_res.start; /* FIXME get memsize */ regval = vga_rseq(par->state.vgabase, 0x10); diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c index 7e97c53..281d41b 100644 --- a/drivers/video/vt8623fb.c +++ b/drivers/video/vt8623fb.c @@ -731,7 +731,7 @@ static int vt8623_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) pcibios_bus_to_resource(dev, &vga_res, &bus_reg); - par->state.vgabase = (void __iomem *) vga_res.start; + par->state.vgabase = (void __iomem *)(unsigned long)vga_res.start; /* Find how many physical memory there is on card */ memsize1 = (vga_rseq(par->state.vgabase, 0x34) + 1) >> 1; ^ permalink raw reply related [flat|nested] 14+ messages in thread
* Re: [PATCH 2/2] framebuffer: Fix int cast to pointer warnings 2013-09-20 3:10 ` [PATCH 2/2] framebuffer: Fix int cast to pointer warnings Joe Perches @ 2013-11-26 14:51 ` Tomi Valkeinen 0 siblings, 0 replies; 14+ messages in thread From: Tomi Valkeinen @ 2013-11-26 14:51 UTC (permalink / raw) To: Joe Perches; +Cc: Jean-Christophe Plagniol-Villard, linux-fbdev, linux-kernel [-- Attachment #1: Type: text/plain, Size: 1584 bytes --] On 2013-09-20 06:10, Joe Perches wrote: > Casts of int to pointer need additional casts to (unsigned long) > when compiled for x86-64 to silence the compiler. > > Signed-off-by: Joe Perches <joe@perches.com> > --- > drivers/video/arkfb.c | 2 +- > drivers/video/vt8623fb.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c > index b13f3f2..26fd4e4 100644 > --- a/drivers/video/arkfb.c > +++ b/drivers/video/arkfb.c > @@ -1016,7 +1016,7 @@ static int ark_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) > > pcibios_bus_to_resource(dev, &vga_res, &bus_reg); > > - par->state.vgabase = (void __iomem *) vga_res.start; > + par->state.vgabase = (void __iomem *)(unsigned long)vga_res.start; > > /* FIXME get memsize */ > regval = vga_rseq(par->state.vgabase, 0x10); > diff --git a/drivers/video/vt8623fb.c b/drivers/video/vt8623fb.c > index 7e97c53..281d41b 100644 > --- a/drivers/video/vt8623fb.c > +++ b/drivers/video/vt8623fb.c > @@ -731,7 +731,7 @@ static int vt8623_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) > > pcibios_bus_to_resource(dev, &vga_res, &bus_reg); > > - par->state.vgabase = (void __iomem *) vga_res.start; > + par->state.vgabase = (void __iomem *)(unsigned long)vga_res.start; > > /* Find how many physical memory there is on card */ > memsize1 = (vga_rseq(par->state.vgabase, 0x34) + 1) >> 1; What's the warning? I'm not seeing anything on my machine when compiling these two. Tomi [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 901 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo 2013-09-20 1:53 [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Joe Perches 2013-09-20 1:53 ` [PATCH 2/2] framebuffer: Remove pmag-aa-fb Joe Perches 2013-09-20 3:10 ` [PATCH 2/2] framebuffer: Fix int cast to pointer warnings Joe Perches @ 2013-09-26 9:47 ` Tomi Valkeinen 2013-09-26 10:10 ` Joe Perches 2 siblings, 1 reply; 14+ messages in thread From: Tomi Valkeinen @ 2013-09-26 9:47 UTC (permalink / raw) To: Joe Perches; +Cc: Jean-Christophe Plagniol-Villard, linux-fbdev, linux-kernel [-- Attachment #1: Type: text/plain, Size: 803 bytes --] On 20/09/13 04:53, Joe Perches wrote: > s/framebugger/framebuffer/ > > Signed-off-by: Joe Perches <joe@perches.com> > --- > drivers/video/arkfb.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/video/arkfb.c b/drivers/video/arkfb.c > index ee0f1a1..b13f3f2 100644 > --- a/drivers/video/arkfb.c > +++ b/drivers/video/arkfb.c > @@ -1048,7 +1048,7 @@ static int ark_pci_probe(struct pci_dev *dev, const struct pci_device_id *id) > > rc = register_framebuffer(info); > if (rc < 0) { > - dev_err(info->device, "cannot register framebugger\n"); > + dev_err(info->device, "cannot register framebuffer\n"); > goto err_reg_fb; > } > > Thanks, queued for 3.13. Although I have to say I kinda like the sound of framebugger. Tom [-- Attachment #2: OpenPGP digital signature --] [-- Type: application/pgp-signature, Size: 901 bytes --] ^ permalink raw reply [flat|nested] 14+ messages in thread
* Re: [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo 2013-09-26 9:47 ` [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Tomi Valkeinen @ 2013-09-26 10:10 ` Joe Perches 0 siblings, 0 replies; 14+ messages in thread From: Joe Perches @ 2013-09-26 10:10 UTC (permalink / raw) To: Tomi Valkeinen Cc: Jean-Christophe Plagniol-Villard, linux-fbdev, linux-kernel On Thu, 2013-09-26 at 12:47 +0300, Tomi Valkeinen wrote: > On 20/09/13 04:53, Joe Perches wrote: > > s/framebugger/framebuffer/ [] > Thanks, queued for 3.13. Although I have to say I kinda like the sound > of framebugger. I wondered if I should even change it because it _is_ kind of funny. Maybe you should just leave it in. ^ permalink raw reply [flat|nested] 14+ messages in thread
end of thread, other threads:[~2013-11-26 14:51 UTC | newest] Thread overview: 14+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2013-09-20 1:53 [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Joe Perches 2013-09-20 1:53 ` [PATCH 2/2] framebuffer: Remove pmag-aa-fb Joe Perches 2013-09-20 7:33 ` Geert Uytterhoeven 2013-09-20 18:18 ` Maciej W. Rozycki 2013-09-20 18:43 ` Joe Perches 2013-09-22 20:09 ` Maciej W. Rozycki 2013-09-22 20:21 ` Geert Uytterhoeven 2013-09-22 21:54 ` Maciej W. Rozycki 2013-10-12 13:08 ` Maciej W. Rozycki 2013-10-12 16:08 ` Joe Perches 2013-09-20 3:10 ` [PATCH 2/2] framebuffer: Fix int cast to pointer warnings Joe Perches 2013-11-26 14:51 ` Tomi Valkeinen 2013-09-26 9:47 ` [PATCH 1/2] framebuffer: arkfb: Fix framebugger typo Tomi Valkeinen 2013-09-26 10:10 ` Joe Perches
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).