aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/iommu/exynos-iommu.c
diff options
context:
space:
mode:
authorCho KyongHo <pullip.cho@samsung.com>2014-05-12 02:15:00 -0400
committerJoerg Roedel <jroedel@suse.de>2014-05-13 13:12:58 -0400
commit0bf4e54dbebff8aa4b69057e88431ba8b48d3d19 (patch)
tree8fc9993af8cb57ca2d7839b86d4b70b001a6599a /drivers/iommu/exynos-iommu.c
parentbf4a1c920286076609779c2c70c5a2bf69169fc7 (diff)
iommu/exynos: Enhanced error messages
Some redundant error message is removed and some error messages are changed to error level from debug level. Signed-off-by: Cho KyongHo <pullip.cho@samsung.com> Signed-off-by: Shaik Ameer Basha <shaik.ameer@samsung.com> Signed-off-by: Joerg Roedel <jroedel@suse.de>
Diffstat (limited to 'drivers/iommu/exynos-iommu.c')
-rw-r--r--drivers/iommu/exynos-iommu.c23
1 files changed, 9 insertions, 14 deletions
diff --git a/drivers/iommu/exynos-iommu.c b/drivers/iommu/exynos-iommu.c
index d18dc379f536..7188b47146e0 100644
--- a/drivers/iommu/exynos-iommu.c
+++ b/drivers/iommu/exynos-iommu.c
@@ -525,7 +525,7 @@ static int exynos_sysmmu_probe(struct platform_device *pdev)
525 525
526 irq = platform_get_irq(pdev, 0); 526 irq = platform_get_irq(pdev, 0);
527 if (irq <= 0) { 527 if (irq <= 0) {
528 dev_dbg(dev, "Unable to find IRQ resource\n"); 528 dev_err(dev, "Unable to find IRQ resource\n");
529 return irq; 529 return irq;
530 } 530 }
531 531
@@ -787,10 +787,8 @@ static int lv2set_page(sysmmu_pte_t *pent, phys_addr_t paddr, size_t size,
787 short *pgcnt) 787 short *pgcnt)
788{ 788{
789 if (size == SPAGE_SIZE) { 789 if (size == SPAGE_SIZE) {
790 if (!lv2ent_fault(pent)) { 790 if (WARN_ON(!lv2ent_fault(pent)))
791 WARN(1, "Trying mapping on 4KiB where mapping exists");
792 return -EADDRINUSE; 791 return -EADDRINUSE;
793 }
794 792
795 *pent = mk_lv2ent_spage(paddr); 793 *pent = mk_lv2ent_spage(paddr);
796 pgtable_flush(pent, pent + 1); 794 pgtable_flush(pent, pent + 1);
@@ -798,9 +796,7 @@ static int lv2set_page(sysmmu_pte_t *pent, phys_addr_t paddr, size_t size,
798 } else { /* size == LPAGE_SIZE */ 796 } else { /* size == LPAGE_SIZE */
799 int i; 797 int i;
800 for (i = 0; i < SPAGES_PER_LPAGE; i++, pent++) { 798 for (i = 0; i < SPAGES_PER_LPAGE; i++, pent++) {
801 if (!lv2ent_fault(pent)) { 799 if (WARN_ON(!lv2ent_fault(pent))) {
802 WARN(1,
803 "Trying mapping on 64KiB where mapping exists");
804 if (i > 0) 800 if (i > 0)
805 memset(pent - i, 0, sizeof(*pent) * i); 801 memset(pent - i, 0, sizeof(*pent) * i);
806 return -EADDRINUSE; 802 return -EADDRINUSE;
@@ -847,8 +843,8 @@ static int exynos_iommu_map(struct iommu_domain *domain, unsigned long l_iova,
847 } 843 }
848 844
849 if (ret) 845 if (ret)
850 pr_debug("%s: Failed to map iova %#x/%#zx bytes\n", 846 pr_err("%s: Failed(%d) to map %#zx bytes @ %#x\n",
851 __func__, iova, size); 847 __func__, ret, size, iova);
852 848
853 spin_unlock_irqrestore(&priv->pgtablelock, flags); 849 spin_unlock_irqrestore(&priv->pgtablelock, flags);
854 850
@@ -872,7 +868,7 @@ static size_t exynos_iommu_unmap(struct iommu_domain *domain,
872 ent = section_entry(priv->pgtable, iova); 868 ent = section_entry(priv->pgtable, iova);
873 869
874 if (lv1ent_section(ent)) { 870 if (lv1ent_section(ent)) {
875 if (size < SECT_SIZE) { 871 if (WARN_ON(size < SECT_SIZE)) {
876 err_pgsize = SECT_SIZE; 872 err_pgsize = SECT_SIZE;
877 goto err; 873 goto err;
878 } 874 }
@@ -907,7 +903,7 @@ static size_t exynos_iommu_unmap(struct iommu_domain *domain,
907 } 903 }
908 904
909 /* lv1ent_large(ent) == true here */ 905 /* lv1ent_large(ent) == true here */
910 if (size < LPAGE_SIZE) { 906 if (WARN_ON(size < LPAGE_SIZE)) {
911 err_pgsize = LPAGE_SIZE; 907 err_pgsize = LPAGE_SIZE;
912 goto err; 908 goto err;
913 } 909 }
@@ -929,9 +925,8 @@ done:
929err: 925err:
930 spin_unlock_irqrestore(&priv->pgtablelock, flags); 926 spin_unlock_irqrestore(&priv->pgtablelock, flags);
931 927
932 WARN(1, 928 pr_err("%s: Failed: size(%#zx) @ %#x is smaller than page size %#zx\n",
933 "%s: Failed due to size(%#zx) @ %#x is smaller than page size %#zx\n", 929 __func__, size, iova, err_pgsize);
934 __func__, size, iova, err_pgsize);
935 930
936 return 0; 931 return 0;
937} 932}