Message ID | 1432859434-17821-3-git-send-email-mcgrof@do-not-panic.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
* Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote: > + gbe_mem = devm_ioremap_wc(&p_dev->dev, gbe_mem_phys, > + gbe_mem_size); > + gbe_mem = dma_alloc_writecombine(NULL, gbe_mem_size, > + &gbe_dma_addr, GFP_KERNEL); > + par->wc_cookie = arch_phys_wc_add(gbe_mem_phys, gbe_mem_size); > + arch_phys_wc_del(par->wc_cookie); > + arch_phys_wc_del(par->wc_cookie); Could we _please_ rename dma_*_writecombine() to dma_*_wc(), so that the naming is coherent across the various APIs? Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Fri, May 29, 2015 at 08:41:44AM +0200, Ingo Molnar wrote: > > * Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote: > > > + gbe_mem = devm_ioremap_wc(&p_dev->dev, gbe_mem_phys, > > + gbe_mem_size); > > > + gbe_mem = dma_alloc_writecombine(NULL, gbe_mem_size, > > + &gbe_dma_addr, GFP_KERNEL); > > > + par->wc_cookie = arch_phys_wc_add(gbe_mem_phys, gbe_mem_size); > > > + arch_phys_wc_del(par->wc_cookie); > > > + arch_phys_wc_del(par->wc_cookie); > > Could we _please_ rename dma_*_writecombine() to dma_*_wc(), so that the naming is > coherent across the various APIs? Sure, OK done. Will send once this series is merged and visible on linux-next. But who's tree should this go through? Since it depends on this series which goes through Tomi's tree should it go through there? Luis -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
* Luis R. Rodriguez <mcgrof@suse.com> wrote: > On Fri, May 29, 2015 at 08:41:44AM +0200, Ingo Molnar wrote: > > > > * Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote: > > > > > + gbe_mem = devm_ioremap_wc(&p_dev->dev, gbe_mem_phys, > > > + gbe_mem_size); > > > > > + gbe_mem = dma_alloc_writecombine(NULL, gbe_mem_size, > > > + &gbe_dma_addr, GFP_KERNEL); > > > > > + par->wc_cookie = arch_phys_wc_add(gbe_mem_phys, gbe_mem_size); > > > > > + arch_phys_wc_del(par->wc_cookie); > > > > > + arch_phys_wc_del(par->wc_cookie); > > > > Could we _please_ rename dma_*_writecombine() to dma_*_wc(), so that the naming is > > coherent across the various APIs? > > Sure, OK done. Will send once this series is merged and visible on linux-next. > But who's tree should this go through? Since it depends on this series which > goes through Tomi's tree should it go through there? So we could do the rename near the end of the merge window, when all the patches have drained from maintainer trees into Linus's tree. Mind keeping it in your tree until then? Thanks, Ingo -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
On Mon, Jun 1, 2015 at 1:53 AM, Ingo Molnar <mingo@kernel.org> wrote: > > * Luis R. Rodriguez <mcgrof@suse.com> wrote: > >> On Fri, May 29, 2015 at 08:41:44AM +0200, Ingo Molnar wrote: >> > >> > * Luis R. Rodriguez <mcgrof@do-not-panic.com> wrote: >> > >> > > + gbe_mem = devm_ioremap_wc(&p_dev->dev, gbe_mem_phys, >> > > + gbe_mem_size); >> > >> > > + gbe_mem = dma_alloc_writecombine(NULL, gbe_mem_size, >> > > + &gbe_dma_addr, GFP_KERNEL); >> > >> > > + par->wc_cookie = arch_phys_wc_add(gbe_mem_phys, gbe_mem_size); >> > >> > > + arch_phys_wc_del(par->wc_cookie); >> > >> > > + arch_phys_wc_del(par->wc_cookie); >> > >> > Could we _please_ rename dma_*_writecombine() to dma_*_wc(), so that the naming is >> > coherent across the various APIs? >> >> Sure, OK done. Will send once this series is merged and visible on linux-next. >> But who's tree should this go through? Since it depends on this series which >> goes through Tomi's tree should it go through there? > > So we could do the rename near the end of the merge window, when all the patches > have drained from maintainer trees into Linus's tree. OK. > Mind keeping it in your tree until then? You got it. Luis -- To unsubscribe from this list: send the line "unsubscribe linux-fbdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/video/fbdev/gbefb.c b/drivers/video/fbdev/gbefb.c index 4e54faa06..d2601808 100644 --- a/drivers/video/fbdev/gbefb.c +++ b/drivers/video/fbdev/gbefb.c @@ -22,9 +22,6 @@ #include <linux/module.h> #include <linux/io.h> -#ifdef CONFIG_X86 -#include <asm/mtrr.h> -#endif #ifdef CONFIG_MIPS #include <asm/addrspace.h> #endif @@ -1176,8 +1173,8 @@ static int gbefb_probe(struct platform_device *p_dev) if (gbe_mem_phys) { /* memory was allocated at boot time */ - gbe_mem = devm_ioremap_nocache(&p_dev->dev, gbe_mem_phys, - gbe_mem_size); + gbe_mem = devm_ioremap_wc(&p_dev->dev, gbe_mem_phys, + gbe_mem_size); if (!gbe_mem) { printk(KERN_ERR "gbefb: couldn't map framebuffer\n"); ret = -ENOMEM; @@ -1188,8 +1185,8 @@ static int gbefb_probe(struct platform_device *p_dev) } else { /* try to allocate memory with the classical allocator * this has high chance to fail on low memory machines */ - gbe_mem = dma_alloc_coherent(NULL, gbe_mem_size, &gbe_dma_addr, - GFP_KERNEL); + gbe_mem = dma_alloc_writecombine(NULL, gbe_mem_size, + &gbe_dma_addr, GFP_KERNEL); if (!gbe_mem) { printk(KERN_ERR "gbefb: couldn't allocate framebuffer memory\n"); ret = -ENOMEM; @@ -1200,10 +1197,7 @@ static int gbefb_probe(struct platform_device *p_dev) } par = info->par; -#ifdef CONFIG_X86 - par->wc_cookie = mtrr_add(gbe_mem_phys, gbe_mem_size, - MTRR_TYPE_WRCOMB, 1); -#endif + par->wc_cookie = arch_phys_wc_add(gbe_mem_phys, gbe_mem_size); /* map framebuffer memory into tiles table */ for (i = 0; i < (gbe_mem_size >> TILE_SHIFT); i++) @@ -1242,10 +1236,7 @@ static int gbefb_probe(struct platform_device *p_dev) return 0; out_gbe_unmap: -#ifdef CONFIG_MTRR - if (par->wc_cookie >= 0) - mtrr_del(par->wc_cookie, 0, 0); -#endif + arch_phys_wc_del(par->wc_cookie); if (gbe_dma_addr) dma_free_coherent(NULL, gbe_mem_size, gbe_mem, gbe_mem_phys); out_tiles_free: @@ -1266,10 +1257,7 @@ static int gbefb_remove(struct platform_device* p_dev) unregister_framebuffer(info); gbe_turn_off(); -#ifdef CONFIG_MTRR - if (par->wc_cookie >= 0) - mtrr_del(par->wc_cookie, 0, 0); -#endif + arch_phys_wc_del(par->wc_cookie); if (gbe_dma_addr) dma_free_coherent(NULL, gbe_mem_size, gbe_mem, gbe_mem_phys); dma_free_coherent(NULL, GBE_TLB_SIZE * sizeof(uint16_t),