diff mbox

staging: vboxvideo: adapt to new TTM interface

Message ID 20171124103259.6033-1-christian.koenig@amd.com (mailing list archive)
State New, archived
Headers show

Commit Message

Christian König Nov. 24, 2017, 10:32 a.m. UTC
Fixes interface changes done in the following commits:
drm/ttm: add operation ctx to ttm_bo_validate v2
drm/ttm: add context to driver move callback as well

I missed this driver because it is in the staging area.

Signed-off-by: Christian König <christian.koenig@amd.com>
Reviewed-by: Hans de Goede <hdegoede@redhat.com>
---
 drivers/staging/vboxvideo/vbox_ttm.c | 17 ++++++-----------
 1 file changed, 6 insertions(+), 11 deletions(-)

Comments

Greg KH Nov. 24, 2017, 10:37 a.m. UTC | #1
On Fri, Nov 24, 2017 at 11:32:59AM +0100, Christian König wrote:
> Fixes interface changes done in the following commits:
> drm/ttm: add operation ctx to ttm_bo_validate v2
> drm/ttm: add context to driver move callback as well

Any hints on the git commit ids in Linus's tree?

And does this mean the driver's build is now broken?  Should this go
through the staging tree, or is it to go through the drm tree?

thanks,

greg k-h
Christian König Nov. 24, 2017, 12:53 p.m. UTC | #2
Am 24.11.2017 um 11:37 schrieb Greg KH:
> On Fri, Nov 24, 2017 at 11:32:59AM +0100, Christian König wrote:
>> Fixes interface changes done in the following commits:
>> drm/ttm: add operation ctx to ttm_bo_validate v2
>> drm/ttm: add context to driver move callback as well
> Any hints on the git commit ids in Linus's tree?

Those haven't arrived in Linus tree yet.

> And does this mean the driver's build is now broken?

Yes, it broke the build. Sorry that was my fault, didn't had this 
staging driver activated in the config nor noticed that there is an user 
of ttm outside the drm directory.

> Should this go through the staging tree, or is it to go through the drm tree?

The DRM tree I think. We should probably squash this patch into the 
original change which broke the driver in the DRM tree.

Regards,
Christian.

>
> thanks,
>
> greg k-h
Greg KH Nov. 24, 2017, 1:05 p.m. UTC | #3
On Fri, Nov 24, 2017 at 01:53:16PM +0100, Christian König wrote:
> Am 24.11.2017 um 11:37 schrieb Greg KH:
> > On Fri, Nov 24, 2017 at 11:32:59AM +0100, Christian König wrote:
> > > Fixes interface changes done in the following commits:
> > > drm/ttm: add operation ctx to ttm_bo_validate v2
> > > drm/ttm: add context to driver move callback as well
> > Any hints on the git commit ids in Linus's tree?
> 
> Those haven't arrived in Linus tree yet.
> 
> > And does this mean the driver's build is now broken?
> 
> Yes, it broke the build. Sorry that was my fault, didn't had this staging
> driver activated in the config nor noticed that there is an user of ttm
> outside the drm directory.
> 
> > Should this go through the staging tree, or is it to go through the drm tree?
> 
> The DRM tree I think. We should probably squash this patch into the original
> change which broke the driver in the DRM tree.

That's fine with me, thanks for the patch:

Acked-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Alex Deucher Nov. 27, 2017, 10:23 p.m. UTC | #4
On Fri, Nov 24, 2017 at 5:32 AM, Christian König
<ckoenig.leichtzumerken@gmail.com> wrote:
> Fixes interface changes done in the following commits:
> drm/ttm: add operation ctx to ttm_bo_validate v2
> drm/ttm: add context to driver move callback as well
>
> I missed this driver because it is in the staging area.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
> Reviewed-by: Hans de Goede <hdegoede@redhat.com>

Acked-by: Alex Deucher <alexander.deucher@amd.com>

Alex

> ---
>  drivers/staging/vboxvideo/vbox_ttm.c | 17 ++++++-----------
>  1 file changed, 6 insertions(+), 11 deletions(-)
>
> diff --git a/drivers/staging/vboxvideo/vbox_ttm.c b/drivers/staging/vboxvideo/vbox_ttm.c
> index 4eb410a2a1a8..231c89e0699c 100644
> --- a/drivers/staging/vboxvideo/vbox_ttm.c
> +++ b/drivers/staging/vboxvideo/vbox_ttm.c
> @@ -183,13 +183,6 @@ static void vbox_ttm_io_mem_free(struct ttm_bo_device *bdev,
>  {
>  }
>
> -static int vbox_bo_move(struct ttm_buffer_object *bo,
> -                       bool evict, bool interruptible,
> -                       bool no_wait_gpu, struct ttm_mem_reg *new_mem)
> -{
> -       return ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
> -}
> -
>  static void vbox_ttm_backend_destroy(struct ttm_tt *tt)
>  {
>         ttm_tt_fini(tt);
> @@ -237,7 +230,6 @@ static struct ttm_bo_driver vbox_bo_driver = {
>         .init_mem_type = vbox_bo_init_mem_type,
>         .eviction_valuable = ttm_bo_eviction_valuable,
>         .evict_flags = vbox_bo_evict_flags,
> -       .move = vbox_bo_move,
>         .verify_access = vbox_bo_verify_access,
>         .io_mem_reserve = &vbox_ttm_io_mem_reserve,
>         .io_mem_free = &vbox_ttm_io_mem_free,
> @@ -374,6 +366,7 @@ static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
>
>  int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
>  {
> +       struct ttm_operation_ctx ctx = { false, false };
>         int i, ret;
>
>         if (bo->pin_count) {
> @@ -389,7 +382,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
>         for (i = 0; i < bo->placement.num_placement; i++)
>                 bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
>
> -       ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
> +       ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
>         if (ret)
>                 return ret;
>
> @@ -403,6 +396,7 @@ int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
>
>  int vbox_bo_unpin(struct vbox_bo *bo)
>  {
> +       struct ttm_operation_ctx ctx = { false, false };
>         int i, ret;
>
>         if (!bo->pin_count) {
> @@ -416,7 +410,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
>         for (i = 0; i < bo->placement.num_placement; i++)
>                 bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
>
> -       ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
> +       ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
>         if (ret)
>                 return ret;
>
> @@ -430,6 +424,7 @@ int vbox_bo_unpin(struct vbox_bo *bo)
>   */
>  int vbox_bo_push_sysram(struct vbox_bo *bo)
>  {
> +       struct ttm_operation_ctx ctx = { false, false };
>         int i, ret;
>
>         if (!bo->pin_count) {
> @@ -448,7 +443,7 @@ int vbox_bo_push_sysram(struct vbox_bo *bo)
>         for (i = 0; i < bo->placement.num_placement; i++)
>                 bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
>
> -       ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
> +       ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
>         if (ret) {
>                 DRM_ERROR("pushing to VRAM failed\n");
>                 return ret;
> --
> 2.11.0
>
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/dri-devel
diff mbox

Patch

diff --git a/drivers/staging/vboxvideo/vbox_ttm.c b/drivers/staging/vboxvideo/vbox_ttm.c
index 4eb410a2a1a8..231c89e0699c 100644
--- a/drivers/staging/vboxvideo/vbox_ttm.c
+++ b/drivers/staging/vboxvideo/vbox_ttm.c
@@ -183,13 +183,6 @@  static void vbox_ttm_io_mem_free(struct ttm_bo_device *bdev,
 {
 }
 
-static int vbox_bo_move(struct ttm_buffer_object *bo,
-			bool evict, bool interruptible,
-			bool no_wait_gpu, struct ttm_mem_reg *new_mem)
-{
-	return ttm_bo_move_memcpy(bo, interruptible, no_wait_gpu, new_mem);
-}
-
 static void vbox_ttm_backend_destroy(struct ttm_tt *tt)
 {
 	ttm_tt_fini(tt);
@@ -237,7 +230,6 @@  static struct ttm_bo_driver vbox_bo_driver = {
 	.init_mem_type = vbox_bo_init_mem_type,
 	.eviction_valuable = ttm_bo_eviction_valuable,
 	.evict_flags = vbox_bo_evict_flags,
-	.move = vbox_bo_move,
 	.verify_access = vbox_bo_verify_access,
 	.io_mem_reserve = &vbox_ttm_io_mem_reserve,
 	.io_mem_free = &vbox_ttm_io_mem_free,
@@ -374,6 +366,7 @@  static inline u64 vbox_bo_gpu_offset(struct vbox_bo *bo)
 
 int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
 {
+	struct ttm_operation_ctx ctx = { false, false };
 	int i, ret;
 
 	if (bo->pin_count) {
@@ -389,7 +382,7 @@  int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
 	for (i = 0; i < bo->placement.num_placement; i++)
 		bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
 
-	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
+	ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
 	if (ret)
 		return ret;
 
@@ -403,6 +396,7 @@  int vbox_bo_pin(struct vbox_bo *bo, u32 pl_flag, u64 *gpu_addr)
 
 int vbox_bo_unpin(struct vbox_bo *bo)
 {
+	struct ttm_operation_ctx ctx = { false, false };
 	int i, ret;
 
 	if (!bo->pin_count) {
@@ -416,7 +410,7 @@  int vbox_bo_unpin(struct vbox_bo *bo)
 	for (i = 0; i < bo->placement.num_placement; i++)
 		bo->placements[i].flags &= ~TTM_PL_FLAG_NO_EVICT;
 
-	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
+	ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
 	if (ret)
 		return ret;
 
@@ -430,6 +424,7 @@  int vbox_bo_unpin(struct vbox_bo *bo)
  */
 int vbox_bo_push_sysram(struct vbox_bo *bo)
 {
+	struct ttm_operation_ctx ctx = { false, false };
 	int i, ret;
 
 	if (!bo->pin_count) {
@@ -448,7 +443,7 @@  int vbox_bo_push_sysram(struct vbox_bo *bo)
 	for (i = 0; i < bo->placement.num_placement; i++)
 		bo->placements[i].flags |= TTM_PL_FLAG_NO_EVICT;
 
-	ret = ttm_bo_validate(&bo->bo, &bo->placement, false, false);
+	ret = ttm_bo_validate(&bo->bo, &bo->placement, &ctx);
 	if (ret) {
 		DRM_ERROR("pushing to VRAM failed\n");
 		return ret;