[PATCH v2 2/8] drm/etnaviv: split out cmdbuf mapping into address space
Guido Günther
agx at sigxcpu.org
Fri Aug 9 09:28:28 UTC 2019
Hi,
On Fri, Aug 09, 2019 at 11:17:13AM +0200, Lucas Stach wrote:
> Am Donnerstag, den 08.08.2019, 12:26 +0200 schrieb Guido Günther:
> > Hi,
> > On Fri, Jul 05, 2019 at 07:17:21PM +0200, Lucas Stach wrote:
> > > This allows to decouple the cmdbuf suballocator create and mapping
> > > the region into the GPU address space. Allowing multiple AS to share
> > > a single cmdbuf suballoc.
> > >
> > > > > Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
> > > ---
> > > drivers/gpu/drm/etnaviv/etnaviv_buffer.c | 23 ++++----
> > > drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.c | 35 ++++++------
> > > drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.h | 11 +++-
> > > drivers/gpu/drm/etnaviv/etnaviv_dump.c | 6 +-
> > > drivers/gpu/drm/etnaviv/etnaviv_gpu.c | 19 +++++--
> > > drivers/gpu/drm/etnaviv/etnaviv_gpu.h | 3 +-
> > > drivers/gpu/drm/etnaviv/etnaviv_mmu.c | 70 +++++++++++++++---------
> > > drivers/gpu/drm/etnaviv/etnaviv_mmu.h | 12 ++--
> > > 8 files changed, 114 insertions(+), 65 deletions(-)
> [...]
> > > --- a/drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.c
> > > +++ b/drivers/gpu/drm/etnaviv/etnaviv_cmdbuf.c
> > > @@ -8,6 +8,7 @@
> > > #include <drm/drm_mm.h>
> > >
> > > #include "etnaviv_cmdbuf.h"
> > > +#include "etnaviv_gem.h"
> > > #include "etnaviv_gpu.h"
> > > #include "etnaviv_mmu.h"
> > >
> > > @@ -21,10 +22,6 @@ struct etnaviv_cmdbuf_suballoc {
> > > > > void *vaddr;
> > > > > dma_addr_t paddr;
> > >
> > > > > - /* GPU mapping */
> > > > > - u32 iova;
> > > > > - struct drm_mm_node vram_node; /* only used on MMUv2 */
> > > -
> > > > > /* allocation management */
> > > > > struct mutex lock;
> > > > > DECLARE_BITMAP(granule_map, SUBALLOC_GRANULES);
> > > @@ -53,26 +50,31 @@ etnaviv_cmdbuf_suballoc_new(struct etnaviv_gpu * gpu)
> > > > > goto free_suballoc;
> > > > > }
> > >
> > > > > - ret = etnaviv_iommu_get_suballoc_va(gpu, suballoc->paddr,
> > > > > - &suballoc->vram_node, SUBALLOC_SIZE,
> > > > > - &suballoc->iova);
> > > > > - if (ret)
> > > > > - goto free_dma;
> > > -
> >
> > This removed ret all ret uses in that function so the declaration of ret
> > can be dropped as well.
>
> Actually, no. ret is still used in the allocation failure path.
You're right, what i wrote is only true without
drm/etnaviv: fix etnaviv_cmdbuf_suballoc_new return value
which should go in before this.
-- Guido
>
> Regards,
> Lucas
>
More information about the dri-devel
mailing list