| /linux/drivers/video/fbdev/ |
| H A 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 …]
|
| H A 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 …]
|
| H A 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 …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/fb/ |
| H A 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() 63 struct nvkm_fb *fb = device->fb; in nvkm_fb_sysmem_flush_page_init() local 65 if (fb->func->sysmem.flush_page_init) in nvkm_fb_sysmem_flush_page_init() [all …]
|
| H A 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() 68 gf100_fb_init_page(struct nvkm_fb *fb) in gf100_fb_init_page() argument 70 struct nvkm_device *device = fb->subdev.device; in gf100_fb_init_page() 71 switch (fb->page) { in gf100_fb_init_page() [all …]
|
| H A 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() 197 struct nv50_fb *fb = nv50_fb(base); in nv50_fb_init() local 198 struct nvkm_device *device = fb->base.subdev.device; in nv50_fb_init() 202 nvkm_wr32(device, 0x100c90, fb->func->trap); in nv50_fb_init() 208 struct nv50_fb *fb = nv50_fb(base); in nv50_fb_tags() local 209 if (fb->func->tags) in nv50_fb_tags() [all …]
|
| H A D | nv30.c | 30 nv30_fb_tile_init(struct nvkm_fb *fb, int i, u32 addr, u32 size, u32 pitch, in nv30_fb_tile_init() argument 37 if (fb->func->tile.comp) /* z compression */ in nv30_fb_tile_init() 38 fb->func->tile.comp(fb, i, size, flags, tile); in nv30_fb_tile_init() 49 nv30_fb_tile_comp(struct nvkm_fb *fb, int i, u32 size, u32 flags, in nv30_fb_tile_comp() argument 53 u32 tags = round_up(tiles / fb->ram->parts, 0x40); in nv30_fb_tile_comp() 54 if (!nvkm_mm_head(&fb->tags.mm, 0, 1, tags, tags, 1, &tile->tag)) { in nv30_fb_tile_comp() 66 calc_bias(struct nvkm_fb *fb, int k, int i, int j) in calc_bias() argument 68 struct nvkm_device *device = fb->subdev.device; in calc_bias() 78 calc_ref(struct nvkm_fb *fb, int l, int k, int i) in calc_ref() argument 83 int m = (l >> (8 * i) & 0xff) + calc_bias(fb, k, i, j); in calc_ref() [all …]
|
| H A D | r535.c | 32 r535_fb_ram_new(struct nvkm_fb *fb, struct nvkm_ram **pram) in r535_fb_ram_new() argument 34 struct nvkm_gsp *gsp = fb->subdev.device->gsp; in r535_fb_ram_new() 42 ram->fb = fb; in r535_fb_ram_new() 44 ram->size = gsp->fb.size; in r535_fb_ram_new() 48 for (int i = 0; i < gsp->fb.region_nr; i++) { in r535_fb_ram_new() 50 gsp->fb.region[i].addr >> NVKM_RAM_MM_SHIFT, in r535_fb_ram_new() 51 gsp->fb.region[i].size >> NVKM_RAM_MM_SHIFT, in r535_fb_ram_new() 61 r535_fb_dtor(struct nvkm_fb *fb) in r535_fb_dtor() argument 63 kfree(fb->func); in r535_fb_dtor() 64 return fb; in r535_fb_dtor()
|
| /linux/drivers/gpu/drm/omapdrm/ |
| H A D | omap_fb.c | 46 /* per-plane info for the fb: */ 62 static int omap_framebuffer_dirty(struct drm_framebuffer *fb, in omap_framebuffer_dirty() argument 70 drm_modeset_lock_all(fb->dev); in omap_framebuffer_dirty() 72 drm_for_each_crtc(crtc, fb->dev) in omap_framebuffer_dirty() 75 drm_modeset_unlock_all(fb->dev); in omap_framebuffer_dirty() 86 static u32 get_linear_addr(struct drm_framebuffer *fb, in get_linear_addr() argument 89 struct omap_framebuffer *omap_fb = to_omap_framebuffer(fb); in get_linear_addr() 93 offset = fb->offsets[n] in get_linear_addr() 95 + (y * fb->pitches[n] / (n == 0 ? 1 : format->vsub)); in get_linear_addr() 100 bool omap_framebuffer_supports_rotation(struct drm_framebuffer *fb) in omap_framebuffer_supports_rotation() argument [all …]
|
| /linux/drivers/gpu/drm/msm/disp/dpu1/ |
| H A D | dpu_formats.c | 58 struct drm_framebuffer *fb, in _dpu_format_populate_plane_sizes_ubwc() argument 72 stride = roundup(fb->width, 192); in _dpu_format_populate_plane_sizes_ubwc() 76 stride = round_up(fb->width * 2, 256); in _dpu_format_populate_plane_sizes_ubwc() 80 y_sclines = round_up(fb->height, 16); in _dpu_format_populate_plane_sizes_ubwc() 81 uv_sclines = round_up((fb->height+1)>>1, 16); in _dpu_format_populate_plane_sizes_ubwc() 84 stride = round_up(fb->width, 128); in _dpu_format_populate_plane_sizes_ubwc() 87 y_sclines = round_up(fb->height, 32); in _dpu_format_populate_plane_sizes_ubwc() 88 uv_sclines = round_up((fb->height+1)>>1, 32); in _dpu_format_populate_plane_sizes_ubwc() 103 y_meta_stride = DIV_ROUND_UP(fb->width, y_tile_width); in _dpu_format_populate_plane_sizes_ubwc() 106 y_meta_scanlines = DIV_ROUND_UP(fb->height, y_tile_height); in _dpu_format_populate_plane_sizes_ubwc() [all …]
|
| /linux/drivers/gpu/drm/ |
| H A D | drm_gem_framebuffer_helper.c | 45 * @fb: Framebuffer 55 struct drm_gem_object *drm_gem_fb_get_obj(struct drm_framebuffer *fb, in drm_gem_fb_get_obj() argument 58 struct drm_device *dev = fb->dev; in drm_gem_fb_get_obj() 60 if (drm_WARN_ON_ONCE(dev, plane >= ARRAY_SIZE(fb->obj))) in drm_gem_fb_get_obj() 62 else if (drm_WARN_ON_ONCE(dev, !fb->obj[plane])) in drm_gem_fb_get_obj() 65 return fb->obj[plane]; in drm_gem_fb_get_obj() 71 struct drm_framebuffer *fb, in drm_gem_fb_init() argument 80 drm_helper_mode_fill_fb_struct(dev, fb, info, mode_cmd); in drm_gem_fb_init() 83 fb->obj[i] = obj[i]; in drm_gem_fb_init() 85 ret = drm_framebuffer_init(dev, fb, funcs); in drm_gem_fb_init() [all …]
|
| H A D | drm_fbdev_shmem.c | 4 #include <linux/fb.h> 46 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_shmem_fb_mmap() local 47 struct drm_gem_object *obj = drm_gem_fb_get_obj(fb, 0); in drm_fbdev_shmem_fb_mmap() 85 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_shmem_get_page() local 86 struct drm_gem_object *obj = drm_gem_fb_get_obj(fb, 0); in drm_fbdev_shmem_get_page() 116 if (helper->fb->funcs->dirty) { in drm_fbdev_shmem_helper_fb_dirty() 117 ret = helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, clip, 1); in drm_fbdev_shmem_helper_fb_dirty() 141 struct drm_framebuffer *fb; in drm_fbdev_shmem_driver_fbdev_probe() local 157 fb = buffer->fb; in drm_fbdev_shmem_driver_fbdev_probe() 169 fb_helper->fb = fb; in drm_fbdev_shmem_driver_fbdev_probe() [all …]
|
| H A D | drm_fbdev_dma.c | 4 #include <linux/fb.h> 113 struct drm_framebuffer *fb = fb_helper->fb; in drm_fbdev_dma_damage_blit_real() local 114 size_t offset = clip->y1 * fb->pitches[0]; in drm_fbdev_dma_damage_blit_real() 119 switch (drm_format_info_bpp(fb->format, 0)) { in drm_fbdev_dma_damage_blit_real() 133 offset += clip->x1 * fb->format->cpp[0]; in drm_fbdev_dma_damage_blit_real() 134 len *= fb->format->cpp[0]; in drm_fbdev_dma_damage_blit_real() 143 iosys_map_incr(dst, fb->pitches[0]); in drm_fbdev_dma_damage_blit_real() 144 src += fb->pitches[0]; in drm_fbdev_dma_damage_blit_real() 178 if (helper->fb->funcs->dirty) { in drm_fbdev_dma_helper_fb_dirty() 183 ret = helper->fb->funcs->dirty(helper->fb, NULL, 0, 0, clip, 1); in drm_fbdev_dma_helper_fb_dirty() [all …]
|
| H A D | drm_plane.c | 753 if (!plane->fb) in drm_plane_force_disable() 758 plane->old_fb = plane->fb; in drm_plane_force_disable() 761 DRM_ERROR("failed to disable plane with busy fb\n"); in drm_plane_force_disable() 765 /* disconnect the plane from the fb and crtc: */ in drm_plane_force_disable() 768 plane->fb = NULL; in drm_plane_force_disable() 875 if (plane->state && plane->state->fb) in drm_mode_getplane() 876 plane_resp->fb_id = plane->state->fb->base.id; in drm_mode_getplane() 877 else if (!plane->state && plane->fb) in drm_mode_getplane() 878 plane_resp->fb_id = plane->fb->base.id; in drm_mode_getplane() 949 struct drm_framebuffer *fb, in __setplane_check() argument [all …]
|
| /linux/drivers/media/platform/mediatek/vcodec/decoder/vdec/ |
| H A D | vdec_vp8_if.c | 123 /* frame buffer (fb) list 124 * [available_fb_node_list] - decode fb are initialized to 0 and populated in 125 * [fb_use_list] - fb is set after decode and is moved to this list 126 * [fb_free_list] - fb is not needed for reference will be moved from 128 * once user remove fb from [fb_free_list], 130 * [fb_disp_list] - fb is set after decode and is moved to this list 131 * once user remove fb from [fb_disp_list] it is 286 mtk_vdec_debug(inst->ctx, "fb size: Y(%d), C(%d)", in get_pic_info() 295 mtk_vdec_debug(inst->ctx, "prev fb base dma=%llx", prev_y_dma); in vp8_dec_finish() 300 struct vdec_fb *fb = (struct vdec_fb *)node->fb; in vp8_dec_finish() local [all …]
|
| H A D | vdec_h264_if.c | 218 static void put_fb_to_free(struct vdec_h264_inst *inst, struct vdec_fb *fb) in put_fb_to_free() argument 222 if (fb) { in put_fb_to_free() 228 mtk_vdec_err(inst->ctx, "[FB] put fb free_list full"); in put_fb_to_free() 232 mtk_vdec_debug(inst->ctx, "[FB] put fb into free_list @(%p, %llx)", in put_fb_to_free() 233 fb->base_y.va, (u64)fb->base_y.dma_addr); in put_fb_to_free() 235 list->fb_list[list->write_idx].vdec_fb_va = (u64)(uintptr_t)fb; in put_fb_to_free() 248 mtk_vdec_debug(inst->ctx, "fb size: Y(%d), C(%d)", pic->fb_sz[0], pic->fb_sz[1]); in get_pic_info() 330 struct vdec_fb *fb, bool *res_chg) in vdec_h264_decode() argument 341 uint64_t vdec_fb_va = (u64)(uintptr_t)fb; in vdec_h264_decode() 342 uint64_t y_fb_dma = fb ? (u64)fb->base_y.dma_addr : 0; in vdec_h264_decode() [all …]
|
| /linux/include/drm/ |
| H A D | drm_framebuffer.h | 74 int (*create_handle)(struct drm_framebuffer *fb, 80 * Optional callback for the dirty fb IOCTL. 109 * Note that the fb is refcounted for the benefit of driver internals, 114 * hold a ref to the fb even though it has already been removed from 137 * @comm: Name of the process allocating the fb, used for fb dumping. 214 struct drm_framebuffer *fb, 219 void drm_framebuffer_remove(struct drm_framebuffer *fb); 220 void drm_framebuffer_cleanup(struct drm_framebuffer *fb); 221 void drm_framebuffer_unregister_private(struct drm_framebuffer *fb); 225 * @fb: DRM framebuffer [all …]
|
| /linux/Documentation/translations/zh_CN/dev-tools/ |
| H A D | kasan.rst | 202 ffff8801f44ec200: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb 203 ffff8801f44ec280: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc 206 ffff8801f44ec380: fc fc fc fc fc fc fc fc fb fb fb fb fb fb fb fb 207 ffff8801f44ec400: fb fb fb fb fb fb fb fb fc fc fc fc fc fc fc fc
|
| /linux/sound/core/ |
| H A D | ump.c | 111 struct snd_ump_block *fb; in snd_ump_endpoint_free() local 114 fb = list_first_entry(&ump->block_list, struct snd_ump_block, in snd_ump_endpoint_free() 116 list_del(&fb->list); in snd_ump_endpoint_free() 117 if (fb->private_free) in snd_ump_endpoint_free() 118 fb->private_free(fb); in snd_ump_endpoint_free() 119 kfree(fb); in snd_ump_endpoint_free() 243 struct snd_ump_block *fb; in snd_ump_get_block() local 245 list_for_each_entry(fb, &ump->block_list, list) { in snd_ump_get_block() 246 if (fb in snd_ump_get_block() 403 struct snd_ump_block *fb, *p; snd_ump_block_new() local 448 struct snd_ump_block *fb; snd_ump_ioctl_block() local 516 struct snd_ump_block *fb; snd_ump_proc_read() local 562 struct snd_ump_block *fb; snd_ump_update_group_attrs() local 875 is_fb_info_updated(struct snd_ump_endpoint * ump,struct snd_ump_block * fb,const union snd_ump_stream_msg * buf) is_fb_info_updated() argument 893 seq_notify_fb_change(struct snd_ump_endpoint * ump,struct snd_ump_block * fb) seq_notify_fb_change() argument 906 struct snd_ump_block *fb; ump_handle_fb_info_msg() local 939 struct snd_ump_block *fb; ump_handle_fb_name_msg() local 967 struct snd_ump_block *fb; create_block_from_fb_info() local 1289 struct snd_ump_block *fb; fill_legacy_mapping() local [all...] |
| /linux/drivers/gpu/drm/nouveau/nvkm/subdev/devinit/ |
| H A D | nv10.c | 40 struct io_mapping *fb; in nv10_devinit_meminit() local 49 fb = fbmem_init(device); in nv10_devinit_meminit() 50 if (!fb) { in nv10_devinit_meminit() 51 nvkm_error(subdev, "failed to map fb\n"); in nv10_devinit_meminit() 63 fbmem_poke(fb, 0x1c, 0); in nv10_devinit_meminit() 65 fbmem_poke(fb, 0x1c, patt); in nv10_devinit_meminit() 66 fbmem_poke(fb, 0x3c, 0); in nv10_devinit_meminit() 68 if (fbmem_peek(fb, 0x1c) == patt) in nv10_devinit_meminit() 80 fbmem_poke(fb, off, patt); in nv10_devinit_meminit() 81 fbmem_poke(fb, 0, 0); in nv10_devinit_meminit() [all …]
|
| /linux/drivers/firmware/google/ |
| H A D | framebuffer-coreboot.c | 81 struct lb_framebuffer *fb = &dev->framebuffer; in framebuffer_probe() local 88 .width = fb->x_resolution, in framebuffer_probe() 89 .height = fb->y_resolution, in framebuffer_probe() 90 .stride = fb->bytes_per_line, in framebuffer_probe() 110 if (!fb->physical_address) in framebuffer_probe() 113 res = DEFINE_RES_MEM(fb->physical_address, in framebuffer_probe() 114 PAGE_ALIGN(fb->y_resolution * fb->bytes_per_line)); in framebuffer_probe() 124 &res, 1, fb, fb->size); in framebuffer_probe() 137 if (fb->bits_per_pixel == formats[i].bits_per_pixel && in framebuffer_probe() 138 fb->red_mask_pos == formats[i].red.offset && in framebuffer_probe() [all …]
|
| /linux/drivers/gpu/drm/renesas/rcar-du/ |
| H A D | rcar_du_writeback.c | 57 if (!job->fb) in rcar_du_wb_prepare_job() 65 ret = rcar_du_vsp_map_fb(rcrtc->vsp, job->fb, rjob->sg_tables); in rcar_du_wb_prepare_job() 81 if (!job->fb) in rcar_du_wb_cleanup_job() 84 rcar_du_vsp_unmap_fb(rcrtc->vsp, job->fb, rjob->sg_tables); in rcar_du_wb_cleanup_job() 150 struct drm_framebuffer *fb; in rcar_du_wb_enc_atomic_check() local 155 fb = conn_state->writeback_job->fb; in rcar_du_wb_enc_atomic_check() 161 if (fb->width != mode->hdisplay || fb->height != mode->vdisplay) { in rcar_du_wb_enc_atomic_check() 163 __func__, fb->width, fb->height); in rcar_du_wb_enc_atomic_check() 167 wb_state->format = rcar_du_format_info(fb->format->format); in rcar_du_wb_enc_atomic_check() 170 &fb->format->format); in rcar_du_wb_enc_atomic_check() [all …]
|
| /linux/drivers/video/fbdev/core/ |
| H A D | svgalib.c | 17 #include <linux/fb.h> 173 pr_debug("fb%d: var.vmode : 0x%X\n", node, var->vmode); 174 pr_debug("fb%d: var.xres : %d\n", node, var->xres); 175 pr_debug("fb%d: var.yres : %d\n", node, var->yres); 176 pr_debug("fb%d: var.bits_per_pixel: %d\n", node, var->bits_per_pixel); 177 pr_debug("fb%d: var.xres_virtual : %d\n", node, var->xres_virtual); 178 pr_debug("fb%d: var.yres_virtual : %d\n", node, var->yres_virtual); 179 pr_debug("fb%d: var.left_margin : %d\n", node, var->left_margin); 180 pr_debug("fb%d: var.right_margin : %d\n", node, var->right_margin); 181 pr_debug("fb%d: var.upper_margin : %d\n", node, var->upper_margin); [all …]
|
| H A D | Makefile | 3 obj-$(CONFIG_FB_CORE) += fb.o 4 fb-y := fb_info.o \ 8 fb-y += fb_backlight.o fbmon.o 10 fb-$(CONFIG_FB_DEFERRED_IO) += fb_defio.o 11 fb-$(CONFIG_FB_DEVICE) += fb_chrdev.o \ 16 fb-y += fbcon.o bitblit.o softcursor.o 18 fb-y += tileblit.o 21 fb-y += fbcon_rotate.o fbcon_cw.o fbcon_ud.o \ 26 fb-$(CONFIG_LOGO) += fb_logo.o
|
| /linux/drivers/gpu/drm/nouveau/nvkm/core/ |
| H A D | memory.c | 26 #include <subdev/fb.h> 33 struct nvkm_fb *fb = device->fb; in nvkm_memory_tags_put() local 36 mutex_lock(&fb->tags.mutex); in nvkm_memory_tags_put() 38 nvkm_mm_free(&fb->tags.mm, &tags->mn); in nvkm_memory_tags_put() 42 mutex_unlock(&fb->tags.mutex); in nvkm_memory_tags_put() 52 struct nvkm_fb *fb = device->fb; in nvkm_memory_tags_get() local 55 mutex_lock(&fb->tags.mutex); in nvkm_memory_tags_get() 62 mutex_unlock(&fb->tags.mutex); in nvkm_memory_tags_get() 67 mutex_unlock(&fb->tags.mutex); in nvkm_memory_tags_get() 73 mutex_unlock(&fb->tags.mutex); in nvkm_memory_tags_get() [all …]
|