search for: in_vblank_irq

Displaying 20 results from an estimated 51 matches for "in_vblank_irq".

2020 Jan 20
0
[PATCH v3 02/22] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs
...ed. * * The current implementation only handles standard video modes. For double scan * and interlaced modes the driver is supposed to adjust the hardware mode @@ -599,28 +600,85 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, ktime_t *vblank_time, bool in_vblank_irq) { - struct timespec64 ts_etime, ts_vblank_time; - ktime_t stime, etime; - bool vbl_status; struct drm_crtc *crtc; - const struct drm_display_mode *mode; - struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; - int vpos, hpos, i; - int delta_ns, duration_ns; if (!drm_core_check_featur...
2020 Jan 23
0
[PATCH v4 02/22] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs
...ed. * * The current implementation only handles standard video modes. For double scan * and interlaced modes the driver is supposed to adjust the hardware mode @@ -599,28 +600,85 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, ktime_t *vblank_time, bool in_vblank_irq) { - struct timespec64 ts_etime, ts_vblank_time; - ktime_t stime, etime; - bool vbl_status; struct drm_crtc *crtc; - const struct drm_display_mode *mode; - struct drm_vblank_crtc *vblank = &dev->vblank[pipe]; - int vpos, hpos, i; - int delta_ns, duration_ns; if (!drm_core_check_featur...
2020 Jan 20
0
[PATCH v3 22/22] drm: Remove legacy version of get_scanout_position()
...tion. * * Implements calculation of exact vblank timestamps from given drm_display_mode * timings and current video scanout position of a CRTC. @@ -601,8 +598,7 @@ bool drm_crtc_vblank_helper_get_vblank_timestamp_internal( struct drm_crtc *crtc, int *max_error, ktime_t *vblank_time, bool in_vblank_irq, - drm_vblank_get_scanout_position_func get_scanout_position, - drm_vblank_get_scanout_position_legacy_func get_scanout_position_legacy) + drm_vblank_get_scanout_position_func get_scanout_position) { struct drm_device *dev = crtc->dev; unsigned int pipe = crtc->index; @@ -620,7 +616,7 @@...
2020 Jan 15
2
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...rent implementation only handles standard video modes. For double scan > * and interlaced modes the driver is supposed to adjust the hardware mode > @@ -742,15 +745,22 @@ static bool > drm_get_last_vbltimestamp(struct drm_device *dev, unsigned int pipe, > ktime_t *tvblank, bool in_vblank_irq) > { > + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); > bool ret = false; > > /* Define requested maximum error on timestamps (nanoseconds). */ > int max_error = (int) drm_timestamp_precision * 1000; > > /* Query driver if possible and precision times...
2020 Jan 20
0
[PATCH v3 22/22] drm: Remove legacy version of get_scanout_position()
...calculation of exact vblank timestamps from given drm_display_mode > * timings and current video scanout position of a CRTC. > @@ -601,8 +598,7 @@ bool > drm_crtc_vblank_helper_get_vblank_timestamp_internal( > struct drm_crtc *crtc, int *max_error, ktime_t *vblank_time, > bool in_vblank_irq, > - drm_vblank_get_scanout_position_func get_scanout_position, > - drm_vblank_get_scanout_position_legacy_func get_scanout_position_legacy) > + drm_vblank_get_scanout_position_func get_scanout_position) > { > struct drm_device *dev = crtc->dev; > unsigned int pipe = crtc-...
2020 Jan 15
0
[PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...ted. * * The current implementation only handles standard video modes. For double scan * and interlaced modes the driver is supposed to adjust the hardware mode @@ -742,15 +745,22 @@ static bool drm_get_last_vbltimestamp(struct drm_device *dev, unsigned int pipe, ktime_t *tvblank, bool in_vblank_irq) { + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); bool ret = false; /* Define requested maximum error on timestamps (nanoseconds). */ int max_error = (int) drm_timestamp_precision * 1000; /* Query driver if possible and precision timestamping enabled. */ - if (dev->driver...
2020 Jan 14
1
[PATCH 01/23] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs
...* Get vertical and horizontal scanout position vpos, hpos, * and bounding timestamps stime, etime, pre/post query. */ - vbl_status = dev->driver->get_scanout_position(dev, pipe, - in_vblank_irq, - &vpos, &hpos, - &stime, &etime, - mode); + if (crtc->helper_private->get_scan...
2020 Jan 10
2
[PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()
...DOC: interrupt handling > * > @@ -762,10 +767,11 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc) > return (position + crtc->scanline_offset) % vtotal; > } > > -bool i915_get_crtc_scanoutpos(struct drm_device *dev, unsigned int index, > - bool in_vblank_irq, int *vpos, int *hpos, > - ktime_t *stime, ktime_t *etime, > - const struct drm_display_mode *mode) > +static bool i915_get_crtc_scanoutpos(struct drm_device *dev, > + unsigned int index, bool in_vblank_irq, > + int *vpos, int *hpos, > + kti...
2020 Jan 20
0
[PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...helper + * @crtc: CRTC whose vblank timestamp to retrieve + * @max_error: Desired maximum allowable error in timestamps (nanosecs) + * On return contains true maximum error of timestamp + * @vblank_time: Pointer to time which should receive the timestamp + * @in_vblank_irq: + * True when called from drm_crtc_handle_vblank(). Some drivers + * need to apply some workarounds for gpu-specific vblank irq quirks + * if flag is set. + * + * Implements calculation of exact vblank timestamps from given drm_display_mode + * timings and current video scanout positi...
2020 Jan 20
0
[Intel-gfx] [PATCH v3 03/22] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...helper > + * @crtc: CRTC whose vblank timestamp to retrieve > + * @max_error: Desired maximum allowable error in timestamps (nanosecs) > + * On return contains true maximum error of timestamp > + * @vblank_time: Pointer to time which should receive the timestamp > + * @in_vblank_irq: > + * True when called from drm_crtc_handle_vblank(). Some drivers > + * need to apply some workarounds for gpu-specific vblank irq quirks > + * if flag is set. > + * > + * Implements calculation of exact vblank timestamps from given drm_display_mode > + * timings an...
2020 Jan 16
0
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...ion only handles standard video modes. For double scan >> * and interlaced modes the driver is supposed to adjust the hardware mode >> @@ -742,15 +745,22 @@ static bool >> drm_get_last_vbltimestamp(struct drm_device *dev, unsigned int pipe, >> ktime_t *tvblank, bool in_vblank_irq) >> { >> + struct drm_crtc *crtc = drm_crtc_from_index(dev, pipe); >> bool ret = false; >> >> /* Define requested maximum error on timestamps (nanoseconds). */ >> int max_error = (int) drm_timestamp_precision * 1000; >> >> /* Query driver...
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 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 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 Jan 10
0
[PATCH 01/23] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs
...@ -664,11 +666,17 @@ bool drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, * Get vertical and horizontal scanout position vpos, hpos, * and bounding timestamps stime, etime, pre/post query. */ - vbl_status = dev->driver->get_scanout_position(dev, pipe, - in_vblank_irq, - &vpos, &hpos, - &stime, &etime, - mode); + if (crtc->helper_private->get_scanout_position) { + vbl_status = + crtc->helper_private->get_scanout_position( + crtc, in_vblank_irq, &vpos, &hpos, + &stime, &a...
2020 Jan 15
0
[PATCH v2 07/21] drm/i915: Convert to CRTC VBLANK callbacks
...s/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -762,13 +762,15 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc) return (position + crtc->scanline_offset) % vtotal; } -bool i915_get_crtc_scanoutpos(struct drm_device *dev, unsigned int index, - bool in_vblank_irq, int *vpos, int *hpos, - ktime_t *stime, ktime_t *etime, - const struct drm_display_mode *mode) +static bool i915_get_crtc_scanoutpos(struct drm_crtc *dcrtc, + bool in_vblank_irq, + int *vpos, int *hpos, + ktime_t *stime, ktime_t *etime, + const struc...
2020 Jan 10
0
[PATCH 01/23] drm: Add get_scanout_position() to struct drm_crtc_helper_funcs
...drm_calc_vbltimestamp_from_scanoutpos(struct drm_device *dev, > * Get vertical and horizontal scanout position vpos, hpos, > * and bounding timestamps stime, etime, pre/post query. > */ > - vbl_status = dev->driver->get_scanout_position(dev, pipe, > - in_vblank_irq, > - &vpos, &hpos, > - &stime, &etime, > - mode); > + if (crtc->helper_private->get_scanout_position) { > + vbl_status = > + crtc->helper_private->get_scanout_position( > + crtc, in_vblank_irq, &vp...
2020 Jan 23
0
[PATCH v4 07/22] drm/i915: Convert to CRTC VBLANK callbacks
...s/gpu/drm/i915/i915_irq.c +++ b/drivers/gpu/drm/i915/i915_irq.c @@ -762,13 +762,15 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc) return (position + crtc->scanline_offset) % vtotal; } -bool i915_get_crtc_scanoutpos(struct drm_device *dev, unsigned int index, - bool in_vblank_irq, int *vpos, int *hpos, - ktime_t *stime, ktime_t *etime, - const struct drm_display_mode *mode) +static bool i915_get_crtc_scanoutpos(struct drm_crtc *_crtc, + bool in_vblank_irq, + int *vpos, int *hpos, + ktime_t *stime, ktime_t *etime, + const struc...
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 Jan 10
0
[PATCH 03/23] drm/i915: Don't use struct drm_driver.get_scanout_position()
...5_TIMESTAMP_MAXRETRIES 3 + /** * DOC: interrupt handling * @@ -762,10 +767,11 @@ static int __intel_get_crtc_scanline(struct intel_crtc *crtc) return (position + crtc->scanline_offset) % vtotal; } -bool i915_get_crtc_scanoutpos(struct drm_device *dev, unsigned int index, - bool in_vblank_irq, int *vpos, int *hpos, - ktime_t *stime, ktime_t *etime, - const struct drm_display_mode *mode) +static bool i915_get_crtc_scanoutpos(struct drm_device *dev, + unsigned int index, bool in_vblank_irq, + int *vpos, int *hpos, + ktime_t *stime, ktime_t *etime, +...