Home
last modified time | relevance | path

Searched refs:vblank (Results 1 – 25 of 107) sorted by relevance

12345

/drivers/gpu/drm/
Ddrm_vblank_work.c46 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 …]
Ddrm_vblank.c173 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()
281 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in drm_update_vblank_count() local
286 int framedur_ns = vblank->framedur_ns; in drm_update_vblank_count()
[all …]
Ddrm_internal.h100 static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank) in drm_vblank_flush_worker() argument
102 kthread_flush_worker(vblank->worker); in drm_vblank_flush_worker()
105 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) in drm_vblank_destroy_worker() argument
107 if (vblank->worker) in drm_vblank_destroy_worker()
108 kthread_destroy_worker(vblank->worker); in drm_vblank_destroy_worker()
111 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank);
112 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank);
113 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank);
Ddrm_irq.c133 struct drm_vblank_crtc *vblank = &dev->vblank[i]; in drm_legacy_irq_uninstall() local
135 if (!vblank->enabled) in drm_legacy_irq_uninstall()
141 wake_up(&vblank->queue); in drm_legacy_irq_uninstall()
/drivers/gpu/drm/nouveau/nvkm/engine/sw/
Dnv50.c42 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 …]
Dgf100.c42 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 …]
/drivers/media/test-drivers/vivid/
Dvivid-osd.c74 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()
/drivers/gpu/drm/vkms/
Dvkms_crtc.c66 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vkms_enable_vblank() local
73 out->period_ns = ktime_set(0, vblank->framedur_ns); in vkms_enable_vblank()
94 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vkms_get_vblank_timestamp() local
96 if (!READ_ONCE(vblank->enabled)) { in vkms_get_vblank_timestamp()
103 if (WARN_ON(*vblank_time == vblank->time)) in vkms_get_vblank_timestamp()
/drivers/media/i2c/
Dimx334.c96 u32 vblank; member
140 u32 vblank; member
251 .vblank = 2340,
390 mode->vblank_max, 1, mode->vblank); in imx334_update_controls()
406 lpfr = imx334->vblank + imx334->cur_mode->height; in imx334_update_exp_gain()
454 imx334->vblank = imx334->vblank_ctrl->val; in imx334_set_ctrl()
457 imx334->vblank, in imx334_set_ctrl()
458 imx334->vblank + imx334->cur_mode->height); in imx334_set_ctrl()
462 imx334->vblank + in imx334_set_ctrl()
934 lpfr = mode->vblank + mode->height; in imx334_init_controls()
[all …]
Dimx412.c97 u32 vblank; member
149 u32 vblank; member
399 .vblank = 506,
534 mode->vblank_max, 1, mode->vblank); in imx412_update_controls()
550 lpfr = imx412->vblank + imx412->cur_mode->height; in imx412_update_exp_gain()
598 imx412->vblank = imx412->vblank_ctrl->val; in imx412_set_ctrl()
601 imx412->vblank, in imx412_set_ctrl()
602 imx412->vblank + imx412->cur_mode->height); in imx412_set_ctrl()
606 imx412->vblank + in imx412_set_ctrl()
1102 lpfr = mode->vblank + mode->height; in imx412_init_controls()
[all …]
Dimx335.c96 u32 vblank; member
140 u32 vblank; member
243 .vblank = 2560,
382 mode->vblank_max, 1, mode->vblank); in imx335_update_controls()
398 lpfr = imx335->vblank + imx335->cur_mode->height; in imx335_update_exp_gain()
446 imx335->vblank = imx335->vblank_ctrl->val; in imx335_set_ctrl()
449 imx335->vblank, in imx335_set_ctrl()
450 imx335->vblank + imx335->cur_mode->height); in imx335_set_ctrl()
454 imx335->vblank + in imx335_set_ctrl()
928 lpfr = mode->vblank + mode->height; in imx335_init_controls()
[all …]
Dov9282.c96 u32 vblank; member
140 u32 vblank; member
258 .vblank = 1022,
393 mode->vblank_max, 1, mode->vblank); in ov9282_update_controls()
409 lpfr = ov9282->vblank + ov9282->cur_mode->height; in ov9282_update_exp_gain()
456 ov9282->vblank = ov9282->vblank_ctrl->val; in ov9282_set_ctrl()
459 ov9282->vblank, in ov9282_set_ctrl()
460 ov9282->vblank + ov9282->cur_mode->height); in ov9282_set_ctrl()
464 ov9282->vblank + in ov9282_set_ctrl()
936 lpfr = mode->vblank + mode->height; in ov9282_init_controls()
[all …]
Dmt9v011.c204 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()
Dmt9m032.c185 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()
Dov5647.c109 struct v4l2_ctrl *vblank; member
995 int hblank, vblank; in ov5647_set_pad_fmt() local
1005 vblank = mode->vts - mode->format.height; in ov5647_set_pad_fmt()
1006 __v4l2_ctrl_modify_range(sensor->vblank, OV5647_VBLANK_MIN, in ov5647_set_pad_fmt()
1008 1, vblank); in ov5647_set_pad_fmt()
1009 __v4l2_ctrl_s_ctrl(sensor->vblank, vblank); in ov5647_set_pad_fmt()
1310 sensor->vblank = v4l2_ctrl_new_std(&sensor->ctrls, &ov5647_ctrl_ops, in ov5647_init_controls()
Dimx258.c611 struct v4l2_ctrl *vblank; member
928 imx258->vblank, vblank_min, in imx258_set_pad_format()
931 __v4l2_ctrl_s_ctrl(imx258->vblank, vblank_def); in imx258_set_pad_format()
1186 imx258->vblank = v4l2_ctrl_new_std( in imx258_init_controls()
1192 if (imx258->vblank) in imx258_init_controls()
1193 imx258->vblank->flags |= V4L2_CTRL_FLAG_READ_ONLY; in imx258_init_controls()
/drivers/video/fbdev/matrox/
Dmatroxfb_crtc2.c403 …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 …]
/drivers/gpu/drm/nouveau/nvkm/engine/disp/
Dbase.c45 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()
385 return nvkm_event_init(&nvkm_disp_vblank_func, 1, i, &disp->vblank); in nvkm_disp_oneinit()
408 nvkm_event_fini(&disp->vblank); in nvkm_disp_dtor()
/drivers/gpu/drm/amd/amdgpu/
Damdgpu_vkms.c69 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in amdgpu_vkms_enable_vblank() local
75 out->period_ns = ktime_set(0, vblank->framedur_ns); in amdgpu_vkms_enable_vblank()
96 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in amdgpu_vkms_get_vblank_timestamp() local
99 if (!READ_ONCE(vblank->enabled)) { in amdgpu_vkms_get_vblank_timestamp()
106 if (WARN_ON(*vblank_time == vblank->time)) in amdgpu_vkms_get_vblank_timestamp()
Damdgpu_encoders.c170 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()
/drivers/video/fbdev/core/
Dfbmon.c1023 u32 vblank; member
1045 u32 vblank; in fb_get_vblank() local
1047 vblank = (hfreq * FLYBACK)/1000; in fb_get_vblank()
1048 vblank = (vblank + 500)/1000; in fb_get_vblank()
1049 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 …]
/drivers/gpu/drm/msm/disp/mdp4/
Dmdp4_crtc.c57 struct mdp_irq vblank; member
73 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank); in request_pending()
509 struct mdp4_crtc *mdp4_crtc = container_of(irq, struct mdp4_crtc, vblank); in mdp4_crtc_vblank_irq()
514 mdp_irq_unregister(&get_kms(crtc)->base, &mdp4_crtc->vblank); in mdp4_crtc_vblank_irq()
547 ret = wait_event_timeout(dev->vblank[drm_crtc_index(crtc)].queue, in mdp4_crtc_wait_for_flush_done()
562 return mdp4_crtc->vblank.irqmask; in mdp4_crtc_vblank()
647 mdp4_crtc->vblank.irqmask = dma2irq(mdp4_crtc->dma); in mdp4_crtc_init()
648 mdp4_crtc->vblank.irq = mdp4_crtc_vblank_irq; in mdp4_crtc_init()
/drivers/video/fbdev/
Dtmiofb.c483 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()
/drivers/media/pci/ivtv/
Divtvfb.c452 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()
/drivers/gpu/drm/gma500/
Dpsb_irq.c273 if (dev->vblank[0].enabled) in gma_irq_preinstall()
275 if (dev->vblank[1].enabled) in gma_irq_preinstall()
306 if (dev->vblank[i].enabled) in gma_irq_postinstall()
364 if (dev->vblank[i].enabled) in gma_irq_uninstall()

12345