/kernel/linux/linux-5.10/drivers/gpu/drm/ |
D | drm_vblank_work.c | 46 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) in drm_handle_vblank_works() argument 49 u64 count = atomic64_read(&vblank->count); in drm_handle_vblank_works() 52 assert_spin_locked(&vblank->dev->event_lock); in drm_handle_vblank_works() 54 list_for_each_entry_safe(work, next, &vblank->pending_work, node) { in drm_handle_vblank_works() 59 drm_vblank_put(vblank->dev, vblank->pipe); in drm_handle_vblank_works() 60 kthread_queue_work(vblank->worker, &work->base); in drm_handle_vblank_works() 64 wake_up_all(&vblank->work_wait_queue); in drm_handle_vblank_works() 70 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank) in drm_vblank_cancel_pending_works() argument 74 assert_spin_locked(&vblank->dev->event_lock); in drm_vblank_cancel_pending_works() 76 list_for_each_entry_safe(work, next, &vblank->pending_work, node) { in drm_vblank_cancel_pending_works() [all …]
|
D | drm_vblank.c | 173 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in store_vblank() local 177 vblank->last = last; in store_vblank() 179 write_seqlock(&vblank->seqlock); in store_vblank() 180 vblank->time = t_vblank; in store_vblank() 181 atomic64_add(vblank_count_inc, &vblank->count); in store_vblank() 182 write_sequnlock(&vblank->seqlock); in store_vblank() 187 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in drm_max_vblank_count() local 189 return vblank->max_vblank_count ?: dev->max_vblank_count; in drm_max_vblank_count() 278 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in drm_update_vblank_count() local 283 int framedur_ns = vblank->framedur_ns; in drm_update_vblank_count() [all …]
|
D | drm_internal.h | 112 static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank) in drm_vblank_flush_worker() argument 114 kthread_flush_worker(vblank->worker); in drm_vblank_flush_worker() 117 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) in drm_vblank_destroy_worker() argument 119 if (vblank->worker) in drm_vblank_destroy_worker() 120 kthread_destroy_worker(vblank->worker); in drm_vblank_destroy_worker() 123 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank); 124 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank); 125 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank);
|
D | drm_irq.c | 187 struct drm_vblank_crtc *vblank = &dev->vblank[i]; in drm_irq_uninstall() local 189 if (!vblank->enabled) in drm_irq_uninstall() 195 wake_up(&vblank->queue); in drm_irq_uninstall()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/sw/ |
D | nv50.c | 42 container_of(notify, typeof(*chan), vblank.notify[notify->index]); in nv50_sw_chan_vblsem_release() 47 nvkm_wr32(device, 0x001710, 0x80000000 | chan->vblank.ctxdma); in nv50_sw_chan_vblsem_release() 51 nvkm_wr32(device, 0x001570, chan->vblank.offset); in nv50_sw_chan_vblsem_release() 52 nvkm_wr32(device, 0x001574, chan->vblank.value); in nv50_sw_chan_vblsem_release() 54 nvkm_wr32(device, 0x060010, chan->vblank.offset); in nv50_sw_chan_vblsem_release() 55 nvkm_wr32(device, 0x060014, chan->vblank.value); in nv50_sw_chan_vblsem_release() 68 case 0x018c: chan->vblank.ctxdma = data; return true; in nv50_sw_chan_mthd() 69 case 0x0400: chan->vblank.offset = data; return true; in nv50_sw_chan_mthd() 70 case 0x0404: chan->vblank.value = data; return true; in nv50_sw_chan_mthd() 72 if (data < device->disp->vblank.index_nr) { in nv50_sw_chan_mthd() [all …]
|
D | gf100.c | 42 container_of(notify, typeof(*chan), vblank.notify[notify->index]); in gf100_sw_chan_vblsem_release() 49 nvkm_wr32(device, 0x06000c, upper_32_bits(chan->vblank.offset)); in gf100_sw_chan_vblsem_release() 50 nvkm_wr32(device, 0x060010, lower_32_bits(chan->vblank.offset)); in gf100_sw_chan_vblsem_release() 51 nvkm_wr32(device, 0x060014, chan->vblank.value); in gf100_sw_chan_vblsem_release() 64 chan->vblank.offset &= 0x00ffffffffULL; in gf100_sw_chan_mthd() 65 chan->vblank.offset |= (u64)data << 32; in gf100_sw_chan_mthd() 68 chan->vblank.offset &= 0xff00000000ULL; in gf100_sw_chan_mthd() 69 chan->vblank.offset |= data; in gf100_sw_chan_mthd() 72 chan->vblank.value = data; in gf100_sw_chan_mthd() 75 if (data < device->disp->vblank.index_nr) { in gf100_sw_chan_mthd() [all …]
|
D | nv50.h | 17 } vblank; member
|
/kernel/linux/linux-5.10/drivers/media/test-drivers/vivid/ |
D | vivid-osd.c | 74 struct fb_vblank vblank; in vivid_fb_ioctl() local 76 memset(&vblank, 0, sizeof(vblank)); in vivid_fb_ioctl() 77 vblank.flags = FB_VBLANK_HAVE_COUNT | FB_VBLANK_HAVE_VCOUNT | in vivid_fb_ioctl() 79 vblank.count = 0; in vivid_fb_ioctl() 80 vblank.vcount = 0; in vivid_fb_ioctl() 81 vblank.hcount = 0; in vivid_fb_ioctl() 82 if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank))) in vivid_fb_ioctl()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/vkms/ |
D | vkms_crtc.c | 60 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vkms_enable_vblank() local 67 out->period_ns = ktime_set(0, vblank->framedur_ns); in vkms_enable_vblank() 88 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vkms_get_vblank_timestamp() local 90 if (!READ_ONCE(vblank->enabled)) { in vkms_get_vblank_timestamp() 97 if (WARN_ON(*vblank_time == vblank->time)) in vkms_get_vblank_timestamp()
|
/kernel/linux/linux-5.10/drivers/video/fbdev/matrox/ |
D | matroxfb_crtc2.c | 403 …ic int matroxfb_dh_get_vblank(const struct matroxfb_dh_fb_info* m2info, struct fb_vblank* vblank) { in matroxfb_dh_get_vblank() argument 407 memset(vblank, 0, sizeof(*vblank)); in matroxfb_dh_get_vblank() 408 vblank->flags = FB_VBLANK_HAVE_VCOUNT | FB_VBLANK_HAVE_VBLANK; in matroxfb_dh_get_vblank() 410 vblank->vcount = mga_inl(0x3C48) & 0x000007FF; in matroxfb_dh_get_vblank() 412 if (vblank->vcount >= m2info->fbcon.var.yres) in matroxfb_dh_get_vblank() 413 vblank->flags |= FB_VBLANK_VBLANKING; in matroxfb_dh_get_vblank() 415 vblank->flags |= FB_VBLANK_HAVE_COUNT; in matroxfb_dh_get_vblank() 418 vblank->count = minfo->crtc2.vsync.cnt; in matroxfb_dh_get_vblank() 435 struct fb_vblank vblank; in matroxfb_dh_ioctl() local 438 err = matroxfb_dh_get_vblank(m2info, &vblank); in matroxfb_dh_ioctl() [all …]
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | base.c | 45 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank); in nvkm_disp_vblank_fini() 54 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank); in nvkm_disp_vblank_init() 65 container_of(notify->event, typeof(*disp), vblank); in nvkm_disp_vblank_ctor() 73 if (ret = -ENXIO, req->v0.head <= disp->vblank.index_nr) { in nvkm_disp_vblank_ctor() 94 nvkm_event_send(&disp->vblank, 1, head, &rep, sizeof(rep)); in nvkm_disp_vblank() 137 *event = &disp->vblank; in nvkm_disp_ntfy() 420 return nvkm_event_init(&nvkm_disp_vblank_func, 1, i, &disp->vblank); in nvkm_disp_oneinit() 434 nvkm_event_fini(&disp->vblank); in nvkm_disp_dtor()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/gma500/ |
D | mdfld_device.c | 195 pipe->vblank = PSB_RVDC32(map->vblank); in mdfld_save_display_registers() 321 PSB_WVDC32(pipe->vblank, map->vblank); in mdfld_restore_display_registers() 450 .vblank = VBLANK_A, 472 .vblank = VBLANK_B, 495 .vblank = VBLANK_C,
|
D | oaktrail_device.c | 207 p->vblank = PSB_RVDC32(VBLANK_A); in oaktrail_save_display_registers() 327 PSB_WVDC32(p->vblank, VBLANK_A); in oaktrail_restore_display_registers() 465 .vblank = VBLANK_A, 489 .vblank = VBLANK_B,
|
/kernel/linux/linux-5.10/drivers/gpu/drm/msm/disp/mdp4/ |
D | mdp4_crtc.c | 56 struct mdp_irq vblank; member 72 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending() 499 struct mdp4_crtc *mdp4_crtc = container_of(irq, struct mdp4_crtc, vblank); in mdp4_crtc_vblank_irq() 504 mdp_irq_unregister(&get_kms(crtc)->base, &mdp4_crtc->vblank); in mdp4_crtc_vblank_irq() 537 ret = wait_event_timeout(dev->vblank[drm_crtc_index(crtc)].queue, in mdp4_crtc_wait_for_flush_done() 552 return mdp4_crtc->vblank.irqmask; in mdp4_crtc_vblank() 637 mdp4_crtc->vblank.irqmask = dma2irq(mdp4_crtc->dma); in mdp4_crtc_init() 638 mdp4_crtc->vblank.irq = mdp4_crtc_vblank_irq; in mdp4_crtc_init()
|
/kernel/linux/linux-5.10/drivers/video/fbdev/core/ |
D | fbmon.c | 1022 u32 vblank; member 1044 u32 vblank; in fb_get_vblank() local 1046 vblank = (hfreq * FLYBACK)/1000; in fb_get_vblank() 1047 vblank = (vblank + 500)/1000; in fb_get_vblank() 1048 return (vblank + V_FRONTPORCH); in fb_get_vblank() 1151 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_vfreq() 1152 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_vfreq() 1161 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_hfreq() 1162 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_hfreq() 1176 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_dclk() [all …]
|
/kernel/linux/linux-5.10/drivers/media/i2c/ |
D | mt9v011.c | 204 unsigned height, width, hblank, vblank, speed; in calc_fps() local 212 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK); in calc_fps() 216 t_time = row_time * (height + vblank + 1); in calc_fps() 234 unsigned height, width, hblank, vblank; in calc_speed() local 245 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK); in calc_speed() 248 line_time = height + vblank + 1; in calc_speed()
|
D | mt9m032.c | 185 unsigned int vblank; in mt9m032_update_timing() local 193 vblank = div_u64(1000000000ULL * interval->numerator, in mt9m032_update_timing() 197 if (vblank > MT9M032_VBLANK_MAX) { in mt9m032_update_timing() 204 vblank = div_u64(1000000000ULL * interval->numerator, in mt9m032_update_timing() 210 vblank = clamp_t(unsigned int, vblank, min_vblank, MT9M032_VBLANK_MAX); in mt9m032_update_timing() 212 return mt9m032_write(client, MT9M032_VBLANK, vblank); in mt9m032_update_timing()
|
D | imx258.c | 598 struct v4l2_ctrl *vblank; member 896 imx258->vblank, vblank_min, in imx258_set_pad_format() 899 __v4l2_ctrl_s_ctrl(imx258->vblank, vblank_def); in imx258_set_pad_format() 1135 imx258->vblank = v4l2_ctrl_new_std( in imx258_init_controls() 1141 if (imx258->vblank) in imx258_init_controls() 1142 imx258->vblank->flags |= V4L2_CTRL_FLAG_READ_ONLY; in imx258_init_controls()
|
/kernel/linux/linux-5.10/drivers/video/fbdev/ |
D | tmiofb.c | 483 static int tmiofb_vblank(struct fb_info *fbi, struct fb_vblank *vblank) in tmiofb_vblank() argument 490 vblank->vcount = vcount; in tmiofb_vblank() 491 vblank->flags = FB_VBLANK_HAVE_VBLANK | FB_VBLANK_HAVE_VCOUNT in tmiofb_vblank() 495 vblank->flags |= FB_VBLANK_VSYNCING; in tmiofb_vblank() 498 vblank->flags |= FB_VBLANK_VBLANKING; in tmiofb_vblank() 509 struct fb_vblank vblank = {0}; in tmiofb_ioctl() local 512 tmiofb_vblank(fbi, &vblank); in tmiofb_ioctl() 513 if (copy_to_user(argp, &vblank, sizeof vblank)) in tmiofb_ioctl()
|
D | ps3fb.c | 748 static int ps3fb_get_vblank(struct fb_vblank *vblank) in ps3fb_get_vblank() argument 750 memset(vblank, 0, sizeof(*vblank)); in ps3fb_get_vblank() 751 vblank->flags = FB_VBLANK_HAVE_VSYNC; in ps3fb_get_vblank() 785 struct fb_vblank vblank; in ps3fb_ioctl() local 787 retval = ps3fb_get_vblank(&vblank); in ps3fb_ioctl() 791 if (copy_to_user(argp, &vblank, sizeof(vblank))) in ps3fb_ioctl()
|
/kernel/linux/linux-5.10/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_encoders.c | 170 unsigned vblank = native_mode->vtotal - native_mode->vdisplay; in amdgpu_panel_mode_fixup() local 186 adjusted_mode->vtotal = native_mode->vdisplay + vblank; in amdgpu_panel_mode_fixup() 199 adjusted_mode->crtc_vtotal = adjusted_mode->crtc_vdisplay + vblank; in amdgpu_panel_mode_fixup()
|
/kernel/linux/linux-5.10/drivers/media/pci/ivtv/ |
D | ivtvfb.c | 452 struct fb_vblank vblank; in ivtvfb_ioctl() local 455 memset(&vblank, 0, sizeof(struct fb_vblank)); in ivtvfb_ioctl() 457 vblank.flags = FB_VBLANK_HAVE_COUNT |FB_VBLANK_HAVE_VCOUNT | in ivtvfb_ioctl() 465 vblank.flags |= FB_VBLANK_VSYNCING; in ivtvfb_ioctl() 466 vblank.count = itv->last_vsync_field; in ivtvfb_ioctl() 467 vblank.vcount = trace; in ivtvfb_ioctl() 468 vblank.hcount = 0; in ivtvfb_ioctl() 469 if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank))) in ivtvfb_ioctl()
|
/kernel/linux/linux-5.10/include/drm/ |
D | drm_vblank_work.h | 33 struct drm_vblank_crtc *vblank; member
|
/kernel/linux/linux-5.10/drivers/gpu/drm/i915/ |
D | Kconfig.debug | 193 bool "Enable extra debug warnings for vblank evasion" 198 vblank evade mechanism. This gives a warning every time the 199 the deadline allotted for the vblank evade critical section 201 the vblank.
|
/kernel/linux/linux-5.10/drivers/gpu/drm/nouveau/ |
D | nouveau_crtc.h | 38 struct nvif_notify vblank; member
|