/Linux-v5.10/drivers/video/fbdev/ |
D | goldfishfb.c | 15 #include <linux/fb.h> 44 struct fb_info fb; member 51 struct goldfish_fb *fb = dev_id; in goldfish_fb_interrupt() local 54 spin_lock_irqsave(&fb->lock, irq_flags); in goldfish_fb_interrupt() 55 status = readl(fb->reg_base + FB_INT_STATUS); in goldfish_fb_interrupt() 57 fb->base_update_count++; in goldfish_fb_interrupt() 58 wake_up(&fb->wait); in goldfish_fb_interrupt() 60 spin_unlock_irqrestore(&fb->lock, irq_flags); in goldfish_fb_interrupt() 75 struct goldfish_fb *fb = container_of(info, struct goldfish_fb, fb); in goldfish_fb_setcolreg() local 78 fb->cmap[regno] = convert_bitfield(transp, &fb->fb.var.transp) | in goldfish_fb_setcolreg() [all …]
|
D | amba-clcd.c | 19 #include <linux/fb.h> 33 #define to_clcd(info) container_of(info, struct clcd_fb, fb) 36 static const char *clcd_name = "CLCD FB"; 51 static inline void clcdfb_set_start(struct clcd_fb *fb) in clcdfb_set_start() argument 53 unsigned long ustart = fb->fb.fix.smem_start; in clcdfb_set_start() 56 ustart += fb->fb.var.yoffset * fb->fb.fix.line_length; in clcdfb_set_start() 57 lstart = ustart + fb->fb.var.yres * fb->fb.fix.line_length / 2; in clcdfb_set_start() 59 writel(ustart, fb->regs + CLCD_UBAS); in clcdfb_set_start() 60 writel(lstart, fb->regs + CLCD_LBAS); in clcdfb_set_start() 63 static void clcdfb_disable(struct clcd_fb *fb) in clcdfb_disable() argument [all …]
|
D | stifb.c | 64 #include <linux/fb.h> 156 #define READ_BYTE(fb,reg) gsc_readb((fb)->info.fix.mmio_start + (reg)) argument 157 #define READ_WORD(fb,reg) gsc_readl((fb)->info.fix.mmio_start + (reg)) argument 163 # define WRITE_BYTE(value,fb,reg) gsc_writeb((value),(fb)->info.fix.mmio_start + (reg)) argument 164 # define WRITE_WORD(value,fb,reg) gsc_writel((value),(fb)->info.fix.mmio_start + (reg)) argument 169 # define WRITE_BYTE(value,fb,reg) do { if (debug_on) \ argument 171 __func__, reg, value, READ_BYTE(fb,reg)); \ 172 gsc_writeb((value),(fb)->info.fix.mmio_start + (reg)); } while (0) 173 # define WRITE_WORD(value,fb,reg) do { if (debug_on) \ argument 175 __func__, reg, value, READ_WORD(fb,reg)); \ [all …]
|
D | wm8505fb.c | 11 #include <linux/fb.h> 32 #define DRIVER_NAME "wm8505-fb" 35 struct wm8505fb_info, fb) 37 struct fb_info fb; member 54 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR); in wm8505fb_init_hw() 55 writel(fbi->fb.fix.smem_start, fbi->regbase + WMT_GOVR_FBADDR1); in wm8505fb_init_hw() 205 switch (fbi->fb.fix.visual) { in wm8505fb_setcolreg() 210 val = chan_to_field(red, &fbi->fb.var.red); in wm8505fb_setcolreg() 211 val |= chan_to_field(green, &fbi->fb.var.green); in wm8505fb_setcolreg() 212 val |= chan_to_field(blue, &fbi->fb.var.blue); in wm8505fb_setcolreg() [all …]
|
D | Kconfig | 12 menuconfig FB config 31 in the /dev directory, i.e. /dev/fb*. 34 buffer devices. Please read <file:Documentation/fb/framebuffer.rst> 50 depends on FB 65 depends on FB 71 depends on FB 78 depends on FB 86 depends on FB 94 depends on FB 102 depends on FB [all …]
|
/Linux-v5.10/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
D | Kbuild | 2 nvkm-y += nvkm/subdev/fb/base.o 3 nvkm-y += nvkm/subdev/fb/nv04.o 4 nvkm-y += nvkm/subdev/fb/nv10.o 5 nvkm-y += nvkm/subdev/fb/nv1a.o 6 nvkm-y += nvkm/subdev/fb/nv20.o 7 nvkm-y += nvkm/subdev/fb/nv25.o 8 nvkm-y += nvkm/subdev/fb/nv30.o 9 nvkm-y += nvkm/subdev/fb/nv35.o 10 nvkm-y += nvkm/subdev/fb/nv36.o 11 nvkm-y += nvkm/subdev/fb/nv40.o [all …]
|
D | base.c | 35 nvkm_fb_tile_fini(struct nvkm_fb *fb, int region, struct nvkm_fb_tile *tile) in nvkm_fb_tile_fini() argument 37 fb->func->tile.fini(fb, region, tile); in nvkm_fb_tile_fini() 41 nvkm_fb_tile_init(struct nvkm_fb *fb, int region, u32 addr, u32 size, in nvkm_fb_tile_init() argument 44 fb->func->tile.init(fb, region, addr, size, pitch, flags, tile); in nvkm_fb_tile_init() 48 nvkm_fb_tile_prog(struct nvkm_fb *fb, int region, struct nvkm_fb_tile *tile) in nvkm_fb_tile_prog() argument 50 struct nvkm_device *device = fb->subdev.device; in nvkm_fb_tile_prog() 51 if (fb->func->tile.prog) { in nvkm_fb_tile_prog() 52 fb->func->tile.prog(fb, region, tile); in nvkm_fb_tile_prog() 91 struct nvkm_fb *fb = nvkm_fb(subdev); in nvkm_fb_intr() local 92 if (fb->func->intr) in nvkm_fb_intr() [all …]
|
D | gf100.c | 34 struct gf100_fb *fb = gf100_fb(base); in gf100_fb_intr() local 35 struct nvkm_subdev *subdev = &fb->base.subdev; in gf100_fb_intr() 47 struct gf100_fb *fb = gf100_fb(base); in gf100_fb_oneinit() local 48 struct nvkm_device *device = fb->base.subdev.device; in gf100_fb_oneinit() 49 int ret, size = 1 << (fb->base.page ? fb->base.page : 17); in gf100_fb_oneinit() 55 true, &fb->base.mmu_rd); in gf100_fb_oneinit() 60 true, &fb->base.mmu_wr); in gf100_fb_oneinit() 64 fb->r100c10_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in gf100_fb_oneinit() 65 if (fb->r100c10_page) { in gf100_fb_oneinit() 66 fb->r100c10 = dma_map_page(device->dev, fb->r100c10_page, 0, in gf100_fb_oneinit() [all …]
|
D | nv50.c | 34 struct nv50_fb *fb = nv50_fb(base); in nv50_fb_ram_new() local 35 return fb->func->ram_new(&fb->base, pram); in nv50_fb_ram_new() 80 { 0x00000000, "FB" }, 137 struct nv50_fb *fb = nv50_fb(base); in nv50_fb_intr() local 138 struct nvkm_subdev *subdev = &fb->base.subdev; in nv50_fb_intr() 198 struct nv50_fb *fb = nv50_fb(base); in nv50_fb_oneinit() local 199 struct nvkm_device *device = fb->base.subdev.device; in nv50_fb_oneinit() 201 fb->r100c08_page = alloc_page(GFP_KERNEL | __GFP_ZERO); in nv50_fb_oneinit() 202 if (fb->r100c08_page) { in nv50_fb_oneinit() 203 fb->r100c08 = dma_map_page(device->dev, fb->r100c08_page, 0, in nv50_fb_oneinit() [all …]
|
/Linux-v5.10/drivers/firmware/broadcom/ |
D | bcm47xx_sprom.c | 192 bool fb = fallback; in bcm47xx_sprom_fill_auto() local 198 ENTRY(0xfffffffe, u32, pre, "boardflags", boardflags, 0, fb); in bcm47xx_sprom_fill_auto() 199 ENTRY(0xfffffff0, u32, pre, "boardflags2", boardflags2, 0, fb); in bcm47xx_sprom_fill_auto() 200 ENTRY(0xfffff800, u32, pre, "boardflags3", boardflags3, 0, fb); in bcm47xx_sprom_fill_auto() 201 ENTRY(0x00000002, u16, pre, "boardflags", boardflags_lo, 0, fb); in bcm47xx_sprom_fill_auto() 203 ENTRY(0xfffffffe, u16, pre, "boardnum", board_num, 0, fb); in bcm47xx_sprom_fill_auto() 204 ENTRY(0x00000002, u8, pre, "cc", country_code, 0, fb); in bcm47xx_sprom_fill_auto() 205 ENTRY(0xfffffff8, u8, pre, "regrev", regrev, 0, fb); in bcm47xx_sprom_fill_auto() 207 ENTRY(0xfffffffe, u8, pre, "ledbh0", gpio0, 0xff, fb); in bcm47xx_sprom_fill_auto() 208 ENTRY(0xfffffffe, u8, pre, "ledbh1", gpio1, 0xff, fb); in bcm47xx_sprom_fill_auto() [all …]
|
/Linux-v5.10/drivers/staging/fieldbus/ |
D | dev_core.c | 29 struct fieldbus_dev *fb = dev_get_drvdata(dev); in online_show() local 31 return sprintf(buf, "%d\n", !!fb->online); in online_show() 38 struct fieldbus_dev *fb = dev_get_drvdata(dev); in enabled_show() local 40 if (!fb->enable_get) in enabled_show() 42 return sprintf(buf, "%d\n", !!fb->enable_get(fb)); in enabled_show() 48 struct fieldbus_dev *fb = dev_get_drvdata(dev); in enabled_store() local 52 if (!fb->simple_enable_set) in enabled_store() 57 ret = fb->simple_enable_set(fb, value); in enabled_store() 67 struct fieldbus_dev *fb = dev_get_drvdata(dev); in card_name_show() local 73 return snprintf(buf, PAGE_SIZE, "%s\n", fb->card_name); in card_name_show() [all …]
|
/Linux-v5.10/drivers/gpu/drm/msm/ |
D | msm_fb.c | 34 void msm_framebuffer_describe(struct drm_framebuffer *fb, struct seq_file *m) in msm_framebuffer_describe() argument 36 int i, n = fb->format->num_planes; in msm_framebuffer_describe() 38 seq_printf(m, "fb: %dx%d@%4.4s (%2d, ID:%d)\n", in msm_framebuffer_describe() 39 fb->width, fb->height, (char *)&fb->format->format, in msm_framebuffer_describe() 40 drm_framebuffer_read_refcount(fb), fb->base.id); in msm_framebuffer_describe() 44 i, fb->offsets[i], fb->pitches[i]); in msm_framebuffer_describe() 45 msm_gem_describe(fb->obj[i], m); in msm_framebuffer_describe() 50 /* prepare/pin all the fb's bo's for scanout. Note that it is not valid 51 * to prepare an fb more multiple different initiator 'id's. But that 53 * this, the gpu doesn't care about fb's. [all …]
|
/Linux-v5.10/drivers/gpu/drm/ |
D | drm_framebuffer.c | 78 const struct drm_framebuffer *fb) in drm_framebuffer_check_src_coords() argument 82 fb_width = fb->width << 16; in drm_framebuffer_check_src_coords() 83 fb_height = fb->height << 16; in drm_framebuffer_check_src_coords() 85 /* Make sure source coordinates are inside the fb. */ in drm_framebuffer_check_src_coords() 91 "%u.%06ux%u.%06u+%u.%06u+%u.%06u (fb %ux%u)\n", in drm_framebuffer_check_src_coords() 96 fb->width, fb->height); in drm_framebuffer_check_src_coords() 104 * drm_mode_addfb - add an FB to the graphics configuration 109 * Add a new FB to the specified CRTC, given a user request. This is the 229 DRM_DEBUG_KMS("bad fb modifier %llu for plane %d\n", in framebuffer_check() 236 DRM_DEBUG_KMS("bad fb modifier %llu for plane %d\n", in framebuffer_check() [all …]
|
/Linux-v5.10/drivers/staging/fbtft/ |
D | Kconfig | 4 depends on FB && SPI 14 tristate "FB driver for the AGM1264K-FL LCD display" 20 tristate "FB driver for the BD663474 LCD Controller" 26 tristate "FB driver for the HX8340BN LCD Controller" 32 tristate "FB driver for the HX8347D LCD Controller" 38 tristate "FB driver for the HX8353D LCD Controller" 44 tristate "FB driver for the HX8357D LCD Controller" 50 tristate "FB driver for the ILI9163 LCD Controller" 56 tristate "FB driver for the ILI9320 LCD Controller" 62 tristate "FB driver for the ILI9325 LCD Controller" [all …]
|
/Linux-v5.10/drivers/gpu/drm/arm/display/komeda/ |
D | komeda_framebuffer.c | 16 static void komeda_fb_destroy(struct drm_framebuffer *fb) in komeda_fb_destroy() argument 18 struct komeda_fb *kfb = to_kfb(fb); in komeda_fb_destroy() 21 for (i = 0; i < fb->format->num_planes; i++) in komeda_fb_destroy() 22 drm_gem_object_put(fb->obj[i]); in komeda_fb_destroy() 24 drm_framebuffer_cleanup(fb); in komeda_fb_destroy() 28 static int komeda_fb_create_handle(struct drm_framebuffer *fb, in komeda_fb_create_handle() argument 31 return drm_gem_handle_create(file, fb->obj[0], handle); in komeda_fb_create_handle() 43 struct drm_framebuffer *fb = &kfb->base; in komeda_fb_afbc_size_check() local 44 const struct drm_format_info *info = fb->format; in komeda_fb_afbc_size_check() 55 switch (fb->modifier & AFBC_FORMAT_MOD_BLOCK_SIZE_MASK) { in komeda_fb_afbc_size_check() [all …]
|
/Linux-v5.10/drivers/gpu/drm/omapdrm/ |
D | omap_fb.c | 42 /* per-plane info for the fb: */ 58 static int omap_framebuffer_dirty(struct drm_framebuffer *fb, in omap_framebuffer_dirty() argument 66 drm_modeset_lock_all(fb->dev); in omap_framebuffer_dirty() 68 drm_for_each_crtc(crtc, fb->dev) in omap_framebuffer_dirty() 71 drm_modeset_unlock_all(fb->dev); in omap_framebuffer_dirty() 82 static u32 get_linear_addr(struct drm_framebuffer *fb, in get_linear_addr() argument 85 struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb); in get_linear_addr() 89 offset = fb->offsets[n] in get_linear_addr() 91 + (y * fb->pitches[n] / (n == 0 ? 1 : format->vsub)); in get_linear_addr() 96 bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb) in omap_framebuffer_supports_rotation() argument [all …]
|
/Linux-v5.10/drivers/gpu/drm/imx/dcss/ |
D | dcss-plane.c | 52 static inline bool dcss_plane_fb_is_linear(const struct drm_framebuffer *fb) in dcss_plane_fb_is_linear() argument 54 return ((fb->flags & DRM_MODE_FB_MODIFIERS) == 0) || in dcss_plane_fb_is_linear() 55 ((fb->flags & DRM_MODE_FB_MODIFIERS) != 0 && in dcss_plane_fb_is_linear() 56 fb->modifier == DRM_FORMAT_MOD_LINEAR); in dcss_plane_fb_is_linear() 144 struct drm_framebuffer *fb = state->fb; in dcss_plane_atomic_check() local 152 if (!fb || !state->crtc) in dcss_plane_atomic_check() 155 cma_obj = drm_fb_cma_get_gem_obj(fb, 0); in dcss_plane_atomic_check() 166 fb->format->format)) { in dcss_plane_atomic_check() 183 if (!dcss_plane_can_rotate(fb->format, in dcss_plane_atomic_check() 184 !!(fb->flags & DRM_MODE_FB_MODIFIERS), in dcss_plane_atomic_check() [all …]
|
/Linux-v5.10/drivers/media/platform/mtk-vcodec/vdec/ |
D | vdec_vp9_if.c | 44 * @fb : frmae buffer 48 struct vdec_fb *fb; member 77 * @fb : super frame reference frame buffer 82 struct vdec_fb fb; member 100 * @fb : capture buffer (AP-W, VPU-R) 143 struct vdec_fb fb; member 176 * @dec_fb : vdec_fb node to link fb to different fb_xxx_list 206 static bool vp9_is_sf_ref_fb(struct vdec_vp9_inst *inst, struct vdec_fb *fb) in vp9_is_sf_ref_fb() argument 212 if (fb == &vsi->sf_ref_fb[i].fb) in vp9_is_sf_ref_fb() 221 struct vdec_fb *fb = NULL; in vp9_rm_from_fb_use_list() local [all …]
|
D | vdec_vp8_if.c | 126 /* frame buffer (fb) list 127 * [available_fb_node_list] - decode fb are initialized to 0 and populated in 128 * [fb_use_list] - fb is set after decode and is moved to this list 129 * [fb_free_list] - fb is not needed for reference will be moved from 131 * once user remove fb from [fb_free_list], 133 * [fb_disp_list] - fb is set after decode and is moved to this list 134 * once user remove fb from [fb_disp_list] it is 289 mtk_vcodec_debug(inst, "fb size: Y(%d), C(%d)", in get_pic_info() 298 mtk_vcodec_debug(inst, "prev fb base dma=%llx", prev_y_dma); in vp8_dec_finish() 303 struct vdec_fb *fb = (struct vdec_fb *)node->fb; in vp8_dec_finish() local [all …]
|
/Linux-v5.10/drivers/gpu/drm/imx/ |
D | ipuv3-plane.c | 95 struct drm_framebuffer *fb = state->fb; in drm_plane_state_to_eba() local 100 cma_obj = drm_fb_cma_get_gem_obj(fb, plane); in drm_plane_state_to_eba() 103 return cma_obj->paddr + fb->offsets[plane] + fb->pitches[plane] * y + in drm_plane_state_to_eba() 104 fb->format->cpp[plane] * x; in drm_plane_state_to_eba() 110 struct drm_framebuffer *fb = state->fb; in drm_plane_state_to_ubo() local 116 cma_obj = drm_fb_cma_get_gem_obj(fb, 1); in drm_plane_state_to_ubo() 119 x /= fb->format->hsub; in drm_plane_state_to_ubo() 120 y /= fb->format->vsub; in drm_plane_state_to_ubo() 122 return cma_obj->paddr + fb->offsets[1] + fb->pitches[1] * y + in drm_plane_state_to_ubo() 123 fb->format->cpp[1] * x - eba; in drm_plane_state_to_ubo() [all …]
|
/Linux-v5.10/drivers/gpu/drm/i915/display/ |
D | intel_fbdev.c | 51 return ifbdev->fb->frontbuffer; in to_frontbuffer() 118 struct drm_framebuffer *fb; in intelfb_alloc() local 140 /* If the FB is too big, just don't use it since fbdev is not very in intelfb_alloc() 153 fb = intel_framebuffer_create(obj, &mode_cmd); in intelfb_alloc() 155 if (IS_ERR(fb)) in intelfb_alloc() 156 return PTR_ERR(fb); in intelfb_alloc() 158 ifbdev->fb = to_intel_framebuffer(fb); in intelfb_alloc() 167 struct intel_framebuffer *intel_fb = ifbdev->fb; in intelfb_create() 187 "BIOS fb too small (%dx%d), we require (%dx%d)," in intelfb_create() 192 intel_fb = ifbdev->fb = NULL; in intelfb_create() [all …]
|
/Linux-v5.10/drivers/gpu/drm/armada/ |
D | armada_plane.c | 40 struct drm_framebuffer *fb = state->fb; in armada_drm_plane_calc() local 41 const struct drm_format_info *format = fb->format; in armada_drm_plane_calc() 45 u32 addr = drm_fb_obj(fb)->dev_addr; in armada_drm_plane_calc() 49 fb->pitches[0], x, y, format->cpp[0] * 8); in armada_drm_plane_calc() 54 addrs[0][0] = addr + fb->offsets[0] + y * fb->pitches[0] + in armada_drm_plane_calc() 56 pitches[0] = fb->pitches[0]; in armada_drm_plane_calc() 62 addrs[0][i] = addr + fb->offsets[i] + y * fb->pitches[i] + in armada_drm_plane_calc() 64 pitches[i] = fb->pitches[i]; in armada_drm_plane_calc() 84 DRM_DEBUG_KMS("[PLANE:%d:%s] [FB:%d]\n", in armada_drm_plane_prepare_fb() 86 state->fb ? state->fb->base.id : 0); in armada_drm_plane_prepare_fb() [all …]
|
/Linux-v5.10/include/drm/ |
D | drm_framebuffer.h | 73 int (*create_handle)(struct drm_framebuffer *fb, 79 * Optional callback for the dirty fb IOCTL. 106 * Note that the fb is refcounted for the benefit of driver internals, 111 * hold a ref to the fb even though it has already been removed from 134 * @comm: Name of the process allocating the fb, used for fb dumping. 219 struct drm_framebuffer *fb, 224 void drm_framebuffer_remove(struct drm_framebuffer *fb); 225 void drm_framebuffer_cleanup(struct drm_framebuffer *fb); 226 void drm_framebuffer_unregister_private(struct drm_framebuffer *fb); 230 * @fb: DRM framebuffer [all …]
|
/Linux-v5.10/drivers/gpu/drm/xen/ |
D | xen_drm_front_kms.c | 36 static void fb_destroy(struct drm_framebuffer *fb) in fb_destroy() argument 38 struct xen_drm_front_drm_info *drm_info = fb->dev->dev_private; in fb_destroy() 41 if (drm_dev_enter(fb->dev, &idx)) { in fb_destroy() 43 xen_drm_front_fb_to_cookie(fb)); in fb_destroy() 46 drm_gem_fb_destroy(fb); in fb_destroy() 58 struct drm_framebuffer *fb; in fb_create() local 62 fb = drm_gem_fb_create_with_funcs(dev, filp, mode_cmd, &fb_funcs); in fb_create() 63 if (IS_ERR(fb)) in fb_create() 64 return fb; in fb_create() 66 gem_obj = fb->obj[0]; in fb_create() [all …]
|
/Linux-v5.10/drivers/gpu/drm/selftests/ |
D | test-drm_damage_helper.c | 80 struct drm_framebuffer fb = { in igt_damage_iter_no_damage() local 87 .fb = &fb, in igt_damage_iter_no_damage() 91 /* Plane src same as fb size. */ in igt_damage_iter_no_damage() 92 set_plane_src(&old_state, 0, 0, fb.width << 16, fb.height << 16); in igt_damage_iter_no_damage() 93 set_plane_src(&state, 0, 0, fb.width << 16, fb.height << 16); in igt_damage_iter_no_damage() 111 struct drm_framebuffer fb = { in igt_damage_iter_no_damage_fractional_src() local 118 .fb = &fb, in igt_damage_iter_no_damage_fractional_src() 144 struct drm_framebuffer fb = { in igt_damage_iter_no_damage_src_moved() local 151 .fb = &fb, in igt_damage_iter_no_damage_src_moved() 176 struct drm_framebuffer fb = { in igt_damage_iter_no_damage_fractional_src_moved() local [all …]
|