Displaying 9 results from an estimated 9 matches for "nouveau_fence_no_signaling".
2024 Jan 25
1
[PATCH] nouveau: rip out fence irq allow/block sequences.
...naling(struct dma_fence *f)
> -{
> - struct nouveau_fence *fence = from_fence(f);
> - struct nouveau_fence_chan *fctx = nouveau_fctx(fence);
> - bool ret;
> - bool do_work;
> -
> - if (atomic_inc_return(&fctx->notify_ref) == 0)
> - do_work = true;
> -
> - ret = nouveau_fence_no_signaling(f);
> - if (ret)
> - set_bit(DMA_FENCE_FLAG_USER_BITS, &fence->base.flags);
> - else if (atomic_dec_and_test(&fctx->notify_ref))
> - do_work = true;
> -
> - if (do_work)
> - schedule_work(&fctx->allow_block_work);
> -
> - return ret;
> -}
> -...
2024 Jan 23
1
[PATCH] nouveau: rip out fence irq allow/block sequences.
...elease
};
-static bool nouveau_fence_enable_signaling(struct dma_fence *f)
-{
- struct nouveau_fence *fence = from_fence(f);
- struct nouveau_fence_chan *fctx = nouveau_fctx(fence);
- bool ret;
- bool do_work;
-
- if (atomic_inc_return(&fctx->notify_ref) == 0)
- do_work = true;
-
- ret = nouveau_fence_no_signaling(f);
- if (ret)
- set_bit(DMA_FENCE_FLAG_USER_BITS, &fence->base.flags);
- else if (atomic_dec_and_test(&fctx->notify_ref))
- do_work = true;
-
- if (do_work)
- schedule_work(&fctx->allow_block_work);
-
- return ret;
-}
-
static const struct dma_fence_ops nouveau_fence_ops_u...
2018 Jan 11
1
[PATCH 1/2] drm/nouveau: Remove redundant _get
...d nouveau_fence_release(struct dma_fence *f)
}
static const struct dma_fence_ops nouveau_fence_ops_legacy = {
- .get_driver_name = nouveau_fence_get_get_driver_name,
+ .get_driver_name = nouveau_fence_get_driver_name,
.get_timeline_name = nouveau_fence_get_timeline_name,
.enable_signaling = nouveau_fence_no_signaling,
.signaled = nouveau_fence_is_signaled,
@@ -523,7 +523,7 @@ static bool nouveau_fence_enable_signaling(struct dma_fence *f)
}
static const struct dma_fence_ops nouveau_fence_ops_uevent = {
- .get_driver_name = nouveau_fence_get_get_driver_name,
+ .get_driver_name = nouveau_fence_get_driver_na...
2014 May 14
0
[RFC PATCH v1 07/16] drm/nouveau: rework to new fence interface
...NOMEM;
- INIT_LIST_HEAD(&fence->work);
fence->sysmem = sysmem;
- kref_init(&fence->kref);
ret = nouveau_fence_emit(fence, chan);
if (ret)
@@ -336,3 +404,85 @@ nouveau_fence_new(struct nouveau_channel *chan, bool sysmem,
*pfence = fence;
return ret;
}
+
+
+static bool nouveau_fence_no_signaling(struct fence *f)
+{
+ /*
+ * This needs uevents to work correctly, but fence_add_callback relies on
+ * being able to enable signaling. It will still get signaled eventually,
+ * just not right away.
+ */
+ if (nouveau_fence_is_signaled(f))
+ return false;
+
+ return true;
+}
+
+static const c...
2023 Dec 22
11
nouveau GSP fixes
This is a collection of nouveau debug prints, memory leak, a very
annoying race condition causing system hangs with prime scenarios,
and a fix from Lyude to get the panel on my laptop working.
I'd like to get these into 6.7,
Dave.
2014 May 14
17
[RFC PATCH v1 00/16] Convert all ttm drivers to use the new reservation interface
This series depends on the previously posted reservation api patches.
2 of them are not yet in for-next-fences branch of
git://git.linaro.org/people/sumit.semwal/linux-3.x.git
The missing patches are still in my vmwgfx_wip branch at
git://people.freedesktop.org/~mlankhorst/linux
All ttm drivers are converted to the fence api, fence_lock is removed
and rcu is used in its place.
qxl is the first
2014 Jul 31
19
[PATCH 01/19] fence: add debugging lines to fence_is_signaled for the callback
fence_is_signaled callback should support being run in
atomic context, but not in irq context.
Signed-off-by: Maarten Lankhorst <maarten.lankhorst at canonical.com>
---
include/linux/fence.h | 23 +++++++++++++++++++----
1 file changed, 19 insertions(+), 4 deletions(-)
diff --git a/include/linux/fence.h b/include/linux/fence.h
index d174585b874b..c1a4519ba2f5 100644
---
2014 Jul 09
22
[PATCH 00/17] Convert TTM to the new fence interface.
This series applies on top of the driver-core-next branch of
git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/driver-core.git
Before converting ttm to the new fence interface I had to fix some
drivers to require a reservation before poking with fence_obj.
After flipping the switch RCU becomes available instead, and
the extra reservations can be dropped again. :-)
I've done at least basic
2017 Apr 04
47
[Bug 100567] New: Nouveau system freeze fifo: SCHED_ERROR 0a [CTXSW_TIMEOUT]
https://bugs.freedesktop.org/show_bug.cgi?id=100567
Bug ID: 100567
Summary: Nouveau system freeze fifo: SCHED_ERROR 0a
[CTXSW_TIMEOUT]
Product: xorg
Version: unspecified
Hardware: Other
OS: All
Status: NEW
Severity: normal
Priority: medium
Component: Driver/nouveau