/linux/drivers/video/fbdev/ |
H A D | au1100fb.c | 108 struct au1100fb_device *fbdev = to_au1100fb_device(fbi); in au1100fb_fb_blank() local 116 fbdev->regs->lcd_control |= LCD_CONTROL_GO; in au1100fb_fb_blank() 124 fbdev->regs->lcd_control &= ~LCD_CONTROL_GO; in au1100fb_fb_blank() 138 int au1100fb_setmode(struct au1100fb_device *fbdev) in au1100fb_setmode() argument 140 struct fb_info *info = &fbdev->info; in au1100fb_setmode() 144 if (!fbdev) in au1100fb_setmode() 148 if (panel_is_active(fbdev->panel) || panel_is_color(fbdev->panel)) { in au1100fb_setmode() 172 index = (fbdev->panel->control_base & LCD_CONTROL_SBPPF_MASK) >> LCD_CONTROL_SBPPF_BIT; in au1100fb_setmode() 188 info->var.rotate = ((fbdev->panel->control_base&LCD_CONTROL_SM_MASK) \ in au1100fb_setmode() 192 fbdev->regs->lcd_control = fbdev->panel->control_base; in au1100fb_setmode() [all …]
|
H A D | ocfb.c | 87 static inline u32 ocfb_readreg(struct ocfb_dev *fbdev, loff_t offset) in ocfb_readreg() argument 89 if (fbdev->little_endian) in ocfb_readreg() 90 return ioread32(fbdev->regs + offset); in ocfb_readreg() 92 return ioread32be(fbdev->regs + offset); in ocfb_readreg() 95 static void ocfb_writereg(struct ocfb_dev *fbdev, loff_t offset, u32 data) in ocfb_writereg() argument 97 if (fbdev->little_endian) in ocfb_writereg() 98 iowrite32(data, fbdev->regs + offset); in ocfb_writereg() 100 iowrite32be(data, fbdev->regs + offset); in ocfb_writereg() 103 static int ocfb_setupfb(struct ocfb_dev *fbdev) in ocfb_setupfb() argument 106 struct fb_var_screeninfo *var = &fbdev->info.var; in ocfb_setupfb() [all …]
|
H A D | au1200fb.c | 702 static int au1200_setlocation (struct au1200fb_device *fbdev, int plane, in au1200_setlocation() argument 764 lcd->window[plane].winbuf1 = fbdev->fb_phys; in au1200_setlocation() 852 au1200_setlocation(fbdev, 0, win->w[0].xpos, win->w[0].ypos); in au1200_setpanel() 853 au1200_setlocation(fbdev, 1, win->w[1].xpos, win->w[1].ypos); in au1200_setpanel() 854 au1200_setlocation(fbdev, 2, win->w[2].xpos, win->w[2].ypos); in au1200_setpanel() 855 au1200_setlocation(fbdev, 3, win->w[3].xpos, win->w[3].ypos); in au1200_setpanel() 937 static void au1200_setmode(struct au1200fb_device *fbdev) in au1200_setmode() argument 939 int plane = fbdev->plane; in au1200_setmode() 946 au1200_setlocation(fbdev, plane, win->w[plane].xpos, win->w[plane].ypos); in au1200_setmode() 951 | LCD_WINCTRL2_BX_N(fbdev->fb_info->fix.line_length) in au1200_setmode() [all …]
|
/linux/drivers/video/fbdev/omap/ |
H A D | omapfb_main.c | 104 static void omapfb_rqueue_lock(struct omapfb_device *fbdev) in omapfb_rqueue_lock() argument 106 mutex_lock(&fbdev->rqueue_mutex); in omapfb_rqueue_lock() 109 static void omapfb_rqueue_unlock(struct omapfb_device *fbdev) in omapfb_rqueue_unlock() argument 111 mutex_unlock(&fbdev->rqueue_mutex); in omapfb_rqueue_unlock() 125 static int ctrl_init(struct omapfb_device *fbdev) in ctrl_init() argument 133 fbdev->mem_desc.region[i].size = in ctrl_init() 135 fbdev->mem_desc.region_cnt = i; in ctrl_init() 138 if (!fbdev->mem_desc.region_cnt) { in ctrl_init() 139 struct lcd_panel *panel = fbdev->panel; in ctrl_init() 147 fbdev->mem_desc.region_cnt = 1; in ctrl_init() [all …]
|
H A D | lcdc.c | 61 struct omapfb_device *fbdev; member 135 dev_err(lcdc.fbdev->dev, "timeout waiting for FRAME DONE\n"); in disable_controller() 146 dev_err(lcdc.fbdev->dev, in reset_controller() 155 dev_err(lcdc.fbdev->dev, in reset_controller() 173 struct omapfb_plane_struct *plane = lcdc.fbdev->fb_info[0]->par; in setup_lcd_dma() 174 struct fb_var_screeninfo *var = &lcdc.fbdev->fb_info[0]->var; in setup_lcd_dma() 206 dev_dbg(lcdc.fbdev->dev, in setup_lcd_dma() 285 struct fb_var_screeninfo *var = &lcdc.fbdev->fb_info[0]->var; in omap_lcdc_setup_plane() 286 struct lcd_panel *panel = lcdc.fbdev->panel; in omap_lcdc_setup_plane() 299 dev_dbg(lcdc.fbdev->dev, in omap_lcdc_setup_plane() [all …]
|
H A D | hwa742.c | 126 struct omapfb_device *fbdev; member 182 dev_dbg(hwa742.fbdev->dev, "hwa742: enabled pixel doubling\n"); in set_format_regs() 187 dev_dbg(hwa742.fbdev->dev, "hwa742: disabled pixel doubling\n"); in set_format_regs() 347 int scr_width = hwa742.fbdev->panel->x_res; in send_frame_handler() 348 int scr_height = hwa742.fbdev->panel->y_res; in send_frame_handler() 351 dev_dbg(hwa742.fbdev->dev, "x %d y %d w %d h %d scr_width %d " in send_frame_handler() 502 dev_dbg(hwa742.fbdev->dev, "invalid update mode\n"); in hwa742_update_window_async() 509 dev_dbg(hwa742.fbdev->dev, "invalid window flag\n"); in hwa742_update_window_async() 575 dev_dbg(hwa742.fbdev->dev, "update_mode %d\n", hwa742.update_mode); in hwa742_bind_client() 577 omapfb_notify_clients(hwa742.fbdev, OMAPFB_EVENT_READY); in hwa742_bind_client() [all …]
|
H A D | sossi.c | 69 struct omapfb_device *fbdev; member 215 dev_dbg(sossi.fbdev->dev, "Using TW0 = %d, TW1 = %d, div = %d\n", in _set_timing() 404 dev_dbg(sossi.fbdev->dev, in sossi_setup_tearsync() 431 dev_dbg(sossi.fbdev->dev, "tearsync %d line %d\n", enable, line); in sossi_enable_tearsync() 560 static int sossi_init(struct omapfb_device *fbdev) in sossi_init() argument 569 dev_err(fbdev->dev, "can't ioremap SoSSI\n"); in sossi_init() 573 sossi.fbdev = fbdev; in sossi_init() 576 dpll1out_ck = clk_get(fbdev->dev, "ck_dpll1out"); in sossi_init() 578 dev_err(fbdev->dev, "can't get DPLL1OUT clock\n"); in sossi_init() 589 fck = clk_get(fbdev->dev, "ck_sossi"); in sossi_init() [all …]
|
H A D | omapfb.h | 79 struct omapfb_device *fbdev); 111 int (*init) (struct omapfb_device *fbdev); 145 int (*init) (struct omapfb_device *fbdev, 192 struct omapfb_device *fbdev; member 223 extern void omapfb_write_first_pixel(struct omapfb_device *fbdev, u16 pixval); 224 extern void omapfb_notify_clients(struct omapfb_device *fbdev,
|
/linux/drivers/video/fbdev/omap2/omapfb/ |
H A D | omapfb-main.c | 49 static int omapfb_fb_init(struct omapfb2_device *fbdev, struct fb_info *fbi); 50 static int omapfb_get_recommended_bpp(struct omapfb2_device *fbdev, 1218 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_blank() local 1226 omapfb_lock(fbdev); in omapfb_blank() 1228 d = get_display_data(fbdev, display); in omapfb_blank() 1240 omapfb_start_auto_update(fbdev, display); in omapfb_blank() 1254 omapfb_stop_auto_update(fbdev, display); in omapfb_blank() 1265 omapfb_unlock(fbdev); in omapfb_blank() 1301 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_free_fbmem() local 1321 dma_free_attrs(fbdev->dev, rg->size, rg->token, rg->dma_handle, in omapfb_free_fbmem() [all …]
|
H A D | omapfb.h | 63 struct omapfb2_device *fbdev; member 70 struct omapfb2_device *fbdev; member 115 int omapfb_create_sysfs(struct omapfb2_device *fbdev); 116 void omapfb_remove_sysfs(struct omapfb2_device *fbdev); 126 void omapfb_start_auto_update(struct omapfb2_device *fbdev, 128 void omapfb_stop_auto_update(struct omapfb2_device *fbdev, 150 struct omapfb2_device *fbdev, struct omap_dss_device *dssdev) in get_display_data() argument 154 for (i = 0; i < fbdev->num_displays; ++i) in get_display_data() 155 if (fbdev->displays[i].dssdev == dssdev) in get_display_data() 156 return &fbdev->displays[i]; in get_display_data() [all …]
|
H A D | omapfb-ioctl.c | 38 struct omapfb2_device *fbdev = ofbi->fbdev; in get_mem_region() local 45 if (mem_idx >= fbdev->num_fbs) in get_mem_region() 48 return &fbdev->regions[mem_idx]; in get_mem_region() 54 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_setup_plane() local 171 dev_err(fbdev->dev, "setup_plane failed\n"); in omapfb_setup_plane() 205 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_setup_mem() local 232 for (i = 0; i < fbdev->num_fbs; i++) { in omapfb_setup_mem() 233 struct omapfb_info *ofbi2 = FB2OFB(fbdev->fbs[i]); in omapfb_setup_mem() 251 dev_err(fbdev->dev, "realloc fbmem failed\n"); in omapfb_setup_mem() 303 struct omapfb2_device *fbdev = ofbi->fbdev; in omapfb_set_update_mode() local [all …]
|
H A D | omapfb-sysfs.c | 136 struct omapfb2_device *fbdev = ofbi->fbdev; in show_overlays() local 141 omapfb_lock(fbdev); in show_overlays() 147 for (ovlnum = 0; ovlnum < fbdev->num_overlays; ++ovlnum) in show_overlays() 148 if (ovl == fbdev->overlays[ovlnum]) in show_overlays() 157 omapfb_unlock(fbdev); in show_overlays() 163 static struct omapfb_info *get_overlay_fb(struct omapfb2_device *fbdev, in get_overlay_fb() argument 168 for (i = 0; i < fbdev->num_fbs; i++) { in get_overlay_fb() 169 struct omapfb_info *ofbi = FB2OFB(fbdev->fbs[i]); in get_overlay_fb() 185 struct omapfb2_device *fbdev = ofbi->fbdev; in store_overlays() local 199 omapfb_lock(fbdev); in store_overlays() [all …]
|
H A D | Kconfig | 36 source "drivers/video/fbdev/omap2/omapfb/dss/Kconfig" 37 source "drivers/video/fbdev/omap2/omapfb/displays/Kconfig"
|
/linux/drivers/gpu/drm/omapdrm/ |
H A D | omap_fbdev.c | 43 struct omap_fbdev *fbdev = container_of(work, struct omap_fbdev, work); in pan_worker() local 44 struct drm_fb_helper *helper = fbdev->dev->fb_helper; in pan_worker() 62 struct omap_fbdev *fbdev; in FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS() local 68 fbdev = priv->fbdev; in FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS() 70 if (!fbdev->ywrap_enabled) in FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS() 74 pan_worker(&fbdev->work); in FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS() 76 queue_work(priv->wq, &fbdev->work); in FB_GEN_DEFAULT_DEFERRED_DMAMEM_OPS() 157 struct omap_fbdev *fbdev = priv->fbdev; in omap_fbdev_driver_fbdev_probe() local 182 fbdev->ywrap_enabled = priv->has_dmm && ywrap_enabled; in omap_fbdev_driver_fbdev_probe() 183 if (fbdev->ywrap_enabled) { in omap_fbdev_driver_fbdev_probe() [all …]
|
/linux/drivers/auxdisplay/ |
H A D | ht16k33.c | 95 struct ht16k33_fbdev fbdev; member 211 struct ht16k33_fbdev *fbdev = &priv->fbdev; in ht16k33_fb_queue() local 213 schedule_delayed_work(&priv->work, HZ / fbdev->refresh_rate); in ht16k33_fb_queue() 222 struct ht16k33_fbdev *fbdev = &priv->fbdev; in ht16k33_fb_update() local 227 p1 = fbdev->cache; in ht16k33_fb_update() 228 p2 = fbdev->buffer; in ht16k33_fb_update() 242 p1 = fbdev->cache + HT16K33_FB_SIZE - 1; in ht16k33_fb_update() 243 p2 = fbdev->buffer + HT16K33_FB_SIZE - 1; in ht16k33_fb_update() 252 p1 = fbdev->cache + first; in ht16k33_fb_update() 253 p2 = fbdev->buffer + first; in ht16k33_fb_update() [all …]
|
/linux/drivers/gpu/drm/clients/ |
H A D | Kconfig | 32 bool "Enable legacy fbdev support for your modesetting driver" 39 Choose this option if you have a need for the legacy fbdev 46 int "Overallocation of the fbdev buffer" 50 Defines the fbdev buffer overallocation in percent. Default 55 bool "Shamelessly allow leaking of fbdev physical address (DANGEROUS)" 60 use-cases to keep leaking the fbdev physical address to the 61 user-space program handling the fbdev buffer. 66 legacy behaviour from a modern fbdev device driver. 97 command line 'drm_client_lib.active=fbdev' option. 100 bool "fbdev" [all …]
|
/linux/drivers/gpu/drm/ci/xfails/ |
H A D | mediatek-mt8183-fails.txt | 3 fbdev@eof,Fail 4 fbdev@pan,Fail 5 fbdev@read,Fail 6 fbdev@unaligned-read,Fail
|
H A D | mediatek-mt8173-fails.txt | 1 fbdev@eof,Fail 2 fbdev@read,Fail
|
/linux/Documentation/driver-api/ |
H A D | frame-buffer.rst | 11 needed functions to make fbdev and fbcon work. fb_info is only visible 34 .. kernel-doc:: drivers/video/fbdev/core/fbmem.c 40 .. kernel-doc:: drivers/video/fbdev/core/fbcmap.c 46 .. kernel-doc:: drivers/video/fbdev/core/modedb.c 49 .. kernel-doc:: drivers/video/fbdev/core/modedb.c 55 .. kernel-doc:: drivers/video/fbdev/macmodes.c
|
/linux/drivers/staging/fbtft/ |
H A D | README | 13 cd drivers/video/fbdev/fbtft 16 Add to drivers/video/fbdev/Kconfig: source "drivers/video/fbdev/fbtft/Kconfig" 17 Add to drivers/video/fbdev/Makefile: obj-y += fbtft/
|
/linux/drivers/video/fbdev/mmp/ |
H A D | Kconfig | 9 source "drivers/video/fbdev/mmp/hw/Kconfig" 10 source "drivers/video/fbdev/mmp/panel/Kconfig" 11 source "drivers/video/fbdev/mmp/fb/Kconfig"
|
/linux/Documentation/fb/ |
H A D | udlfb.rst | 28 capable system. On Linux, number of displays is limited by fbdev interface 35 one-to-one with the fbdev interface, making the driver quite small and 37 * X servers and other applications can use the standard fbdev interface 40 and a slightly modified "fbdev" X driver are among those that already do. 48 In the future, hopefully fbdev will be enhanced with an small standard 53 * It's not clear what the future of fbdev is, given the rise of KMS/DRM. 64 means that from a hardware and fbdev software perspective, everything is good. 68 standard fbdev calls. Note that if mmap() is used, by default the user mode 75 xf86-video-fbdev X server. These servers have no real DisplayLink specific 113 Standard fbdev applications that use mmap but that do not
|
H A D | cmap_xfbdev.rst | 2 Understanding fbdev's cmap 5 These notes explain how X's dix layer uses fbdev's cmap structures. 7 - example of relevant structures in fbdev as used for a 3-bit grayscale cmap::
|
/linux/drivers/gpu/drm/i915/display/ |
H A D | intel_fbdev.h | 19 struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev); 29 static inline struct intel_framebuffer *intel_fbdev_framebuffer(struct intel_fbdev *fbdev) in intel_fbdev_framebuffer() argument
|
/linux/Documentation/gpu/ |
H A D | todo.rst | 246 Reimplement functions in drm_fbdev_fb_ops without fbdev 250 being rewritten without dependencies on the fbdev module. Some of the 271 Benchmark and optimize fbdev's sys_() helpers and DRM's format-conversion 304 Generic fbdev defio support 307 The defio support code in the fbdev core has some very specific requirements, 308 which means drivers need to have a special framebuffer for fbdev. The main 313 Possible solution would be to write our own defio mmap code in the drm fbdev 323 fbdev defio stuff. These should all work on plain ptes, they don't actually 453 DRM and fbdev drivers. Still, it's the correct thing to do. 462 A number of fbdev drivers provide attributes via sysfs and therefore depend [all …]
|