From mboxrd@z Thu Jan 1 00:00:00 1970 From: Heiko =?ISO-8859-1?Q?St=FCbner?= Subject: Re: [PATCH 1/2] drm: rockchip: Don't pass DRM fake offset to dma-api Date: Sat, 18 Apr 2015 18:55:14 +0200 Message-ID: <1743547.3D2D8THGkI@diego> References: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: linux-rockchip@lists.infradead.org, mark.yao@rock-chips.com Cc: dri-devel@lists.freedesktop.org, =?ISO-8859-1?Q?=D8rjan?= Eide , linux-kernel@vger.kernel.org, linux-arm-kernel@lists.infradead.org List-Id: linux-rockchip.vger.kernel.org QW0gRG9ubmVyc3RhZywgMTYuIEFwcmlsIDIwMTUsIDE2OjQxOjUxIHNjaHJpZWIgw5hyamFuIEVp ZGU6Cj4gU2V0IHZtX3Bnb2ZmIHRvIDAgYWZ0ZXIgdXNpbmcgaXQgdG8gbG9vayB1cCB0aGUgR0VN IG5vZGUsIGJlZm9yZSBwYXNzaW5nCj4gaXQgb24gcm9ja2NoaXBfZ2VtX21tYXBfYnVmKCkgd2hl cmUgdGhlIG9mZnNldCBtdXN0IGJlIGZyb20gdGhlIHN0YXJ0IG9mCj4gdGhlIGJ1ZmZlci4KPiAK PiBQYXNzaW5nIGluIHRoZSBmYWtlIG9mZnNldCBjdXJyZW50bHkgd29ya3MgYmVjYXVzZSB0aGUK PiBkbWFfbW1hcF9hdHRycyBpbXBsZW1lbnRhdGlvbiB0aGF0IGlzIHVzZWQgZm9yIHRoaXMgZGV2 aWNlLAo+IGFybV9pb21tdV9tbWFwX2F0dHJzLCBpZ25vcmVzIHRoZSBvZmZzZXQgY29tcGxldGVs eS4KPiAKPiBTaWduZWQtb2ZmLWJ5OiDDmHJqYW4gRWlkZSA8b3JqYW4uZWlkZUBhcm0uY29tPgoK Ym90aCBwYXRjaGVzIG9uIGEgcmszMjg4LXZleXJvbi1waW5reQoKVGVzdGVkLWJ5OiBIZWlrbyBT dHVlYm5lciA8aGVpa29Ac250ZWNoLmRlPgoKVGhyb3VnaCB3aGljaCB0cmVlIGRvIHlvdSB3YW50 IHRvIHRha2UgdGhlc2UgcGF0Y2hlcz8gSSBndWVzcyB0aGUgcm9ja2NoaXAtZHJtIApyZWxhdGVk IHBhdGNoIHNob3VsZCBnbyB0aHJvdWdoIHRoZSB0cmVlIHRoYXQgd2lsbCB0YWtlIHRoZSBkbWEt bWFwcGluZyBwYXRjaCwgCnNvIHlvdSdsbCBwcm9iYWJseSBuZWVkIGFuICJBY2siIGZyb20gTWFy ayBZYW8gKENjJ2VkKS4KCgpIZWlrbwoKPiAtLS0KPiAgZHJpdmVycy9ncHUvZHJtL3JvY2tjaGlw L3JvY2tjaGlwX2RybV9nZW0uYyB8IDUgKysrKysKPiAgMSBmaWxlIGNoYW5nZWQsIDUgaW5zZXJ0 aW9ucygrKQo+IAo+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2No aXBfZHJtX2dlbS5jCj4gYi9kcml2ZXJzL2dwdS9kcm0vcm9ja2NoaXAvcm9ja2NoaXBfZHJtX2dl bS5jIGluZGV4IDdjYTg3OTllLi42OWYwMWMzCj4gMTAwNjQ0Cj4gLS0tIGEvZHJpdmVycy9ncHUv ZHJtL3JvY2tjaGlwL3JvY2tjaGlwX2RybV9nZW0uYwo+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9y b2NrY2hpcC9yb2NrY2hpcF9kcm1fZ2VtLmMKPiBAQCAtOTQsNiArOTQsMTEgQEAgaW50IHJvY2tj aGlwX2dlbV9tbWFwKHN0cnVjdCBmaWxlICpmaWxwLCBzdHJ1Y3QKPiB2bV9hcmVhX3N0cnVjdCAq dm1hKSByZXR1cm4gLUVBQ0NFUzsKPiAgCX0KPiAKPiArCS8qIFNldCB2bV9wZ29mZiAodXNlZCBh cyBhIGZha2UgYnVmZmVyIG9mZnNldCBieSBEUk0pIHRvIDAgYW5kIG1hcCB0aGUKPiArCSAqIHdo b2xlIGJ1ZmZlciBmcm9tIHRoZSBzdGFydC4KPiArCSAqLwo+ICsJdm1hLT52bV9wZ29mZiA9IDA7 Cj4gKwo+ICAJb2JqID0gY29udGFpbmVyX29mKG5vZGUsIHN0cnVjdCBkcm1fZ2VtX29iamVjdCwg dm1hX25vZGUpOwo+ICAJcmV0ID0gcm9ja2NoaXBfZ2VtX21tYXBfYnVmKG9iaiwgdm1hKTsKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBt YWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVsCg== From mboxrd@z Thu Jan 1 00:00:00 1970 From: heiko@sntech.de (Heiko =?ISO-8859-1?Q?St=FCbner?=) Date: Sat, 18 Apr 2015 18:55:14 +0200 Subject: [PATCH 1/2] drm: rockchip: Don't pass DRM fake offset to dma-api In-Reply-To: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> References: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> Message-ID: <1743547.3D2D8THGkI@diego> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org Am Donnerstag, 16. April 2015, 16:41:51 schrieb ?rjan Eide: > Set vm_pgoff to 0 after using it to look up the GEM node, before passing > it on rockchip_gem_mmap_buf() where the offset must be from the start of > the buffer. > > Passing in the fake offset currently works because the > dma_mmap_attrs implementation that is used for this device, > arm_iommu_mmap_attrs, ignores the offset completely. > > Signed-off-by: ?rjan Eide both patches on a rk3288-veyron-pinky Tested-by: Heiko Stuebner Through which tree do you want to take these patches? I guess the rockchip-drm related patch should go through the tree that will take the dma-mapping patch, so you'll probably need an "Ack" from Mark Yao (Cc'ed). Heiko > --- > drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 7ca8799e..69f01c3 > 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > @@ -94,6 +94,11 @@ int rockchip_gem_mmap(struct file *filp, struct > vm_area_struct *vma) return -EACCES; > } > > + /* Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the > + * whole buffer from the start. > + */ > + vma->vm_pgoff = 0; > + > obj = container_of(node, struct drm_gem_object, vma_node); > ret = rockchip_gem_mmap_buf(obj, vma); From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753892AbbDRQzX (ORCPT ); Sat, 18 Apr 2015 12:55:23 -0400 Received: from gloria.sntech.de ([95.129.55.99]:35618 "EHLO gloria.sntech.de" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751369AbbDRQzV convert rfc822-to-8bit (ORCPT ); Sat, 18 Apr 2015 12:55:21 -0400 From: Heiko =?ISO-8859-1?Q?St=FCbner?= To: linux-rockchip@lists.infradead.org, mark.yao@rock-chips.com Cc: =?ISO-8859-1?Q?=D8rjan?= Eide , linux-arm-kernel@lists.infradead.org, linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, djkurtz@chromium.org Subject: Re: [PATCH 1/2] drm: rockchip: Don't pass DRM fake offset to dma-api Date: Sat, 18 Apr 2015 18:55:14 +0200 Message-ID: <1743547.3D2D8THGkI@diego> User-Agent: KMail/4.14.1 (Linux/3.16.0-4-amd64; KDE/4.14.2; x86_64; ; ) In-Reply-To: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> References: <1429195312-25898-1-git-send-email-orjan.eide@arm.com> MIME-Version: 1.0 Content-Transfer-Encoding: 8BIT Content-Type: text/plain; charset="iso-8859-1" Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Am Donnerstag, 16. April 2015, 16:41:51 schrieb Ørjan Eide: > Set vm_pgoff to 0 after using it to look up the GEM node, before passing > it on rockchip_gem_mmap_buf() where the offset must be from the start of > the buffer. > > Passing in the fake offset currently works because the > dma_mmap_attrs implementation that is used for this device, > arm_iommu_mmap_attrs, ignores the offset completely. > > Signed-off-by: Ørjan Eide both patches on a rk3288-veyron-pinky Tested-by: Heiko Stuebner Through which tree do you want to take these patches? I guess the rockchip-drm related patch should go through the tree that will take the dma-mapping patch, so you'll probably need an "Ack" from Mark Yao (Cc'ed). Heiko > --- > drivers/gpu/drm/rockchip/rockchip_drm_gem.c | 5 +++++ > 1 file changed, 5 insertions(+) > > diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c index 7ca8799e..69f01c3 > 100644 > --- a/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > +++ b/drivers/gpu/drm/rockchip/rockchip_drm_gem.c > @@ -94,6 +94,11 @@ int rockchip_gem_mmap(struct file *filp, struct > vm_area_struct *vma) return -EACCES; > } > > + /* Set vm_pgoff (used as a fake buffer offset by DRM) to 0 and map the > + * whole buffer from the start. > + */ > + vma->vm_pgoff = 0; > + > obj = container_of(node, struct drm_gem_object, vma_node); > ret = rockchip_gem_mmap_buf(obj, vma);