Lines Matching defs:par
114 static void ks108_writeb_ctl(struct arcfb_par *par,
117 unsigned char chipselval = par->cslut[chipindex];
119 outb(chipselval|KS_CEHI|KS_SEL_CMD, par->cio_addr);
120 outb(value, par->dio_addr);
122 outb(chipselval|KS_CELO|KS_SEL_CMD, par->cio_addr);
125 static void ks108_writeb_mainctl(struct arcfb_par *par, unsigned char value)
128 outb(value, par->cio_addr);
132 static unsigned char ks108_readb_ctl2(struct arcfb_par *par)
134 return inb(par->c2io_addr);
137 static void ks108_writeb_data(struct arcfb_par *par,
140 unsigned char chipselval = par->cslut[chipindex];
142 outb(chipselval|KS_CEHI|KS_SEL_DATA, par->cio_addr);
143 outb(value, par->dio_addr);
145 outb(chipselval|KS_CELO|KS_SEL_DATA, par->cio_addr);
148 static void ks108_set_start_line(struct arcfb_par *par,
151 ks108_writeb_ctl(par, chipindex, KS_SET_DPY_START_LINE|y);
154 static void ks108_set_yaddr(struct arcfb_par *par,
157 ks108_writeb_ctl(par, chipindex, KS_SET_PAGE_NUM|y);
160 static void ks108_set_xaddr(struct arcfb_par *par,
163 ks108_writeb_ctl(par, chipindex, KS_SET_X|x);
166 static void ks108_clear_lcd(struct arcfb_par *par, unsigned int chipindex)
171 ks108_set_yaddr(par, chipindex, i);
172 ks108_set_xaddr(par, chipindex, 0);
174 ks108_writeb_data(par, chipindex,
184 struct arcfb_par *par = info->par;
186 atomic_inc(&par->ref_count);
192 struct arcfb_par *par = info->par;
193 int count = atomic_read(&par->ref_count);
197 atomic_dec(&par->ref_count);
205 struct arcfb_par *par = info->par;
210 ks108_set_start_line(par, i, var->yoffset);
223 struct arcfb_par *par = info->par;
225 ctl2status = ks108_readb_ctl2(par);
230 ks108_writeb_mainctl(par, KS_CLRINT);
232 spin_lock(&par->lock);
236 spin_unlock(&par->lock);
247 static void arcfb_lcd_update_page(struct arcfb_par *par, unsigned int upper,
260 ks108_set_yaddr(par, chipindex, upper/8);
262 linesize = par->info->var.xres/8;
263 src = (unsigned char __force *) par->info->screen_base + (left/8) +
265 ks108_set_xaddr(par, chipindex, left);
280 ks108_writeb_data(par, chipindex, val);
299 static void arcfb_lcd_update_vert(struct arcfb_par *par, unsigned int top,
310 arcfb_lcd_update_page(par, upper, left, right, 8);
321 static void arcfb_lcd_update_horiz(struct arcfb_par *par, unsigned int left,
332 arcfb_lcd_update_vert(par, upper, lower, left, right);
343 static void arcfb_lcd_update(struct arcfb_par *par, unsigned int dx,
358 arcfb_lcd_update_horiz(par, left, right, y, h);
368 struct arcfb_par *par = info->par;
373 arcfb_lcd_update(par, rect->dx, rect->dy, rect->width, rect->height);
379 struct arcfb_par *par = info->par;
384 arcfb_lcd_update(par, area->dx, area->dy, area->width, area->height);
389 struct arcfb_par *par = info->par;
394 arcfb_lcd_update(par, image->dx, image->dy, image->width,
402 struct arcfb_par *par = info->par;
410 if (!par->irq)
415 spin_lock_irqsave(&par->lock, flags);
418 spin_unlock_irqrestore(&par->lock, flags);
428 ctl2 = ks108_readb_ctl2(info->par);
451 struct arcfb_par *par;
455 par = info->par;
487 arcfb_lcd_update(par, x, y, w, h);
513 struct arcfb_par *par;
533 par = info->par;
534 par->info = info;
540 par->dio_addr = dio_addr;
541 par->cio_addr = cio_addr;
542 par->c2io_addr = c2io_addr;
543 par->cslut[0] = 0x00;
544 par->cslut[1] = 0x06;
546 spin_lock_init(&par->lock);
548 par->irq = irq;
549 if (request_irq(par->irq, &arcfb_interrupt, IRQF_SHARED,
552 "arcfb: Failed req IRQ %d\n", par->irq);
566 ks108_writeb_ctl(par, i, KS_DPY_OFF);
567 ks108_set_start_line(par, i, 0);
568 ks108_set_yaddr(par, i, 0);
569 ks108_set_xaddr(par, i, 0);
570 ks108_writeb_ctl(par, i, KS_DPY_ON);
577 ks108_set_start_line(par, i, 0);
578 ks108_clear_lcd(par, i);
585 free_irq(par->irq, info);
600 free_irq(((struct arcfb_par *)(info->par))->irq, info);