From: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
To: iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org
Cc: linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org,
linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org,
thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org,
Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Subject: [PATCH v2 17/22] iommu/tegra: smmu: Unfied driver for Tegra SoCs
Date: Fri, 5 Jul 2013 13:44:52 +0300 [thread overview]
Message-ID: <1373021097-32420-18-git-send-email-hdoyu@nvidia.com> (raw)
In-Reply-To: <1373021097-32420-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
Support multiple generation of Tegra SoCs with this unified SMMU
driver. Necessary info is expected to be passed from DT so that this
patch can remove obsolete code now.
Signed-off-by: Hiroshi Doyu <hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
---
drivers/iommu/tegra-smmu.c | 76 +-------------------------------------------
1 file changed, 1 insertion(+), 75 deletions(-)
diff --git a/drivers/iommu/tegra-smmu.c b/drivers/iommu/tegra-smmu.c
index c7b33f2..f566972 100644
--- a/drivers/iommu/tegra-smmu.c
+++ b/drivers/iommu/tegra-smmu.c
@@ -41,46 +41,6 @@
#include <asm/cacheflush.h>
#include <asm/dma-iommu.h>
-enum smmu_hwgrp {
- HWGRP_AFI,
- HWGRP_AVPC,
- HWGRP_DC,
- HWGRP_DCB,
- HWGRP_EPP,
- HWGRP_G2,
- HWGRP_HC,
- HWGRP_HDA,
- HWGRP_ISP,
- HWGRP_MPE,
- HWGRP_NV,
- HWGRP_NV2,
- HWGRP_PPCS,
- HWGRP_SATA,
- HWGRP_VDE,
- HWGRP_VI,
-
- HWGRP_COUNT,
-
- HWGRP_END = ~0,
-};
-
-#define HWG_AFI (1 << HWGRP_AFI)
-#define HWG_AVPC (1 << HWGRP_AVPC)
-#define HWG_DC (1 << HWGRP_DC)
-#define HWG_DCB (1 << HWGRP_DCB)
-#define HWG_EPP (1 << HWGRP_EPP)
-#define HWG_G2 (1 << HWGRP_G2)
-#define HWG_HC (1 << HWGRP_HC)
-#define HWG_HDA (1 << HWGRP_HDA)
-#define HWG_ISP (1 << HWGRP_ISP)
-#define HWG_MPE (1 << HWGRP_MPE)
-#define HWG_NV (1 << HWGRP_NV)
-#define HWG_NV2 (1 << HWGRP_NV2)
-#define HWG_PPCS (1 << HWGRP_PPCS)
-#define HWG_SATA (1 << HWGRP_SATA)
-#define HWG_VDE (1 << HWGRP_VDE)
-#define HWG_VI (1 << HWGRP_VI)
-
/* bitmap of the page sizes currently supported */
#define SMMU_IOMMU_PGSIZES (SZ_4K)
@@ -150,21 +110,7 @@ enum {
#define SMMU_TRANSLATION_ENABLE_2 0x230
#define SMMU_AFI_ASID 0x238 /* PCIE */
-#define SMMU_AVPC_ASID 0x23c /* AVP */
-#define SMMU_DC_ASID 0x240 /* Display controller */
-#define SMMU_DCB_ASID 0x244 /* Display controller B */
-#define SMMU_EPP_ASID 0x248 /* Encoder pre-processor */
-#define SMMU_G2_ASID 0x24c /* 2D engine */
-#define SMMU_HC_ASID 0x250 /* Host1x */
-#define SMMU_HDA_ASID 0x254 /* High-def audio */
-#define SMMU_ISP_ASID 0x258 /* Image signal processor */
-#define SMMU_MPE_ASID 0x264 /* MPEG encoder */
-#define SMMU_NV_ASID 0x268 /* (3D) */
-#define SMMU_NV2_ASID 0x26c /* (3D) */
-#define SMMU_PPCS_ASID 0x270 /* AHB */
-#define SMMU_SATA_ASID 0x278 /* SATA */
-#define SMMU_VDE_ASID 0x27c /* Video decoder */
-#define SMMU_VI_ASID 0x280 /* Video input */
+#define SMMU_SWGRP_ASID_BASE SMMU_AFI_ASID
#define SMMU_PDE_NEXT_SHIFT 28
@@ -236,26 +182,6 @@ enum {
#define __smmu_client_enable_hwgrp(c, m) __smmu_client_set_hwgrp(c, m, 1)
#define __smmu_client_disable_hwgrp(c) __smmu_client_set_hwgrp(c, 0, 0)
-#define HWGRP_INIT(client) [HWGRP_##client] = SMMU_##client##_ASID
-
-static const u32 smmu_hwgrp_asid_reg[] = {
- HWGRP_INIT(AFI),
- HWGRP_INIT(AVPC),
- HWGRP_INIT(DC),
- HWGRP_INIT(DCB),
- HWGRP_INIT(EPP),
- HWGRP_INIT(G2),
- HWGRP_INIT(HC),
- HWGRP_INIT(HDA),
- HWGRP_INIT(ISP),
- HWGRP_INIT(MPE),
- HWGRP_INIT(NV),
- HWGRP_INIT(NV2),
- HWGRP_INIT(PPCS),
- HWGRP_INIT(SATA),
- HWGRP_INIT(VDE),
- HWGRP_INIT(VI),
-};
#define HWGRP_ASID_REG(x) ((x) * sizeof(u32) + SMMU_AFI_ASID)
/*
--
1.7.9.5
next prev parent reply other threads:[~2013-07-05 10:44 UTC|newest]
Thread overview: 68+ messages / expand[flat|nested] mbox.gz Atom feed top
2013-07-05 10:44 [PATCH v2 00/22] Unified SMMU driver among Tegra SoCs Hiroshi Doyu
[not found] ` <1373021097-32420-1-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-05 10:44 ` [PATCH v2 01/22] [HACK] of: dev_node has struct device pointer Hiroshi Doyu
[not found] ` <1373021097-32420-2-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 22:57 ` Stephen Warren
[not found] ` <51E5CFBF.5080407-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-16 23:16 ` Thierry Reding
[not found] ` <20130716231629.GA12189-RcKxWJ4Cfj3FNiLNb7+IINdj8bHVeoWogfoxzgwHRXE@public.gmane.org>
2013-07-29 10:13 ` Hiroshi Doyu
[not found] ` <20130729.131344.1221933042559369096.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 13:13 ` Lorenzo Pieralisi
2013-07-05 10:44 ` [PATCH v2 02/22] ARM: tegra: Populate AHB/IOMMU earlier than others Hiroshi Doyu
[not found] ` <1373021097-32420-3-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:03 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 03/22] ARM: tegra: Create a DT header defining swgroups ID Hiroshi Doyu
[not found] ` <1373021097-32420-4-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:07 ` Stephen Warren
[not found] ` <51E5D220.1070708-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 10:53 ` Hiroshi Doyu
[not found] ` <20130729.135336.943359637886118972.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 17:45 ` Stephen Warren
[not found] ` <51F6AA2B.7050509-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-30 4:56 ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 04/22] ARM: dt: tegra30: iommu: Add "nvidia,swgroup" Hiroshi Doyu
[not found] ` <1373021097-32420-5-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:10 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia,memory-client" Hiroshi Doyu
[not found] ` <1373021097-32420-6-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:14 ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia, memory-client" Stephen Warren
[not found] ` <51E5D3D9.2090608-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 11:06 ` [PATCH v2 05/22] ARM: dt: tegra30: iommu: Add "nvidia,memory-client" Hiroshi Doyu
[not found] ` <20130729.140646.649065361266278007.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 17:47 ` Stephen Warren
[not found] ` <51F6AA98.4020701-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-30 5:11 ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 06/22] ARM: dt: tegra114: iommu: Fix IOMMU register address Hiroshi Doyu
[not found] ` <1373021097-32420-7-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:18 ` Stephen Warren
[not found] ` <51E5D4C5.4090109-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-16 23:27 ` Thierry Reding
2013-07-05 10:44 ` [PATCH v2 07/22] ARM: dt: tegra114: iommu: Add "nvidia,swgroups" Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 08/22] ARM: dt: tegra114: Add "nvidia,memory-client" Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 09/22] amba: Move AHB to core_initcall Hiroshi Doyu
[not found] ` <1373021097-32420-10-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:20 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 10/22] iommu/tegra: smmu: Move IOMMU " Hiroshi Doyu
[not found] ` <1373021097-32420-11-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-16 23:21 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 11/22] iommu/tegra: smmu: Add Tegra 114 support Hiroshi Doyu
[not found] ` <1373021097-32420-12-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:01 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 12/22] iommu/tegra: smmu: Select ARM_DMA_USE_IOMMU in Kconfig Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 13/22] iommu/tegra: smmu: Create default IOVA maps Hiroshi Doyu
[not found] ` <1373021097-32420-14-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:10 ` Stephen Warren
[not found] ` <51E84BB5.9010303-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 11:24 ` Hiroshi Doyu
[not found] ` <20130729.142409.995770519696534476.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 17:50 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 14/22] iommu/tegra: smmu: Register platform_device to IOMMU dynamically Hiroshi Doyu
[not found] ` <1373021097-32420-15-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:17 ` Stephen Warren
[not found] ` <51E84D51.2030404-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 11:27 ` Hiroshi Doyu
[not found] ` <20130729.142752.1020949402019811407.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 17:54 ` Stephen Warren
[not found] ` <51F6AC41.30007-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-30 5:18 ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 15/22] iommu/tegra: smmu: Calculate ASID register offset by ID Hiroshi Doyu
[not found] ` <1373021097-32420-16-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:18 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 16/22] iommu/tegra: smmu: Get "nvidia,swgroup" from DT Hiroshi Doyu
[not found] ` <1373021097-32420-17-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:28 ` Stephen Warren
[not found] ` <51E84FFA.8020509-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 11:39 ` Hiroshi Doyu
[not found] ` <20130729.143950.524913713971518557.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 18:00 ` Stephen Warren
2013-07-05 10:44 ` Hiroshi Doyu [this message]
2013-07-05 10:44 ` [PATCH v2 18/22] iommu/tegra: smmu: Use dt-bindings MACRO Hiroshi Doyu
[not found] ` <1373021097-32420-19-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:30 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 19/22] iommu/tegra: smmu: Workaround PCIe IOMMU'able Hiroshi Doyu
[not found] ` <1373021097-32420-20-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:33 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 20/22] iommu/tegra: smmu: Get "nvidia,memory-client" from DT Hiroshi Doyu
[not found] ` <1373021097-32420-21-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:40 ` Stephen Warren
2013-07-05 10:44 ` [PATCH v2 21/22] iommu/tegra: smmu: Support Multiple ASID Hiroshi Doyu
[not found] ` <1373021097-32420-22-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:43 ` Stephen Warren
[not found] ` <51E8535A.30605-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-29 10:31 ` Hiroshi Doyu
[not found] ` <20130729.133155.1836775489422797370.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-29 17:41 ` Stephen Warren
[not found] ` <51F6A943.8000004-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-30 5:22 ` Hiroshi Doyu
2013-07-05 10:44 ` [PATCH v2 22/22] ARM: dma-mapping: Drop GFP_COMP for DMA memory allocations Hiroshi Doyu
[not found] ` <1373021097-32420-23-git-send-email-hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-18 20:45 ` Stephen Warren
2013-07-05 11:03 ` [PATCH v2 00/22] Unified SMMU driver among Tegra SoCs Marc Dietrich
[not found] ` <4999563.JlU6BysXQl-D3pzGp0ZKuDWZbiwp4sFPyrtisivX6KghOMvlBiLbJSELgA04lAiVw@public.gmane.org>
2013-07-05 11:08 ` Hiroshi Doyu
2013-07-08 8:47 ` Hiroshi Doyu
[not found] ` <20130708.114736.1280783845180530098.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-08 15:49 ` Stephen Warren
[not found] ` <51DADF91.30009-3lzwWm7+Weoh9ZMKESR00Q@public.gmane.org>
2013-07-08 17:11 ` Hiroshi Doyu
[not found] ` <20130708.201148.1964850060334610089.hdoyu-DDmLM1+adcrQT0dZR+AlfA@public.gmane.org>
2013-07-08 17:37 ` Stephen Warren
2013-09-23 17:07 ` Hiroshi Doyu
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=1373021097-32420-18-git-send-email-hdoyu@nvidia.com \
--to=hdoyu-ddmlm1+adcrqt0dzr+alfa@public.gmane.org \
--cc=iommu-cunTk1MwBs9QetFLy7KEm3xJsTq8ys+cHZ5vskTnxNA@public.gmane.org \
--cc=linux-arm-kernel-IAPFreCvJWM7uuMidbF8XUB+6BGkLq7r@public.gmane.org \
--cc=linux-tegra-u79uwXL29TY76Z2rM5mHXA@public.gmane.org \
--cc=thierry.reding-Re5JQEeQqe8AvxtiuMwx3w@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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox