msm: camera: smmu: Moves custom smmu API's to cam_compat
Moves custom smmu API's to cam_compat as some of them are legacy and will not be supported in newer kernel versions. CRs-Fixed: 3048249 Change-Id: Ic9db5d9d295eb02e8bd2d593721b65e30d605f72 Signed-off-by: Karthik Jayakumar <kjayakum@codeaurora.org>
Šī revīzija ir iekļauta:
@@ -294,6 +294,12 @@ static int inline cam_subdev_list_cmp(struct cam_subdev *entry_1, struct cam_sub
|
||||
}
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)
|
||||
void cam_smmu_util_iommu_custom(struct device *dev,
|
||||
dma_addr_t discard_start, size_t discard_length)
|
||||
{
|
||||
return;
|
||||
}
|
||||
|
||||
int cam_req_mgr_ordered_list_cmp(void *priv,
|
||||
const struct list_head *head_1, const struct list_head *head_2)
|
||||
{
|
||||
@@ -323,6 +329,17 @@ int cam_get_ddr_type(void)
|
||||
return DDR_TYPE_LPDDR5;
|
||||
}
|
||||
#else
|
||||
void cam_smmu_util_iommu_custom(struct device *dev,
|
||||
dma_addr_t discard_start, size_t discard_length)
|
||||
{
|
||||
iommu_dma_enable_best_fit_algo(dev);
|
||||
|
||||
if (discard_start)
|
||||
iommu_dma_reserve_iova(dev, discard_start, discard_length);
|
||||
|
||||
return;
|
||||
}
|
||||
|
||||
int cam_req_mgr_ordered_list_cmp(void *priv,
|
||||
struct list_head *head_1, struct list_head *head_2)
|
||||
{
|
||||
|
@@ -12,6 +12,7 @@
|
||||
#include <linux/iommu.h>
|
||||
#include <linux/qcom_scm.h>
|
||||
#include <linux/list_sort.h>
|
||||
#include <linux/dma-iommu.h>
|
||||
|
||||
#include "cam_csiphy_dev.h"
|
||||
#include "cam_cpastop_hw.h"
|
||||
@@ -48,6 +49,8 @@ void cam_check_iommu_faults(struct iommu_domain *domain,
|
||||
struct cam_smmu_pf_info *pf_info);
|
||||
int cam_get_ddr_type(void);
|
||||
int cam_compat_util_get_dmabuf_va(struct dma_buf *dmabuf, uintptr_t *vaddr);
|
||||
void cam_smmu_util_iommu_custom(struct device *dev,
|
||||
dma_addr_t discard_start, size_t discard_length);
|
||||
|
||||
#if LINUX_VERSION_CODE >= KERNEL_VERSION(5, 15, 0)
|
||||
int cam_req_mgr_ordered_list_cmp(void *priv,
|
||||
|
Atsaukties uz šo jaunā problēmā
Block a user