Displaying 18 results from an estimated 18 matches for "virtio_gpu_object_".
Did you mean:
virtio_gpu_object
2019 Jul 05
1
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve,unreserve}
...plies only when the BO is still alive. Someone
> needs to hold a reference to the BO to keep it alive, otherwise the BO
> can go away before the vbuf is retired.
Note that patches 14+15 rework virtio_gpu_transfer_*_ioctl to keep
gem reference until the command is finished and patch 17 drops
virtio_gpu_object_{reserve,unreserve} altogether.
Maybe I should try to reorder the series, then squash 6+17 to reduce
confusion. I suspect that'll cause quite a few conflicts though ...
cheers,
Gerd
2019 Jul 04
2
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve,unreserve}
Hi,
> > - r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
> > + r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
> Can you elaborate a bit about how TTM keeps the BOs alive in, for
> example, virtio_gpu_transfer_from_host_ioctl? In that function, only
> three TTM functions are called: ttm_bo_reserve, ttm_bo_validate, and
>
2019 Jul 04
2
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve,unreserve}
Hi,
> > - r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
> > + r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
> Can you elaborate a bit about how TTM keeps the BOs alive in, for
> example, virtio_gpu_transfer_from_host_ioctl? In that function, only
> three TTM functions are called: ttm_bo_reserve, ttm_bo_validate, and
>
2018 Dec 19
0
[PATCH 04/10] drm/virtio: move virtio_gpu_object_{attach, detach} calls.
Drop the dummy ttm backend implementation, add a real one for
TTM_PL_FLAG_TT objects. The bin/unbind callbacks will call
virtio_gpu_object_{attach,detach}, to update the object state
on the host side, instead of invoking those calls from the
move_notify() callback.
With that in place the move and move_notify callbacks are not
needed any more, so drop them.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
---
drivers/gpu/drm...
2019 Mar 18
0
[PATCH v3 1/5] drm/virtio: move virtio_gpu_object_{attach, detach} calls.
Drop the dummy ttm backend implementation, add a real one for
TTM_PL_FLAG_TT objects. The bin/unbind callbacks will call
virtio_gpu_object_{attach,detach}, to update the object state
on the host side, instead of invoking those calls from the
move_notify() callback.
With that in place the move and move_notify callbacks are not
needed any more, so drop them.
Signed-off-by: Gerd Hoffmann <kraxel at redhat.com>
Acked-by: Noralf Tr?...
2019 Jun 18
1
[PATCH v2 06/12] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..91c320819a8c 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,7 +402,7 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
if (r != -ERESTARTSYS) {
struct virtio_gpu_device *qdev =
@@ -416,7 +416,7 @@ static...
2019 Jun 20
0
[PATCH v4 06/12] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..07f6001ea91e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -EINTR) {
struct virtio_gpu_device *qdev =...
2019 Jun 28
0
[PATCH v5 06/12] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..07f6001ea91e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -EINTR) {
struct virtio_gpu_device *qdev =...
2019 Jul 02
0
[PATCH v6 13/18] drm/virtio: drop virtio_gpu_object_{ref,unref}
...0644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -362,21 +362,6 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
struct drm_device *dev, struct dma_buf_attachment *attach,
struct sg_table *sgt);
-static inline struct virtio_gpu_object*
-virtio_gpu_object_ref(struct virtio_gpu_object *bo)
-{
- drm_gem_object_get(&bo->base.base);
- return bo;
-}
-
-static inline void virtio_gpu_object_unref(struct virtio_gpu_object **bo)
-{
- if ((*bo) == NULL)
- return;
- drm_gem_object_put(&(*bo)->base.base);
- *bo = NULL;
-}
-
static inline u64 virt...
2019 Jul 02
0
[PATCH v6 17/18] drm/virtio: drop virtio_gpu_object_{reserve, unreserve}
...-----------
1 file changed, 21 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index d99c54abd090..23670109d167 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -368,27 +368,6 @@ static inline u64 virtio_gpu_object_mmap_offset(struct virtio_gpu_object *bo)
return drm_vma_node_offset_addr(&bo->base.base.vma_node);
}
-static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
-{
- int r;
-
- r = reservation_object_lock_interruptible(bo->base.base.resv, NULL);
- if (unlikely(r != 0))...
2019 Jul 03
0
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
..., 3 deletions(-)
>
> diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
> index 06cc0e961df6..07f6001ea91e 100644
> --- a/drivers/gpu/drm/virtio/virtgpu_drv.h
> +++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
> @@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
> {
> int r;
>
> - r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
> + r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
Can you elaborate a bit about how TTM keeps the BOs alive in, for
example, v...
2019 Jul 04
0
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
On Thu, Jul 4, 2019 at 4:10 AM Gerd Hoffmann <kraxel at redhat.com> wrote:
>
> Hi,
>
> > > - r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
> > > + r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
> > Can you elaborate a bit about how TTM keeps the BOs alive in, for
> > example,
2019 Aug 02
0
[PATCH v7 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index cf6be2cfb812..3473b602ec35 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -EINTR) {
struct virtio_gpu_device *qdev =...
2019 Aug 02
0
[PATCH v7 17/18] drm/virtio: drop virtio_gpu_object_{reserve, unreserve}
...-----------
1 file changed, 21 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 59f71dc94017..fb35831ed351 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -368,27 +368,6 @@ static inline u64 virtio_gpu_object_mmap_offset(struct virtio_gpu_object *bo)
return drm_vma_node_offset_addr(&bo->base.base.vma_node);
}
-static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
-{
- int r;
-
- r = reservation_object_lock_interruptible(bo->base.base.resv, NULL);
- if (unlikely(r != 0))...
2019 Aug 02
0
[PATCH v7 16/18] drm/virtio: drop virtio_gpu_object_{ref,unref}
...0644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -363,21 +363,6 @@ struct drm_gem_object *virtgpu_gem_prime_import_sg_table(
struct drm_device *dev, struct dma_buf_attachment *attach,
struct sg_table *sgt);
-static inline struct virtio_gpu_object*
-virtio_gpu_object_ref(struct virtio_gpu_object *bo)
-{
- drm_gem_object_get(&bo->base.base);
- return bo;
-}
-
-static inline void virtio_gpu_object_unref(struct virtio_gpu_object **bo)
-{
- if ((*bo) == NULL)
- return;
- drm_gem_object_put(&(*bo)->base.base);
- *bo = NULL;
-}
-
static inline u64 virt...
2019 Jun 19
1
[PATCH v3 07/12] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..77ac69a8e6cc 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -ERESTARTSYS && r != -EINTR) {
struct v...
2019 Jul 02
2
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..07f6001ea91e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -EINTR) {
struct virtio_gpu_device *qdev =...
2019 Jul 02
2
[PATCH v6 06/18] drm/virtio: remove ttm calls from in virtio_gpu_object_{reserve, unreserve}
...file changed, 3 insertions(+), 3 deletions(-)
diff --git a/drivers/gpu/drm/virtio/virtgpu_drv.h b/drivers/gpu/drm/virtio/virtgpu_drv.h
index 06cc0e961df6..07f6001ea91e 100644
--- a/drivers/gpu/drm/virtio/virtgpu_drv.h
+++ b/drivers/gpu/drm/virtio/virtgpu_drv.h
@@ -402,9 +402,9 @@ static inline int virtio_gpu_object_reserve(struct virtio_gpu_object *bo)
{
int r;
- r = ttm_bo_reserve(&bo->tbo, true, false, NULL);
+ r = reservation_object_lock_interruptible(bo->gem_base.resv, NULL);
if (unlikely(r != 0)) {
- if (r != -ERESTARTSYS) {
+ if (r != -EINTR) {
struct virtio_gpu_device *qdev =...