diff options
Diffstat (limited to 'arch/arm/mach-msm/include/mach/iommu.h')
-rw-r--r-- | arch/arm/mach-msm/include/mach/iommu.h | 18 |
1 files changed, 11 insertions, 7 deletions
diff --git a/arch/arm/mach-msm/include/mach/iommu.h b/arch/arm/mach-msm/include/mach/iommu.h index 296c0f10f230..5c7c955e6d25 100644 --- a/arch/arm/mach-msm/include/mach/iommu.h +++ b/arch/arm/mach-msm/include/mach/iommu.h | |||
@@ -1,4 +1,4 @@ | |||
1 | /* Copyright (c) 2010, Code Aurora Forum. All rights reserved. | 1 | /* Copyright (c) 2010-2011, Code Aurora Forum. All rights reserved. |
2 | * | 2 | * |
3 | * This program is free software; you can redistribute it and/or modify | 3 | * This program is free software; you can redistribute it and/or modify |
4 | * it under the terms of the GNU General Public License version 2 and | 4 | * it under the terms of the GNU General Public License version 2 and |
@@ -19,6 +19,7 @@ | |||
19 | #define MSM_IOMMU_H | 19 | #define MSM_IOMMU_H |
20 | 20 | ||
21 | #include <linux/interrupt.h> | 21 | #include <linux/interrupt.h> |
22 | #include <linux/clk.h> | ||
22 | 23 | ||
23 | /* Sharability attributes of MSM IOMMU mappings */ | 24 | /* Sharability attributes of MSM IOMMU mappings */ |
24 | #define MSM_IOMMU_ATTR_NON_SH 0x0 | 25 | #define MSM_IOMMU_ATTR_NON_SH 0x0 |
@@ -44,14 +45,11 @@ | |||
44 | /** | 45 | /** |
45 | * struct msm_iommu_dev - a single IOMMU hardware instance | 46 | * struct msm_iommu_dev - a single IOMMU hardware instance |
46 | * name Human-readable name given to this IOMMU HW instance | 47 | * name Human-readable name given to this IOMMU HW instance |
47 | * clk_rate Rate to set for this IOMMU's clock, if applicable to this | 48 | * ncb Number of context banks present on this IOMMU HW instance |
48 | * particular IOMMU. 0 means don't set a rate. | ||
49 | * -1 means it is an AXI clock with no valid rate | ||
50 | * | ||
51 | */ | 49 | */ |
52 | struct msm_iommu_dev { | 50 | struct msm_iommu_dev { |
53 | const char *name; | 51 | const char *name; |
54 | int clk_rate; | 52 | int ncb; |
55 | }; | 53 | }; |
56 | 54 | ||
57 | /** | 55 | /** |
@@ -73,14 +71,20 @@ struct msm_iommu_ctx_dev { | |||
73 | /** | 71 | /** |
74 | * struct msm_iommu_drvdata - A single IOMMU hardware instance | 72 | * struct msm_iommu_drvdata - A single IOMMU hardware instance |
75 | * @base: IOMMU config port base address (VA) | 73 | * @base: IOMMU config port base address (VA) |
74 | * @ncb The number of contexts on this IOMMU | ||
76 | * @irq: Interrupt number | 75 | * @irq: Interrupt number |
77 | * | 76 | * @clk: The bus clock for this IOMMU hardware instance |
77 | * @pclk: The clock for the IOMMU bus interconnect | ||
78 | * | ||
78 | * A msm_iommu_drvdata holds the global driver data about a single piece | 79 | * A msm_iommu_drvdata holds the global driver data about a single piece |
79 | * of an IOMMU hardware instance. | 80 | * of an IOMMU hardware instance. |
80 | */ | 81 | */ |
81 | struct msm_iommu_drvdata { | 82 | struct msm_iommu_drvdata { |
82 | void __iomem *base; | 83 | void __iomem *base; |
83 | int irq; | 84 | int irq; |
85 | int ncb; | ||
86 | struct clk *clk; | ||
87 | struct clk *pclk; | ||
84 | }; | 88 | }; |
85 | 89 | ||
86 | /** | 90 | /** |