All of lore.kernel.org
 help / color / mirror / Atom feed
From: Alex Deucher <alexdeucher-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>
To: "Christian König" <deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
Cc: amd-gfx list <amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org>
Subject: Re: [PATCH 4/5] drm/amdgpu: remove adev pointer from struct amdgpu_bo
Date: Thu, 15 Sep 2016 14:30:51 -0400	[thread overview]
Message-ID: <CADnq5_M4VrN-N=Fh2kvZpedqTRVkxePjDBCySk9icaD77R87ag@mail.gmail.com> (raw)
In-Reply-To: <1473945024-8275-4-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>

On Thu, Sep 15, 2016 at 9:10 AM, Christian König
<deathsimple@vodafone.de> wrote:
> From: Christian König <christian.koenig@amd.com>
>
> It's completely pointsless to have two pointers to the
> device in the same structur.
>
> Signed-off-by: Christian König <christian.koenig@amd.com>
> ---
>  drivers/gpu/drm/amd/amdgpu/amdgpu.h        |  6 +++-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c     | 10 +++---
>  drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c    |  4 +--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c     |  4 +--
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.c | 50 ++++++++++++++++--------------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_object.h |  3 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c    | 17 +++-------
>  drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c    |  2 +-
>  drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c     |  2 +-
>  9 files changed, 50 insertions(+), 48 deletions(-)
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu.h b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> index 3b3981d..ed91f08 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu.h
> @@ -465,7 +465,6 @@ struct amdgpu_bo {
>          */
>         struct list_head                va;
>         /* Constant after initialization */
> -       struct amdgpu_device            *adev;
>         struct drm_gem_object           gem_base;
>         struct amdgpu_bo                *parent;
>         struct amdgpu_bo                *shadow;
> @@ -2144,6 +2143,11 @@ struct amdgpu_device {
>
>  };
>
> +static inline struct amdgpu_device *amdgpu_get_adev(struct ttm_bo_device *bdev)
> +{
> +       return container_of(bdev, struct amdgpu_device, mman.bdev);
> +}

Maybe call this amdgpu_ttm_get_adev() to make it clear to to get the
adev from a ttm bo device?

Alex

> +
>  bool amdgpu_device_is_px(struct drm_device *dev);
>  int amdgpu_device_init(struct amdgpu_device *adev,
>                        struct drm_device *ddev,
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> index 187c366..5beab71 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_cs.c
> @@ -355,6 +355,7 @@ static void amdgpu_cs_report_moved_bytes(struct amdgpu_device *adev,
>  static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p,
>                                  struct amdgpu_bo *bo)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         u64 initial_bytes_moved;
>         uint32_t domain;
>         int r;
> @@ -372,9 +373,9 @@ static int amdgpu_cs_bo_validate(struct amdgpu_cs_parser *p,
>
>  retry:
>         amdgpu_ttm_placement_from_domain(bo, domain);
> -       initial_bytes_moved = atomic64_read(&bo->adev->num_bytes_moved);
> +       initial_bytes_moved = atomic64_read(&adev->num_bytes_moved);
>         r = ttm_bo_validate(&bo->tbo, &bo->placement, true, false);
> -       p->bytes_moved += atomic64_read(&bo->adev->num_bytes_moved) -
> +       p->bytes_moved += atomic64_read(&adev->num_bytes_moved) -
>                 initial_bytes_moved;
>
>         if (unlikely(r == -ENOMEM) && domain != bo->allowed_domains) {
> @@ -400,6 +401,7 @@ static bool amdgpu_cs_try_evict(struct amdgpu_cs_parser *p,
>
>                 struct amdgpu_bo_list_entry *candidate = p->evictable;
>                 struct amdgpu_bo *bo = candidate->robj;
> +               struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>                 u64 initial_bytes_moved;
>                 uint32_t other;
>
> @@ -420,9 +422,9 @@ static bool amdgpu_cs_try_evict(struct amdgpu_cs_parser *p,
>
>                 /* Good we can try to move this BO somewhere else */
>                 amdgpu_ttm_placement_from_domain(bo, other);
> -               initial_bytes_moved = atomic64_read(&bo->adev->num_bytes_moved);
> +               initial_bytes_moved = atomic64_read(&adev->num_bytes_moved);
>                 r = ttm_bo_validate(&bo->tbo, &bo->placement, true, false);
> -               p->bytes_moved += atomic64_read(&bo->adev->num_bytes_moved) -
> +               p->bytes_moved += atomic64_read(&adev->num_bytes_moved) -
>                         initial_bytes_moved;
>
>                 if (unlikely(r))
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> index 70e294b..480ae7e 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_gem.c
> @@ -121,7 +121,7 @@ int amdgpu_gem_object_open(struct drm_gem_object *obj,
>                            struct drm_file *file_priv)
>  {
>         struct amdgpu_bo *rbo = gem_to_amdgpu_bo(obj);
> -       struct amdgpu_device *adev = rbo->adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(rbo->tbo.bdev);
>         struct amdgpu_fpriv *fpriv = file_priv->driver_priv;
>         struct amdgpu_vm *vm = &fpriv->vm;
>         struct amdgpu_bo_va *bo_va;
> @@ -144,7 +144,7 @@ void amdgpu_gem_object_close(struct drm_gem_object *obj,
>                              struct drm_file *file_priv)
>  {
>         struct amdgpu_bo *bo = gem_to_amdgpu_bo(obj);
> -       struct amdgpu_device *adev = bo->adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         struct amdgpu_fpriv *fpriv = file_priv->driver_priv;
>         struct amdgpu_vm *vm = &fpriv->vm;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> index 32fa7b7..4731231 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_mn.c
> @@ -285,7 +285,7 @@ free_rmn:
>  int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr)
>  {
>         unsigned long end = addr + amdgpu_bo_size(bo) - 1;
> -       struct amdgpu_device *adev = bo->adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         struct amdgpu_mn *rmn;
>         struct amdgpu_mn_node *node = NULL;
>         struct list_head bos;
> @@ -340,7 +340,7 @@ int amdgpu_mn_register(struct amdgpu_bo *bo, unsigned long addr)
>   */
>  void amdgpu_mn_unregister(struct amdgpu_bo *bo)
>  {
> -       struct amdgpu_device *adev = bo->adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         struct amdgpu_mn *rmn;
>         struct list_head *head;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> index 4289c31..5cbe803 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.c
> @@ -90,18 +90,19 @@ static void amdgpu_update_memory_usage(struct amdgpu_device *adev,
>
>  static void amdgpu_ttm_bo_destroy(struct ttm_buffer_object *tbo)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(tbo->bdev);
>         struct amdgpu_bo *bo;
>
>         bo = container_of(tbo, struct amdgpu_bo, tbo);
>
> -       amdgpu_update_memory_usage(bo->adev, &bo->tbo.mem, NULL);
> +       amdgpu_update_memory_usage(adev, &bo->tbo.mem, NULL);
>
>         drm_gem_object_release(&bo->gem_base);
>         amdgpu_bo_unref(&bo->parent);
>         if (!list_empty(&bo->shadow_list)) {
> -               mutex_lock(&bo->adev->shadow_list_lock);
> +               mutex_lock(&adev->shadow_list_lock);
>                 list_del_init(&bo->shadow_list);
> -               mutex_unlock(&bo->adev->shadow_list_lock);
> +               mutex_unlock(&adev->shadow_list_lock);
>         }
>         kfree(bo->metadata);
>         kfree(bo);
> @@ -212,8 +213,10 @@ static void amdgpu_ttm_placement_init(struct amdgpu_device *adev,
>
>  void amdgpu_ttm_placement_from_domain(struct amdgpu_bo *rbo, u32 domain)
>  {
> -       amdgpu_ttm_placement_init(rbo->adev, &rbo->placement,
> -                                 rbo->placements, domain, rbo->flags);
> +       struct amdgpu_device *adev = amdgpu_get_adev(rbo->tbo.bdev);
> +
> +       amdgpu_ttm_placement_init(adev, &rbo->placement, rbo->placements,
> +                                 domain, rbo->flags);
>  }
>
>  static void amdgpu_fill_placement_to_bo(struct amdgpu_bo *bo,
> @@ -359,7 +362,6 @@ int amdgpu_bo_create_restricted(struct amdgpu_device *adev,
>                 kfree(bo);
>                 return r;
>         }
> -       bo->adev = adev;
>         INIT_LIST_HEAD(&bo->shadow_list);
>         INIT_LIST_HEAD(&bo->va);
>         bo->prefered_domains = domain & (AMDGPU_GEM_DOMAIN_VRAM |
> @@ -624,6 +626,7 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
>                              u64 min_offset, u64 max_offset,
>                              u64 *gpu_addr)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         int r, i;
>         unsigned fpfn, lpfn;
>
> @@ -659,12 +662,12 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
>                 if ((bo->placements[i].flags & TTM_PL_FLAG_VRAM) &&
>                     !(bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS) &&
>                     (!max_offset || max_offset >
> -                    bo->adev->mc.visible_vram_size)) {
> +                    adev->mc.visible_vram_size)) {
>                         if (WARN_ON_ONCE(min_offset >
> -                                        bo->adev->mc.visible_vram_size))
> +                                        adev->mc.visible_vram_size))
>                                 return -EINVAL;
>                         fpfn = min_offset >> PAGE_SHIFT;
> -                       lpfn = bo->adev->mc.visible_vram_size >> PAGE_SHIFT;
> +                       lpfn = adev->mc.visible_vram_size >> PAGE_SHIFT;
>                 } else {
>                         fpfn = min_offset >> PAGE_SHIFT;
>                         lpfn = max_offset >> PAGE_SHIFT;
> @@ -679,12 +682,12 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
>
>         r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false);
>         if (unlikely(r)) {
> -               dev_err(bo->adev->dev, "%p pin failed\n", bo);
> +               dev_err(adev->dev, "%p pin failed\n", bo);
>                 goto error;
>         }
>         r = amdgpu_ttm_bind(&bo->tbo, &bo->tbo.mem);
>         if (unlikely(r)) {
> -               dev_err(bo->adev->dev, "%p bind failed\n", bo);
> +               dev_err(adev->dev, "%p bind failed\n", bo);
>                 goto error;
>         }
>
> @@ -692,11 +695,11 @@ int amdgpu_bo_pin_restricted(struct amdgpu_bo *bo, u32 domain,
>         if (gpu_addr != NULL)
>                 *gpu_addr = amdgpu_bo_gpu_offset(bo);
>         if (domain == AMDGPU_GEM_DOMAIN_VRAM) {
> -               bo->adev->vram_pin_size += amdgpu_bo_size(bo);
> +               adev->vram_pin_size += amdgpu_bo_size(bo);
>                 if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)
> -                       bo->adev->invisible_pin_size += amdgpu_bo_size(bo);
> +                       adev->invisible_pin_size += amdgpu_bo_size(bo);
>         } else if (domain == AMDGPU_GEM_DOMAIN_GTT) {
> -               bo->adev->gart_pin_size += amdgpu_bo_size(bo);
> +               adev->gart_pin_size += amdgpu_bo_size(bo);
>         }
>
>  error:
> @@ -710,10 +713,11 @@ int amdgpu_bo_pin(struct amdgpu_bo *bo, u32 domain, u64 *gpu_addr)
>
>  int amdgpu_bo_unpin(struct amdgpu_bo *bo)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         int r, i;
>
>         if (!bo->pin_count) {
> -               dev_warn(bo->adev->dev, "%p unpin not necessary\n", bo);
> +               dev_warn(adev->dev, "%p unpin not necessary\n", bo);
>                 return 0;
>         }
>         bo->pin_count--;
> @@ -725,16 +729,16 @@ int amdgpu_bo_unpin(struct amdgpu_bo *bo)
>         }
>         r = ttm_bo_validate(&bo->tbo, &bo->placement, false, false);
>         if (unlikely(r)) {
> -               dev_err(bo->adev->dev, "%p validate failed for unpin\n", bo);
> +               dev_err(adev->dev, "%p validate failed for unpin\n", bo);
>                 goto error;
>         }
>
>         if (bo->tbo.mem.mem_type == TTM_PL_VRAM) {
> -               bo->adev->vram_pin_size -= amdgpu_bo_size(bo);
> +               adev->vram_pin_size -= amdgpu_bo_size(bo);
>                 if (bo->flags & AMDGPU_GEM_CREATE_NO_CPU_ACCESS)
> -                       bo->adev->invisible_pin_size -= amdgpu_bo_size(bo);
> +                       adev->invisible_pin_size -= amdgpu_bo_size(bo);
>         } else if (bo->tbo.mem.mem_type == TTM_PL_TT) {
> -               bo->adev->gart_pin_size -= amdgpu_bo_size(bo);
> +               adev->gart_pin_size -= amdgpu_bo_size(bo);
>         }
>
>  error:
> @@ -859,6 +863,7 @@ int amdgpu_bo_get_metadata(struct amdgpu_bo *bo, void *buffer,
>  void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
>                            struct ttm_mem_reg *new_mem)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->bdev);
>         struct amdgpu_bo *rbo;
>         struct ttm_mem_reg *old_mem = &bo->mem;
>
> @@ -866,21 +871,21 @@ void amdgpu_bo_move_notify(struct ttm_buffer_object *bo,
>                 return;
>
>         rbo = container_of(bo, struct amdgpu_bo, tbo);
> -       amdgpu_vm_bo_invalidate(rbo->adev, rbo);
> +       amdgpu_vm_bo_invalidate(adev, rbo);
>
>         /* update statistics */
>         if (!new_mem)
>                 return;
>
>         /* move_notify is called before move happens */
> -       amdgpu_update_memory_usage(rbo->adev, &bo->mem, new_mem);
> +       amdgpu_update_memory_usage(adev, &bo->mem, new_mem);
>
>         trace_amdgpu_ttm_bo_move(rbo, new_mem->mem_type, old_mem->mem_type);
>  }
>
>  int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
>  {
> -       struct amdgpu_device *adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->bdev);
>         struct amdgpu_bo *abo;
>         unsigned long offset, size, lpfn;
>         int i, r;
> @@ -889,7 +894,6 @@ int amdgpu_bo_fault_reserve_notify(struct ttm_buffer_object *bo)
>                 return 0;
>
>         abo = container_of(bo, struct amdgpu_bo, tbo);
> -       adev = abo->adev;
>         if (bo->mem.mem_type != TTM_PL_VRAM)
>                 return 0;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> index 8255034..c9b2c01 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_object.h
> @@ -71,12 +71,13 @@ static inline unsigned amdgpu_mem_type_to_domain(u32 mem_type)
>   */
>  static inline int amdgpu_bo_reserve(struct amdgpu_bo *bo, bool no_intr)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         int r;
>
>         r = ttm_bo_reserve(&bo->tbo, !no_intr, false, NULL);
>         if (unlikely(r != 0)) {
>                 if (r != -ERESTARTSYS)
> -                       dev_err(bo->adev->dev, "%p reserve failed\n", bo);
> +                       dev_err(adev->dev, "%p reserve failed\n", bo);
>                 return r;
>         }
>         return 0;
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> index 1965209..d246a1f 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_ttm.c
> @@ -51,16 +51,6 @@
>  static int amdgpu_ttm_debugfs_init(struct amdgpu_device *adev);
>  static void amdgpu_ttm_debugfs_fini(struct amdgpu_device *adev);
>
> -static struct amdgpu_device *amdgpu_get_adev(struct ttm_bo_device *bdev)
> -{
> -       struct amdgpu_mman *mman;
> -       struct amdgpu_device *adev;
> -
> -       mman = container_of(bdev, struct amdgpu_mman, bdev);
> -       adev = container_of(mman, struct amdgpu_device, mman);
> -       return adev;
> -}
> -
>
>  /*
>   * Global memory.
> @@ -195,6 +185,7 @@ static int amdgpu_init_mem_type(struct ttm_bo_device *bdev, uint32_t type,
>  static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
>                                 struct ttm_placement *placement)
>  {
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->bdev);
>         struct amdgpu_bo *rbo;
>         static struct ttm_place placements = {
>                 .fpfn = 0,
> @@ -213,7 +204,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
>         rbo = container_of(bo, struct amdgpu_bo, tbo);
>         switch (bo->mem.mem_type) {
>         case TTM_PL_VRAM:
> -               if (rbo->adev->mman.buffer_funcs_ring->ready == false) {
> +               if (adev->mman.buffer_funcs_ring->ready == false) {
>                         amdgpu_ttm_placement_from_domain(rbo,
>                                                          AMDGPU_GEM_DOMAIN_CPU);
>                 } else {
> @@ -231,7 +222,7 @@ static void amdgpu_evict_flags(struct ttm_buffer_object *bo,
>                                  * allocating address space for the BO.
>                                  */
>                                 rbo->placements[i].lpfn =
> -                                       rbo->adev->mc.gtt_size >> PAGE_SHIFT;
> +                                       adev->mc.gtt_size >> PAGE_SHIFT;
>                         }
>                 }
>                 break;
> @@ -1384,7 +1375,7 @@ int amdgpu_fill_buffer(struct amdgpu_bo *bo, uint32_t src_data,
>                        struct reservation_object *resv,
>                        struct fence **fence)
>  {
> -       struct amdgpu_device *adev = bo->adev;
> +       struct amdgpu_device *adev = amdgpu_get_adev(bo->tbo.bdev);
>         struct amdgpu_job *job;
>         struct amdgpu_ring *ring = adev->mman.buffer_funcs_ring;
>
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> index e6842b0..87bcac3 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_uvd.c
> @@ -931,7 +931,7 @@ static int amdgpu_uvd_send_msg(struct amdgpu_ring *ring, struct amdgpu_bo *bo,
>         if (r)
>                 return r;
>
> -       if (!bo->adev->uvd.address_64_bit) {
> +       if (!ring->adev->uvd.address_64_bit) {
>                 amdgpu_ttm_placement_from_domain(bo, AMDGPU_GEM_DOMAIN_VRAM);
>                 amdgpu_uvd_force_into_uvd_segment(bo);
>         }
> diff --git a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> index d3a2d1f..5dba9f7 100644
> --- a/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> +++ b/drivers/gpu/drm/amd/amdgpu/amdgpu_vm.c
> @@ -1175,7 +1175,7 @@ int amdgpu_vm_bo_update(struct amdgpu_device *adev,
>
>         flags = amdgpu_ttm_tt_pte_flags(adev, bo_va->bo->tbo.ttm, mem);
>         gtt_flags = (amdgpu_ttm_is_bound(bo_va->bo->tbo.ttm) &&
> -               adev == bo_va->bo->adev) ? flags : 0;
> +               adev == amdgpu_get_adev(bo_va->bo->tbo.bdev)) ? flags : 0;
>
>         spin_lock(&vm->status_lock);
>         if (!list_empty(&bo_va->vm_status))
> --
> 2.5.0
>
> _______________________________________________
> amd-gfx mailing list
> amd-gfx@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/amd-gfx
_______________________________________________
amd-gfx mailing list
amd-gfx@lists.freedesktop.org
https://lists.freedesktop.org/mailman/listinfo/amd-gfx

  parent reply	other threads:[~2016-09-15 18:30 UTC|newest]

Thread overview: 14+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2016-09-15 13:10 [PATCH 1/5] drm/amdgpu: remove unused member from struct amdgpu_bo Christian König
     [not found] ` <1473945024-8275-1-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-15 13:10   ` [PATCH 2/5] drm/amdgpu: fix a bunch of coding style issues in amdgpu_ttm.c Christian König
     [not found]     ` <1473945024-8275-2-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-15 18:25       ` Alex Deucher
2016-09-16  2:17       ` Michel Dänzer
     [not found]         ` <0a85f244-9e39-f5cf-41c7-41f5954094e7-otUistvHUpPR7s880joybQ@public.gmane.org>
2016-09-16  8:41           ` Christian König
2016-09-15 13:10   ` [PATCH 3/5] drm/amdgpu: fix a bunch of coding style issues in amdgpu_gem.c Christian König
     [not found]     ` <1473945024-8275-3-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-15 18:27       ` Alex Deucher
2016-09-15 13:10   ` [PATCH 4/5] drm/amdgpu: remove adev pointer from struct amdgpu_bo Christian König
     [not found]     ` <1473945024-8275-4-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-15 18:30       ` Alex Deucher [this message]
     [not found]         ` <CADnq5_M4VrN-N=Fh2kvZpedqTRVkxePjDBCySk9icaD77R87ag-JsoAwUIsXosN+BqQ9rBEUg@public.gmane.org>
2016-09-29  8:05           ` Christian König
     [not found]             ` <9a954630-b832-f596-ff48-90b24fc3600c-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-29 16:39               ` Alex Deucher
2016-09-15 13:10   ` [PATCH 5/5] drm/amdgpu: rename all rbo variable to abo Christian König
     [not found]     ` <1473945024-8275-5-git-send-email-deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org>
2016-09-15 18:19       ` Alex Deucher
2016-09-15 18:18   ` [PATCH 1/5] drm/amdgpu: remove unused member from struct amdgpu_bo Alex Deucher

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to='CADnq5_M4VrN-N=Fh2kvZpedqTRVkxePjDBCySk9icaD77R87ag@mail.gmail.com' \
    --to=alexdeucher-re5jqeeqqe8avxtiumwx3w@public.gmane.org \
    --cc=amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org \
    --cc=deathsimple-ANTagKRnAhcb1SvskN2V4Q@public.gmane.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.