[PATCH RFC 005/111] staging: etnaviv: remove IOMMUv2 stubs

Christian Gmeiner christian.gmeiner at gmail.com
Tue Apr 7 01:13:39 PDT 2015


Hi Lucas

2015-04-07 9:24 GMT+02:00 Lucas Stach <l.stach at pengutronix.de>:
> Hi Christian,
>
> Am Sonntag, den 05.04.2015, 20:32 +0200 schrieb Christian Gmeiner:
>> 2015-04-02 17:29 GMT+02:00 Lucas Stach <l.stach at pengutronix.de>:
>> > IOMMUv2 support isn't implemented yet, so don't pretend it is there.
>> >
>> > Signed-off-by: Lucas Stach <l.stach at pengutronix.de>
>> > ---
>> >  drivers/staging/etnaviv/etnaviv_gpu.c      | 10 ++++++----
>> >  drivers/staging/etnaviv/etnaviv_iommu_v2.c | 32 ------------------------------
>> >  drivers/staging/etnaviv/etnaviv_iommu_v2.h | 25 -----------------------
>> >  3 files changed, 6 insertions(+), 61 deletions(-)
>> >  delete mode 100644 drivers/staging/etnaviv/etnaviv_iommu_v2.c
>> >  delete mode 100644 drivers/staging/etnaviv/etnaviv_iommu_v2.h
>> >
>> > diff --git a/drivers/staging/etnaviv/etnaviv_gpu.c b/drivers/staging/etnaviv/etnaviv_gpu.c
>> > index d2d0556a9bad..e3b93c293dca 100644
>> > --- a/drivers/staging/etnaviv/etnaviv_gpu.c
>> > +++ b/drivers/staging/etnaviv/etnaviv_gpu.c
>> > @@ -21,7 +21,6 @@
>> >  #include "etnaviv_gem.h"
>> >  #include "etnaviv_mmu.h"
>> >  #include "etnaviv_iommu.h"
>> > -#include "etnaviv_iommu_v2.h"
>> >  #include "common.xml.h"
>> >  #include "state.xml.h"
>> >  #include "state_hi.xml.h"
>> > @@ -329,10 +328,13 @@ int etnaviv_gpu_init(struct etnaviv_gpu *gpu)
>> >         mmuv2 = gpu->identity.minor_features1 & chipMinorFeatures1_MMU_VERSION;
>> >         dev_dbg(gpu->dev->dev, "mmuv2: %d\n", mmuv2);
>> >
>> > -       if (!mmuv2)
>> > +       if (!mmuv2) {
>> >                 iommu = etnaviv_iommu_domain_alloc(gpu);
>> > -       else
>> > -               iommu = etnaviv_iommu_v2_domain_alloc(gpu);
>> > +       } else {
>> > +               dev_err(gpu->dev, "IOMMUv2 support is not implemented yet!\n");
>> > +               ret = -ENODEV;
>> > +               goto fail;
>> > +       }
>> >
>> >         if (!iommu) {
>> >                 ret = -ENOMEM;
>> > diff --git a/drivers/staging/etnaviv/etnaviv_iommu_v2.c b/drivers/staging/etnaviv/etnaviv_iommu_v2.c
>> > deleted file mode 100644
>> > index 3039ee9cbc6d..000000000000
>> > --- a/drivers/staging/etnaviv/etnaviv_iommu_v2.c
>> > +++ /dev/null
>> > @@ -1,32 +0,0 @@
>> > -/*
>> > - * Copyright (C) 2014 Christian Gmeiner <christian.gmeiner at gmail.com>
>> > -  *
>> > - * This program is free software; you can redistribute it and/or modify it
>> > - * under the terms of the GNU General Public License version 2 as published by
>> > - * the Free Software Foundation.
>> > - *
>> > - * This program is distributed in the hope that it will be useful, but WITHOUT
>> > - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> > - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>> > - * more details.
>> > - *
>> > - * You should have received a copy of the GNU General Public License along with
>> > - * this program.  If not, see <http://www.gnu.org/licenses/>.
>> > - */
>> > -
>> > -#include <linux/iommu.h>
>> > -#include <linux/platform_device.h>
>> > -#include <linux/sizes.h>
>> > -#include <linux/slab.h>
>> > -#include <linux/dma-mapping.h>
>> > -#include <linux/bitops.h>
>> > -
>> > -#include "etnaviv_gpu.h"
>> > -#include "state_hi.xml.h"
>> > -
>> > -
>> > -struct iommu_domain *etnaviv_iommu_v2_domain_alloc(struct etnaviv_gpu *gpu)
>> > -{
>> > -       /* TODO */
>> > -       return NULL;
>> > -}
>> > diff --git a/drivers/staging/etnaviv/etnaviv_iommu_v2.h b/drivers/staging/etnaviv/etnaviv_iommu_v2.h
>> > deleted file mode 100644
>> > index 603ea41c5389..000000000000
>> > --- a/drivers/staging/etnaviv/etnaviv_iommu_v2.h
>> > +++ /dev/null
>> > @@ -1,25 +0,0 @@
>> > -/*
>> > - * Copyright (C) 2014 Christian Gmeiner <christian.gmeiner at gmail.com>
>> > -  *
>> > - * This program is free software; you can redistribute it and/or modify it
>> > - * under the terms of the GNU General Public License version 2 as published by
>> > - * the Free Software Foundation.
>> > - *
>> > - * This program is distributed in the hope that it will be useful, but WITHOUT
>> > - * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
>> > - * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License for
>> > - * more details.
>> > - *
>> > - * You should have received a copy of the GNU General Public License along with
>> > - * this program.  If not, see <http://www.gnu.org/licenses/>.
>> > - */
>> > -
>> > -#ifndef __ETNAVIV_IOMMU_V2_H__
>> > -#define __ETNAVIV_IOMMU_V2_H__
>> > -
>> > -#include <linux/iommu.h>
>> > -struct etnaviv_gpu;
>> > -
>> > -struct iommu_domain *etnaviv_iommu_v2_domain_alloc(struct etnaviv_gpu *gpu);
>> > -
>> > -#endif /* __ETNAVIV_IOMMU_V2_H__ */
>> > --
>> > 2.1.4
>> >
>>
>> I am fine with this change. You may have seen that I have a code for
>> mmuv2 ready in my git tree. but at
>> the moment I have no device to test it. So I will bring back support later.
>>
>
> Yes, I noticed that you had something implemented. But given that I
> didn't see any hardware where one could test this I would rather leave
> it out for now. I'm happy to pull this in once it has been tested on
> real hardware.
>

I know one :) Once it starts to work, there will also be patches.

