forked from luck/tmp_suning_uos_patched
ec2da07ca1
The "mediatek,larb-id" has already been parsed in MTK IOMMU driver. It's no need to parse it again in SMI driver. Only clean some codes. This patch is fit for all the current mt2701, mt2712, mt7623, mt8173 and mt8183. After this patch, the "mediatek,larb-id" only be needed for mt2712 which have 2 M4Us. In the other SoCs, we can get the larb-id from M4U in which the larbs in the "mediatek,larbs" always are ordered. Correspondingly, the larb_nr in the "struct mtk_smi_iommu" could also be deleted. CC: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Yong Wu <yong.wu@mediatek.com> Reviewed-by: Evan Green <evgreen@chromium.org> Reviewed-by: Matthias Brugger <matthias.bgg@gmail.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
50 lines
1.1 KiB
C
50 lines
1.1 KiB
C
/* SPDX-License-Identifier: GPL-2.0-only */
|
|
/*
|
|
* Copyright (c) 2015-2016 MediaTek Inc.
|
|
* Author: Yong Wu <yong.wu@mediatek.com>
|
|
*/
|
|
#ifndef MTK_IOMMU_SMI_H
|
|
#define MTK_IOMMU_SMI_H
|
|
|
|
#include <linux/bitops.h>
|
|
#include <linux/device.h>
|
|
|
|
#ifdef CONFIG_MTK_SMI
|
|
|
|
#define MTK_LARB_NR_MAX 16
|
|
|
|
#define MTK_SMI_MMU_EN(port) BIT(port)
|
|
|
|
struct mtk_smi_larb_iommu {
|
|
struct device *dev;
|
|
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.
|
|
* It also initialize some basic setting(like iommu).
|
|
* mtk_smi_larb_put: Disable the power domain and clocks for this local arbiter.
|
|
* Both should be called in non-atomic context.
|
|
*
|
|
* Returns 0 if successful, negative on failure.
|
|
*/
|
|
int mtk_smi_larb_get(struct device *larbdev);
|
|
void mtk_smi_larb_put(struct device *larbdev);
|
|
|
|
#else
|
|
|
|
static inline int mtk_smi_larb_get(struct device *larbdev)
|
|
{
|
|
return 0;
|
|
}
|
|
|
|
static inline void mtk_smi_larb_put(struct device *larbdev) { }
|
|
|
|
#endif
|
|
|
|
#endif
|