diff options
author | Steve Longerbeam <slongerbeam@gmail.com> | 2016-07-19 21:11:02 -0400 |
---|---|---|
committer | Philipp Zabel <p.zabel@pengutronix.de> | 2016-08-08 05:44:20 -0400 |
commit | 572a7615aeddc881057a4653658731c8bfac7d86 (patch) | |
tree | a5d35f48966dbb8a2ed73c1a283ec9e9a76ac104 | |
parent | 03085911d7bbe1132977302fe45ec4efea29cd3d (diff) |
gpu: ipu-v3: Add ipu_get_num()
Adds of-alias id to ipu_soc and retrieve with ipu_get_num().
Signed-off-by: Steve Longerbeam <steve_longerbeam@mentor.com>
Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de>
-rw-r--r-- | drivers/gpu/ipu-v3/ipu-common.c | 8 | ||||
-rw-r--r-- | drivers/gpu/ipu-v3/ipu-prv.h | 1 | ||||
-rw-r--r-- | include/video/imx-ipu-v3.h | 1 |
3 files changed, 10 insertions, 0 deletions
diff --git a/drivers/gpu/ipu-v3/ipu-common.c b/drivers/gpu/ipu-v3/ipu-common.c index 99dcacf05b99..d697cd505289 100644 --- a/drivers/gpu/ipu-v3/ipu-common.c +++ b/drivers/gpu/ipu-v3/ipu-common.c | |||
@@ -45,6 +45,12 @@ static inline void ipu_cm_write(struct ipu_soc *ipu, u32 value, unsigned offset) | |||
45 | writel(value, ipu->cm_reg + offset); | 45 | writel(value, ipu->cm_reg + offset); |
46 | } | 46 | } |
47 | 47 | ||
48 | int ipu_get_num(struct ipu_soc *ipu) | ||
49 | { | ||
50 | return ipu->id; | ||
51 | } | ||
52 | EXPORT_SYMBOL_GPL(ipu_get_num); | ||
53 | |||
48 | void ipu_srm_dp_sync_update(struct ipu_soc *ipu) | 54 | void ipu_srm_dp_sync_update(struct ipu_soc *ipu) |
49 | { | 55 | { |
50 | u32 val; | 56 | u32 val; |
@@ -1209,6 +1215,7 @@ static int ipu_probe(struct platform_device *pdev) | |||
1209 | { | 1215 | { |
1210 | const struct of_device_id *of_id = | 1216 | const struct of_device_id *of_id = |
1211 | of_match_device(imx_ipu_dt_ids, &pdev->dev); | 1217 | of_match_device(imx_ipu_dt_ids, &pdev->dev); |
1218 | struct device_node *np = pdev->dev.of_node; | ||
1212 | struct ipu_soc *ipu; | 1219 | struct ipu_soc *ipu; |
1213 | struct resource *res; | 1220 | struct resource *res; |
1214 | unsigned long ipu_base; | 1221 | unsigned long ipu_base; |
@@ -1237,6 +1244,7 @@ static int ipu_probe(struct platform_device *pdev) | |||
1237 | ipu->channel[i].ipu = ipu; | 1244 | ipu->channel[i].ipu = ipu; |
1238 | ipu->devtype = devtype; | 1245 | ipu->devtype = devtype; |
1239 | ipu->ipu_type = devtype->type; | 1246 | ipu->ipu_type = devtype->type; |
1247 | ipu->id = of_alias_get_id(np, "ipu"); | ||
1240 | 1248 | ||
1241 | spin_lock_init(&ipu->lock); | 1249 | spin_lock_init(&ipu->lock); |
1242 | mutex_init(&ipu->channel_lock); | 1250 | mutex_init(&ipu->channel_lock); |
diff --git a/drivers/gpu/ipu-v3/ipu-prv.h b/drivers/gpu/ipu-v3/ipu-prv.h index bfb1e8a4483f..fd47f8f555cd 100644 --- a/drivers/gpu/ipu-v3/ipu-prv.h +++ b/drivers/gpu/ipu-v3/ipu-prv.h | |||
@@ -152,6 +152,7 @@ struct ipu_soc { | |||
152 | void __iomem *cm_reg; | 152 | void __iomem *cm_reg; |
153 | void __iomem *idmac_reg; | 153 | void __iomem *idmac_reg; |
154 | 154 | ||
155 | int id; | ||
155 | int usecount; | 156 | int usecount; |
156 | 157 | ||
157 | struct clk *clk; | 158 | struct clk *clk; |
diff --git a/include/video/imx-ipu-v3.h b/include/video/imx-ipu-v3.h index 8c4312ddc46c..ef54634652e9 100644 --- a/include/video/imx-ipu-v3.h +++ b/include/video/imx-ipu-v3.h | |||
@@ -138,6 +138,7 @@ int ipu_idmac_channel_irq(struct ipu_soc *ipu, struct ipuv3_channel *channel, | |||
138 | /* | 138 | /* |
139 | * IPU Common functions | 139 | * IPU Common functions |
140 | */ | 140 | */ |
141 | int ipu_get_num(struct ipu_soc *ipu); | ||
141 | void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2); | 142 | void ipu_set_csi_src_mux(struct ipu_soc *ipu, int csi_id, bool mipi_csi2); |
142 | void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi); | 143 | void ipu_set_ic_src_mux(struct ipu_soc *ipu, int csi_id, bool vdi); |
143 | void ipu_dump(struct ipu_soc *ipu); | 144 | void ipu_dump(struct ipu_soc *ipu); |