dri-devel Archive on lore.kernel.org
 help / color / mirror / Atom feed
From: Joonyoung Shim <jy0922.shim@samsung.com>
To: Daniel Vetter <daniel@ffwll.ch>
Cc: sw0312.kim@samsung.com, dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 0/9] drm/exynos: update codes related with gem
Date: Tue, 13 Oct 2015 18:32:53 +0900	[thread overview]
Message-ID: <561CCFC5.4070302@samsung.com> (raw)
In-Reply-To: <561CC2C4.9090305@samsung.com>

On 10/13/2015 05:37 PM, Joonyoung Shim wrote:
> On 10/13/2015 05:27 PM, Daniel Vetter wrote:
>> On Tue, Oct 13, 2015 at 04:00:45PM +0900, Joonyoung Shim wrote:
>>> Hi,
>>>
>>> This patchset is about gem codes update of exynos-drm.
>>>
>>> The first and second patches are cleanup to remove useless codes.
>>> The rest is to support cachable gem allocation.
>>>
>>> The exynos-drm uses DMA mapping API to allocate/mmap buffer of gem. If
>>> it is cachable, does it with DMA_ATTR_NON_CONSISTENT attribute, but
>>> DMA_ATTR_NON_CONSISTENT isn't supported in DMA mapping API of ARM, so it
>>> doesn't give any effects.
>>>
>>> This patchset introduces new buffer allocation to use
>>> drm_gem_get/put_pages() instead of DMA mapping API. It will be used
>>> for the rest except allocation of physically continuous buffer on
>>> non-iommu, then exynos-drm can support cachable buffer of gem. Also it
>>> can support physically non-continuous buffer on non-iommu.
>>>
>>> EXYNOS_BO_CONTIG flag on iommu is ambiguous because it doesn't care
>>> whether buffer is continuous physically if iommu is supported. This
>>> patchset always will use EXYNOS_BO_CONTIG flag on iommu and then can
>>> mean that the buffer is continuous for device.
>>>
>>> There is no user API to control cache coherence for the cpu and device
>>> about cachable buffer. This patchset introduces two ioctls for cpu
>>> access of gem object from user. It will be synced properly in order for
>>> the cpu and device if buffer of gem object is cachable.
>>
>> Out of curiosity, where's the userspace part for this work? Usually kernel
>> abi extensions come with a link to the relevant branch for easier review.
>> -Daniel
>>
> 
> Right, thanks for point.
> 
> I just modified a little bit exynos_fimg2d_test and exynos parts of
> libdrm to test them as workaround. I will expose it.
> 

Please refer follows.
https://github.com/dofmind/libdrm/commits/exynos

If fimd2d test program uses cachable gem, it will show cache coherency
problem, so it adds to use new ioctls to keep cache coherency.

Thanks.

> Thanks.
> 
>>>
>>> Thanks.
>>>
>>> Joonyoung Shim (9):
>>>   drm/exynos: eliminate useless codes of exynos_drm_gem.h
>>>   drm/exynos: use directly DMA mapping APIs on g2d
>>>   drm/exynos: remove using non-consistent DMA attribute
>>>   drm/exynos: split buffer allocation using DMA mapping API on non-iommu
>>>   drm/exynos: introduce buffer allocation using drm_gem_get/put_pages()
>>>   drm/exynos: switch to new buffer allocation
>>>   drm/exynos: always use EXYNOS_BO_CONTIG flag on iommu
>>>   drm/exynos: use DMA_ERROR_CODE
>>>   drm/exynos: add ioctls for cpu access of gem object from user
>>>
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.c   |   4 +
>>>  drivers/gpu/drm/exynos/exynos_drm_fb.c    |  32 +---
>>>  drivers/gpu/drm/exynos/exynos_drm_fbdev.c |  14 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_g2d.c   |  10 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_gem.c   | 288 ++++++++++++++++++------------
>>>  drivers/gpu/drm/exynos/exynos_drm_gem.h   |  56 ++----
>>>  include/uapi/drm/exynos_drm.h             |  23 ++-
>>>  7 files changed, 225 insertions(+), 202 deletions(-)
>>>
>>> -- 
>>> 1.9.1
>>>
>>> _______________________________________________
>>> dri-devel mailing list
>>> dri-devel@lists.freedesktop.org
>>> http://lists.freedesktop.org/mailman/listinfo/dri-devel
>>
> 
> _______________________________________________
> dri-devel mailing list
> dri-devel@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/dri-devel
> 

_______________________________________________
dri-devel mailing list
dri-devel@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/dri-devel

  reply	other threads:[~2015-10-13  9:32 UTC|newest]

Thread overview: 18+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-10-13  7:00 [PATCH 0/9] drm/exynos: update codes related with gem Joonyoung Shim
2015-10-13  7:00 ` [PATCH 1/9] drm/exynos: eliminate useless codes of exynos_drm_gem.h Joonyoung Shim
2015-10-13  7:00 ` [PATCH 2/9] drm/exynos: use directly DMA mapping APIs on g2d Joonyoung Shim
2015-10-13  7:00 ` [PATCH 3/9] drm/exynos: remove using non-consistent DMA attribute Joonyoung Shim
2015-10-13  7:00 ` [PATCH 4/9] drm/exynos: split buffer allocation using DMA mapping API on non-iommu Joonyoung Shim
2015-10-13  7:00 ` [PATCH 5/9] drm/exynos: introduce buffer allocation using drm_gem_get/put_pages() Joonyoung Shim
2015-10-13  7:00 ` [PATCH 6/9] drm/exynos: switch to new buffer allocation Joonyoung Shim
2015-10-19 12:20   ` Inki Dae
2015-10-20  6:03     ` Joonyoung Shim
2015-10-13  7:00 ` [PATCH 7/9] drm/exynos: always use EXYNOS_BO_CONTIG flag on iommu Joonyoung Shim
2015-10-13  7:00 ` [PATCH 8/9] drm/exynos: use DMA_ERROR_CODE Joonyoung Shim
2015-10-13  7:00 ` [PATCH 9/9] drm/exynos: add ioctls for cpu access of gem object from user Joonyoung Shim
2015-10-13  8:27 ` [PATCH 0/9] drm/exynos: update codes related with gem Daniel Vetter
2015-10-13  8:37   ` Joonyoung Shim
2015-10-13  9:32     ` Joonyoung Shim [this message]
2015-10-13 12:29       ` Daniel Vetter
2015-10-14  0:33         ` Joonyoung Shim
2015-10-14  7:43           ` Daniel Vetter

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=561CCFC5.4070302@samsung.com \
    --to=jy0922.shim@samsung.com \
    --cc=daniel@ffwll.ch \
    --cc=dri-devel@lists.freedesktop.org \
    --cc=sw0312.kim@samsung.com \
    /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