<6>[1.1, swapper] [    0.780917] Galcore version 4.6.9.9754
<4>[1.1, swapper] [    0.780940] galcore options:
<4>[1.1, swapper] [    0.780960]   irqLine           = 64
<4>[1.1, swapper] [    0.780980]   registerMemBase   = 0xFA000000
<4>[1.1, swapper] [    0.780999]   registerMemSize   = 0x00040000
<4>[1.1, swapper] [    0.781018]   irqLine2D         = 65
<4>[1.1, swapper] [    0.781036]   registerMemBase2D = 0xFA040000
<4>[1.1, swapper] [    0.781055]   registerMemSize2D = 0x00040000
<4>[1.1, swapper] [    0.781074]   contiguousSize    = 152363008
<4>[1.1, swapper] [    0.781094]   contiguousBase    = 0x2B600000
<4>[1.1, swapper] [    0.781113]   bankSize          = 0x02000000
<4>[1.1, swapper] [    0.781133]   fastClear         = -1
<4>[1.1, swapper] [    0.781150]   compression       = -1
<4>[1.1, swapper] [    0.781168]   signal            = 48
<4>[1.1, swapper] [    0.781186]   baseAddress       = 0x00000000
<4>[1.1, swapper] [    0.781205]   physSize          = 0x80000000
<4>[1.1, swapper] [    0.781224]   logFileSize       = 0 KB
<4>[1.1, swapper] [    0.781242]   powerManagement   = 1
<4>[1.1, swapper] [    0.781260]   gpuProfiler   = 0
<3>[1.0, swapper] [    0.782305] Identity: chipModel=4000
<3>[1.0, swapper] [    0.782332] Identity: chipRevision=5222
<3>[1.0, swapper] [    0.782355] Identity: chipFeatures=0xE0287CAD
<3>[1.0, swapper] [    0.782375] Identity: chipMinorFeatures=0xC1799EFB
<3>[1.0, swapper] [    0.782395] Identity: chipMinorFeatures1=0xFEFBFAD9
<3>[1.0, swapper] [    0.782415] Identity: chipMinorFeatures2=0xCB9E4BFF
<3>[1.0, swapper] [    0.782435] Identity: chipMinorFeatures3=0x00000401
<3>[1.0, swapper] [    0.785428] Identity: chipModel=320
<3>[1.0, swapper] [    0.785452] Identity: chipRevision=5220
<3>[1.0, swapper] [    0.785472] Identity: chipFeatures=0xE02C7ECA
<3>[1.0, swapper] [    0.785492] Identity: chipMinorFeatures=0xC1399EFF
<3>[1.0, swapper] [    0.785511] Identity: chipMinorFeatures1=0xFE1FB2DB
<3>[1.0, swapper] [    0.785530] Identity: chipMinorFeatures2=0x02FE4080
<3>[1.0, swapper] [    0.785550] Identity: chipMinorFeatures3=0x00000000
<3>[1.0, swapper] [    0.858153] Identity: chipModel=4000
<3>[1.0, swapper] [    0.858178] Identity: chipRevision=5222
<3>[1.0, swapper] [    0.858199] Identity: chipFeatures=0xE0287CAD
<3>[1.0, swapper] [    0.858219] Identity: chipMinorFeatures=0xC1799EFB
<3>[1.0, swapper] [    0.858239] Identity: chipMinorFeatures1=0xFEFBFAD9
<3>[1.0, swapper] [    0.858259] Identity: chipMinorFeatures2=0xCB9E4BFF
<3>[1.0, swapper] [    0.858279] Identity: chipMinorFeatures3=0x00000401
<3>[1.0, swapper] [    0.859965] Identity: chipModel=320
<3>[1.0, swapper] [    0.859989] Identity: chipRevision=5220
<3>[1.0, swapper] [    0.860009] Identity: chipFeatures=0xE02C7ECA
<3>[1.0, swapper] [    0.860029] Identity: chipMinorFeatures=0xC1399EFF
<3>[1.0, swapper] [    0.860049] Identity: chipMinorFeatures1=0xFE1FB2DB
<3>[1.0, swapper] [    0.860068] Identity: chipMinorFeatures2=0x02FE4080
<3>[1.0, swapper] [    0.860087] Identity: chipMinorFeatures3=0x00000000

greets
--
Christian Gmeiner, MSc

https://soundcloud.com/christian-gmeiner


More information about the dri-devel mailing list