Hi Lucas 2015-04-07 9:24 GMT+02:00 Lucas Stach <l.stach@xxxxxxxxxxxxxx>: > 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@xxxxxxxxxxxxxx>: >> > IOMMUv2 support isn't implemented yet, so don't pretend it is there. >> > >> > Signed-off-by: Lucas Stach <l.stach@xxxxxxxxxxxxxx> >> > --- >> > 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@xxxxxxxxx> >> > - * >> > - * 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@xxxxxxxxx> >> > - * >> > - * 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx http://lists.freedesktop.org/mailman/listinfo/dri-devel