Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit e94b0d99 authored by Linux Build Service Account's avatar Linux Build Service Account Committed by Gerrit - the friendly Code Review server
Browse files

Merge "iommu: msm: Remove unneeded code"

parents 14c3468a 1947c7e0
Loading
Loading
Loading
Loading
+0 −53
Original line number Diff line number Diff line
@@ -328,55 +328,6 @@ static phys_addr_t get_phys_addr(struct scatterlist *sg)
	return pa;
}

static int check_range(u32 *fl_table, unsigned int va,
				 unsigned int len)
{
	unsigned int offset = 0;
	u32 *fl_pte;
	u32 fl_offset;
	u32 *sl_table;
	u32 sl_start, sl_end;
	int i;

	fl_offset = FL_OFFSET(va);	/* Upper 12 bits */
	fl_pte = fl_table + fl_offset;	/* int pointers, 4 bytes */

	while (offset < len) {
		if (*fl_pte & FL_TYPE_TABLE) {
			sl_start = SL_OFFSET(va);
			sl_table =  __va(((*fl_pte) & FL_BASE_MASK));
			sl_end = ((len - offset) / SZ_4K) + sl_start;

			if (sl_end > NUM_SL_PTE)
				sl_end = NUM_SL_PTE;

			for (i = sl_start; i < sl_end; i++) {
				if (sl_table[i] != 0) {
					pr_err("%08x - %08x already mapped\n",
						va, va + SZ_4K);
					return -EBUSY;
				}
				offset += SZ_4K;
				va += SZ_4K;
			}


			sl_start = 0;
		} else {
			if (*fl_pte != 0) {
				pr_err("%08x - %08x already mapped\n",
				       va, va + SZ_1M);
				return -EBUSY;
			}
			va += SZ_1M;
			offset += SZ_1M;
			sl_start = 0;
		}
		fl_pte++;
	}
	return 0;
}

/*
 * For debugging we may want to force mappings to be 4K only
 */
@@ -431,10 +382,6 @@ int msm_iommu_pagetable_map_range(struct msm_iommu_pt *pt, unsigned int va,
	fl_pte_shadow = pt->fl_table_shadow + fl_offset;
	pa = get_phys_addr(sg);

	ret = check_range(pt->fl_table, va, len);
	if (ret)
		goto fail;

	while (offset < len) {
		chunk_size = SZ_4K;