search for: qxl_bo_pin

Displaying 20 results from an estimated 27 matches for "qxl_bo_pin".

2019 Sep 05
2
Xorg indefinitely hangs in kernelspace
On 05.09.19 10:14, Gerd Hoffmann wrote: > On Tue, Aug 06, 2019 at 09:00:10PM +0300, Jaak Ristioja wrote: >> Hello! >> >> I'm writing to report a crash in the QXL / DRM code in the Linux kernel. >> I originally filed the issue on LaunchPad and more details can be found >> there, although I doubt whether these details are useful. > > Any change with kernel
2019 Sep 05
2
Xorg indefinitely hangs in kernelspace
On 05.09.19 10:14, Gerd Hoffmann wrote: > On Tue, Aug 06, 2019 at 09:00:10PM +0300, Jaak Ristioja wrote: >> Hello! >> >> I'm writing to report a crash in the QXL / DRM code in the Linux kernel. >> I originally filed the issue on LaunchPad and more details can be found >> there, although I doubt whether these details are useful. > > Any change with kernel
2019 Sep 24
0
Xorg indefinitely hangs in kernelspace
...ock.isra.0+0x261/0x7f0 [124212.551345] ? ttm_bo_init+0x6b/0x100 [ttm] [124212.551346] __ww_mutex_lock_slowpath+0x16/0x20 [124212.551347] ww_mutex_lock+0x38/0x90 [124212.551352] ttm_eu_reserve_buffers+0x1cc/0x2f0 [ttm] [124212.551371] qxl_release_reserve_list+0x6d/0x150 [qxl] [124212.551373] ? qxl_bo_pin+0xf4/0x190 [qxl] [124212.551375] qxl_cursor_atomic_update+0x1ab/0x2e0 [qxl] [124212.551376] ? qxl_bo_pin+0xf4/0x190 [qxl] [124212.551384] drm_atomic_helper_commit_planes+0xd5/0x220 [drm_kms_helper] [124212.551388] drm_atomic_helper_commit_tail+0x2c/0x70 [drm_kms_helper] [124212.551392] commit_...
2020 Sep 29
2
[PATCH v2 4/4] drm/qxl: use qxl pin function
.../qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c index d3635e3e3267..eb45267d51db 100644 --- a/drivers/gpu/drm/qxl/qxl_object.c +++ b/drivers/gpu/drm/qxl/qxl_object.c @@ -145,7 +145,7 @@ int qxl_bo_create(struct qxl_device *qdev, return r; } if (pinned) - ttm_bo_pin(&bo->tbo); + qxl_bo_pin(bo); *bo_ptr = bo; return 0; } -- 2.27.0
2020 Sep 29
2
[PATCH v2 4/4] drm/qxl: use qxl pin function
.../qxl/qxl_object.c b/drivers/gpu/drm/qxl/qxl_object.c index d3635e3e3267..eb45267d51db 100644 --- a/drivers/gpu/drm/qxl/qxl_object.c +++ b/drivers/gpu/drm/qxl/qxl_object.c @@ -145,7 +145,7 @@ int qxl_bo_create(struct qxl_device *qdev, return r; } if (pinned) - ttm_bo_pin(&bo->tbo); + qxl_bo_pin(bo); *bo_ptr = bo; return 0; } -- 2.27.0
2019 Sep 30
2
[Spice-devel] Xorg indefinitely hangs in kernelspace
...24212.551345] ? ttm_bo_init+0x6b/0x100 [ttm] > [124212.551346] __ww_mutex_lock_slowpath+0x16/0x20 > [124212.551347] ww_mutex_lock+0x38/0x90 > [124212.551352] ttm_eu_reserve_buffers+0x1cc/0x2f0 [ttm] > [124212.551371] qxl_release_reserve_list+0x6d/0x150 [qxl] > [124212.551373] ? qxl_bo_pin+0xf4/0x190 [qxl] > [124212.551375] qxl_cursor_atomic_update+0x1ab/0x2e0 [qxl] > [124212.551376] ? qxl_bo_pin+0xf4/0x190 [qxl] > [124212.551384] drm_atomic_helper_commit_planes+0xd5/0x220 [drm_kms_helper] > [124212.551388] drm_atomic_helper_commit_tail+0x2c/0x70 [drm_kms_helper] >...
2019 Aug 06
2
Xorg indefinitely hangs in kernelspace
...disabled+0xe/0x10 [354073.738345] __ww_mutex_lock.isra.11+0x3e0/0x750 [354073.738346] __ww_mutex_lock_slowpath+0x16/0x20 [354073.738347] ww_mutex_lock+0x34/0x50 [354073.738352] ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] [354073.738356] qxl_release_reserve_list+0x67/0x150 [qxl] [354073.738358] ? qxl_bo_pin+0xaa/0x190 [qxl] [354073.738359] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] [354073.738367] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] [354073.738371] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] [354073.738374] commit_tail+0x67/0x70 [drm_kms_helper] [354073.738378]...
2019 Aug 06
2
Xorg indefinitely hangs in kernelspace
...disabled+0xe/0x10 [354073.738345] __ww_mutex_lock.isra.11+0x3e0/0x750 [354073.738346] __ww_mutex_lock_slowpath+0x16/0x20 [354073.738347] ww_mutex_lock+0x34/0x50 [354073.738352] ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] [354073.738356] qxl_release_reserve_list+0x67/0x150 [qxl] [354073.738358] ? qxl_bo_pin+0xaa/0x190 [qxl] [354073.738359] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] [354073.738367] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] [354073.738371] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] [354073.738374] commit_tail+0x67/0x70 [drm_kms_helper] [354073.738378]...
2019 Apr 30
2
Xorg hangs in kernelspace with qxl
...879 790 0x00400004 Call Trace: __schedule+0x2d0/0x840 schedule+0x2c/0x70 schedule_preempt_disabled+0xe/0x10 __ww_mutex_lock.isra.11+0x3e0/0x750 __ww_mutex_lock_slowpath+0x16/0x20 ww_mutex_lock+0x34/0x50 ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] qxl_release_reserve_list+0x67/0x150 [qxl] ? qxl_bo_pin+0x11d/0x200 [qxl] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] commit_tail+0x67/0x70 [drm_kms_helper] drm_atomic_helper_commit+0x113/0x120 [drm_kms_helper] drm_atomic_commit+0x4a...
2019 Apr 30
2
Xorg hangs in kernelspace with qxl
...879 790 0x00400004 Call Trace: __schedule+0x2d0/0x840 schedule+0x2c/0x70 schedule_preempt_disabled+0xe/0x10 __ww_mutex_lock.isra.11+0x3e0/0x750 __ww_mutex_lock_slowpath+0x16/0x20 ww_mutex_lock+0x34/0x50 ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] qxl_release_reserve_list+0x67/0x150 [qxl] ? qxl_bo_pin+0x11d/0x200 [qxl] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] commit_tail+0x67/0x70 [drm_kms_helper] drm_atomic_helper_commit+0x113/0x120 [drm_kms_helper] drm_atomic_commit+0x4a...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
....738345] __ww_mutex_lock.isra.11+0x3e0/0x750 > [354073.738346] __ww_mutex_lock_slowpath+0x16/0x20 > [354073.738347] ww_mutex_lock+0x34/0x50 > [354073.738352] ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] > [354073.738356] qxl_release_reserve_list+0x67/0x150 [qxl] > [354073.738358] ? qxl_bo_pin+0xaa/0x190 [qxl] > [354073.738359] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] > [354073.738367] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] > [354073.738371] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] > [354073.738374] commit_tail+0x67/0x70 [drm_kms_hel...
2019 Sep 06
4
Xorg indefinitely hangs in kernelspace
....738345] __ww_mutex_lock.isra.11+0x3e0/0x750 > [354073.738346] __ww_mutex_lock_slowpath+0x16/0x20 > [354073.738347] ww_mutex_lock+0x34/0x50 > [354073.738352] ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] > [354073.738356] qxl_release_reserve_list+0x67/0x150 [qxl] > [354073.738358] ? qxl_bo_pin+0xaa/0x190 [qxl] > [354073.738359] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] > [354073.738367] drm_atomic_helper_commit_planes+0xb9/0x220 [drm_kms_helper] > [354073.738371] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] > [354073.738374] commit_tail+0x67/0x70 [drm_kms_hel...
2020 Sep 29
0
[PATCH v2 4/4] drm/qxl: use qxl pin function
...bject.c > index d3635e3e3267..eb45267d51db 100644 > --- a/drivers/gpu/drm/qxl/qxl_object.c > +++ b/drivers/gpu/drm/qxl/qxl_object.c > @@ -145,7 +145,7 @@ int qxl_bo_create(struct qxl_device *qdev, > return r; > } > if (pinned) > - ttm_bo_pin(&bo->tbo); > + qxl_bo_pin(bo); I think this is now after ttm_bo_init, and at that point the object is visible to lru users and everything. So I do think you need to grab locks here instead of just incrementing the pin count alone. It's also I think a bit racy, since ttm_bo_init drops the lock, so someone might have sn...
2019 Sep 06
0
[Spice-devel] Xorg indefinitely hangs in kernelspace
....isra.11+0x3e0/0x750 > > [354073.738346] __ww_mutex_lock_slowpath+0x16/0x20 > > [354073.738347] ww_mutex_lock+0x34/0x50 > > [354073.738352] ttm_eu_reserve_buffers+0x1f9/0x2e0 [ttm] > > [354073.738356] qxl_release_reserve_list+0x67/0x150 [qxl] > > [354073.738358] ? qxl_bo_pin+0xaa/0x190 [qxl] > > [354073.738359] qxl_cursor_atomic_update+0x1b0/0x2e0 [qxl] > > [354073.738367] drm_atomic_helper_commit_planes+0xb9/0x220 > > [drm_kms_helper] > > [354073.738371] drm_atomic_helper_commit_tail+0x2b/0x70 [drm_kms_helper] > > [354073.738374] comm...
2019 Jul 16
1
[PATCH v3 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index deaffce50a2e..f34...
2019 Jul 16
1
[PATCH v3 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index deaffce50a2e..f34...
2019 Jul 16
1
[PATCH v3 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index deaffce50a2e..f34...
2019 Jul 16
1
[PATCH v2 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index d3a5bea9a2c5..2d3...
2019 Jul 16
1
[PATCH v2 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index d3a5bea9a2c5..2d3...
2019 Jul 16
1
[PATCH v2 2/3] drm: plumb attaching dev thru to prime_pin/unpin
...y Implementations as there should not be any other driver for a virtual * device that might share buffers with qxl */ -int qxl_gem_prime_pin(struct drm_gem_object *obj) +int qxl_gem_prime_pin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); return qxl_bo_pin(bo); } -void qxl_gem_prime_unpin(struct drm_gem_object *obj) +void qxl_gem_prime_unpin(struct drm_gem_object *obj, struct device *dev) { struct qxl_bo *bo = gem_to_qxl_bo(obj); diff --git a/drivers/gpu/drm/radeon/radeon_prime.c b/drivers/gpu/drm/radeon/radeon_prime.c index d3a5bea9a2c5..2d3...