From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
To: Richard Henderson <rth@twiddle.net>,
Ivan Kokshaysky <ink@jurassic.park.msu.ru>,
Matt Turner <mattst88@gmail.com>,
Vineet Gupta <vgupta@synopsys.com>,
Russell King <linux@armlinux.org.uk>,
Stefano Stabellini <sstabellini@kernel.org>,
Catalin Marinas <catalin.marinas@arm.com>,
Will Deacon <will.deacon@arm.com>,
Haavard Skinnemoen <hskinnemoen@gmail.com>,
Hans-Christian Egtvedt <egtvedt@samfundet.no>,
Steven Miao <realmz6@gmail.com>, Mark Salter <msalter@redhat.com>,
Aurelien Jacquiot <a-jacquiot@ti.com>,
Mikael Starvik <starvik@axis.com>,
Jesper Nilsson <jesper.nilsson@axis.com>,
Yoshinori Sato <ysato@users.sourceforge.jp>,
Richard Kuo <rkuo@codeaurora.org>,
Tony Luck <tony.luck@intel.com>,
Fenghua Yu <fenghua.yu@intel.com>,
Konrad Rzeszutek Wilk <konrad.wilk@oracle.com>,
Geert Uytterhoeven <geert@linux-m68k.org>,
James Hogan <james.hogan@imgtec.com>Michal Simek <mo>
Cc: hch@infradead.org, Krzysztof Kozlowski <k.kozlowski@samsung.com>,
Bartlomiej Zolnierkiewicz <b.zolnierkie@samsung.com>
Subject: [RFC v3 12/45] drm/exynos: dma-mapping: Use unsigned long for dma_attrs
Date: Thu, 02 Jun 2016 17:39:14 +0200 [thread overview]
Message-ID: <1464881987-13203-13-git-send-email-k.kozlowski__928.63339600644$1464882185$gmane$org@samsung.com> (raw)
In-Reply-To: <1464881987-13203-1-git-send-email-k.kozlowski@samsung.com>
Split out subsystem specific changes for easier reviews. This will be
squashed with main commit.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
---
drivers/gpu/drm/exynos/exynos_drm_fbdev.c | 2 +-
drivers/gpu/drm/exynos/exynos_drm_g2d.c | 12 +++++-------
drivers/gpu/drm/exynos/exynos_drm_gem.c | 20 ++++++++++----------
drivers/gpu/drm/exynos/exynos_drm_gem.h | 2 +-
4 files changed, 17 insertions(+), 19 deletions(-)
diff --git a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
index 67dcd6831291..dd091175fc2d 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_fbdev.c
@@ -52,7 +52,7 @@ static int exynos_drm_fb_mmap(struct fb_info *info,
ret = dma_mmap_attrs(to_dma_dev(helper->dev), vma, exynos_gem->cookie,
exynos_gem->dma_addr, exynos_gem->size,
- &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs);
if (ret < 0) {
DRM_ERROR("failed to mmap.\n");
return ret;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_g2d.c b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
index 493552368295..15539aea8415 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_g2d.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_g2d.c
@@ -17,7 +17,6 @@
#include <linux/slab.h>
#include <linux/workqueue.h>
#include <linux/dma-mapping.h>
-#include <linux/dma-attrs.h>
#include <linux/of.h>
#include <drm/drmP.h>
@@ -235,7 +234,7 @@ struct g2d_data {
struct mutex cmdlist_mutex;
dma_addr_t cmdlist_pool;
void *cmdlist_pool_virt;
- struct dma_attrs cmdlist_dma_attrs;
+ unsigned long cmdlist_dma_attrs;
/* runqueue*/
struct g2d_runqueue_node *runqueue_node;
@@ -256,13 +255,12 @@ static int g2d_init_cmdlist(struct g2d_data *g2d)
int ret;
struct g2d_buf_info *buf_info;
- init_dma_attrs(&g2d->cmdlist_dma_attrs);
- dma_set_attr(DMA_ATTR_WRITE_COMBINE, &g2d->cmdlist_dma_attrs);
+ g2d->cmdlist_dma_attrs = DMA_ATTR_WRITE_COMBINE;
g2d->cmdlist_pool_virt = dma_alloc_attrs(to_dma_dev(subdrv->drm_dev),
G2D_CMDLIST_POOL_SIZE,
&g2d->cmdlist_pool, GFP_KERNEL,
- &g2d->cmdlist_dma_attrs);
+ g2d->cmdlist_dma_attrs);
if (!g2d->cmdlist_pool_virt) {
dev_err(dev, "failed to allocate dma memory\n");
return -ENOMEM;
@@ -295,7 +293,7 @@ static int g2d_init_cmdlist(struct g2d_data *g2d)
err:
dma_free_attrs(to_dma_dev(subdrv->drm_dev), G2D_CMDLIST_POOL_SIZE,
g2d->cmdlist_pool_virt,
- g2d->cmdlist_pool, &g2d->cmdlist_dma_attrs);
+ g2d->cmdlist_pool, g2d->cmdlist_dma_attrs);
return ret;
}
@@ -309,7 +307,7 @@ static void g2d_fini_cmdlist(struct g2d_data *g2d)
dma_free_attrs(to_dma_dev(subdrv->drm_dev),
G2D_CMDLIST_POOL_SIZE,
g2d->cmdlist_pool_virt,
- g2d->cmdlist_pool, &g2d->cmdlist_dma_attrs);
+ g2d->cmdlist_pool, g2d->cmdlist_dma_attrs);
}
}
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.c b/drivers/gpu/drm/exynos/exynos_drm_gem.c
index cdf9f1af4347..f2ae72ba7d5a 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.c
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.c
@@ -24,7 +24,7 @@
static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
{
struct drm_device *dev = exynos_gem->base.dev;
- enum dma_attr attr;
+ unsigned long attr;
unsigned int nr_pages;
struct sg_table sgt;
int ret = -ENOMEM;
@@ -34,7 +34,7 @@ static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
return 0;
}
- init_dma_attrs(&exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs = 0;
/*
* if EXYNOS_BO_CONTIG, fully physically contiguous memory
@@ -42,7 +42,7 @@ static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
* as possible.
*/
if (!(exynos_gem->flags & EXYNOS_BO_NONCONTIG))
- dma_set_attr(DMA_ATTR_FORCE_CONTIGUOUS, &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs |= DMA_ATTR_FORCE_CONTIGUOUS;
/*
* if EXYNOS_BO_WC or EXYNOS_BO_NONCACHABLE, writecombine mapping
@@ -54,8 +54,8 @@ static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
else
attr = DMA_ATTR_NON_CONSISTENT;
- dma_set_attr(attr, &exynos_gem->dma_attrs);
- dma_set_attr(DMA_ATTR_NO_KERNEL_MAPPING, &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs |= attr;
+ exynos_gem->dma_attrs |= DMA_ATTR_NO_KERNEL_MAPPING;
nr_pages = exynos_gem->size >> PAGE_SHIFT;
@@ -67,7 +67,7 @@ static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
exynos_gem->cookie = dma_alloc_attrs(to_dma_dev(dev), exynos_gem->size,
&exynos_gem->dma_addr, GFP_KERNEL,
- &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs);
if (!exynos_gem->cookie) {
DRM_ERROR("failed to allocate buffer.\n");
goto err_free;
@@ -75,7 +75,7 @@ static int exynos_drm_alloc_buf(struct exynos_drm_gem *exynos_gem)
ret = dma_get_sgtable_attrs(to_dma_dev(dev), &sgt, exynos_gem->cookie,
exynos_gem->dma_addr, exynos_gem->size,
- &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs);
if (ret < 0) {
DRM_ERROR("failed to get sgtable.\n");
goto err_dma_free;
@@ -99,7 +99,7 @@ err_sgt_free:
sg_free_table(&sgt);
err_dma_free:
dma_free_attrs(to_dma_dev(dev), exynos_gem->size, exynos_gem->cookie,
- exynos_gem->dma_addr, &exynos_gem->dma_attrs);
+ exynos_gem->dma_addr, exynos_gem->dma_attrs);
err_free:
drm_free_large(exynos_gem->pages);
@@ -120,7 +120,7 @@ static void exynos_drm_free_buf(struct exynos_drm_gem *exynos_gem)
dma_free_attrs(to_dma_dev(dev), exynos_gem->size, exynos_gem->cookie,
(dma_addr_t)exynos_gem->dma_addr,
- &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs);
drm_free_large(exynos_gem->pages);
}
@@ -346,7 +346,7 @@ static int exynos_drm_gem_mmap_buffer(struct exynos_drm_gem *exynos_gem,
ret = dma_mmap_attrs(to_dma_dev(drm_dev), vma, exynos_gem->cookie,
exynos_gem->dma_addr, exynos_gem->size,
- &exynos_gem->dma_attrs);
+ exynos_gem->dma_attrs);
if (ret < 0) {
DRM_ERROR("failed to mmap.\n");
return ret;
diff --git a/drivers/gpu/drm/exynos/exynos_drm_gem.h b/drivers/gpu/drm/exynos/exynos_drm_gem.h
index 78100742281d..df7c543d6558 100644
--- a/drivers/gpu/drm/exynos/exynos_drm_gem.h
+++ b/drivers/gpu/drm/exynos/exynos_drm_gem.h
@@ -50,7 +50,7 @@ struct exynos_drm_gem {
void *cookie;
void __iomem *kvaddr;
dma_addr_t dma_addr;
- struct dma_attrs dma_attrs;
+ unsigned long dma_attrs;
struct page **pages;
struct sg_table *sgt;
};
--
1.9.1
_______________________________________________
Xen-devel mailing list
Xen-devel@lists.xen.org
http://lists.xen.org/xen-devel
next prev parent reply other threads:[~2016-06-02 15:41 UTC|newest]
Thread overview: 53+ messages / expand[flat|nested] mbox.gz Atom feed top
[not found] <1464881987-13203-1-git-send-email-k.kozlowski@samsung.com>
2016-06-02 15:39 ` [RFC v3 01/45] powerpc: dma-mapping: Don't hard-code the value of DMA_ATTR_WEAK_ORDERING Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 02/45] dma-mapping: Use unsigned long for dma_attrs Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 03/45] alpha: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 04/45] arc: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 05/45] ARM: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 06/45] arm64: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 07/45] avr32: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 08/45] blackfin: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 09/45] c6x: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 10/45] cris: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 11/45] frv: " Krzysztof Kozlowski
2016-06-02 15:39 ` Krzysztof Kozlowski [this message]
2016-06-02 15:39 ` [RFC v3 13/45] drm/mediatek: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 14/45] drm/msm: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 15/45] drm/nouveau: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 16/45] drm/rockship: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 17/45] infiniband: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 18/45] iommu: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 19/45] [media] " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 20/45] xen: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 21/45] swiotlb: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 22/45] powerpc: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 23/45] video: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 24/45] x86: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 25/45] iommu: intel: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 26/45] h8300: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 27/45] hexagon: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 28/45] ia64: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 29/45] m68k: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 30/45] metag: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 31/45] microblaze: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 32/45] mips: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 33/45] mn10300: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 34/45] nios2: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 35/45] openrisc: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 36/45] parisc: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 37/45] misc: mic: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 38/45] s390: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 39/45] sh: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 40/45] sparc: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 41/45] tile: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 42/45] unicore32: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 43/45] xtensa: " Krzysztof Kozlowski
2016-06-02 15:39 ` [RFC v3 44/45] dma-mapping: Remove dma_get_attr Krzysztof Kozlowski
2016-06-06 6:45 ` Hans-Christian Noren Egtvedt
2016-06-02 15:39 ` [RFC v3 45/45] dma-mapping: Document the DMA attributes right in declaration Krzysztof Kozlowski
[not found] ` <1464881987-13203-3-git-send-email-k.kozlowski@samsung.com>
2016-06-03 7:17 ` [RFC v3 02/45] dma-mapping: Use unsigned long for dma_attrs Geert Uytterhoeven
[not found] ` <CAMuHMdXWMf7Dt77wSUj8NytQqb99jzDiAz46kJkAEz+6BX3Uvw@mail.gmail.com>
2016-06-03 7:50 ` Krzysztof Kozlowski
[not found] ` <1464881987-13203-30-git-send-email-k.kozlowski@samsung.com>
2016-06-03 7:18 ` [RFC v3 29/45] m68k: " Geert Uytterhoeven
[not found] ` <1464881987-13203-11-git-send-email-k.kozlowski@samsung.com>
2016-06-03 7:52 ` [RFC v3 10/45] cris: " Jesper Nilsson
[not found] ` <1464881987-13203-2-git-send-email-k.kozlowski@samsung.com>
2016-06-03 7:55 ` [RFC v3 01/45] powerpc: dma-mapping: Don't hard-code the value of DMA_ATTR_WEAK_ORDERING Krzysztof Kozlowski
[not found] ` <1464881987-13203-8-git-send-email-k.kozlowski@samsung.com>
2016-06-06 6:43 ` [RFC v3 07/45] avr32: dma-mapping: Use unsigned long for dma_attrs Hans-Christian Noren Egtvedt
[not found] ` <1464881987-13203-21-git-send-email-k.kozlowski@samsung.com>
2016-06-07 9:06 ` [RFC v3 20/45] xen: " David Vrabel
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to='1464881987-13203-13-git-send-email-k.kozlowski__928.63339600644$1464882185$gmane$org@samsung.com' \
--to=k.kozlowski@samsung.com \
--cc=a-jacquiot@ti.com \
--cc=b.zolnierkie@samsung.com \
--cc=catalin.marinas@arm.com \
--cc=egtvedt@samfundet.no \
--cc=fenghua.yu@intel.com \
--cc=geert@linux-m68k.org \
--cc=hch@infradead.org \
--cc=hskinnemoen@gmail.com \
--cc=ink@jurassic.park.msu.ru \
--cc=james.hogan@imgtec.com \
--cc=jesper.nilsson@axis.com \
--cc=konrad.wilk@oracle.com \
--cc=linux@armlinux.org.uk \
--cc=mattst88@gmail.com \
--cc=msalter@redhat.com \
--cc=realmz6@gmail.com \
--cc=rkuo@codeaurora.org \
--cc=rth@twiddle.net \
--cc=sstabellini@kernel.org \
--cc=starvik@axis.com \
--cc=tony.luck@intel.com \
--cc=vgupta@synopsys.com \
--cc=will.deacon@arm.com \
--cc=ysato@users.sourceforge.jp \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).