* [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char [not found] <11897112792637-git-send-email-edubezval@gmail.com> @ 2007-09-13 19:21 ` Eduardo Valentin 2007-09-13 19:21 ` [PATCH 2/2] [OMAP MMU FWK] Improve debug messages and removed DSP references from MMU FW code Eduardo Valentin 2007-09-14 16:38 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Dirk Behme 0 siblings, 2 replies; 5+ messages in thread From: Eduardo Valentin @ 2007-09-13 19:21 UTC (permalink / raw) To: Linux OMAP; +Cc: Eduardo Valentin From: Eduardo Valentin <eduardo.valentin@indt.org.br> This patch: - Translates printk to dev_* - Breaks lines with more than 80 columns Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br> --- arch/arm/mach-omap1/mmu.c | 10 ++-- arch/arm/mach-omap2/mmu.c | 29 ++++++---- arch/arm/plat-omap/mmu.c | 107 +++++++++++++++++++-------------------- include/asm-arm/arch-omap/mmu.h | 15 ++++-- 4 files changed, 85 insertions(+), 76 deletions(-) diff --git a/arch/arm/mach-omap1/mmu.c b/arch/arm/mach-omap1/mmu.c index 66aa0d4..baa8c16 100644 --- a/arch/arm/mach-omap1/mmu.c +++ b/arch/arm/mach-omap1/mmu.c @@ -201,8 +201,8 @@ static int omap1_mmu_startup(struct omap_mmu *mmu) { dspvect_page = (void *)__get_dma_pages(GFP_KERNEL, 0); if (dspvect_page == NULL) { - printk(KERN_ERR "MMU: failed to allocate memory " - "for dsp vector table\n"); + dev_err(&mmu->dev, "MMU: failed to allocate memory " + "for dsp vector table\n"); return -ENOMEM; } @@ -238,13 +238,13 @@ static inline unsigned long omap1_mmu_cam_va(struct cam_ram_regset *cr) } static struct cam_ram_regset * -omap1_mmu_cam_ram_alloc(struct omap_mmu_tlb_entry *entry) +omap1_mmu_cam_ram_alloc(struct omap_mmu *mmu, struct omap_mmu_tlb_entry *entry) { struct cam_ram_regset *cr; if (entry->va & ~(get_cam_va_mask(entry->pgsz))) { - printk(KERN_ERR "MMU: mapping vadr (0x%06lx) is not on an " - "aligned boundary\n", entry->va); + dev_err(&mmu->dev, "MMU: mapping vadr (0x%06lx) is not on an " + "aligned boundary\n", entry->va); return ERR_PTR(-EINVAL); } diff --git a/arch/arm/mach-omap2/mmu.c b/arch/arm/mach-omap2/mmu.c index d505fb8..a4e7eb5 100644 --- a/arch/arm/mach-omap2/mmu.c +++ b/arch/arm/mach-omap2/mmu.c @@ -64,7 +64,7 @@ static void exmap_setup_iomap_page(struct omap_mmu *mmu, unsigned long phys, dspadr = (IOMAP_VAL << 18) + (dsp_io_adr << 1); virt = omap_mmu_to_virt(mmu, dspadr); - exmap_set_armmmu((unsigned long)virt, phys, PAGE_SIZE); + exmap_set_armmmu(mmu, (unsigned long)virt, phys, PAGE_SIZE); INIT_EXMAP_TBL_ENTRY_4KB_PRESERVED(mmu->exmap_tbl + index, NULL, virt); INIT_TLB_ENTRY_4KB_ES32_PRESERVED(&tlb_ent, dspadr, phys); omap_mmu_load_pte_entry(mmu, &tlb_ent); @@ -78,7 +78,7 @@ static void exmap_clear_iomap_page(struct omap_mmu *mmu, dspadr = (IOMAP_VAL << 18) + (dsp_io_adr << 1); virt = omap_mmu_to_virt(mmu, dspadr); - exmap_clear_armmmu((unsigned long)virt, PAGE_SIZE); + exmap_clear_armmmu(mmu, (unsigned long)virt, PAGE_SIZE); /* DSP MMU is shutting down. not handled here. */ } @@ -153,8 +153,8 @@ static int omap2_mmu_startup(struct omap_mmu *mmu) dspvect_page = (void *)__get_dma_pages(GFP_KERNEL, 0); if (dspvect_page == NULL) { - printk(KERN_ERR "MMU: failed to allocate memory " - "for dsp vector table\n"); + dev_err(&mmu->dev, "MMU: failed to allocate memory " + "for dsp vector table\n"); return -ENOMEM; } @@ -261,13 +261,13 @@ static inline unsigned long omap2_mmu_cam_va(struct cam_ram_regset *cr) } static struct cam_ram_regset * -omap2_mmu_cam_ram_alloc(struct omap_mmu_tlb_entry *entry) +omap2_mmu_cam_ram_alloc(struct omap_mmu *mmu, struct omap_mmu_tlb_entry *entry) { struct cam_ram_regset *cr; if (entry->va & ~(get_cam_va_mask(entry->pgsz))) { - printk(KERN_ERR "MMU: mapping vadr (0x%06lx) is not on an " - "aligned boundary\n", entry->va); + dev_err(&mmu->dev, "MMU: mapping vadr (0x%06lx) is not on an " + "aligned boundary\n", entry->va); return ERR_PTR(-EINVAL); } @@ -292,11 +292,16 @@ static void omap2_mmu_interrupt(struct omap_mmu *mmu) status = MMU_IRQ_MASK & omap_mmu_read_reg(mmu, OMAP_MMU_IRQSTATUS); va = omap_mmu_read_reg(mmu, OMAP_MMU_FAULT_AD); - pr_info("%s\n", (status & OMAP_MMU_IRQ_MULTIHITFAULT) ? "multi hit":""); - pr_info("%s\n", (status & OMAP_MMU_IRQ_TABLEWALKFAULT) ? "table walk fault":""); - pr_info("%s\n", (status & OMAP_MMU_IRQ_EMUMISS) ? "EMU miss":""); - pr_info("%s\n", (status & OMAP_MMU_IRQ_TRANSLATIONFAULT) ? "translation fault":""); - pr_info("%s\n", (status & OMAP_MMU_IRQ_TLBMISS) ? "TLB miss":""); + pr_info("%s\n", (status & OMAP_MMU_IRQ_MULTIHITFAULT)? + "multi hit":""); + pr_info("%s\n", (status & OMAP_MMU_IRQ_TABLEWALKFAULT)? + "table walk fault":""); + pr_info("%s\n", (status & OMAP_MMU_IRQ_EMUMISS)? + "EMU miss":""); + pr_info("%s\n", (status & OMAP_MMU_IRQ_TRANSLATIONFAULT)? + "translation fault":""); + pr_info("%s\n", (status & OMAP_MMU_IRQ_TLBMISS)? + "TLB miss":""); pr_info("fault address = %#08lx\n", va); omap_mmu_disable(mmu); diff --git a/arch/arm/plat-omap/mmu.c b/arch/arm/plat-omap/mmu.c index 359c2cf..a1487ea 100644 --- a/arch/arm/plat-omap/mmu.c +++ b/arch/arm/plat-omap/mmu.c @@ -115,15 +115,16 @@ int omap_mmu_kmem_reserve(struct omap_mmu *mmu, unsigned long size) /* alignment check */ if (!is_aligned(size, SZ_64K)) { - printk(KERN_ERR - "omapdsp: size(0x%lx) is not multiple of 64KB.\n", size); + dev_err(&mmu->dev, + "omapdsp: size(0x%lx) is not multiple of 64KB.\n", + size); return -EINVAL; } if (size > (1 << mmu->addrspace)) { - printk(KERN_ERR - "omapdsp: size(0x%lx) is larger than DSP memory space " - "size (0x%x.\n", size, (1 << mmu->addrspace)); + dev_err(&mmu->dev, + "omapdsp: size(0x%lx) is larger than DSP memory space " + "size (0x%x.\n", size, (1 << mmu->addrspace)); return -EINVAL; } @@ -197,7 +198,8 @@ static void omap_mmu_free_pages(unsigned long buf, unsigned int order) /* * ARM MMU operations */ -int exmap_set_armmmu(unsigned long virt, unsigned long phys, unsigned long size) +int exmap_set_armmmu(struct omap_mmu *mmu, unsigned long virt, + unsigned long phys, unsigned long size) { long off; unsigned long sz_left; @@ -205,9 +207,9 @@ int exmap_set_armmmu(unsigned long virt, unsigned long phys, unsigned long size) pte_t *ptep; int prot_pmd, prot_pte; - printk(KERN_DEBUG - "MMU: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", - virt, phys, size); + dev_dbg(&mmu->dev, + "MMU: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", + virt, phys, size); prot_pmd = PMD_TYPE_TABLE | PMD_DOMAIN(DOMAIN_IO); prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | L_PTE_WRITE; @@ -235,15 +237,16 @@ int exmap_set_armmmu(unsigned long virt, unsigned long phys, unsigned long size) } EXPORT_SYMBOL_GPL(exmap_set_armmmu); -void exmap_clear_armmmu(unsigned long virt, unsigned long size) +void exmap_clear_armmmu(struct omap_mmu *mmu, unsigned long virt, + unsigned long size) { unsigned long sz_left; pmd_t *pmdp; pte_t *ptep; - printk(KERN_DEBUG - "MMU: unmapping in ARM MMU, v=0x%08lx, sz=0x%lx\n", - virt, size); + dev_dbg(&mmu->dev, + "MMU: unmapping in ARM MMU, v=0x%08lx, sz=0x%lx\n", + virt, size); for (sz_left = size; sz_left >= PAGE_SIZE; @@ -512,7 +515,7 @@ static void omap_mmu_clear_pte(struct omap_mmu *mmu, unsigned long virt) static struct cam_ram_regset * omap_mmu_cam_ram_alloc(struct omap_mmu *mmu, struct omap_mmu_tlb_entry *entry) { - return mmu->ops->cam_ram_alloc(entry); + return mmu->ops->cam_ram_alloc(mmu, entry); } static int omap_mmu_cam_ram_valid(struct omap_mmu *mmu, @@ -601,7 +604,7 @@ int omap_mmu_load_tlb_entry(struct omap_mmu *mmu, found_victim: /* The last entry cannot be locked? */ if (lock.victim == (mmu->nr_tlb_entries - 1)) { - printk(KERN_ERR "MMU: TLB is full.\n"); + dev_err(&mmu->dev, "MMU: TLB is full.\n"); return -EBUSY; } @@ -738,18 +741,18 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, * alignment check */ if (!is_aligned(size, MINIMUM_PAGESZ)) { - printk(KERN_ERR - "MMU: size(0x%lx) is not multiple of 4KB.\n", size); + dev_err(&mmu->dev, + "MMU: size(0x%lx) is not multiple of 4KB.\n", size); return -EINVAL; } if (!is_aligned(dspadr, MINIMUM_PAGESZ)) { - printk(KERN_ERR - "MMU: DSP address(0x%lx) is not aligned.\n", dspadr); + dev_err(&mmu->dev, + "MMU: DSP address(0x%lx) is not aligned.\n", dspadr); return -EINVAL; } if (!is_aligned(padr, MINIMUM_PAGESZ)) { - printk(KERN_ERR - "MMU: physical address(0x%lx) is not aligned.\n", + dev_err(&mmu->dev, + "MMU: physical address(0x%lx) is not aligned.\n", padr); return -EINVAL; } @@ -757,8 +760,8 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, /* address validity check */ if ((dspadr < mmu->memsize) || (dspadr >= (1 << mmu->addrspace))) { - printk(KERN_ERR - "MMU: illegal address/size for %s().\n", + dev_err(&mmu->dev, + "MMU: illegal address/size for %s().\n", __FUNCTION__); return -EINVAL; } @@ -774,7 +777,7 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, mapsize = 1 << (tmp_ent->order + PAGE_SHIFT); if ((_vadr + size > tmp_ent->vadr) && (_vadr < tmp_ent->vadr + mapsize)) { - printk(KERN_ERR "MMU: exmap page overlap!\n"); + dev_err(&mmu->dev, "MMU: exmap page overlap!\n"); up_write(&mmu->exmap_sem); return -EINVAL; } @@ -787,7 +790,7 @@ start: if (!mmu->exmap_tbl[idx].valid) goto found_free; - printk(KERN_ERR "MMU: DSP TLB is full.\n"); + dev_err(&mmu->dev, "MMU: DSP TLB is full.\n"); status = -EBUSY; goto fail; @@ -842,7 +845,7 @@ found_free: * we should not access to the allocated memory through 'buf' * since this area should not be cached. */ - status = exmap_set_armmmu((unsigned long)_vadr, _padr, unit); + status = exmap_set_armmmu(mmu, (unsigned long)_vadr, _padr, unit); if (status < 0) goto fail; @@ -850,7 +853,7 @@ found_free: INIT_TLB_ENTRY(&tlb_ent, _dspadr, _padr, pgsz); status = omap_mmu_load_pte_entry(mmu, &tlb_ent); if (status < 0) { - exmap_clear_armmmu((unsigned long)_vadr, unit); + exmap_clear_armmmu(mmu, (unsigned long)_vadr, unit); goto fail; } @@ -879,20 +882,20 @@ fail: } EXPORT_SYMBOL_GPL(omap_mmu_exmap); -static unsigned long unmap_free_arm(struct exmap_tbl *ent) +static unsigned long unmap_free_arm(struct omap_mmu *mmu, + struct exmap_tbl *ent) { unsigned long size; /* clearing ARM MMU */ size = 1 << (ent->order + PAGE_SHIFT); - exmap_clear_armmmu((unsigned long)ent->vadr, size); + exmap_clear_armmmu(mmu, (unsigned long)ent->vadr, size); /* freeing allocated memory */ if (ent->type == EXMAP_TYPE_MEM) { omap_mmu_free_pages((unsigned long)ent->buf, ent->order); - printk(KERN_DEBUG - "MMU: freeing 0x%lx bytes @ adr 0x%8p\n", - size, ent->buf); + dev_dbg(&mmu->dev, "MMU: freeing 0x%lx bytes @ adr 0x%8p\n", + size, ent->buf); } ent->valid = 0; @@ -917,16 +920,15 @@ int omap_mmu_exunmap(struct omap_mmu *mmu, unsigned long dspadr) goto found_map; } up_write(&mmu->exmap_sem); - printk(KERN_WARNING - "MMU: address %06lx not found in exmap_tbl.\n", dspadr); + dev_warn(&mmu->dev, "MMU: address %06lx not found in exmap_tbl.\n", + dspadr); return -EINVAL; found_map: if (ent->usecount > 0) { - printk(KERN_ERR - "MMU: exmap reference count is not 0.\n" - " idx=%d, vadr=%p, order=%d, usecount=%d\n", - idx, ent->vadr, ent->order, ent->usecount); + dev_err(&mmu->dev, "MMU: exmap reference count is not 0.\n" + " idx=%d, vadr=%p, order=%d, usecount=%d\n", + idx, ent->vadr, ent->order, ent->usecount); up_write(&mmu->exmap_sem); return -EINVAL; } @@ -934,7 +936,7 @@ found_map: omap_mmu_clear_pte_entry(mmu, dspadr); /* clear ARM MMU and free buffer */ - size = unmap_free_arm(ent); + size = unmap_free_arm(mmu, ent); total += size; /* we don't free PTEs */ @@ -952,10 +954,9 @@ found_map: if (ent->vadr == vadr) goto found_map; /* continue */ - printk(KERN_ERR - "MMU: illegal exmap_tbl grouping!\n" - "expected vadr = %p, exmap_tbl[%d].vadr = %p\n", - vadr, idx, ent->vadr); + dev_err(&mmu->dev, "MMU: illegal exmap_tbl grouping!\n" + "expected vadr = %p, exmap_tbl[%d].vadr = %p\n", + vadr, idx, ent->vadr); up_write(&mmu->exmap_sem); return -EINVAL; @@ -976,7 +977,7 @@ void omap_mmu_exmap_flush(struct omap_mmu *mmu) omap_mmu_for_each_tlb_entry(mmu, ent) if (ent->valid && !ent->prsvd) - unmap_free_arm(ent); + unmap_free_arm(mmu, ent); /* flush TLB */ if (likely(mmu->membase)) @@ -996,7 +997,7 @@ void exmap_setup_preserved_mem_page(struct omap_mmu *mmu, void *buf, phys = __pa(buf); virt = omap_mmu_to_virt(mmu, dspadr); - exmap_set_armmmu((unsigned long)virt, phys, PAGE_SIZE); + exmap_set_armmmu(mmu, (unsigned long)virt, phys, PAGE_SIZE); INIT_EXMAP_TBL_ENTRY_4KB_PRESERVED(mmu->exmap_tbl + index, buf, virt); INIT_TLB_ENTRY_4KB_PRESERVED(&tlb_ent, dspadr, phys); omap_mmu_load_pte_entry(mmu, &tlb_ent); @@ -1007,7 +1008,7 @@ void exmap_clear_mem_page(struct omap_mmu *mmu, unsigned long dspadr) { void *virt = omap_mmu_to_virt(mmu, dspadr); - exmap_clear_armmmu((unsigned long)virt, PAGE_SIZE); + exmap_clear_armmmu(mmu, (unsigned long)virt, PAGE_SIZE); /* DSP MMU is shutting down. not handled here. */ } EXPORT_SYMBOL_GPL(exmap_clear_mem_page); @@ -1073,8 +1074,8 @@ static int omap_mmu_init(struct omap_mmu *mmu) ret = request_irq(mmu->irq, omap_mmu_interrupt, IRQF_DISABLED, mmu->name, mmu); if (ret < 0) { - printk(KERN_ERR - "failed to register MMU interrupt: %d\n", ret); + dev_err(&mmu->dev, "failed to register MMU interrupt: %d\n", + ret); goto fail; } @@ -1164,9 +1165,8 @@ static ssize_t exmem_read(struct omap_mmu *mmu, char *buf, size_t count, void *vadr = omap_mmu_to_virt(mmu, p); if (!exmap_valid(mmu, vadr, count)) { - printk(KERN_ERR - "MMU: DSP address %08lx / size %08x " - "is not valid!\n", p, count); + dev_err(&mmu->dev, "MMU: DSP address %08lx / size %08x " + "is not valid!\n", p, count); return -EFAULT; } if (count > (1 << mmu->addrspace) - p) @@ -1232,9 +1232,8 @@ static ssize_t exmem_write(struct omap_mmu *mmu, char *buf, size_t count, void *vadr = omap_mmu_to_virt(mmu, p); if (!exmap_valid(mmu, vadr, count)) { - printk(KERN_ERR - "MMU: DSP address %08lx / size %08x " - "is not valid!\n", p, count); + dev_err(&mmu->dev, "MMU: DSP address %08lx / size %08x " + "is not valid!\n", p, count); return -EFAULT; } if (count > (1 << mmu->addrspace) - p) diff --git a/include/asm-arm/arch-omap/mmu.h b/include/asm-arm/arch-omap/mmu.h index eec5696..6c5869c 100644 --- a/include/asm-arm/arch-omap/mmu.h +++ b/include/asm-arm/arch-omap/mmu.h @@ -69,7 +69,8 @@ struct omap_mmu_ops { ssize_t (*show)(struct omap_mmu *, char *, struct omap_mmu_tlb_lock *); /* CAM / RAM operations */ - struct cam_ram_regset *(*cam_ram_alloc)(struct omap_mmu_tlb_entry *); + struct cam_ram_regset *(*cam_ram_alloc)(struct omap_mmu *, + struct omap_mmu_tlb_entry *); int (*cam_ram_valid)(struct cam_ram_regset *); unsigned long (*cam_va)(struct cam_ram_regset *); @@ -182,15 +183,19 @@ void omap_mmu_exmap_flush(struct omap_mmu *mmu); void omap_mmu_exmap_use(struct omap_mmu *mmu, void *vadr, size_t len); void omap_mmu_exmap_unuse(struct omap_mmu *mmu, void *vadr, size_t len); -int exmap_set_armmmu(unsigned long virt, unsigned long phys, unsigned long size); -void exmap_clear_armmmu(unsigned long virt, unsigned long size); +int exmap_set_armmmu(struct omap_mmu *mmu, unsigned long virt, + unsigned long phys, unsigned long size); +void exmap_clear_armmmu(struct omap_mmu *mmu, unsigned long virt, + unsigned long size); void exmap_setup_preserved_mem_page(struct omap_mmu *mmu, void *buf, unsigned long dspadr, int index); void exmap_clear_mem_page(struct omap_mmu *mmu, unsigned long dspadr); int exmap_valid(struct omap_mmu *mmu, void *vadr, size_t len); /* To be obsolete for backward compatibility */ -ssize_t __omap_mmu_mem_read(struct omap_mmu *mmu, struct bin_attribute *, char *buf, loff_t offset, size_t count); -ssize_t __omap_mmu_mem_write(struct omap_mmu *mmu, struct bin_attribute *, char *buf, loff_t offset, size_t count); +ssize_t __omap_mmu_mem_read(struct omap_mmu *mmu, struct bin_attribute *, + char *buf, loff_t offset, size_t count); +ssize_t __omap_mmu_mem_write(struct omap_mmu *mmu, struct bin_attribute *, + char *buf, loff_t offset, size_t count); #endif /* __ARCH_OMAP_MMU_H */ -- 1.5.3.rc6.17.g1911 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* [PATCH 2/2] [OMAP MMU FWK] Improve debug messages and removed DSP references from MMU FW code 2007-09-13 19:21 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Eduardo Valentin @ 2007-09-13 19:21 ` Eduardo Valentin 2007-09-14 16:38 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Dirk Behme 1 sibling, 0 replies; 5+ messages in thread From: Eduardo Valentin @ 2007-09-13 19:21 UTC (permalink / raw) To: Linux OMAP; +Cc: Eduardo Valentin From: Eduardo Valentin <eduardo.valentin@indt.org.br> As the code is expected to work with another mmu other than DSP mmu; "DSP" string was removed from the code in the following situations: - Debug messages - Local variables name - Comments Another improvement is done for debug messages. The MMU name is printed in debug messages. Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br> --- arch/arm/mach-omap1/mmu.c | 8 ++-- arch/arm/mach-omap2/mmu.c | 8 ++-- arch/arm/plat-omap/mmu.c | 116 +++++++++++++++++++++++---------------------- 3 files changed, 68 insertions(+), 64 deletions(-) diff --git a/arch/arm/mach-omap1/mmu.c b/arch/arm/mach-omap1/mmu.c index baa8c16..f1b682a 100644 --- a/arch/arm/mach-omap1/mmu.c +++ b/arch/arm/mach-omap1/mmu.c @@ -201,8 +201,8 @@ static int omap1_mmu_startup(struct omap_mmu *mmu) { dspvect_page = (void *)__get_dma_pages(GFP_KERNEL, 0); if (dspvect_page == NULL) { - dev_err(&mmu->dev, "MMU: failed to allocate memory " - "for dsp vector table\n"); + dev_err(&mmu->dev, "MMU %s: failed to allocate memory " + "for vector table\n", mmu->name); return -ENOMEM; } @@ -243,8 +243,8 @@ omap1_mmu_cam_ram_alloc(struct omap_mmu *mmu, struct omap_mmu_tlb_entry *entry) struct cam_ram_regset *cr; if (entry->va & ~(get_cam_va_mask(entry->pgsz))) { - dev_err(&mmu->dev, "MMU: mapping vadr (0x%06lx) is not on an " - "aligned boundary\n", entry->va); + dev_err(&mmu->dev, "MMU %s: mapping vadr (0x%06lx) is not on" + " an aligned boundary\n", mmu->name, entry->va); return ERR_PTR(-EINVAL); } diff --git a/arch/arm/mach-omap2/mmu.c b/arch/arm/mach-omap2/mmu.c index a4e7eb5..08fbe6b 100644 --- a/arch/arm/mach-omap2/mmu.c +++ b/arch/arm/mach-omap2/mmu.c @@ -153,8 +153,8 @@ static int omap2_mmu_startup(struct omap_mmu *mmu) dspvect_page = (void *)__get_dma_pages(GFP_KERNEL, 0); if (dspvect_page == NULL) { - dev_err(&mmu->dev, "MMU: failed to allocate memory " - "for dsp vector table\n"); + dev_err(&mmu->dev, "MMU %s: failed to allocate memory " + "for vector table\n", mmu->name); return -ENOMEM; } @@ -266,8 +266,8 @@ omap2_mmu_cam_ram_alloc(struct omap_mmu *mmu, struct omap_mmu_tlb_entry *entry) struct cam_ram_regset *cr; if (entry->va & ~(get_cam_va_mask(entry->pgsz))) { - dev_err(&mmu->dev, "MMU: mapping vadr (0x%06lx) is not on an " - "aligned boundary\n", entry->va); + dev_err(&mmu->dev, "MMU %s: mapping vadr (0x%06lx) is not on" + " an aligned boundary\n", mmu->name, entry->va); return ERR_PTR(-EINVAL); } diff --git a/arch/arm/plat-omap/mmu.c b/arch/arm/plat-omap/mmu.c index a1487ea..890a9c8 100644 --- a/arch/arm/plat-omap/mmu.c +++ b/arch/arm/plat-omap/mmu.c @@ -116,15 +116,16 @@ int omap_mmu_kmem_reserve(struct omap_mmu *mmu, unsigned long size) /* alignment check */ if (!is_aligned(size, SZ_64K)) { dev_err(&mmu->dev, - "omapdsp: size(0x%lx) is not multiple of 64KB.\n", - size); + "MMU %s: size(0x%lx) is not multiple of 64KB.\n", + mmu->name, size); return -EINVAL; } if (size > (1 << mmu->addrspace)) { dev_err(&mmu->dev, - "omapdsp: size(0x%lx) is larger than DSP memory space " - "size (0x%x.\n", size, (1 << mmu->addrspace)); + "MMU %s: size(0x%lx) is larger than external device " + " memory space size (0x%x.\n", mmu->name, size, + (1 << mmu->addrspace)); return -EINVAL; } @@ -208,8 +209,8 @@ int exmap_set_armmmu(struct omap_mmu *mmu, unsigned long virt, int prot_pmd, prot_pte; dev_dbg(&mmu->dev, - "MMU: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", - virt, phys, size); + "MMU %s: mapping in ARM MMU, v=0x%08lx, p=0x%08lx, sz=0x%lx\n", + mmu->name, virt, phys, size); prot_pmd = PMD_TYPE_TABLE | PMD_DOMAIN(DOMAIN_IO); prot_pte = L_PTE_PRESENT | L_PTE_YOUNG | L_PTE_DIRTY | L_PTE_WRITE; @@ -245,8 +246,8 @@ void exmap_clear_armmmu(struct omap_mmu *mmu, unsigned long virt, pte_t *ptep; dev_dbg(&mmu->dev, - "MMU: unmapping in ARM MMU, v=0x%08lx, sz=0x%lx\n", - virt, size); + "MMU %s: unmapping in ARM MMU, v=0x%08lx, sz=0x%lx\n", + mmu->name, virt, size); for (sz_left = size; sz_left >= PAGE_SIZE; @@ -604,7 +605,7 @@ int omap_mmu_load_tlb_entry(struct omap_mmu *mmu, found_victim: /* The last entry cannot be locked? */ if (lock.victim == (mmu->nr_tlb_entries - 1)) { - dev_err(&mmu->dev, "MMU: TLB is full.\n"); + dev_err(&mmu->dev, "MMU %s: TLB is full.\n", mmu->name); return -EBUSY; } @@ -712,13 +713,13 @@ EXPORT_SYMBOL_GPL(omap_mmu_clear_pte_entry); * omap_mmu_exmap() * * MEM_IOCTL_EXMAP ioctl calls this function with padr=0. - * In this case, the buffer for DSP is allocated in this routine, + * In this case, the buffer for external device is allocated in this routine, * then it is mapped. * On the other hand, for example - frame buffer sharing, calls * this function with padr set. It means some known address space - * pointed with padr is going to be shared with DSP. + * pointed with padr is going to be shared with external device. */ -int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, +int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long devadr, unsigned long padr, unsigned long size, enum exmap_type type) { @@ -727,9 +728,9 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, unsigned int order = 0; unsigned long unit; int prev = -1; - unsigned long _dspadr = dspadr; + unsigned long _devadr = devadr; unsigned long _padr = padr; - void *_vadr = omap_mmu_to_virt(mmu, dspadr); + void *_vadr = omap_mmu_to_virt(mmu, devadr); unsigned long _size = size; struct omap_mmu_tlb_entry tlb_ent; struct exmap_tbl *exmap_ent, *tmp_ent; @@ -742,27 +743,29 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, */ if (!is_aligned(size, MINIMUM_PAGESZ)) { dev_err(&mmu->dev, - "MMU: size(0x%lx) is not multiple of 4KB.\n", size); + "MMU %s: size(0x%lx) is not multiple of 4KB.\n", + mmu->name, size); return -EINVAL; } - if (!is_aligned(dspadr, MINIMUM_PAGESZ)) { + if (!is_aligned(devadr, MINIMUM_PAGESZ)) { dev_err(&mmu->dev, - "MMU: DSP address(0x%lx) is not aligned.\n", dspadr); + "MMU %s: external device address(0x%lx) is not" + " aligned.\n", mmu->name, devadr); return -EINVAL; } if (!is_aligned(padr, MINIMUM_PAGESZ)) { dev_err(&mmu->dev, - "MMU: physical address(0x%lx) is not aligned.\n", - padr); + "MMU %s: physical address(0x%lx) is not aligned.\n", + mmu->name, padr); return -EINVAL; } /* address validity check */ - if ((dspadr < mmu->memsize) || - (dspadr >= (1 << mmu->addrspace))) { + if ((devadr < mmu->memsize) || + (devadr >= (1 << mmu->addrspace))) { dev_err(&mmu->dev, - "MMU: illegal address/size for %s().\n", - __FUNCTION__); + "MMU %s: illegal address/size for %s().\n", + mmu->name, __FUNCTION__); return -EINVAL; } @@ -777,7 +780,8 @@ int omap_mmu_exmap(struct omap_mmu *mmu, unsigned long dspadr, mapsize = 1 << (tmp_ent->order + PAGE_SHIFT); if ((_vadr + size > tmp_ent->vadr) && (_vadr < tmp_ent->vadr + mapsize)) { - dev_err(&mmu->dev, "MMU: exmap page overlap!\n"); + dev_err(&mmu->dev, "MMU %s: exmap page overlap!\n", + mmu->name); up_write(&mmu->exmap_sem); return -EINVAL; } @@ -790,7 +794,7 @@ start: if (!mmu->exmap_tbl[idx].valid) goto found_free; - dev_err(&mmu->dev, "MMU: DSP TLB is full.\n"); + dev_err(&mmu->dev, "MMU %s: TLB is full.\n", mmu->name); status = -EBUSY; goto fail; @@ -799,12 +803,12 @@ found_free: if ((_size >= SZ_1M) && (is_aligned(_padr, SZ_1M) || (padr == 0)) && - is_aligned(_dspadr, SZ_1M)) { + is_aligned(_devadr, SZ_1M)) { unit = SZ_1M; pgsz = OMAP_MMU_CAM_PAGESIZE_1MB; } else if ((_size >= SZ_64K) && (is_aligned(_padr, SZ_64K) || (padr == 0)) && - is_aligned(_dspadr, SZ_64K)) { + is_aligned(_devadr, SZ_64K)) { unit = SZ_64K; pgsz = OMAP_MMU_CAM_PAGESIZE_64KB; } else { @@ -849,8 +853,8 @@ found_free: if (status < 0) goto fail; - /* loading DSP PTE entry */ - INIT_TLB_ENTRY(&tlb_ent, _dspadr, _padr, pgsz); + /* loading external device PTE entry */ + INIT_TLB_ENTRY(&tlb_ent, _devadr, _padr, pgsz); status = omap_mmu_load_pte_entry(mmu, &tlb_ent); if (status < 0) { exmap_clear_armmmu(mmu, (unsigned long)_vadr, unit); @@ -867,7 +871,7 @@ found_free: return size; } - _dspadr += unit; + _devadr += unit; _vadr += unit; _padr = padr ? _padr + unit : 0; prev = idx; @@ -877,7 +881,7 @@ fail: up_write(&mmu->exmap_sem); if (buf) omap_mmu_free_pages((unsigned long)buf, order); - omap_mmu_exunmap(mmu, dspadr); + omap_mmu_exunmap(mmu, devadr); return status; } EXPORT_SYMBOL_GPL(omap_mmu_exmap); @@ -894,15 +898,15 @@ static unsigned long unmap_free_arm(struct omap_mmu *mmu, /* freeing allocated memory */ if (ent->type == EXMAP_TYPE_MEM) { omap_mmu_free_pages((unsigned long)ent->buf, ent->order); - dev_dbg(&mmu->dev, "MMU: freeing 0x%lx bytes @ adr 0x%8p\n", - size, ent->buf); + dev_dbg(&mmu->dev, "MMU %s: freeing 0x%lx bytes @ adr 0x%8p\n", + mmu->name, size, ent->buf); } ent->valid = 0; return size; } -int omap_mmu_exunmap(struct omap_mmu *mmu, unsigned long dspadr) +int omap_mmu_exunmap(struct omap_mmu *mmu, unsigned long devadr) { void *vadr; unsigned long size; @@ -910,7 +914,7 @@ int omap_mmu_exunmap(struct omap_mmu *mmu, unsigned long dspadr) struct exmap_tbl *ent; int idx; - vadr = omap_mmu_to_virt(mmu, dspadr); + vadr = omap_mmu_to_virt(mmu, devadr); down_write(&mmu->exmap_sem); for (idx = 0; idx < mmu->nr_tlb_entries; idx++) { ent = mmu->exmap_tbl + idx; @@ -920,20 +924,20 @@ int omap_mmu_exunmap(struct omap_mmu *mmu, unsigned long dspadr) goto found_map; } up_write(&mmu->exmap_sem); - dev_warn(&mmu->dev, "MMU: address %06lx not found in exmap_tbl.\n", - dspadr); + dev_warn(&mmu->dev, "MMU %s: address %06lx not found in exmap_tbl.\n", + mmu->name, devadr); return -EINVAL; found_map: if (ent->usecount > 0) { - dev_err(&mmu->dev, "MMU: exmap reference count is not 0.\n" + dev_err(&mmu->dev, "MMU %s: exmap reference count is not 0.\n" " idx=%d, vadr=%p, order=%d, usecount=%d\n", - idx, ent->vadr, ent->order, ent->usecount); + mmu->name, idx, ent->vadr, ent->order, ent->usecount); up_write(&mmu->exmap_sem); return -EINVAL; } - /* clearing DSP PTE entry */ - omap_mmu_clear_pte_entry(mmu, dspadr); + /* clearing external device PTE entry */ + omap_mmu_clear_pte_entry(mmu, devadr); /* clear ARM MMU and free buffer */ size = unmap_free_arm(mmu, ent); @@ -949,14 +953,14 @@ found_map: if (idx < 0) goto up_out; /* normal completion */ ent = mmu->exmap_tbl + idx; - dspadr += size; + devadr += size; vadr += size; if (ent->vadr == vadr) goto found_map; /* continue */ - dev_err(&mmu->dev, "MMU: illegal exmap_tbl grouping!\n" + dev_err(&mmu->dev, "MMU %s: illegal exmap_tbl grouping!\n" "expected vadr = %p, exmap_tbl[%d].vadr = %p\n", - vadr, idx, ent->vadr); + mmu->name, vadr, idx, ent->vadr); up_write(&mmu->exmap_sem); return -EINVAL; @@ -989,24 +993,24 @@ void omap_mmu_exmap_flush(struct omap_mmu *mmu) EXPORT_SYMBOL_GPL(omap_mmu_exmap_flush); void exmap_setup_preserved_mem_page(struct omap_mmu *mmu, void *buf, - unsigned long dspadr, int index) + unsigned long devadr, int index) { unsigned long phys; void *virt; struct omap_mmu_tlb_entry tlb_ent; phys = __pa(buf); - virt = omap_mmu_to_virt(mmu, dspadr); + virt = omap_mmu_to_virt(mmu, devadr); exmap_set_armmmu(mmu, (unsigned long)virt, phys, PAGE_SIZE); INIT_EXMAP_TBL_ENTRY_4KB_PRESERVED(mmu->exmap_tbl + index, buf, virt); - INIT_TLB_ENTRY_4KB_PRESERVED(&tlb_ent, dspadr, phys); + INIT_TLB_ENTRY_4KB_PRESERVED(&tlb_ent, devadr, phys); omap_mmu_load_pte_entry(mmu, &tlb_ent); } EXPORT_SYMBOL_GPL(exmap_setup_preserved_mem_page); -void exmap_clear_mem_page(struct omap_mmu *mmu, unsigned long dspadr) +void exmap_clear_mem_page(struct omap_mmu *mmu, unsigned long devadr) { - void *virt = omap_mmu_to_virt(mmu, dspadr); + void *virt = omap_mmu_to_virt(mmu, devadr); exmap_clear_armmmu(mmu, (unsigned long)virt, PAGE_SIZE); /* DSP MMU is shutting down. not handled here. */ @@ -1074,8 +1078,8 @@ static int omap_mmu_init(struct omap_mmu *mmu) ret = request_irq(mmu->irq, omap_mmu_interrupt, IRQF_DISABLED, mmu->name, mmu); if (ret < 0) { - dev_err(&mmu->dev, "failed to register MMU interrupt: %d\n", - ret); + dev_err(&mmu->dev, "MMU %s: failed to register MMU interrupt:" + " %d\n", mmu->name, ret); goto fail; } @@ -1165,8 +1169,8 @@ static ssize_t exmem_read(struct omap_mmu *mmu, char *buf, size_t count, void *vadr = omap_mmu_to_virt(mmu, p); if (!exmap_valid(mmu, vadr, count)) { - dev_err(&mmu->dev, "MMU: DSP address %08lx / size %08x " - "is not valid!\n", p, count); + dev_err(&mmu->dev, "MMU %s: external device address %08lx / " + "size %08x is not valid!\n", mmu->name, p, count); return -EFAULT; } if (count > (1 << mmu->addrspace) - p) @@ -1232,8 +1236,8 @@ static ssize_t exmem_write(struct omap_mmu *mmu, char *buf, size_t count, void *vadr = omap_mmu_to_virt(mmu, p); if (!exmap_valid(mmu, vadr, count)) { - dev_err(&mmu->dev, "MMU: DSP address %08lx / size %08x " - "is not valid!\n", p, count); + dev_err(&mmu->dev, "MMU %s: external device address %08lx " + "/ size %08x is not valid!\n", mmu->name, p, count); return -EFAULT; } if (count > (1 << mmu->addrspace) - p) @@ -1337,7 +1341,7 @@ static ssize_t exmap_show(struct device *dev, struct device_attribute *attr, int i = 0; down_read(&mmu->exmap_sem); - len = sprintf(buf, " dspadr size buf size uc\n"); + len = sprintf(buf, " devadr size buf size uc\n"); /* 0x300000 0x123000 0xc0171000 0x100000 0*/ omap_mmu_for_each_tlb_entry(mmu, ent) { -- 1.5.3.rc6.17.g1911 ^ permalink raw reply related [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char 2007-09-13 19:21 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Eduardo Valentin 2007-09-13 19:21 ` [PATCH 2/2] [OMAP MMU FWK] Improve debug messages and removed DSP references from MMU FW code Eduardo Valentin @ 2007-09-14 16:38 ` Dirk Behme 2007-09-14 17:18 ` Eduardo Valentin 1 sibling, 1 reply; 5+ messages in thread From: Dirk Behme @ 2007-09-14 16:38 UTC (permalink / raw) To: Eduardo Valentin; +Cc: Eduardo Valentin, Linux OMAP Eduardo Valentin wrote: > From: Eduardo Valentin <eduardo.valentin@indt.org.br> > > This patch: > > - Translates printk to dev_* > - Breaks lines with more than 80 columns > > Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br> > --- > arch/arm/mach-omap1/mmu.c | 10 ++-- > arch/arm/mach-omap2/mmu.c | 29 ++++++---- > arch/arm/plat-omap/mmu.c | 107 +++++++++++++++++++-------------------- > include/asm-arm/arch-omap/mmu.h | 15 ++++-- > 4 files changed, 85 insertions(+), 76 deletions(-) Is this an update of http://linux.omap.com/pipermail/linux-omap-open-source/2007-August/011180.html ? So above patch is outdated? Just for my patch tracking ;) Regards Dirk ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char 2007-09-14 16:38 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Dirk Behme @ 2007-09-14 17:18 ` Eduardo Valentin 2007-09-17 18:07 ` Tony Lindgren 0 siblings, 1 reply; 5+ messages in thread From: Eduardo Valentin @ 2007-09-14 17:18 UTC (permalink / raw) To: Dirk Behme; +Cc: Linux OMAP Hi Dirk, Yes, the patch I sent last month is outdated. But this new one has just little differences. I resent it as the last one was not merged and the second on the series is on top of this. Cheers, On 9/14/07, Dirk Behme <dirk.behme@googlemail.com> wrote: > Eduardo Valentin wrote: > > From: Eduardo Valentin <eduardo.valentin@indt.org.br> > > > > This patch: > > > > - Translates printk to dev_* > > - Breaks lines with more than 80 columns > > > > Signed-off-by: Eduardo Valentin <eduardo.valentin@indt.org.br> > > --- > > arch/arm/mach-omap1/mmu.c | 10 ++-- > > arch/arm/mach-omap2/mmu.c | 29 ++++++---- > > arch/arm/plat-omap/mmu.c | 107 +++++++++++++++++++-------------------- > > include/asm-arm/arch-omap/mmu.h | 15 ++++-- > > 4 files changed, 85 insertions(+), 76 deletions(-) > > Is this an update of > > http://linux.omap.com/pipermail/linux-omap-open-source/2007-August/011180.html > > ? > > So above patch is outdated? > > Just for my patch tracking ;) > > Regards > > Dirk > -- Eduardo Bezerra Valentin ^ permalink raw reply [flat|nested] 5+ messages in thread
* Re: [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char 2007-09-14 17:18 ` Eduardo Valentin @ 2007-09-17 18:07 ` Tony Lindgren 0 siblings, 0 replies; 5+ messages in thread From: Tony Lindgren @ 2007-09-17 18:07 UTC (permalink / raw) To: Eduardo Valentin; +Cc: Linux OMAP * Eduardo Valentin <edubezval@gmail.com> [070914 10:19]: > Hi Dirk, > > > Yes, the patch I sent last month is outdated. But this new one has > just little differences. I resent it as the last one was not merged > and the second on the series is on top of this. Pushing both of these today. Tony ^ permalink raw reply [flat|nested] 5+ messages in thread
end of thread, other threads:[~2007-09-17 18:07 UTC | newest]
Thread overview: 5+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <11897112792637-git-send-email-edubezval@gmail.com>
2007-09-13 19:21 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Eduardo Valentin
2007-09-13 19:21 ` [PATCH 2/2] [OMAP MMU FWK] Improve debug messages and removed DSP references from MMU FW code Eduardo Valentin
2007-09-14 16:38 ` [PATCH 1/2] [OMAP MMU FWK] Translate printk to dev_* and break lines with more than 80 char Dirk Behme
2007-09-14 17:18 ` Eduardo Valentin
2007-09-17 18:07 ` Tony Lindgren
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox