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()
205 info->screen_base = ep->fb_base; in e3d_set_fbinfo()
206 info->screen_size = ep->fb_size; in e3d_set_fbinfo()
208 info->pseudo_palette = ep->pseudo_palette; in e3d_set_fbinfo()
212 info->fix.smem_start = ep->fb_base_phys; in e3d_set_fbinfo()
213 info->fix.smem_len = ep->fb_size; in e3d_set_fbinfo()
215 if (ep->depth == 32 || ep->depth == 24) in e3d_set_fbinfo()
220 var->xres = ep->width; in e3d_set_fbinfo()
221 var->yres = ep->height; in e3d_set_fbinfo()
224 var->bits_per_pixel = ep->depth; in e3d_set_fbinfo()
249 struct e3d_info *ep; in e3d_pci_register() local
284 ep = info->par; in e3d_pci_register()
285 ep->info = info; in e3d_pci_register()
286 ep->pdev = pdev; in e3d_pci_register()
287 spin_lock_init(&ep->lock); in e3d_pci_register()
288 ep->of_node = of_node; in e3d_pci_register()
295 &ep->fb_base_reg); in e3d_pci_register()
296 ep->fb_base_reg &= PCI_BASE_ADDRESS_MEM_MASK; in e3d_pci_register()
298 ep->regs_base_phys = pci_resource_start (pdev, 1); in e3d_pci_register()
305 ep->ramdac = ioremap(ep->regs_base_phys + 0x8000, 0x1000); in e3d_pci_register()
306 if (!ep->ramdac) { in e3d_pci_register()
311 ep->fb8_0_off = readl(ep->ramdac + RAMDAC_VID_8FB_0); in e3d_pci_register()
312 ep->fb8_0_off -= ep->fb_base_reg; in e3d_pci_register()
314 ep->fb8_1_off = readl(ep->ramdac + RAMDAC_VID_8FB_1); in e3d_pci_register()
315 ep->fb8_1_off -= ep->fb_base_reg; in e3d_pci_register()
317 ep->fb8_buf_diff = ep->fb8_1_off - ep->fb8_0_off; in e3d_pci_register()
319 ep->fb_base_phys = pci_resource_start (pdev, 0); in e3d_pci_register()
320 ep->fb_base_phys += ep->fb8_0_off; in e3d_pci_register()
329 err = e3d_get_props(ep); in e3d_pci_register()
333 line_length = (readl(ep->ramdac + RAMDAC_VID_CFG) >> 16) & 0xff; in e3d_pci_register()
336 switch (ep->depth) { in e3d_pci_register()
350 ep->fb_size = info->fix.line_length * ep->height; in e3d_pci_register()
352 ep->fb_base = ioremap(ep->fb_base_phys, ep->fb_size); in e3d_pci_register()
353 if (!ep->fb_base) { in e3d_pci_register()
358 err = e3d_set_fbinfo(ep); in e3d_pci_register()
379 iounmap(ep->fb_base); in e3d_pci_register()
385 iounmap(ep->ramdac); in e3d_pci_register()