| /linux/drivers/gpu/drm/ |
| H A D | drm_vblank.c | 181 return &dev->vblank[pipe]; in drm_vblank_crtc() 195 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in store_vblank() local 199 vblank->last = last; in store_vblank() 201 write_seqlock(&vblank->seqlock); in store_vblank() 202 vblank->time = t_vblank; in store_vblank() 203 atomic64_add(vblank_count_inc, &vblank->count); in store_vblank() 204 write_sequnlock(&vblank->seqlock); in store_vblank() 209 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in drm_max_vblank_count() local 211 return vblank->max_vblank_count ?: dev->max_vblank_count; in drm_max_vblank_count() 298 struct drm_vblank_crtc *vblank = drm_vblank_crtc(dev, pipe); in drm_update_vblank_count() local [all …]
|
| H A D | drm_internal.h | 120 static inline void drm_vblank_flush_worker(struct drm_vblank_crtc *vblank) in drm_vblank_flush_worker() argument 122 kthread_flush_worker(vblank->worker); in drm_vblank_flush_worker() 125 static inline void drm_vblank_destroy_worker(struct drm_vblank_crtc *vblank) in drm_vblank_destroy_worker() argument 127 if (vblank->worker) in drm_vblank_destroy_worker() 128 kthread_destroy_worker(vblank->worker); in drm_vblank_destroy_worker() 131 int drm_vblank_worker_init(struct drm_vblank_crtc *vblank); 132 void drm_vblank_cancel_pending_works(struct drm_vblank_crtc *vblank); 133 void drm_handle_vblank_works(struct drm_vblank_crtc *vblank);
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/sw/ |
| H A 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 …]
|
| H A 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 …]
|
| H A D | nv50.h | 17 } vblank; member
|
| /linux/drivers/video/fbdev/matrox/ |
| H A 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 …]
|
| H A D | matroxfb_base.c | 844 struct fb_vblank *vblank) in matroxfb_get_vblank() argument 849 memset(vblank, 0, sizeof(*vblank)); in matroxfb_get_vblank() 850 vblank->flags = FB_VBLANK_HAVE_VCOUNT | FB_VBLANK_HAVE_VSYNC | in matroxfb_get_vblank() 853 vblank->vcount = mga_inl(M_VCOUNT); in matroxfb_get_vblank() 858 vblank->flags |= FB_VBLANK_HBLANKING; in matroxfb_get_vblank() 860 vblank->flags |= FB_VBLANK_VSYNCING; in matroxfb_get_vblank() 861 if (vblank->vcount >= minfo->fbcon.var.yres) in matroxfb_get_vblank() 862 vblank->flags |= FB_VBLANK_VBLANKING; in matroxfb_get_vblank() 864 vblank->flags |= FB_VBLANK_HAVE_COUNT; in matroxfb_get_vblank() 867 vblank->count = minfo->crtc1.vsync.cnt; in matroxfb_get_vblank() [all …]
|
| /linux/drivers/gpu/drm/nouveau/nvkm/engine/disp/ |
| H A 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/drivers/gpu/drm/loongson/ |
| H A D | loongson_module.c | 17 MODULE_PARM_DESC(vblank, "Disable/Enable hw vblank support"); 18 module_param_named(vblank, loongson_vblank, int, 0400);
|
| /linux/drivers/video/fbdev/core/ |
| H A D | fbmon.c | 1028 u32 vblank; member 1050 u32 vblank; in fb_get_vblank() local 1052 vblank = (hfreq * FLYBACK)/1000; in fb_get_vblank() 1053 vblank = (vblank + 500)/1000; in fb_get_vblank() 1054 return (vblank + V_FRONTPORCH); in fb_get_vblank() 1156 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_vfreq() 1157 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_vfreq() 1166 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_hfreq() 1167 timings->vtotal = timings->vactive + timings->vblank; in fb_timings_hfreq() 1181 timings->vblank = fb_get_vblank(timings->hfreq); in fb_timings_dclk() [all …]
|
| /linux/drivers/media/i2c/ |
| H A 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()
|
| H A D | ov02c10.c | 381 struct v4l2_ctrl *vblank; member 525 ov02c10->vblank = v4l2_ctrl_new_std(ctrl_hdlr, &ov02c10_ctrl_ops, in ov02c10_init_controls() 719 __v4l2_ctrl_modify_range(ov02c10->vblank, mode->vts_min - mode->height, in ov02c10_set_format() 721 __v4l2_ctrl_s_ctrl(ov02c10->vblank, vblank_def); in ov02c10_set_format()
|
| /linux/drivers/gpu/drm/amd/amdgpu/ |
| H A D | amdgpu_vkms.c | 70 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in amdgpu_vkms_enable_vblank() local 76 out->period_ns = ktime_set(0, vblank->framedur_ns); in amdgpu_vkms_enable_vblank() 95 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in amdgpu_vkms_get_vblank_timestamp() local 98 if (!READ_ONCE(vblank->enabled)) { in amdgpu_vkms_get_vblank_timestamp() 105 if (WARN_ON(*vblank_time == vblank->time)) in amdgpu_vkms_get_vblank_timestamp()
|
| H A 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()
|
| /linux/drivers/media/pci/ivtv/ |
| H A D | ivtvfb.c | 453 struct fb_vblank vblank; in ivtvfb_ioctl() local 456 memset(&vblank, 0, sizeof(struct fb_vblank)); in ivtvfb_ioctl() 458 vblank.flags = FB_VBLANK_HAVE_COUNT |FB_VBLANK_HAVE_VCOUNT | in ivtvfb_ioctl() 466 vblank.flags |= FB_VBLANK_VSYNCING; in ivtvfb_ioctl() 467 vblank.count = itv->last_vsync_field; in ivtvfb_ioctl() 468 vblank.vcount = trace; in ivtvfb_ioctl() 469 vblank.hcount = 0; in ivtvfb_ioctl() 470 if (copy_to_user((void __user *)arg, &vblank, sizeof(vblank))) in ivtvfb_ioctl()
|
| /linux/drivers/gpu/drm/gma500/ |
| H A D | psb_irq.c | 263 if (dev->vblank[0].enabled) in gma_irq_preinstall() 265 if (dev->vblank[1].enabled) in gma_irq_preinstall() 296 if (dev->vblank[i].enabled) in gma_irq_postinstall() 354 if (dev->vblank[i].enabled) in gma_irq_uninstall()
|
| H A D | oaktrail_device.c | 149 p->vblank = PSB_RVDC32(VBLANK_A); in oaktrail_save_display_registers() 269 PSB_WVDC32(p->vblank, VBLANK_A); in oaktrail_restore_display_registers() 407 .vblank = VBLANK_A, 431 .vblank = VBLANK_B,
|
| H A D | psb_device.c | 209 .vblank = VBLANK_A, 233 .vblank = VBLANK_B,
|
| /linux/drivers/video/fbdev/ |
| H A D | ps3fb.c | 750 static int ps3fb_get_vblank(struct fb_vblank *vblank) in ps3fb_get_vblank() argument 752 memset(vblank, 0, sizeof(*vblank)); in ps3fb_get_vblank() 753 vblank->flags = FB_VBLANK_HAVE_VSYNC; in ps3fb_get_vblank() 787 struct fb_vblank vblank; in ps3fb_ioctl() local 789 retval = ps3fb_get_vblank(&vblank); in ps3fb_ioctl() 793 if (copy_to_user(argp, &vblank, sizeof(vblank))) in ps3fb_ioctl()
|
| /linux/drivers/gpu/drm/radeon/ |
| H A D | radeon_encoders.c | 328 unsigned int vblank = native_mode->vtotal - native_mode->vdisplay; in radeon_panel_mode_fixup() local 346 adjusted_mode->vtotal = native_mode->vdisplay + vblank; in radeon_panel_mode_fixup() 361 adjusted_mode->crtc_vtotal = adjusted_mode->crtc_vdisplay + vblank; in radeon_panel_mode_fixup()
|
| /linux/include/drm/ |
| H A D | drm_vblank_work.h | 34 struct drm_vblank_crtc *vblank; member
|
| /linux/drivers/gpu/drm/nouveau/ |
| H A D | nouveau_crtc.h | 39 struct nvif_event vblank; member
|
| H A D | nouveau_display.c | 56 nvif_event_allow(&nv_crtc->vblank); in nouveau_display_vblank_enable() 67 nvif_event_block(&nv_crtc->vblank); in nouveau_display_vblank_disable() 88 struct drm_vblank_crtc *vblank = drm_crtc_vblank_crtc(crtc); in nouveau_display_scanoutpos_head() local 106 if (retry) ndelay(vblank->linedur_ns); in nouveau_display_scanoutpos_head()
|
| /linux/drivers/gpu/drm/i915/display/ |
| H A D | intel_crt.c | 703 u32 vblank, vblank_start, vblank_end; in intel_crt_load_detect() local 714 vblank = intel_de_read(display, in intel_crt_load_detect() 720 vblank_start = REG_FIELD_GET(VBLANK_START_MASK, vblank) + 1; in intel_crt_load_detect() 721 vblank_end = REG_FIELD_GET(VBLANK_END_MASK, vblank) + 1; in intel_crt_load_detect() 796 vblank); in intel_crt_load_detect()
|
| /linux/drivers/gpu/drm/msm/disp/mdp5/ |
| H A D | mdp5_crtc.c | 48 struct mdp_irq vblank; member 82 mdp_irq_register(&get_kms(crtc)->base, &mdp5_crtc->vblank); in request_pending() 835 mdp5_crtc->vblank.irqmask = mdp5_cstate->vblank_irqmask; in mdp5_crtc_atomic_flush() 1184 struct mdp5_crtc *mdp5_crtc = container_of(irq, struct mdp5_crtc, vblank); in mdp5_crtc_vblank_irq() 1189 mdp_irq_unregister(&get_kms(crtc)->base, &mdp5_crtc->vblank); in mdp5_crtc_vblank_irq() 1262 return mdp5_crtc->vblank.irqmask; in mdp5_crtc_vblank() 1344 mdp5_crtc->vblank.irq = mdp5_crtc_vblank_irq; in mdp5_crtc_init()
|