From mboxrd@z Thu Jan 1 00:00:00 1970 From: Greg Kroah-Hartman Subject: [PATCH 4.11 092/150] drm/msm: Expose our reservation object when exporting a dmabuf. Date: Mon, 12 Jun 2017 17:24:59 +0200 Message-ID: <20170612152523.328825611@linuxfoundation.org> References: <20170612152519.404936272@linuxfoundation.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170612152519.404936272-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 NC4xMS1zdGFibGUgcmV2aWV3IHBhdGNoLiAgSWYgYW55b25lIGhhcyBhbnkgb2JqZWN0aW9ucywg cGxlYXNlIGxldCBtZSBrbm93LgoKLS0tLS0tLS0tLS0tLS0tLS0tCgpGcm9tOiBFcmljIEFuaG9s dCA8ZXJpY0BhbmhvbHQubmV0PgoKY29tbWl0IDQzNTIzZWJhNzliZGE4ZjViNGMyN2Y4ZmZlMjBl YTA3OGQyMDExM2EgdXBzdHJlYW0uCgpXaXRob3V0IHRoaXMsIHBvbGxpbmcgb24gdGhlIGRtYS1i dWYgKGFuZCBwcmVzdW1hYmx5IG90aGVyIGRldmljZXMKc3luY2hyb25pemluZyBhZ2FpbnN0IG91 ciByZW5kZXJpbmcpIHdvdWxkIHJldHVybiBpbW1lZGlhdGVseSwgZXZlbgp3aGlsZSB0aGUgQk8g d2FzIGJ1c3kuCgpTaWduZWQtb2ZmLWJ5OiBFcmljIEFuaG9sdCA8ZXJpY0BhbmhvbHQubmV0PgpS ZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4KQ2M6IFJv YiBDbGFyayA8cm9iZGNsYXJrQGdtYWlsLmNvbT4KQ2M6IGxpbnV4LWFybS1tc21Admdlci5rZXJu ZWwub3JnCkNjOiBmcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3JnClJldmlld2VkLWJ5OiBS b2IgQ2xhcmsgPHJvYmRjbGFya0BnbWFpbC5jb20+ClNpZ25lZC1vZmYtYnk6IFJvYiBDbGFyayA8 cm9iZGNsYXJrQGdtYWlsLmNvbT4KU2lnbmVkLW9mZi1ieTogR3JlZyBLcm9haC1IYXJ0bWFuIDxn cmVna2hAbGludXhmb3VuZGF0aW9uLm9yZz4KCi0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmMgICAgICAgfCAgICAxICsKIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5oICAgICAg IHwgICAgMSArCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fcHJpbWUuYyB8ICAgIDcgKysr KysrKwogMyBmaWxlcyBjaGFuZ2VkLCA5IGluc2VydGlvbnMoKykKCi0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBA IC04MjgsNiArODI4LDcgQEAgc3RhdGljIHN0cnVjdCBkcm1fZHJpdmVyIG1zbV9kcml2ZXIgPSB7 CiAJLnByaW1lX2ZkX3RvX2hhbmRsZSA9IGRybV9nZW1fcHJpbWVfZmRfdG9faGFuZGxlLAogCS5n ZW1fcHJpbWVfZXhwb3J0ICAgPSBkcm1fZ2VtX3ByaW1lX2V4cG9ydCwKIAkuZ2VtX3ByaW1lX2lt cG9ydCAgID0gZHJtX2dlbV9wcmltZV9pbXBvcnQsCisJLmdlbV9wcmltZV9yZXNfb2JqICA9IG1z bV9nZW1fcHJpbWVfcmVzX29iaiwKIAkuZ2VtX3ByaW1lX3BpbiAgICAgID0gbXNtX2dlbV9wcmlt ZV9waW4sCiAJLmdlbV9wcmltZV91bnBpbiAgICA9IG1zbV9nZW1fcHJpbWVfdW5waW4sCiAJLmdl bV9wcmltZV9nZXRfc2dfdGFibGUgPSBtc21fZ2VtX3ByaW1lX2dldF9zZ190YWJsZSwKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZHJ2LmgKQEAgLTIyMyw2ICsyMjMsNyBAQCBzdHJ1Y3Qgc2dfdGFibGUgKm1zbV9nZW1fcHJp bWVfZ2V0X3NnX3RhCiB2b2lkICptc21fZ2VtX3ByaW1lX3ZtYXAoc3RydWN0IGRybV9nZW1fb2Jq ZWN0ICpvYmopOwogdm9pZCBtc21fZ2VtX3ByaW1lX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmpl Y3QgKm9iaiwgdm9pZCAqdmFkZHIpOwogaW50IG1zbV9nZW1fcHJpbWVfbW1hcChzdHJ1Y3QgZHJt X2dlbV9vYmplY3QgKm9iaiwgc3RydWN0IHZtX2FyZWFfc3RydWN0ICp2bWEpOworc3RydWN0IHJl c2VydmF0aW9uX29iamVjdCAqbXNtX2dlbV9wcmltZV9yZXNfb2JqKHN0cnVjdCBkcm1fZ2VtX29i amVjdCAqb2JqKTsKIHN0cnVjdCBkcm1fZ2VtX29iamVjdCAqbXNtX2dlbV9wcmltZV9pbXBvcnRf c2dfdGFibGUoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJc3RydWN0IGRtYV9idWZfYXR0YWNo bWVudCAqYXR0YWNoLCBzdHJ1Y3Qgc2dfdGFibGUgKnNnKTsKIGludCBtc21fZ2VtX3ByaW1lX3Bp bihzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaik7Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20v bXNtX2dlbV9wcmltZS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9wcmltZS5j CkBAIC03MCwzICs3MCwxMCBAQCB2b2lkIG1zbV9nZW1fcHJpbWVfdW5waW4oc3RydWN0IGRybV9n ZW1fCiAJaWYgKCFvYmotPmltcG9ydF9hdHRhY2gpCiAJCW1zbV9nZW1fcHV0X3BhZ2VzKG9iaik7 CiB9CisKK3N0cnVjdCByZXNlcnZhdGlvbl9vYmplY3QgKm1zbV9nZW1fcHJpbWVfcmVzX29iaihz dHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaikKK3sKKwlzdHJ1Y3QgbXNtX2dlbV9vYmplY3QgKm1z bV9vYmogPSB0b19tc21fYm8ob2JqKTsKKworCXJldHVybiBtc21fb2JqLT5yZXN2OworfQoKCl9f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBt YWlsaW5nIGxpc3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3Rz LmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753829AbdFLRML (ORCPT ); Mon, 12 Jun 2017 13:12:11 -0400 Received: from mail.linuxfoundation.org ([140.211.169.12]:40374 "EHLO mail.linuxfoundation.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753599AbdFLPbZ (ORCPT ); Mon, 12 Jun 2017 11:31:25 -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.11 092/150] drm/msm: Expose our reservation object when exporting a dmabuf. Date: Mon, 12 Jun 2017 17:24:59 +0200 Message-Id: <20170612152523.328825611@linuxfoundation.org> X-Mailer: git-send-email 2.13.1 In-Reply-To: <20170612152519.404936272@linuxfoundation.org> References: <20170612152519.404936272@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.11-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 @@ -828,6 +828,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 @@ -223,6 +223,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; +}