Lines Matching refs:ep

54 static int e3d_get_props(struct e3d_info *ep)  in e3d_get_props()  argument
56 ep->width = of_getintprop_default(ep->of_node, "width", 0); in e3d_get_props()
57 ep->height = of_getintprop_default(ep->of_node, "height", 0); in e3d_get_props()
58 ep->depth = of_getintprop_default(ep->of_node, "depth", 8); in e3d_get_props()
60 if (!ep->width || !ep->height) { in e3d_get_props()
62 pci_name(ep->pdev)); in e3d_get_props()
97 static void e3d_clut_write(struct e3d_info *ep, int index, u32 val) in e3d_clut_write() argument
99 void __iomem *ramdac = ep->ramdac; in e3d_clut_write()
102 spin_lock_irqsave(&ep->lock, flags); in e3d_clut_write()
107 spin_unlock_irqrestore(&ep->lock, flags); in e3d_clut_write()
114 struct e3d_info *ep = info->par; in e3d_setcolreg() local
137 e3d_clut_write(ep, regno, value); in e3d_setcolreg()
151 struct e3d_info *ep = info->par; in e3d_imageblit() local
154 spin_lock_irqsave(&ep->lock, flags); in e3d_imageblit()
156 info->screen_base += ep->fb8_buf_diff; in e3d_imageblit()
158 info->screen_base -= ep->fb8_buf_diff; in e3d_imageblit()
159 spin_unlock_irqrestore(&ep->lock, flags); in e3d_imageblit()
164 struct e3d_info *ep = info->par; in e3d_fillrect() local
167 spin_lock_irqsave(&ep->lock, flags); in e3d_fillrect()
169 info->screen_base += ep->fb8_buf_diff; in e3d_fillrect()
171 info->screen_base -= ep->fb8_buf_diff; in e3d_fillrect()
172 spin_unlock_irqrestore(&ep->lock, flags); in e3d_fillrect()
177 struct e3d_info *ep = info->par; in e3d_copyarea() local
180 spin_lock_irqsave(&ep->lock, flags); in e3d_copyarea()
182 info->screen_base += ep->fb8_buf_diff; in e3d_copyarea()
184 info->screen_base -= ep->fb8_buf_diff; in e3d_copyarea()
185 spin_unlock_irqrestore(&ep->lock, flags); in e3d_copyarea()
196 static int e3d_set_fbinfo(struct e3d_info *ep) in e3d_set_fbinfo() argument
198 struct fb_info *info = ep->info; in e3d_set_fbinfo()
203 info->screen_base = ep->fb_base; in e3d_set_fbinfo()
204 info->screen_size = ep->fb_size; in e3d_set_fbinfo()
206 info->pseudo_palette = ep->pseudo_palette; in e3d_set_fbinfo()
210 info->fix.smem_start = ep->fb_base_phys; in e3d_set_fbinfo()
211 info->fix.smem_len = ep->fb_size; in e3d_set_fbinfo()
213 if (ep->depth == 32 || ep->depth == 24) in e3d_set_fbinfo()
218 var->xres = ep->width; in e3d_set_fbinfo()
219 var->yres = ep->height; in e3d_set_fbinfo()
222 var->bits_per_pixel = ep->depth; in e3d_set_fbinfo()
247 struct e3d_info *ep; in e3d_pci_register() local
279 ep = info->par; in e3d_pci_register()
280 ep->info = info; in e3d_pci_register()
281 ep->pdev = pdev; in e3d_pci_register()
282 spin_lock_init(&ep->lock); in e3d_pci_register()
283 ep->of_node = of_node; in e3d_pci_register()
290 &ep->fb_base_reg); in e3d_pci_register()
291 ep->fb_base_reg &= PCI_BASE_ADDRESS_MEM_MASK; in e3d_pci_register()
293 ep->regs_base_phys = pci_resource_start (pdev, 1); in e3d_pci_register()
300 ep->ramdac = ioremap(ep->regs_base_phys + 0x8000, 0x1000); in e3d_pci_register()
301 if (!ep->ramdac) { in e3d_pci_register()
306 ep->fb8_0_off = readl(ep->ramdac + RAMDAC_VID_8FB_0); in e3d_pci_register()
307 ep->fb8_0_off -= ep->fb_base_reg; in e3d_pci_register()
309 ep->fb8_1_off = readl(ep->ramdac + RAMDAC_VID_8FB_1); in e3d_pci_register()
310 ep->fb8_1_off -= ep->fb_base_reg; in e3d_pci_register()
312 ep->fb8_buf_diff = ep->fb8_1_off - ep->fb8_0_off; in e3d_pci_register()
314 ep->fb_base_phys = pci_resource_start (pdev, 0); in e3d_pci_register()
315 ep->fb_base_phys += ep->fb8_0_off; in e3d_pci_register()
324 err = e3d_get_props(ep); in e3d_pci_register()
328 line_length = (readl(ep->ramdac + RAMDAC_VID_CFG) >> 16) & 0xff; in e3d_pci_register()
331 switch (ep->depth) { in e3d_pci_register()
345 ep->fb_size = info->fix.line_length * ep->height; in e3d_pci_register()
347 ep->fb_base = ioremap(ep->fb_base_phys, ep->fb_size); in e3d_pci_register()
348 if (!ep->fb_base) { in e3d_pci_register()
353 err = e3d_set_fbinfo(ep); in e3d_pci_register()
374 iounmap(ep->fb_base); in e3d_pci_register()
380 iounmap(ep->ramdac); in e3d_pci_register()
398 struct e3d_info *ep = info->par; in e3d_pci_unregister() local
402 iounmap(ep->ramdac); in e3d_pci_unregister()
403 iounmap(ep->fb_base); in e3d_pci_unregister()