mirror of
https://github.com/torvalds/linux.git
synced 2024-12-28 05:41:55 +00:00
drm/msm: Remove sgt from the mmu unmap function
The scatter gather table doesn't need to be passed in for the MMU unmap function. Signed-off-by: Jordan Crouse <jcrouse@codeaurora.org> Signed-off-by: Rob Clark <robdclark@gmail.com>
This commit is contained in:
parent
1e29dff004
commit
70dc51b447
@ -242,7 +242,7 @@ void msm_atomic_state_clear(struct drm_atomic_state *state);
|
|||||||
void msm_atomic_state_free(struct drm_atomic_state *state);
|
void msm_atomic_state_free(struct drm_atomic_state *state);
|
||||||
|
|
||||||
void msm_gem_unmap_vma(struct msm_gem_address_space *aspace,
|
void msm_gem_unmap_vma(struct msm_gem_address_space *aspace,
|
||||||
struct msm_gem_vma *vma, struct sg_table *sgt);
|
struct msm_gem_vma *vma);
|
||||||
int msm_gem_map_vma(struct msm_gem_address_space *aspace,
|
int msm_gem_map_vma(struct msm_gem_address_space *aspace,
|
||||||
struct msm_gem_vma *vma, struct sg_table *sgt, int npages);
|
struct msm_gem_vma *vma, struct sg_table *sgt, int npages);
|
||||||
|
|
||||||
|
@ -352,7 +352,7 @@ put_iova(struct drm_gem_object *obj)
|
|||||||
WARN_ON(!mutex_is_locked(&msm_obj->lock));
|
WARN_ON(!mutex_is_locked(&msm_obj->lock));
|
||||||
|
|
||||||
list_for_each_entry_safe(vma, tmp, &msm_obj->vmas, list) {
|
list_for_each_entry_safe(vma, tmp, &msm_obj->vmas, list) {
|
||||||
msm_gem_unmap_vma(vma->aspace, vma, msm_obj->sgt);
|
msm_gem_unmap_vma(vma->aspace, vma);
|
||||||
del_vma(vma);
|
del_vma(vma);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
@ -40,14 +40,14 @@ void msm_gem_address_space_put(struct msm_gem_address_space *aspace)
|
|||||||
|
|
||||||
void
|
void
|
||||||
msm_gem_unmap_vma(struct msm_gem_address_space *aspace,
|
msm_gem_unmap_vma(struct msm_gem_address_space *aspace,
|
||||||
struct msm_gem_vma *vma, struct sg_table *sgt)
|
struct msm_gem_vma *vma)
|
||||||
{
|
{
|
||||||
if (!aspace || !vma->iova)
|
if (!aspace || !vma->iova)
|
||||||
return;
|
return;
|
||||||
|
|
||||||
if (aspace->mmu) {
|
if (aspace->mmu) {
|
||||||
unsigned size = vma->node.size << PAGE_SHIFT;
|
unsigned size = vma->node.size << PAGE_SHIFT;
|
||||||
aspace->mmu->funcs->unmap(aspace->mmu, vma->iova, sgt, size);
|
aspace->mmu->funcs->unmap(aspace->mmu, vma->iova, size);
|
||||||
}
|
}
|
||||||
|
|
||||||
spin_lock(&aspace->lock);
|
spin_lock(&aspace->lock);
|
||||||
|
@ -71,8 +71,7 @@ static int msm_iommu_map(struct msm_mmu *mmu, uint64_t iova,
|
|||||||
return (ret == len) ? 0 : -EINVAL;
|
return (ret == len) ? 0 : -EINVAL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova,
|
static int msm_iommu_unmap(struct msm_mmu *mmu, uint64_t iova, unsigned len)
|
||||||
struct sg_table *sgt, unsigned len)
|
|
||||||
{
|
{
|
||||||
struct msm_iommu *iommu = to_msm_iommu(mmu);
|
struct msm_iommu *iommu = to_msm_iommu(mmu);
|
||||||
|
|
||||||
|
@ -25,8 +25,7 @@ struct msm_mmu_funcs {
|
|||||||
void (*detach)(struct msm_mmu *mmu, const char * const *names, int cnt);
|
void (*detach)(struct msm_mmu *mmu, const char * const *names, int cnt);
|
||||||
int (*map)(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt,
|
int (*map)(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt,
|
||||||
unsigned len, int prot);
|
unsigned len, int prot);
|
||||||
int (*unmap)(struct msm_mmu *mmu, uint64_t iova, struct sg_table *sgt,
|
int (*unmap)(struct msm_mmu *mmu, uint64_t iova, unsigned len);
|
||||||
unsigned len);
|
|
||||||
void (*destroy)(struct msm_mmu *mmu);
|
void (*destroy)(struct msm_mmu *mmu);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user