/linux-6.12.1/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 drm_WARN_ONCE(vblank->dev, !list_empty(&vblank->pending_work), in drm_vblank_cancel_pending_works() [all …]
|
D | drm_vblank.c | 172 return &dev->vblank[pipe]; in drm_vblank_crtc() 186 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in store_vblank() local 190 vblank->last = last; in store_vblank() 192 write_seqlock(&vblank->seqlock); in store_vblank() 193 vblank->time = t_vblank; in store_vblank() 194 atomic64_add(vblank_count_inc, &vblank->count); in store_vblank() 195 write_sequnlock(&vblank->seqlock); in store_vblank() 200 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in drm_max_vblank_count() local 202 return vblank->max_vblank_count ?: dev->max_vblank_count; in drm_max_vblank_count() 289 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in drm_update_vblank_count() local [all …]
|
D | drm_internal.h | 99 static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank) in drm_vblank_flush_worker() argument 101 kthread_flush_worker(vblank->worker); in drm_vblank_flush_worker() 104 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) in drm_vblank_destroy_worker() argument 106 if (vblank->worker) in drm_vblank_destroy_worker() 107 kthread_destroy_worker(vblank->worker); in drm_vblank_destroy_worker() 110 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank); 111 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank); 112 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank);
|
/linux-6.12.1/drivers/gpu/drm/nouveau/nvkm/engine/sw/ |
D | nv50.c | 42 container_of(notify, typeof(*chan), vblank.notify[notify->id]); 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->id]); 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 …]
|
/linux-6.12.1/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()
|
/linux-6.12.1/drivers/gpu/drm/i915/display/ |
D | intel_vblank.c | 71 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in i915_get_vblank_counter() local 72 const struct drm_display_mode *mode = &vblank->hwmode; in i915_get_vblank_counter() 88 if (!vblank->max_vblank_count) in i915_get_vblank_counter() 123 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in g4x_get_vblank_counter() local 126 if (!vblank->max_vblank_count) in g4x_get_vblank_counter() 135 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in intel_crtc_scanlines_since_frame_timestamp() local 136 const struct drm_display_mode *mode = &vblank->hwmode; in intel_crtc_scanlines_since_frame_timestamp() 180 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in __intel_get_crtc_scanline_from_timestamp() local 181 const struct drm_display_mode *mode = &vblank->hwmode; in __intel_get_crtc_scanline_from_timestamp() 239 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(&crtc->base); in __intel_get_crtc_scanline() local [all …]
|
/linux-6.12.1/drivers/media/i2c/ |
D | imx412.c | 97 u32 vblank; member 148 u32 vblank; member 397 .vblank = 506, 532 mode->vblank_max, 1, mode->vblank); in imx412_update_controls() 548 lpfr = imx412->vblank + imx412->cur_mode->height; in imx412_update_exp_gain() 595 imx412->vblank = imx412->vblank_ctrl->val; in imx412_set_ctrl() 598 imx412->vblank, in imx412_set_ctrl() 599 imx412->vblank + imx412->cur_mode->height); in imx412_set_ctrl() 603 imx412->vblank + in imx412_set_ctrl() 1095 lpfr = mode->vblank + mode->height; in imx412_init_controls() [all …]
|
D | imx334.c | 113 u32 vblank; member 158 u32 vblank; member 486 .vblank = 2340, 499 .vblank = 1170, 644 mode->vblank_max, 1, mode->vblank); in imx334_update_controls() 648 return __v4l2_ctrl_s_ctrl(imx334->vblank_ctrl, mode->vblank); in imx334_update_controls() 664 lpfr = imx334->vblank + imx334->cur_mode->height; in imx334_update_exp_gain() 712 imx334->vblank = imx334->vblank_ctrl->val; in imx334_set_ctrl() 715 imx334->vblank, in imx334_set_ctrl() 716 imx334->vblank + imx334->cur_mode->height); in imx334_set_ctrl() [all …]
|
D | ov9282.c | 140 u32 vblank; member 185 u32 vblank; member 377 .vblank = 1022, 396 .vblank = 1022, 419 .vblank = 1022, 573 mode->vblank_max, 1, mode->vblank); in ov9282_update_controls() 664 ov9282->vblank = ov9282->vblank_ctrl->val; in ov9282_set_ctrl() 667 ov9282->vblank, in ov9282_set_ctrl() 668 ov9282->vblank + ov9282->cur_mode->height); in ov9282_set_ctrl() 672 ov9282->vblank + in ov9282_set_ctrl() [all …]
|
D | imx335.c | 164 u32 vblank; member 214 u32 vblank; member 414 .vblank = 2556, 457 mode->vblank_max, 1, mode->vblank); in imx335_update_controls() 474 lpfr = imx335->vblank + imx335->cur_mode->height; in imx335_update_exp_gain() 556 imx335->vblank = imx335->vblank_ctrl->val; in imx335_set_ctrl() 559 imx335->vblank, in imx335_set_ctrl() 560 imx335->vblank + imx335->cur_mode->height); in imx335_set_ctrl() 564 imx335->vblank + in imx335_set_ctrl() 1177 lpfr = mode->vblank + mode->height; in imx335_init_controls() [all …]
|
D | mt9v011.c | 202 unsigned height, width, hblank, vblank, speed; in calc_fps() local 210 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK); in calc_fps() 214 t_time = row_time * (height + vblank + 1); in calc_fps() 232 unsigned height, width, hblank, vblank; in calc_speed() local 243 vblank = mt9v011_read(sd, R06_MT9V011_VBLANK); in calc_speed() 246 line_time = height + vblank + 1; in calc_speed()
|
D | ar0521.c | 106 struct v4l2_ctrl *vblank; member 210 be(sensor->fmt.height + sensor->ctrls.vblank->val), in ar0521_set_geometry() 503 ret = __v4l2_ctrl_modify_range(sensor->ctrls.vblank, in ar0521_set_fmt() 504 sensor->ctrls.vblank->minimum, in ar0521_set_fmt() 505 max_vblank, sensor->ctrls.vblank->step, in ar0521_set_fmt() 506 sensor->ctrls.vblank->minimum); in ar0521_set_fmt() 510 ret = __v4l2_ctrl_s_ctrl(sensor->ctrls.vblank, in ar0521_set_fmt() 511 sensor->ctrls.vblank->minimum); in ar0521_set_fmt() 630 ctrls->vblank = v4l2_ctrl_new_std(hdl, ops, V4L2_CID_VBLANK, in ar0521_init_controls()
|
/linux-6.12.1/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 …]
|
/linux-6.12.1/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
D | base.c | 41 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank); in nvkm_disp_vblank_fini() 50 struct nvkm_disp *disp = container_of(event, typeof(*disp), vblank); in nvkm_disp_vblank_init() 65 nvkm_event_ntfy(&disp->vblank, head, NVKM_DISP_HEAD_EVENT_VBLANK); in nvkm_disp_vblank() 165 return nvkm_event_init(&nvkm_disp_vblank_func, subdev, 1, i, &disp->vblank); in nvkm_disp_oneinit() 188 nvkm_event_fini(&disp->vblank); in nvkm_disp_dtor()
|
/linux-6.12.1/drivers/gpu/drm/loongson/ |
D | loongson_module.c | 17 MODULE_PARM_DESC(vblank, "Disable/Enable hw vblank support"); 18 module_param_named(vblank, loongson_vblank, int, 0400);
|
/linux-6.12.1/drivers/gpu/drm/vkms/ |
D | vkms_crtc.c | 64 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in vkms_enable_vblank() local 71 out->period_ns = ktime_set(0, vblank->framedur_ns); in vkms_enable_vblank() 91 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in vkms_get_vblank_timestamp() local 93 if (!READ_ONCE(vblank->enabled)) { in vkms_get_vblank_timestamp() 100 if (WARN_ON(*vblank_time == vblank->time)) in vkms_get_vblank_timestamp()
|
/linux-6.12.1/drivers/gpu/drm/vmwgfx/ |
D | vmwgfx_vkms.c | 252 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vmw_vkms_get_vblank_timestamp() local 257 if (!READ_ONCE(vblank->enabled)) { in vmw_vkms_get_vblank_timestamp() 264 if (WARN_ON(*vblank_time == vblank->time)) in vmw_vkms_get_vblank_timestamp() 285 struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; in vmw_vkms_enable_vblank() local 295 du->vkms.period_ns = ktime_set(0, vblank->framedur_ns); in vmw_vkms_enable_vblank()
|
/linux-6.12.1/drivers/gpu/drm/ci/xfails/ |
D | virtio_gpu-none-fails.txt | 5 kms_atomic_transition@plane-primary-toggle-with-vblank-wait,Fail 141 kms_flip@dpms-vs-vblank-race,Fail 142 kms_flip@dpms-vs-vblank-race-interruptible,Fail 145 kms_flip@flip-vs-blocking-wf-vblank,Fail 146 kms_flip@flip-vs-expired-vblank,Fail 147 kms_flip@flip-vs-expired-vblank-interruptible,Fail 151 kms_flip@modeset-vs-vblank-race,Fail 152 kms_flip@modeset-vs-vblank-race-interruptible,Fail
|
D | rockchip-rk3399-fails.txt | 49 kms_flip@dpms-vs-vblank-race,Fail 51 kms_flip@flip-vs-blocking-wf-vblank,Fail 56 kms_flip@modeset-vs-vblank-race,Fail 57 kms_flip@modeset-vs-vblank-race-interruptible,Fail
|
D | vkms-none-flakes.txt | 20 kms_flip@flip-vs-expired-vblank-interruptible 69 kms_flip@flip-vs-blocking-wf-vblank 83 kms_flip@flip-vs-expired-vblank
|
/linux-6.12.1/drivers/gpu/drm/msm/disp/mdp4/ |
D | mdp4_crtc.c | 58 struct mdp_irq vblank; member 74 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() 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()
|
/linux-6.12.1/drivers/video/fbdev/core/ |
D | fbmon.c | 1023 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 …]
|
/linux-6.12.1/drivers/gpu/drm/amd/amdgpu/ |
D | amdgpu_encoders.c | 170 unsigned int 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()
|
D | amdgpu_vkms.c | 69 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in amdgpu_vkms_enable_vblank() local 75 out->period_ns = ktime_set(0, vblank->framedur_ns); in amdgpu_vkms_enable_vblank() 94 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in amdgpu_vkms_get_vblank_timestamp() local 97 if (!READ_ONCE(vblank->enabled)) { in amdgpu_vkms_get_vblank_timestamp() 104 if (WARN_ON(*vblank_time == vblank->time)) in amdgpu_vkms_get_vblank_timestamp()
|