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. Regards, Lucas -- Pengutronix e.K. | Lucas Stach | Industrial Linux Solutions | http://www.pengutronix.de/ |