mirror of
https://github.com/BobTheBlinker/android_kernel_motorola_sm6375.git
synced 2026-10-28 02:32:09 -04:00
Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into sh/for-2.6.31
This commit is contained in:
commit
2b5c0c72ea
304 changed files with 6997 additions and 4046 deletions
|
|
@ -616,6 +616,8 @@ config FB_STI
|
|||
select FB_CFB_FILLRECT
|
||||
select FB_CFB_COPYAREA
|
||||
select FB_CFB_IMAGEBLIT
|
||||
select STI_CONSOLE
|
||||
select VT
|
||||
default y
|
||||
---help---
|
||||
STI refers to the HP "Standard Text Interface" which is a set of
|
||||
|
|
|
|||
|
|
@ -1,7 +1,7 @@
|
|||
/*
|
||||
* Cobalt server LCD frame buffer driver.
|
||||
*
|
||||
* Copyright (C) 2008 Yoichi Yuasa <yoichi_yuasa@tripeaks.co.jp>
|
||||
* Copyright (C) 2008 Yoichi Yuasa <yuasa@linux-mips.org>
|
||||
*
|
||||
* This program is free software; you can redistribute it and/or modify
|
||||
* it under the terms of the GNU General Public License as published by
|
||||
|
|
|
|||
|
|
@ -1513,8 +1513,6 @@ register_framebuffer(struct fb_info *fb_info)
|
|||
if (!registered_fb[i])
|
||||
break;
|
||||
fb_info->node = i;
|
||||
mutex_init(&fb_info->lock);
|
||||
mutex_init(&fb_info->mm_lock);
|
||||
|
||||
fb_info->dev = device_create(fb_class, fb_info->device,
|
||||
MKDEV(FB_MAJOR, i), NULL, "fb%d", i);
|
||||
|
|
|
|||
|
|
@ -62,6 +62,9 @@ struct fb_info *framebuffer_alloc(size_t size, struct device *dev)
|
|||
mutex_init(&info->bl_curve_mutex);
|
||||
#endif
|
||||
|
||||
mutex_init(&info->lock);
|
||||
mutex_init(&info->mm_lock);
|
||||
|
||||
return info;
|
||||
#undef PADDING
|
||||
#undef BYTES_PER_LONG
|
||||
|
|
|
|||
|
|
@ -2083,6 +2083,7 @@ static int matroxfb_probe(struct pci_dev* pdev, const struct pci_device_id* dumm
|
|||
spin_lock_init(&ACCESS_FBINFO(lock.accel));
|
||||
init_rwsem(&ACCESS_FBINFO(crtc2.lock));
|
||||
init_rwsem(&ACCESS_FBINFO(altout.lock));
|
||||
mutex_init(&ACCESS_FBINFO(fbcon).lock);
|
||||
mutex_init(&ACCESS_FBINFO(fbcon).mm_lock);
|
||||
ACCESS_FBINFO(irq_flags) = 0;
|
||||
init_waitqueue_head(&ACCESS_FBINFO(crtc1.vsync.wait));
|
||||
|
|
|
|||
|
|
@ -211,23 +211,21 @@ static int s3c_fb_check_var(struct fb_var_screeninfo *var,
|
|||
|
||||
/**
|
||||
* s3c_fb_calc_pixclk() - calculate the divider to create the pixel clock.
|
||||
* @id: window id.
|
||||
* @sfb: The hardware state.
|
||||
* @pixclock: The pixel clock wanted, in picoseconds.
|
||||
*
|
||||
* Given the specified pixel clock, work out the necessary divider to get
|
||||
* close to the output frequency.
|
||||
*/
|
||||
static int s3c_fb_calc_pixclk(struct s3c_fb *sfb, unsigned int pixclk)
|
||||
static int s3c_fb_calc_pixclk(unsigned char id, struct s3c_fb *sfb, unsigned int pixclk)
|
||||
{
|
||||
struct s3c_fb_pd_win *win = sfb->pdata->win[id];
|
||||
unsigned long clk = clk_get_rate(sfb->bus_clk);
|
||||
unsigned long long tmp;
|
||||
unsigned int result;
|
||||
|
||||
tmp = (unsigned long long)clk;
|
||||
tmp *= pixclk;
|
||||
|
||||
do_div(tmp, 1000000000UL);
|
||||
result = (unsigned int)tmp / 1000;
|
||||
pixclk *= win->win_mode.refresh;
|
||||
result = clk / pixclk;
|
||||
|
||||
dev_dbg(sfb->dev, "pixclk=%u, clk=%lu, div=%d (%lu)\n",
|
||||
pixclk, clk, result, clk / result);
|
||||
|
|
@ -267,6 +265,7 @@ static int s3c_fb_set_par(struct fb_info *info)
|
|||
struct s3c_fb *sfb = win->parent;
|
||||
void __iomem *regs = sfb->regs;
|
||||
int win_no = win->index;
|
||||
u32 osdc_data = 0;
|
||||
u32 data;
|
||||
u32 pagewidth;
|
||||
int clkdiv;
|
||||
|
|
@ -302,7 +301,7 @@ static int s3c_fb_set_par(struct fb_info *info)
|
|||
/* use window 0 as the basis for the lcd output timings */
|
||||
|
||||
if (win_no == 0) {
|
||||
clkdiv = s3c_fb_calc_pixclk(sfb, var->pixclock);
|
||||
clkdiv = s3c_fb_calc_pixclk(win_no, sfb, var->pixclock);
|
||||
|
||||
data = sfb->pdata->vidcon0;
|
||||
data &= ~(VIDCON0_CLKVAL_F_MASK | VIDCON0_CLKDIR);
|
||||
|
|
@ -359,8 +358,6 @@ static int s3c_fb_set_par(struct fb_info *info)
|
|||
|
||||
data = var->xres * var->yres;
|
||||
|
||||
u32 osdc_data = 0;
|
||||
|
||||
osdc_data = VIDISD14C_ALPHA1_R(0xf) |
|
||||
VIDISD14C_ALPHA1_G(0xf) |
|
||||
VIDISD14C_ALPHA1_B(0xf);
|
||||
|
|
|
|||
|
|
@ -6367,7 +6367,6 @@ error_3: vfree(ivideo->bios_abase);
|
|||
sis_fb_info->fix = ivideo->sisfb_fix;
|
||||
sis_fb_info->screen_base = ivideo->video_vbase + ivideo->video_offset;
|
||||
sis_fb_info->fbops = &sisfb_ops;
|
||||
sisfb_get_fix(&sis_fb_info->fix, -1, sis_fb_info);
|
||||
sis_fb_info->pseudo_palette = ivideo->pseudo_palette;
|
||||
|
||||
fb_alloc_cmap(&sis_fb_info->cmap, 256 , 0);
|
||||
|
|
|
|||
Loading…
Reference in a new issue