Displaying 9 results from an estimated 9 matches for "__vblank_disable_immediate".
2020 Jan 15
1
[PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...able_immediate = false;
- DRM_INFO("Setting vblank_disable_immediate to false because "
- "get_vblank_timestamp == NULL\n");
- }
-
return 0;
err:
@@ -1070,6 +1057,15 @@ int drm_crtc_vblank_get(struct drm_crtc *crtc)
}
EXPORT_SYMBOL(drm_crtc_vblank_get);
+static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe)
+{
+ if (!dev->vblank_disable_immediate)
+ return false;
+ if (!dev->driver->get_vblank_timestamp)
+ return false;
+ return true;
+}
+
static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
{
struct drm_vblank_crtc *vblank = &...
2020 Jan 15
0
[Intel-gfx] [PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...te to true
without having the vfunc specified? IMO this code should just go away
(or converted to a WARN).
> -
> return 0;
>
> err:
> @@ -1070,6 +1057,15 @@ int drm_crtc_vblank_get(struct drm_crtc *crtc)
> }
> EXPORT_SYMBOL(drm_crtc_vblank_get);
>
> +static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe)
> +{
> + if (!dev->vblank_disable_immediate)
> + return false;
> + if (!dev->driver->get_vblank_timestamp)
> + return false;
> + return true;
> +}
> +
> static void drm_vblank_put(struct drm_device *dev, unsigned int...
2020 Jan 12
2
[PATCH 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...lank) {
> + return dev->driver->enable_vblank(dev, pipe);
> }
>
> - return dev->driver->enable_vblank(dev, pipe);
> + return -EINVAL;
> }
>
> static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
> @@ -1109,13 +1104,10 @@ static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe
> return false;
>
> crtc = drm_crtc_from_index(dev, pipe);
> - if (crtc && crtc->funcs->get_vblank_timestamp)
> - return true;
> -
> - if (dev->driver->get_vblank_timestamp)
> - return true;
> + if (!c...
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 23/23] drm: Cleanup VBLANK callbacks in struct drm_driver
...c);
+ } else if (dev->driver->enable_vblank) {
+ return dev->driver->enable_vblank(dev, pipe);
}
- return dev->driver->enable_vblank(dev, pipe);
+ return -EINVAL;
}
static int drm_vblank_enable(struct drm_device *dev, unsigned int pipe)
@@ -1109,13 +1104,10 @@ static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe
return false;
crtc = drm_crtc_from_index(dev, pipe);
- if (crtc && crtc->funcs->get_vblank_timestamp)
- return true;
-
- if (dev->driver->get_vblank_timestamp)
- return true;
+ if (!crtc || !crtc->funcs->get_vblank_timesta...
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 15
0
[PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...>get_vblank_timestamp(dev, pipe, &max_error,
tvblank, in_vblank_irq);
+ }
/* GPU high precision timestamp query unsupported or failed.
* Return current monotonic/gettimeofday timestamp as best estimate.
@@ -1059,11 +1069,19 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe)
{
+ struct drm_crtc *crtc;
+
if (!dev->vblank_disable_immediate)
return false;
- if (!dev->driver->get_vblank_timestamp)
- return false;
- return true;
+
+ crtc = drm_crtc_from_index(dev, pipe);
+ if (crtc && crtc->funcs->get_...
2020 Jan 15
2
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...;max_error,
> tvblank, in_vblank_irq);
> + }
>
> /* GPU high precision timestamp query unsupported or failed.
> * Return current monotonic/gettimeofday timestamp as best estimate.
> @@ -1059,11 +1069,19 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
>
> static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe)
> {
> + struct drm_crtc *crtc;
> +
> if (!dev->vblank_disable_immediate)
> return false;
> - if (!dev->driver->get_vblank_timestamp)
> - return false;
> - return true;
> +
> + crtc = drm_crtc_from_index(dev, pi...
2020 Jan 16
0
[Intel-gfx] [PATCH v2 03/21] drm: Add get_vblank_timestamp() to struct drm_crtc_funcs
...lank, in_vblank_irq);
>> + }
>>
>> /* GPU high precision timestamp query unsupported or failed.
>> * Return current monotonic/gettimeofday timestamp as best estimate.
>> @@ -1059,11 +1069,19 @@ EXPORT_SYMBOL(drm_crtc_vblank_get);
>>
>> static bool __vblank_disable_immediate(struct drm_device *dev, unsigned int pipe)
>> {
>> + struct drm_crtc *crtc;
>> +
>> if (!dev->vblank_disable_immediate)
>> return false;
>> - if (!dev->driver->get_vblank_timestamp)
>> - return false;
>> - return true;
>> +
>&...