Lines Matching refs:ep
56 static int e3d_get_props(struct e3d_info *ep) in e3d_get_props() argument
58 ep->width = of_getintprop_default(ep->of_node, "width", 0); in e3d_get_props()
59 ep->height = of_getintprop_default(ep->of_node, "height", 0); in e3d_get_props()
60 ep->depth = of_getintprop_default(ep->of_node, "depth", 8); in e3d_get_props()
62 if (!ep->width || !ep->height) { in e3d_get_props()
64 pci_name(ep->pdev)); in e3d_get_props()
99 static void e3d_clut_write(struct e3d_info *ep, int index, u32 val) in e3d_clut_write() argument
101 void __iomem *ramdac = ep->ramdac; in e3d_clut_write()
104 spin_lock_irqsave(&ep->lock, flags); in e3d_clut_write()
109 spin_unlock_irqrestore(&ep->lock, flags); in e3d_clut_write()
116 struct e3d_info *ep = info->par; in e3d_setcolreg() local
139 e3d_clut_write(ep, regno, value); in e3d_setcolreg()
153 struct e3d_info *ep = info->par; in e3d_imageblit() local
156 spin_lock_irqsave(&ep->lock, flags); in e3d_imageblit()
158 info->screen_base += ep->fb8_buf_diff; in e3d_imageblit()
160 info->screen_base -= ep->fb8_buf_diff; in e3d_imageblit()
161 spin_unlock_irqrestore(&ep->lock, flags); in e3d_imageblit()
166 struct e3d_info *ep = info->par; in e3d_fillrect() local
169 spin_lock_irqsave(&ep->lock, flags); in e3d_fillrect()
171 info->screen_base += ep->fb8_buf_diff; in e3d_fillrect()
173 info->screen_base -= ep->fb8_buf_diff; in e3d_fillrect()
174 spin_unlock_irqrestore(&ep->lock, flags); in e3d_fillrect()
179 struct e3d_info *ep = info->par; in e3d_copyarea() local
182 spin_lock_irqsave(&ep->lock, flags); in e3d_copyarea()
184 info->screen_base += ep->fb8_buf_diff; in e3d_copyarea()
186 info->screen_base -= ep->fb8_buf_diff; in e3d_copyarea()
187 spin_unlock_irqrestore(&ep->lock, flags); in e3d_copyarea()
198 static int e3d_set_fbinfo(struct e3d_info *ep) in e3d_set_fbinfo() argument
200 struct fb_info *info = ep->info; in e3d_set_fbinfo()
204 info->screen_base = ep->fb_base; in e3d_set_fbinfo()
205 info->screen_size = ep->fb_size; in e3d_set_fbinfo()
207 info->pseudo_palette = ep->pseudo_palette; in e3d_set_fbinfo()
211 info->fix.smem_start = ep->fb_base_phys; in e3d_set_fbinfo()
212 info->fix.smem_len = ep->fb_size; in e3d_set_fbinfo()
214 if (ep->depth == 32 || ep->depth == 24) in e3d_set_fbinfo()
219 var->xres = ep->width; in e3d_set_fbinfo()
220 var->yres = ep->height; in e3d_set_fbinfo()
223 var->bits_per_pixel = ep->depth; in e3d_set_fbinfo()
248 struct e3d_info *ep; in e3d_pci_register() local
283 ep = info->par; in e3d_pci_register()
284 ep->info = info; in e3d_pci_register()
285 ep->pdev = pdev; in e3d_pci_register()
286 spin_lock_init(&ep->lock); in e3d_pci_register()
287 ep->of_node = of_node; in e3d_pci_register()
294 &ep->fb_base_reg); in e3d_pci_register()
295 ep->fb_base_reg &= PCI_BASE_ADDRESS_MEM_MASK; in e3d_pci_register()
297 ep->regs_base_phys = pci_resource_start (pdev, 1); in e3d_pci_register()
304 ep->ramdac = ioremap(ep->regs_base_phys + 0x8000, 0x1000); in e3d_pci_register()
305 if (!ep->ramdac) { in e3d_pci_register()
310 ep->fb8_0_off = readl(ep->ramdac + RAMDAC_VID_8FB_0); in e3d_pci_register()
311 ep->fb8_0_off -= ep->fb_base_reg; in e3d_pci_register()
313 ep->fb8_1_off = readl(ep->ramdac + RAMDAC_VID_8FB_1); in e3d_pci_register()
314 ep->fb8_1_off -= ep->fb_base_reg; in e3d_pci_register()
316 ep->fb8_buf_diff = ep->fb8_1_off - ep->fb8_0_off; in e3d_pci_register()
318 ep->fb_base_phys = pci_resource_start (pdev, 0); in e3d_pci_register()
319 ep->fb_base_phys += ep->fb8_0_off; in e3d_pci_register()
328 err = e3d_get_props(ep); in e3d_pci_register()
332 line_length = (readl(ep->ramdac + RAMDAC_VID_CFG) >> 16) & 0xff; in e3d_pci_register()
335 switch (ep->depth) { in e3d_pci_register()
349 ep->fb_size = info->fix.line_length * ep->height; in e3d_pci_register()
351 ep->fb_base = ioremap(ep->fb_base_phys, ep->fb_size); in e3d_pci_register()
352 if (!ep->fb_base) { in e3d_pci_register()
357 err = e3d_set_fbinfo(ep); in e3d_pci_register()
378 iounmap(ep->fb_base); in e3d_pci_register()
384 iounmap(ep->ramdac); in e3d_pci_register()