Displaying 20 results from an estimated 26 matches for "vblank_disable_fn".
2020 May 08
0
[RFC v4 03/12] drm/vblank: Register drmm cleanup action once per drm_vblank_crtc
...c | 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 758bf74e1cab..a4a9013584e2 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -491,16 +491,12 @@ static void vblank_disable_fn(struct timer_list *t)
static void drm_vblank_init_release(struct drm_device *dev, void *ptr)
{
- unsigned int pipe;
-
- for (pipe = 0; pipe < dev->num_crtcs; pipe++) {
- struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
+ struct drm_vblank_crtc *vblank = ptr;
- WARN_ON(READ_...
2020 Jun 22
0
[RFC v5 01/10] drm/vblank: Register drmm cleanup action once per drm_vblank_crtc
...| 23 ++++++++++-------------
1 file changed, 10 insertions(+), 13 deletions(-)
diff --git a/drivers/gpu/drm/drm_vblank.c b/drivers/gpu/drm/drm_vblank.c
index 85e5f2db16085..ce5c1e1d29963 100644
--- a/drivers/gpu/drm/drm_vblank.c
+++ b/drivers/gpu/drm/drm_vblank.c
@@ -492,16 +492,12 @@ static void vblank_disable_fn(struct timer_list *t)
static void drm_vblank_init_release(struct drm_device *dev, void *ptr)
{
- unsigned int pipe;
-
- for (pipe = 0; pipe < dev->num_crtcs; pipe++) {
- struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
+ struct drm_vblank_crtc *vblank = ptr;
- drm_WARN_ON(d...
2020 Jan 15
1
[PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...turn true;
+}
+
static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
{
struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
@@ -1086,7 +1082,7 @@ static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
return;
else if (drm_vblank_offdelay < 0)
vblank_disable_fn(&vblank->disable_timer);
- else if (!dev->vblank_disable_immediate)
+ else if (__vblank_disable_immediate(dev, pipe))
mod_timer(&vblank->disable_timer,
jiffies + ((drm_vblank_offdelay * HZ)/1000));
}
@@ -1663,7 +1659,7 @@ int drm_wait_vblank_ioctl(struct drm_device *...
2017 Jul 19
2
[PATCH] drm: disable vblank only if it got previously enabled
I believe the solution is to not call drm_crtc_vblank_off for atomic
modesetting in nouveau_display_fini. I think Ben's working on it.
On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann
<tobias.johannes.klausmann at mni.thm.de> wrote:
> mimic the behavior of vblank_disable_fn(), another caller of
> drm_vblank_disable_and_save().
>
> This avoids oopsing, while trying to disable vblank on a not connected display:
>
> [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x296/0x320 [drm]
> [ 1...
2017 Jul 20
2
[PATCH] drm: disable vblank only if it got previously enabled
...wrong, and the core should _not_ fix it up.
> Otherwise we're back to the old style vblank horror show.
>
> Thanks, Daniel
>
>> On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann
>> <tobias.johannes.klausmann at mni.thm.de> wrote:
>>> mimic the behavior of vblank_disable_fn(), another caller of
>>> drm_vblank_disable_and_save().
>>>
>>> This avoids oopsing, while trying to disable vblank on a not connected display:
>>>
>>> [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from...
2017 Jul 16
3
[drm/nouveau] GeForce 8600 GT boot/suspend grumbling
On Sat, 2017-07-15 at 14:52 -0400, Ilia Mirkin wrote:
>
> OK, so this issue appears to be that we're calling
> drm_crtc_vblank_off() on a crtc for which vblank is already disabled.
> My guess is that this happens because the crtc is disabled.
>
> Not sure what the proper check is to see if vblanks are already disabled...
Seems so, the below shut up suspend for both 8600 GT
2020 Jan 15
0
[Intel-gfx] [PATCH v2 02/21] drm: Evaluate struct drm_device.vblank_disable_immediate on each use
...rm_vblank_put(struct drm_device *dev, unsigned int pipe)
> {
> struct drm_vblank_crtc *vblank = &dev->vblank[pipe];
> @@ -1086,7 +1082,7 @@ static void drm_vblank_put(struct drm_device *dev, unsigned int pipe)
> return;
> else if (drm_vblank_offdelay < 0)
> vblank_disable_fn(&vblank->disable_timer);
> - else if (!dev->vblank_disable_immediate)
> + else if (__vblank_disable_immediate(dev, pipe))
> mod_timer(&vblank->disable_timer,
> jiffies + ((drm_vblank_offdelay * HZ)/1000));
> }
> @@ -1663,7 +1659,7 @@ int drm_wait_vb...
2017 Jul 19
0
[PATCH] drm: disable vblank only if it got previously enabled
mimic the behavior of vblank_disable_fn(), another caller of
drm_vblank_disable_and_save().
This avoids oopsing, while trying to disable vblank on a not connected display:
[ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x296/0x320 [drm]
[ 12.768080] Modules linked in:...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
...ank, something has gone wrong, and the core should _not_ fix it up.
Otherwise we're back to the old style vblank horror show.
Thanks, Daniel
>
> On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann
> <tobias.johannes.klausmann at mni.thm.de> wrote:
> > mimic the behavior of vblank_disable_fn(), another caller of
> > drm_vblank_disable_and_save().
> >
> > This avoids oopsing, while trying to disable vblank on a not connected display:
> >
> > [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_calc_vbltimestamp_from_scanoutpos+0x2...
2017 Jul 20
0
[PATCH] drm: disable vblank only if it got previously enabled
..._not_ fix it up.
>> Otherwise we're back to the old style vblank horror show.
>>
>> Thanks, Daniel
>>
>>> On Wed, Jul 19, 2017 at 1:25 PM, Tobias Klausmann
>>> <tobias.johannes.klausmann at mni.thm.de> wrote:
>>>> mimic the behavior of vblank_disable_fn(), another caller of
>>>> drm_vblank_disable_and_save().
>>>>
>>>> This avoids oopsing, while trying to disable vblank on a not connected display:
>>>>
>>>> [ 12.768079] WARNING: CPU: 0 PID: 274 at drivers/gpu/drm/drm_vblank.c:609 drm_ca...
2020 Jul 17
1
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
...4b3030cd05b380f9f410536690fc,
> gnome & KDE wayland desktops from Ubuntu 18.04,
> and sway 1.5
>
> Signed-off-by: James Jones <jajones at nvidia.com>
I tried and it crashes. Not sure if it's related.
[drm:drm_ioctl] pid=3327, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
[drm:vblank_disable_fn] disabling vblank on crtc 0
[drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
[drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_CPU_PREP
[drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
[drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
BUG: u...
2020 Mar 18
4
[PATCH 1/9] drm/vblank: Add vblank works
..._init);
> +
> /**
> * drm_vblank_init - initialize vblank support
> * @dev: DRM device
> @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned int num_crtcs)
> init_waitqueue_head(&vblank->queue);
> timer_setup(&vblank->disable_timer, vblank_disable_fn, 0);
> seqlock_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 pi...
2020 Mar 18
0
[PATCH 1/9] drm/vblank: Add vblank works
...;
+}
+EXPORT_SYMBOL(drm_vblank_work_init);
+
/**
* drm_vblank_init - initialize vblank support
* @dev: DRM device
@@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned int num_crtcs)
init_waitqueue_head(&vblank->queue);
timer_setup(&vblank->disable_timer, vblank_disable_fn, 0);
seqlock_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,...
2020 Jul 18
0
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
...nome & KDE wayland desktops from Ubuntu 18.04,
>> and sway 1.5
>>
>> Signed-off-by: James Jones <jajones at nvidia.com>
>
> I tried and it crashes. Not sure if it's related.
>
> [drm:drm_ioctl] pid=3327, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
> [drm:vblank_disable_fn] disabling vblank on crtc 0
> [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
> [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_CPU_PREP
> [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEAU_GEM_PUSHBUF
> [drm:drm_ioctl] pid=3351, dev=0xe200, auth=1, NOUVEA...
2020 Jun 22
0
[RFC v5 02/10] drm/vblank: Add vblank works
...ktime_t *tvblank, bool in_vblank_irq);
+static int drm_vblank_get(struct drm_device *dev, unsigned int pipe);
+static void drm_vblank_put(struct drm_device *dev, unsigned int pipe);
static unsigned int drm_timestamp_precision = 20; /* Default to 20 usecs. */
@@ -490,6 +494,35 @@ static void vblank_disable_fn(struct timer_list *t)
spin_unlock_irqrestore(&dev->vbl_lock, irqflags);
}
+static void drm_vblank_work_release(struct drm_vblank_crtc *vblank)
+{
+ struct kthread_worker *worker = vblank->worker;
+ struct drm_vblank_work *work, *tmp;
+ bool wake = false;
+
+ if (!worker)
+ return;
+...
2020 Jul 17
5
[PATCH] drm/nouveau: Accept 'legacy' format modifiers
Accept the DRM_FORMAT_MOD_NVIDIA_16BX2_BLOCK()
family of modifiers to handle broken userspace
Xorg modesetting and Mesa drivers.
Tested with Xorg 1.20 modesetting driver,
weston at c46c70dac84a4b3030cd05b380f9f410536690fc,
gnome & KDE wayland desktops from Ubuntu 18.04,
and sway 1.5
Signed-off-by: James Jones <jajones at nvidia.com>
---
drivers/gpu/drm/nouveau/nouveau_display.c | 26
2020 Mar 27
2
[PATCH 1/9] drm/vblank: Add vblank works
...tialize vblank support
> > > * @dev: DRM device
> > > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned
> > > int num_crtcs)
> > > init_waitqueue_head(&vblank->queue);
> > > timer_setup(&vblank->disable_timer, vblank_disable_fn, 0);
> > > seqlock_init(&vblank->seqlock);
> > > +
> > > + vblank_work_init(vblank);
> > > }
> > >
> > > DRM_INFO("Supports vblank timestamp caching Rev 2 (21.10.2013).\n");
> > > @@ -1825,6 +1935,22 @@ static...
2020 Mar 27
0
[PATCH 1/9] drm/vblank: Add vblank works
...* drm_vblank_init - initialize vblank support
> > * @dev: DRM device
> > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev, unsigned
> > int num_crtcs)
> > init_waitqueue_head(&vblank->queue);
> > timer_setup(&vblank->disable_timer, vblank_disable_fn, 0);
> > seqlock_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(stru...
2020 Apr 13
0
[PATCH 1/9] drm/vblank: Add vblank works
...* @dev: DRM device
> > > > @@ -481,6 +589,8 @@ int drm_vblank_init(struct drm_device *dev,
> > > > unsigned
> > > > int num_crtcs)
> > > > init_waitqueue_head(&vblank->queue);
> > > > timer_setup(&vblank->disable_timer, vblank_disable_fn,
> > > > 0);
> > > > seqlock_init(&vblank->seqlock);
> > > > +
> > > > + vblank_work_init(vblank);
> > > > }
> > > >
> > > > DRM_INFO("Supports vblank timestamp caching Rev 2
> > > >...
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