Lines Matching refs:par
60 static int wait_for_lps(struct sh7760fb_par *par, int val) in wait_for_lps() argument
63 while (--i && ((ioread16(par->base + LDPMMR) & 3) != val)) in wait_for_lps()
75 struct sh7760fb_par *par = info->par; in sh7760fb_blank() local
76 struct sh7760fb_platdata *pd = par->pd; in sh7760fb_blank()
77 unsigned short cntr = ioread16(par->base + LDCNTR); in sh7760fb_blank()
78 unsigned short intr = ioread16(par->base + LDINTR); in sh7760fb_blank()
94 iowrite16(intr, par->base + LDINTR); in sh7760fb_blank()
95 iowrite16(cntr, par->base + LDCNTR); in sh7760fb_blank()
97 return wait_for_lps(par, lps); in sh7760fb_blank()
172 struct sh7760fb_par *par = info->par; in sh7760fb_check_var() local
176 ret = sh7760fb_get_color_info(info->dev, par->pd->lddfr, &bpp, NULL); in sh7760fb_check_var()
201 struct sh7760fb_par *par = info->par; in sh7760fb_set_par() local
202 struct fb_videomode *vm = par->pd->def_mode; in sh7760fb_set_par()
209 par->rot = par->pd->rotate; in sh7760fb_set_par()
212 if (par->rot && (vm->xres > 320)) { in sh7760fb_set_par()
214 par->rot = 0; in sh7760fb_set_par()
228 ret = sh7760fb_get_color_info(info->dev, par->pd->lddfr, &bpp, &gray); in sh7760fb_set_par()
234 par->rot ? "rotated" : "normal"); in sh7760fb_set_par()
237 lddfr = par->pd->lddfr | (1 << 8); in sh7760fb_set_par()
239 lddfr = par->pd->lddfr & ~(1 << 8); in sh7760fb_set_par()
242 ldmtr = par->pd->ldmtr; in sh7760fb_set_par()
252 iowrite16(par->pd->ldickr, par->base + LDICKR); /* pixclock */ in sh7760fb_set_par()
253 iowrite16(ldmtr, par->base + LDMTR); /* polarities */ in sh7760fb_set_par()
254 iowrite16(lddfr, par->base + LDDFR); /* color/depth */ in sh7760fb_set_par()
255 iowrite16((par->rot ? 1 << 13 : 0), par->base + LDSMR); /* rotate */ in sh7760fb_set_par()
256 iowrite16(par->pd->ldpmmr, par->base + LDPMMR); /* Power Management */ in sh7760fb_set_par()
257 iowrite16(par->pd->ldpspr, par->base + LDPSPR); /* Power Supply Ctrl */ in sh7760fb_set_par()
261 par->base + LDHCNR); in sh7760fb_set_par()
262 iowrite16(vdln - 1, par->base + LDVDLNR); in sh7760fb_set_par()
263 iowrite16(vtln - 1, par->base + LDVTLNR); in sh7760fb_set_par()
265 iowrite16((vsynp - 1) | ((vsynw - 1) << 12), par->base + LDVSYNR); in sh7760fb_set_par()
267 par->base + LDHSYNR); in sh7760fb_set_par()
269 iowrite16(par->pd->ldaclnr, par->base + LDACLNR); in sh7760fb_set_par()
271 stride = (par->rot) ? vtln : hdcn; in sh7760fb_set_par()
285 if (par->rot) { in sh7760fb_set_par()
295 iowrite16(stride, par->base + LDLAOR); in sh7760fb_set_par()
298 sbase = (unsigned long)par->fbdma; in sh7760fb_set_par()
299 if (par->rot) in sh7760fb_set_par()
302 iowrite32(sbase, par->base + LDSARU); in sh7760fb_set_par()
315 if (par->rot) in sh7760fb_set_par()
324 iowrite32(ldsarl, par->base + LDSARL); /* mem for lower half of DSTN */ in sh7760fb_set_par()
337 (par->pd->ldickr >> 12) & 3, par->pd->ldickr & 0x1f); in sh7760fb_set_par()
338 dev_dbg(info->dev, "ldpmmr: 0x%04x ldpspr: 0x%04x\n", par->pd->ldpmmr, in sh7760fb_set_par()
339 par->pd->ldpspr); in sh7760fb_set_par()
360 struct sh7760fb_par *par = info->par; in sh7760fb_free_mem() local
366 info->screen_base, par->fbdma); in sh7760fb_free_mem()
368 par->fbdma = 0; in sh7760fb_free_mem()
378 struct sh7760fb_par *par = info->par; in sh7760fb_alloc_mem() local
387 ret = sh7760fb_get_color_info(info->dev, par->pd->lddfr, &bpp, NULL); in sh7760fb_alloc_mem()
414 fbmem = dma_alloc_coherent(info->dev, vram, &par->fbdma, GFP_KERNEL); in sh7760fb_alloc_mem()
419 if ((par->fbdma & SH7760FB_DMA_MASK) != SH7760FB_DMA_MASK) { in sh7760fb_alloc_mem()
422 "unusable for the LCDC\n", (unsigned long)par->fbdma); in sh7760fb_alloc_mem()
438 struct sh7760fb_par *par; in sh7760fb_probe() local
451 par = info->par; in sh7760fb_probe()
452 par->dev = pdev; in sh7760fb_probe()
454 par->pd = pdev->dev.platform_data; in sh7760fb_probe()
455 if (!par->pd) { in sh7760fb_probe()
461 par->ioarea = request_mem_region(res->start, in sh7760fb_probe()
463 if (!par->ioarea) { in sh7760fb_probe()
469 par->base = ioremap_nocache(res->start, resource_size(res)); in sh7760fb_probe()
470 if (!par->base) { in sh7760fb_probe()
476 iowrite16(0, par->base + LDINTR); /* disable vsync irq */ in sh7760fb_probe()
477 par->irq = platform_get_irq(pdev, 0); in sh7760fb_probe()
478 if (par->irq >= 0) { in sh7760fb_probe()
479 ret = request_irq(par->irq, sh7760fb_irq, 0, in sh7760fb_probe()
480 "sh7760-lcdc", &par->vsync); in sh7760fb_probe()
483 par->irq = -ENXIO; in sh7760fb_probe()
485 disable_irq_nosync(par->irq); in sh7760fb_probe()
488 fb_videomode_to_var(&info->var, par->pd->def_mode); in sh7760fb_probe()
496 info->pseudo_palette = par->pseudo_palette; in sh7760fb_probe()
520 iowrite16(LDCNTR_DON2, par->base + LDCNTR); in sh7760fb_probe()
538 (unsigned long)par->fbdma, in sh7760fb_probe()
539 (unsigned long)(par->fbdma + info->screen_size - 1), in sh7760fb_probe()
550 if (par->irq >= 0) in sh7760fb_probe()
551 free_irq(par->irq, &par->vsync); in sh7760fb_probe()
552 iounmap(par->base); in sh7760fb_probe()
563 struct sh7760fb_par *par = info->par; in sh7760fb_remove() local
569 if (par->irq >= 0) in sh7760fb_remove()
570 free_irq(par->irq, &par->vsync); in sh7760fb_remove()
571 iounmap(par->base); in sh7760fb_remove()
572 release_mem_region(par->ioarea->start, resource_size(par->ioarea)); in sh7760fb_remove()