Searched refs:vblank (Results 1 - 25 of 114) sorted by relevance

12345

/linux-master/drivers/gpu/drm/
H A Ddrm_vblank_work.c13 * DOC: vblank works
39 * particular vblank has passed, and then executes the work at realtime
46 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) argument
49 u64 count = atomic64_read(&vblank->count);
52 assert_spin_locked(&vblank->dev->event_lock);
54 list_for_each_entry_safe(work, next, &vblank->pending_work, node) {
59 drm_vblank_put(vblank->dev, vblank->pipe);
60 kthread_queue_work(vblank->worker, &work->base);
64 wake_up_all(&vblank
70 drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank) argument
112 struct drm_vblank_crtc *vblank = work->vblank; local
187 struct drm_vblank_crtc *vblank = work->vblank; local
223 struct drm_vblank_crtc *vblank = work->vblank; local
252 drm_vblank_worker_init(struct drm_vblank_crtc *vblank) argument
[all...]
H A Ddrm_vblank.c2 * drm_irq.c IRQ and vblank support
43 * DOC: vblank handling
54 * scanlines is referred to as the vertical blanking region, or vblank for
98 * this programming has to both start and end in the same vblank. To help
101 * The interrupt is in this context named the vblank interrupt.
103 * The vblank interrupt may be fired at different points depending on the
122 * drm_crtc_handle_vblank() in its vblank interrupt handler for working vblank
129 * call drm_crtc_vblank_get() and release the vblank reference again with
130 * drm_crtc_vblank_put(). In between these two calls vblank interrupt
173 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
187 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
276 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
367 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
402 u64 vblank; local
441 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
477 struct drm_vblank_crtc *vblank = from_timer(vblank, t, disable_timer); local
492 struct drm_vblank_crtc *vblank = ptr; local
528 struct drm_vblank_crtc *vblank = &dev->vblank[i]; local
603 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
688 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
933 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
989 struct drm_vblank_crtc *vblank; local
1150 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1188 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1231 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1277 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1330 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1409 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1449 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1472 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1502 struct drm_vblank_crtc *vblank; local
1567 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1693 struct drm_vblank_crtc *vblank; local
1875 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
1965 struct drm_vblank_crtc *vblank; local
2021 struct drm_vblank_crtc *vblank; local
[all...]
H A Ddrm_internal.h102 static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank) argument
104 kthread_flush_worker(vblank->worker);
107 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) argument
109 if (vblank->worker)
110 kthread_destroy_worker(vblank->worker);
113 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank);
114 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank);
115 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank);
/linux-master/drivers/gpu/drm/nouveau/nvkm/engine/sw/
H A Dnv50.c42 container_of(notify, typeof(*chan), vblank.notify[notify->id]);
47 nvkm_wr32(device, 0x001710, 0x80000000 | chan->vblank.ctxdma);
51 nvkm_wr32(device, 0x001570, chan->vblank.offset);
52 nvkm_wr32(device, 0x001574, chan->vblank.value);
54 nvkm_wr32(device, 0x060010, chan->vblank.offset);
55 nvkm_wr32(device, 0x060014, chan->vblank.value);
68 case 0x018c: chan->vblank.ctxdma = data; return true;
69 case 0x0400: chan->vblank.offset = data; return true;
70 case 0x0404: chan->vblank.value = data; return true;
72 if (data < device->disp->vblank
[all...]
H A Dgf100.c42 container_of(notify, typeof(*chan), vblank.notify[notify->id]);
49 nvkm_wr32(device, 0x06000c, upper_32_bits(chan->vblank.offset));
50 nvkm_wr32(device, 0x060010, lower_32_bits(chan->vblank.offset));
51 nvkm_wr32(device, 0x060014, chan->vblank.value);
64 chan->vblank.offset &= 0x00ffffffffULL;
65 chan->vblank.offset |= (u64)data << 32;
68 chan->vblank.offset &= 0xff00000000ULL;
69 chan->vblank.offset |= data;
72 chan->vblank.value = data;
75 if (data < device->disp->vblank
[all...]
H A Dnv50.h17 } vblank; member in struct:nv50_sw_chan
/linux-master/drivers/gpu/drm/loongson/
H A Dloongson_module.c17 MODULE_PARM_DESC(vblank, "Disable/Enable hw vblank support");
18 module_param_named(vblank, loongson_vblank, int, 0400);
/linux-master/drivers/gpu/drm/i915/display/
H A Dintel_vblank.c24 * start of vblank:
27 * generate start of vblank interrupt (gen4+)
30 * | generate frame start interrupt (aka. vblank interrupt) (gmch)
59 * (depending on TRANSCONF settings) after the start of vblank
70 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[drm_crtc_index(crtc)]; local
71 const struct drm_display_mode *mode = &vblank->hwmode;
80 * vblank wait before enabling the TV encoder and so we
81 * have to enable vblank interrupts while the frame counter
82 * is still in a working state. However the core vblank cod
123 struct drm_vblank_crtc *vblank = &dev_priv->drm.vblank[drm_crtc_index(crtc)]; local
135 struct drm_vblank_crtc *vblank = local
181 struct drm_vblank_crtc *vblank = local
204 struct drm_vblank_crtc *vblank; local
257 const struct drm_vblank_crtc *vblank = local
[all...]
/linux-master/include/drm/
H A Ddrm_vblank_work.h12 * vblank passes, and then executes at realtime priority outside of IRQ
31 * @vblank: A pointer to &drm_vblank_crtc this work item belongs to.
33 struct drm_vblank_crtc *vblank; member in struct:drm_vblank_work
36 * @count: The target vblank this work will execute on. Drivers should
H A Ddrm_device.h209 * If true, vblank interrupt will be disabled immediately when the
210 * refcount drops to zero, as opposed to via the vblank disable
213 * This can be set to true it the hardware has a working vblank counter
222 * @vblank:
224 * Array of vblank tracking structures, one per &struct drm_crtc. For
225 * historical reasons (vblank support predates kernel modesetting) this
229 struct drm_vblank_crtc *vblank; member in struct:drm_device
234 * Protects vblank count and time updates during vblank enable/disable
238 * @vbl_lock: Top-level vblank reference
[all...]
/linux-master/drivers/gpu/drm/vkms/
H A Dvkms_crtc.c26 pr_warn("%s: vblank timer overrun\n", __func__);
31 DRM_ERROR("vkms failure on handling vblank");
66 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
73 out->period_ns = ktime_set(0, vblank->framedur_ns);
94 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
96 if (!READ_ONCE(vblank->enabled)) {
103 if (WARN_ON(*vblank_time == vblank->time))
109 * only generated after all the vblank register
[all...]
/linux-master/drivers/gpu/drm/nouveau/
H A Dnouveau_crtc.h39 struct nvif_event vblank; member in struct:nouveau_crtc
/linux-master/drivers/media/test-drivers/vivid/
H A Dvivid-osd.c74 struct fb_vblank vblank; local
76 memset(&vblank, 0, sizeof(vblank));
77 vblank.flags = FB_VBLANK_HAVE_COUNT | FB_VBLANK_HAVE_VCOUNT |
79 vblank.count = 0;
80 vblank.vcount = 0;
81 vblank.hcount = 0;
82 if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank)))
/linux-master/drivers/gpu/drm/nouveau/nvkm/engine/disp/
H A Dbase.c41 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank);
50 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank);
65 nvkm_event_ntfy(&disp->vblank, head, NVKM_DISP_HEAD_EVENT_VBLANK);
165 return nvkm_event_init(&nvkm_disp_vblank_func, subdev, 1, i, &disp->vblank);
188 nvkm_event_fini(&disp->vblank);
/linux-master/drivers/media/i2c/
H A Dov9282.c129 * @vblank: Vertical blanking in lines
140 u32 vblank; member in struct:ov9282_mode
163 * @vblank: Vertical blanking in lines
185 u32 vblank; member in struct:ov9282
377 .vblank = 1022,
396 .vblank = 1022,
419 .vblank = 1022,
573 mode->vblank_max, 1, mode->vblank);
664 ov9282->vblank = ov9282->vblank_ctrl->val;
666 dev_dbg(ov9282->dev, "Received vblank
[all...]
H A Dimx412.c85 * @vblank: Vertical blanking in lines
97 u32 vblank; member in struct:imx412_mode
127 * @vblank: Vertical blanking in lines
148 u32 vblank; member in struct:imx412
397 .vblank = 506,
532 mode->vblank_max, 1, mode->vblank);
548 lpfr = imx412->vblank + imx412->cur_mode->height;
596 imx412->vblank = imx412->vblank_ctrl->val;
598 dev_dbg(imx412->dev, "Received vblank %u, new lpfr %u",
599 imx412->vblank,
[all...]
H A Dimx335.c115 * @vblank: Vertical blanking in lines
126 u32 vblank; member in struct:imx335_mode
149 * @vblank: Vertical blanking in lines
173 u32 vblank; member in struct:imx335
377 .vblank = 2560,
515 mode->vblank_max, 1, mode->vblank);
531 lpfr = imx335->vblank + imx335->cur_mode->height;
622 imx335->vblank = imx335->vblank_ctrl->val;
624 dev_dbg(imx335->dev, "Received vblank %u, new lpfr %u\n",
625 imx335->vblank,
[all...]
H A Dimx334.c102 * @vblank: Vertical blanking in lines
113 u32 vblank; member in struct:imx334_mode
136 * @vblank: Vertical blanking in lines
158 u32 vblank; member in struct:imx334
486 .vblank = 2340,
499 .vblank = 1170,
644 mode->vblank_max, 1, mode->vblank);
648 return __v4l2_ctrl_s_ctrl(imx334->vblank_ctrl, mode->vblank);
664 lpfr = imx334->vblank + imx334->cur_mode->height;
712 imx334->vblank
[all...]
H A Dmt9v011.c202 unsigned height, width, hblank, vblank, speed; local
210 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK);
214 t_time = row_time * (height + vblank + 1);
232 unsigned height, width, hblank, vblank; local
243 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK);
246 line_time = height + vblank + 1;
277 * hblank and vblank should be adjusted, in order to warrant that
/linux-master/drivers/video/fbdev/matrox/
H A Dmatroxfb_crtc2.c403 static int matroxfb_dh_get_vblank(const struct matroxfb_dh_fb_info* m2info, struct fb_vblank* vblank) { argument
407 memset(vblank, 0, sizeof(*vblank));
408 vblank->flags = FB_VBLANK_HAVE_VCOUNT | FB_VBLANK_HAVE_VBLANK;
410 vblank->vcount = mga_inl(0x3C48) & 0x000007FF;
412 if (vblank->vcount >= m2info->fbcon.var.yres)
413 vblank->flags |= FB_VBLANK_VBLANKING;
415 vblank->flags |= FB_VBLANK_HAVE_COUNT;
418 vblank->count = minfo->crtc2.vsync.cnt;
435 struct fb_vblank vblank; local
[all...]
/linux-master/drivers/gpu/drm/msm/disp/mdp4/
H A Dmdp4_crtc.c58 struct mdp_irq vblank; member in struct:mdp4_crtc
74 mdp_irq_register(&get_kms(crtc)->base, &mdp4_crtc->vblank);
270 /* Disable/save vblank irq handling before power is disabled */
300 /* Restore vblank irq handling after power is enabled */
352 * buffered, and changing them other than from vblank seems to trigger
499 struct mdp4_crtc *mdp4_crtc = container_of(irq, struct mdp4_crtc, vblank);
504 mdp_irq_unregister(&get_kms(crtc)->base, &mdp4_crtc->vblank);
537 ret = wait_event_timeout(dev->vblank[drm_crtc_index(crtc)].queue,
542 dev_warn(dev->dev, "vblank time out, crtc=%d\n", mdp4_crtc->id);
552 return mdp4_crtc->vblank
[all...]
/linux-master/drivers/gpu/drm/arm/
H A Dmalidp_drv.h101 u64 vblank);
/linux-master/drivers/gpu/drm/amd/amdgpu/
H A Damdgpu_encoders.c170 unsigned int vblank = native_mode->vtotal - native_mode->vdisplay; local
186 adjusted_mode->vtotal = native_mode->vdisplay + vblank;
199 adjusted_mode->crtc_vtotal = adjusted_mode->crtc_vdisplay + vblank;
H A Damdgpu_vkms.c56 DRM_WARN("%s: vblank timer overrun\n", __func__);
59 /* Don't queue timer again when vblank is disabled. */
70 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
76 out->period_ns = ktime_set(0, vblank->framedur_ns);
97 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; local
100 if (!READ_ONCE(vblank->enabled)) {
107 if (WARN_ON(*vblank_time == vblank->time))
113 * only generated after all the vblank register
[all...]
/linux-master/drivers/video/fbdev/core/
H A Dfbmon.c1023 u32 vblank; member in struct:__fb_timings
1033 * vblank = right_margin + vsync_len + left_margin
1045 u32 vblank; local
1047 vblank = (hfreq * FLYBACK)/1000;
1048 vblank = (vblank + 500)/1000;
1049 return (vblank + V_FRONTPORCH);
1151 timings->vblank = fb_get_vblank(timings->hfreq);
1152 timings->vtotal = timings->vactive + timings->vblank;
1161 timings->vblank
[all...]

Completed in 290 milliseconds

12345