From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.9 071/119] drm/msm: Expose our reservation object when exporting a dmabuf. Date: Mon, 12 Jun 2017 17:25:33 +0200 Message-ID: <20170612152601.785933926@linuxfoundation.org> References: <20170612152556.601664278@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170612152556.601664278-hQyY1W1yCW8ekmWlsbkhG0B+6BGkLq7r@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org Cc: Daniel Vetter , linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, stable-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, Eric Anholt , Rob Clark , Greg Kroah-Hartman , freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org NC45LXN0YWJsZSByZXZpZXcgcGF0Y2guICBJZiBhbnlvbmUgaGFzIGFueSBvYmplY3Rpb25zLCBw bGVhc2UgbGV0IG1lIGtub3cuCgotLS0tLS0tLS0tLS0tLS0tLS0KCkZyb206IEVyaWMgQW5ob2x0 IDxlcmljQGFuaG9sdC5uZXQ+Cgpjb21taXQgNDM1MjNlYmE3OWJkYThmNWI0YzI3ZjhmZmUyMGVh MDc4ZDIwMTEzYSB1cHN0cmVhbS4KCldpdGhvdXQgdGhpcywgcG9sbGluZyBvbiB0aGUgZG1hLWJ1 ZiAoYW5kIHByZXN1bWFibHkgb3RoZXIgZGV2aWNlcwpzeW5jaHJvbml6aW5nIGFnYWluc3Qgb3Vy IHJlbmRlcmluZykgd291bGQgcmV0dXJuIGltbWVkaWF0ZWx5LCBldmVuCndoaWxlIHRoZSBCTyB3 YXMgYnVzeS4KClNpZ25lZC1vZmYtYnk6IEVyaWMgQW5ob2x0IDxlcmljQGFuaG9sdC5uZXQ+ClJl dmlld2VkLWJ5OiBEYW5pZWwgVmV0dGVyIDxkYW5pZWwudmV0dGVyQGZmd2xsLmNoPgpDYzogUm9i IENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgpDYzogbGludXgtYXJtLW1zbUB2Z2VyLmtlcm5l bC5vcmcKQ2M6IGZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKUmV2aWV3ZWQtYnk6IFJv YiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogUm9iIENsYXJrIDxy b2JkY2xhcmtAZ21haWwuY29tPgpTaWduZWQtb2ZmLWJ5OiBHcmVnIEtyb2FoLUhhcnRtYW4gPGdy ZWdraEBsaW51eGZvdW5kYXRpb24ub3JnPgoKLS0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9k cnYuYyAgICAgICB8ICAgIDEgKwogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAgICAg fCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9wcmltZS5jIHwgICAgNyArKysr KysrCiAzIGZpbGVzIGNoYW5nZWQsIDkgaW5zZXJ0aW9ucygrKQoKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL21zbS9tc21fZHJ2LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMKQEAg LTgwMSw2ICs4MDEsNyBAQCBzdGF0aWMgc3RydWN0IGRybV9kcml2ZXIgbXNtX2RyaXZlciA9IHsK IAkucHJpbWVfZmRfdG9faGFuZGxlID0gZHJtX2dlbV9wcmltZV9mZF90b19oYW5kbGUsCiAJLmdl bV9wcmltZV9leHBvcnQgICA9IGRybV9nZW1fcHJpbWVfZXhwb3J0LAogCS5nZW1fcHJpbWVfaW1w b3J0ICAgPSBkcm1fZ2VtX3ByaW1lX2ltcG9ydCwKKwkuZ2VtX3ByaW1lX3Jlc19vYmogID0gbXNt X2dlbV9wcmltZV9yZXNfb2JqLAogCS5nZW1fcHJpbWVfcGluICAgICAgPSBtc21fZ2VtX3ByaW1l X3BpbiwKIAkuZ2VtX3ByaW1lX3VucGluICAgID0gbXNtX2dlbV9wcmltZV91bnBpbiwKIAkuZ2Vt X3ByaW1lX2dldF9zZ190YWJsZSA9IG1zbV9nZW1fcHJpbWVfZ2V0X3NnX3RhYmxlLAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9kcnYuaApAQCAtMjAzLDYgKzIwMyw3IEBAIHN0cnVjdCBzZ190YWJsZSAqbXNtX2dlbV9wcmlt ZV9nZXRfc2dfdGEKIHZvaWQgKm1zbV9nZW1fcHJpbWVfdm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaik7CiB2b2lkIG1zbV9nZW1fcHJpbWVfdnVubWFwKHN0cnVjdCBkcm1fZ2VtX29iamVj dCAqb2JqLCB2b2lkICp2YWRkcik7CiBpbnQgbXNtX2dlbV9wcmltZV9tbWFwKHN0cnVjdCBkcm1f Z2VtX29iamVjdCAqb2JqLCBzdHJ1Y3Qgdm1fYXJlYV9zdHJ1Y3QgKnZtYSk7CitzdHJ1Y3QgcmVz ZXJ2YXRpb25fb2JqZWN0ICptc21fZ2VtX3ByaW1lX3Jlc19vYmooc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmopOwogc3RydWN0IGRybV9nZW1fb2JqZWN0ICptc21fZ2VtX3ByaW1lX2ltcG9ydF9z Z190YWJsZShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlzdHJ1Y3QgZG1hX2J1Zl9hdHRhY2ht ZW50ICphdHRhY2gsIHN0cnVjdCBzZ190YWJsZSAqc2cpOwogaW50IG1zbV9nZW1fcHJpbWVfcGlu KHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKTsKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZ2VtX3ByaW1lLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3ByaW1lLmMK QEAgLTcwLDMgKzcwLDEwIEBAIHZvaWQgbXNtX2dlbV9wcmltZV91bnBpbihzdHJ1Y3QgZHJtX2dl bV8KIAlpZiAoIW9iai0+aW1wb3J0X2F0dGFjaCkKIAkJbXNtX2dlbV9wdXRfcGFnZXMob2JqKTsK IH0KKworc3RydWN0IHJlc2VydmF0aW9uX29iamVjdCAqbXNtX2dlbV9wcmltZV9yZXNfb2JqKHN0 cnVjdCBkcm1fZ2VtX29iamVjdCAqb2JqKQoreworCXN0cnVjdCBtc21fZ2VtX29iamVjdCAqbXNt X29iaiA9IHRvX21zbV9ibyhvYmopOworCisJcmV0dXJuIG1zbV9vYmotPnJlc3Y7Cit9CgoKX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KRnJlZWRyZW5vIG1h aWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMu ZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5vCg== From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1754378AbdFLQqS (ORCPT ); Mon, 12 Jun 2017 12:46:18 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:41404 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753803AbdFLPfe (ORCPT ); Mon, 12 Jun 2017 11:35:34 -0400 From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Eric Anholt , Daniel Vetter , Rob Clark , linux-arm-msm@vger.kernel.org, freedreno@lists.freedesktop.org Subject: [PATCH 4.9 071/119] drm/msm: Expose our reservation object when exporting a dmabuf. Date: Mon, 12 Jun 2017 17:25:33 +0200 Message-Id: <20170612152601.785933926@linuxfoundation.org> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170612152556.601664278@linuxfoundation.org> References: <20170612152556.601664278@linuxfoundation.org> User-Agent: quilt/0.65 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.9-stable review patch. If anyone has any objections, please let me know. ------------------ From: Eric Anholt commit 43523eba79bda8f5b4c27f8ffe20ea078d20113a upstream. Without this, polling on the dma-buf (and presumably other devices synchronizing against our rendering) would return immediately, even while the BO was busy. Signed-off-by: Eric Anholt Reviewed-by: Daniel Vetter Cc: Rob Clark Cc: linux-arm-msm@vger.kernel.org Cc: freedreno@lists.freedesktop.org Reviewed-by: Rob Clark Signed-off-by: Rob Clark Signed-off-by: Greg Kroah-Hartman --- drivers/gpu/drm/msm/msm_drv.c | 1 + drivers/gpu/drm/msm/msm_drv.h | 1 + drivers/gpu/drm/msm/msm_gem_prime.c | 7 +++++++ 3 files changed, 9 insertions(+) --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -801,6 +801,7 @@ static struct drm_driver msm_driver = { .prime_fd_to_handle = drm_gem_prime_fd_to_handle, .gem_prime_export = drm_gem_prime_export, .gem_prime_import = drm_gem_prime_import, + .gem_prime_res_obj = msm_gem_prime_res_obj, .gem_prime_pin = msm_gem_prime_pin, .gem_prime_unpin = msm_gem_prime_unpin, .gem_prime_get_sg_table = msm_gem_prime_get_sg_table, --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -203,6 +203,7 @@ struct sg_table *msm_gem_prime_get_sg_ta void *msm_gem_prime_vmap(struct drm_gem_object *obj); void msm_gem_prime_vunmap(struct drm_gem_object *obj, void *vaddr); int msm_gem_prime_mmap(struct drm_gem_object *obj, struct vm_area_struct *vma); +struct reservation_object *msm_gem_prime_res_obj(struct drm_gem_object *obj); struct drm_gem_object *msm_gem_prime_import_sg_table(struct drm_device *dev, struct dma_buf_attachment *attach, struct sg_table *sg); int msm_gem_prime_pin(struct drm_gem_object *obj); --- a/drivers/gpu/drm/msm/msm_gem_prime.c +++ b/drivers/gpu/drm/msm/msm_gem_prime.c @@ -70,3 +70,10 @@ void msm_gem_prime_unpin(struct drm_gem_ if (!obj->import_attach) msm_gem_put_pages(obj); } + +struct reservation_object *msm_gem_prime_res_obj(struct drm_gem_object *obj) +{ + struct msm_gem_object *msm_obj = to_msm_bo(obj); + + return msm_obj->resv; +}