search for: high_prec

Displaying 20 results from an estimated 21 matches for "high_prec".

2020 Jan 12
2
[PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...true; > } > > static void drm_vblank_put(struct drm_device *dev, unsigned int pipe) > @@ -1798,7 +1790,6 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > struct drm_pending_vblank_event *e, *t; > ktime_t now; > u64 seq; > - bool high_prec; > > assert_spin_locked(&dev->event_lock); > > @@ -1818,10 +1809,8 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > send_vblank_event(dev, e, seq, now); > } > > - high_prec = crtc->funcs->get_vblank_timestamp || &...
2020 Jan 10
0
[PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...return false; - return false; + return true; } static void drm_vblank_put(struct drm_device *dev, unsigned int pipe) @@ -1798,7 +1790,6 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) struct drm_pending_vblank_event *e, *t; ktime_t now; u64 seq; - bool high_prec; assert_spin_locked(&dev->event_lock); @@ -1818,10 +1809,8 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) send_vblank_event(dev, e, seq, now); } - high_prec = crtc->funcs->get_vblank_timestamp || - dev->driver->get_vblank_time...
2020 Jan 20
0
[PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...1790,9 +1842,11 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) { + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); struct drm_pending_vblank_event *e, *t; ktime_t now; u64 seq; + bool high_prec; assert_spin_locked(&dev->event_lock); @@ -1812,8 +1866,10 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) send_vblank_event(dev, e, seq, now); } - trace_drm_vblank_event(pipe, seq, now, - dev->driver->get_vblank_timestamp != NULL); + h...
2020 Jan 20
0
[Intel-gfx] [PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...octl(struct drm_device *dev, void *data, > > static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > { > + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); > struct drm_pending_vblank_event *e, *t; > ktime_t now; > u64 seq; > + bool high_prec; > > assert_spin_locked(&dev->event_lock); > > @@ -1812,8 +1866,10 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > send_vblank_event(dev, e, seq, now); > } > > - trace_drm_vblank_event(pipe, seq, now, > - dev->...
2020 Jan 15
0
[PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...1742,9 +1760,11 @@ int drm_wait_vblank_ioctl(struct drm_device *dev, void *data, static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) { + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); struct drm_pending_vblank_event *e, *t; ktime_t now; u64 seq; + bool high_prec; assert_spin_locked(&dev->event_lock); @@ -1764,8 +1784,10 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) send_vblank_event(dev, e, seq, now); } - trace_drm_vblank_event(pipe, seq, now, - dev->driver->get_vblank_timestamp != NULL); + h...
2020 Jan 15
2
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...octl(struct drm_device *dev, void *data, > > static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > { > + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); > struct drm_pending_vblank_event *e, *t; > ktime_t now; > u64 seq; > + bool high_prec; > > assert_spin_locked(&dev->event_lock); > > @@ -1764,8 +1784,10 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > send_vblank_event(dev, e, seq, now); > } > > - trace_drm_vblank_event(pipe, seq, now, > - dev->...
2020 Jan 16
0
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...d *data, >> >> static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) >> { >> + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); >> struct drm_pending_vblank_event *e, *t; >> ktime_t now; >> u64 seq; >> + bool high_prec; >> >> assert_spin_locked(&dev->event_lock); >> >> @@ -1764,8 +1784,10 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) >> send_vblank_event(dev, e, seq, now); >> } >> >> - trace_drm_vblank_event(p...
2020 Jan 10
36
[PATCH 00/23] drm: Clean up VBLANK callbacks in struct drm_driver
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm_driver. The remaining VBLANK callbacks in struct drm_driver are only used by legacy drivers.
2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
...); > + > + vblank_work_init(vblank); > } > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) > trace_drm_vblank_event(pipe, seq, now, high_prec); > } > > +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) > +{ > + struct drm_vblank_work *work, *next; > + u64 count = atomic64_read(&vblank->count); > + > + list_for_each_entry_safe(work, next, &vblank->vblank_work.irq_list, > +...
2020 Jan 20
26
[PATCH v3 00/22] drm: Clean up VBLANK callbacks in struct drm_driver
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm_driver. The remaining VBLANK callbacks in struct drm_driver are only used by legacy drivers. Patch
2020 Jan 15
26
[PATCH v2 00/21] drm: Clean up VBLANK callbacks in struct drm_driver
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm_driver. The remaining VBLANK callbacks in struct drm_driver are only used by legacy drivers.
2020 May 08
0
[RFC v4 04/12] drm/vblank: Add vblank works
...; + + ret = vblank_worker_init(vblank); + if (ret) + return ret; } DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); @@ -1878,6 +1922,45 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) trace_drm_vblank_event(pipe, seq, now, high_prec); } +static void queue_vbl_work(struct drm_vblank_work *work) +{ + struct kthread_flush_work *fwork, *tmp; + bool busy, reinit = false; + + busy = kthread_queue_work(work->vblank->worker, &work->base); + list_for_each_entry_safe(fwork, tmp, &work->flush_work, work.node) { +...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...eqlock_init(&vblank->seqlock); + + vblank_work_init(vblank); } DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) trace_drm_vblank_event(pipe, seq, now, high_prec); } +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) +{ + struct drm_vblank_work *work, *next; + u64 count = atomic64_read(&vblank->count); + + list_for_each_entry_safe(work, next, &vblank->vblank_work.irq_list, + list) { + if (!vblank_passed(count, work-&g...
2020 Jan 23
30
[PATCH v4 00/22] drm: Clean up VBLANK callbacks in struct drm_driver
VBLANK handlers in struct drm_driver are deprecated. Only legacy, non-KMS drivers are supposed to used them. DRM drivers with kernel modesetting are supposed to use VBLANK callbacks of the CRTC infrastructure. This patchset converts all DRM drivers to CRTC VBLANK callbacks and cleans up struct drm_driver. The remaining VBLANK callbacks in struct drm_driver are only used by legacy drivers. Patch
2020 Jun 22
0
[RFC v5 02/10] drm/vblank: Add vblank works
...igned int num_crtcs) vblank); if (ret) return ret; + + ret = vblank_worker_init(vblank); + if (ret) + return ret; } return 0; @@ -1891,6 +1985,24 @@ static void drm_handle_vblank_events(struct drm_device *dev, unsigned int pipe) trace_drm_vblank_event(pipe, seq, now, high_prec); } +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) +{ + struct drm_vblank_work *work, *next; + u64 count = atomic64_read(&vblank->count); + + spin_lock(&vblank->work_lock); + list_for_each_entry_safe(work, next, &vblank->pending_work, node) { + if (!vb...
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...t; > > > > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > > > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct > > > drm_device *dev, unsigned int pipe) > > > trace_drm_vblank_event(pipe, seq, now, high_prec); > > > } > > > > > > +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) > > > +{ > > > + struct drm_vblank_work *work, *next; > > > + u64 count = atomic64_read(&vblank->count); > > > + > > > + list_...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...vblank); > > } > > > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n"); > > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct > > drm_device *dev, unsigned int pipe) > > trace_drm_vblank_event(pipe, seq, now, high_prec); > > } > > > > +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) > > +{ > > + struct drm_vblank_work *work, *next; > > + u64 count = atomic64_read(&vblank->count); > > + > > + list_for_each_entry_safe(work, next, &vbl...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
..._INFO("Supports vblank timestamp caching Rev 2 > > > > (21.10.2013).\n"); > > > > @@ -1825,6 +1935,22 @@ static void drm_handle_vblank_events(struct > > > > drm_device *dev, unsigned int pipe) > > > > trace_drm_vblank_event(pipe, seq, now, high_prec); > > > > } > > > > > > > > +static void drm_handle_vblank_works(struct drm_vblank_crtc *vblank) > > > > +{ > > > > + struct drm_vblank_work *work, *next; > > > > + u64 count = atomic64_read(&vblank->count); > >...
2020 Mar 18
12
[PATCH 0/9] drm/nouveau: Introduce CRC support for gf119+
Nvidia released some documentation on how CRC support works on their GPUs, hooray! So: this patch series implements said CRC support in nouveau, along with adding some special debugfs interfaces for some relevant igt-gpu-tools tests that we'll be sending in just a short bit. This additionally adds a feature that Ville Syrj?l? came up with: vblank works. Basically, this is just a generic DRM
2020 Jun 22
13
[RFC v5 00/10] drm/nouveau: Introduce CRC support for gf119+
Nvidia released some documentation on how CRC support works on their GPUs, hooray! So: this patch series implements said CRC support in nouveau, along with adding some special debugfs interfaces for some relevant igt-gpu-tools tests (already on the ML). First - we add some new functionality to kthread_work in the kernel, and then use this to add a new feature to DRM that Ville Syrj?l? came up