iommu/mediatek: Clean up struct mtk_smi_iommu
Remove the "struct mtk_smi_iommu" to simplify the code since it has only one item in it right now. Signed-off-by: Yong Wu <yong.wu@mediatek.com> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
This commit is contained in:
parent
ec2da07ca1
commit
1ee9feb2c9
|
@ -278,7 +278,7 @@ static void mtk_iommu_config(struct mtk_iommu_data *data,
|
||||||
for (i = 0; i < fwspec->num_ids; ++i) {
|
for (i = 0; i < fwspec->num_ids; ++i) {
|
||||||
larbid = MTK_M4U_TO_LARB(fwspec->ids[i]);
|
larbid = MTK_M4U_TO_LARB(fwspec->ids[i]);
|
||||||
portid = MTK_M4U_TO_PORT(fwspec->ids[i]);
|
portid = MTK_M4U_TO_PORT(fwspec->ids[i]);
|
||||||
larb_mmu = &data->smi_imu.larb_imu[larbid];
|
larb_mmu = &data->larb_imu[larbid];
|
||||||
|
|
||||||
dev_dbg(dev, "%s iommu port: %d\n",
|
dev_dbg(dev, "%s iommu port: %d\n",
|
||||||
enable ? "enable" : "disable", portid);
|
enable ? "enable" : "disable", portid);
|
||||||
|
@ -680,7 +680,7 @@ static int mtk_iommu_probe(struct platform_device *pdev)
|
||||||
of_node_put(larbnode);
|
of_node_put(larbnode);
|
||||||
return -EPROBE_DEFER;
|
return -EPROBE_DEFER;
|
||||||
}
|
}
|
||||||
data->smi_imu.larb_imu[id].dev = &plarbdev->dev;
|
data->larb_imu[id].dev = &plarbdev->dev;
|
||||||
|
|
||||||
component_match_add_release(dev, &match, release_of,
|
component_match_add_release(dev, &match, release_of,
|
||||||
compare_of, larbnode);
|
compare_of, larbnode);
|
||||||
|
|
|
@ -56,7 +56,6 @@ struct mtk_iommu_data {
|
||||||
struct mtk_iommu_suspend_reg reg;
|
struct mtk_iommu_suspend_reg reg;
|
||||||
struct mtk_iommu_domain *m4u_dom;
|
struct mtk_iommu_domain *m4u_dom;
|
||||||
struct iommu_group *m4u_group;
|
struct iommu_group *m4u_group;
|
||||||
struct mtk_smi_iommu smi_imu; /* SMI larb iommu info */
|
|
||||||
bool enable_4GB;
|
bool enable_4GB;
|
||||||
bool tlb_flush_active;
|
bool tlb_flush_active;
|
||||||
|
|
||||||
|
@ -64,6 +63,7 @@ struct mtk_iommu_data {
|
||||||
const struct mtk_iommu_plat_data *plat_data;
|
const struct mtk_iommu_plat_data *plat_data;
|
||||||
|
|
||||||
struct list_head list;
|
struct list_head list;
|
||||||
|
struct mtk_smi_larb_iommu larb_imu[MTK_LARB_NR_MAX];
|
||||||
};
|
};
|
||||||
|
|
||||||
static inline int compare_of(struct device *dev, void *data)
|
static inline int compare_of(struct device *dev, void *data)
|
||||||
|
@ -80,14 +80,14 @@ static inline int mtk_iommu_bind(struct device *dev)
|
||||||
{
|
{
|
||||||
struct mtk_iommu_data *data = dev_get_drvdata(dev);
|
struct mtk_iommu_data *data = dev_get_drvdata(dev);
|
||||||
|
|
||||||
return component_bind_all(dev, &data->smi_imu);
|
return component_bind_all(dev, &data->larb_imu);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline void mtk_iommu_unbind(struct device *dev)
|
static inline void mtk_iommu_unbind(struct device *dev)
|
||||||
{
|
{
|
||||||
struct mtk_iommu_data *data = dev_get_drvdata(dev);
|
struct mtk_iommu_data *data = dev_get_drvdata(dev);
|
||||||
|
|
||||||
component_unbind_all(dev, &data->smi_imu);
|
component_unbind_all(dev, &data->larb_imu);
|
||||||
}
|
}
|
||||||
|
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -206,7 +206,7 @@ static void mtk_iommu_config(struct mtk_iommu_data *data,
|
||||||
for (i = 0; i < fwspec->num_ids; ++i) {
|
for (i = 0; i < fwspec->num_ids; ++i) {
|
||||||
larbid = mt2701_m4u_to_larb(fwspec->ids[i]);
|
larbid = mt2701_m4u_to_larb(fwspec->ids[i]);
|
||||||
portid = mt2701_m4u_to_port(fwspec->ids[i]);
|
portid = mt2701_m4u_to_port(fwspec->ids[i]);
|
||||||
larb_mmu = &data->smi_imu.larb_imu[larbid];
|
larb_mmu = &data->larb_imu[larbid];
|
||||||
|
|
||||||
dev_dbg(dev, "%s iommu port: %d\n",
|
dev_dbg(dev, "%s iommu port: %d\n",
|
||||||
enable ? "enable" : "disable", portid);
|
enable ? "enable" : "disable", portid);
|
||||||
|
@ -610,7 +610,7 @@ static int mtk_iommu_probe(struct platform_device *pdev)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
data->smi_imu.larb_imu[larb_nr].dev = &plarbdev->dev;
|
data->larb_imu[larb_nr].dev = &plarbdev->dev;
|
||||||
component_match_add_release(dev, &match, release_of,
|
component_match_add_release(dev, &match, release_of,
|
||||||
compare_of, larb_spec.np);
|
compare_of, larb_spec.np);
|
||||||
larb_nr++;
|
larb_nr++;
|
||||||
|
|
|
@ -143,13 +143,13 @@ static int
|
||||||
mtk_smi_larb_bind(struct device *dev, struct device *master, void *data)
|
mtk_smi_larb_bind(struct device *dev, struct device *master, void *data)
|
||||||
{
|
{
|
||||||
struct mtk_smi_larb *larb = dev_get_drvdata(dev);
|
struct mtk_smi_larb *larb = dev_get_drvdata(dev);
|
||||||
struct mtk_smi_iommu *smi_iommu = data;
|
struct mtk_smi_larb_iommu *larb_mmu = data;
|
||||||
unsigned int i;
|
unsigned int i;
|
||||||
|
|
||||||
for (i = 0; i < MTK_LARB_NR_MAX; i++) {
|
for (i = 0; i < MTK_LARB_NR_MAX; i++) {
|
||||||
if (dev == smi_iommu->larb_imu[i].dev) {
|
if (dev == larb_mmu[i].dev) {
|
||||||
larb->larbid = i;
|
larb->larbid = i;
|
||||||
larb->mmu = &smi_iommu->larb_imu[i].mmu;
|
larb->mmu = &larb_mmu[i].mmu;
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -20,10 +20,6 @@ struct mtk_smi_larb_iommu {
|
||||||
unsigned int mmu;
|
unsigned int mmu;
|
||||||
};
|
};
|
||||||
|
|
||||||
struct mtk_smi_iommu {
|
|
||||||
struct mtk_smi_larb_iommu larb_imu[MTK_LARB_NR_MAX];
|
|
||||||
};
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* mtk_smi_larb_get: Enable the power domain and clocks for this local arbiter.
|
* mtk_smi_larb_get: Enable the power domain and clocks for this local arbiter.
|
||||||
* It also initialize some basic setting(like iommu).
|
* It also initialize some basic setting(like iommu).
|
||||||
|
|
Loading…
Reference in New Issue