From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [RFC PATCH v1 08/15] drm/msm: Pass the MMU domain index in struct msm_file_private Date: Fri, 1 Mar 2019 12:38:30 -0700 Message-ID: <1551469117-3404-9-git-send-email-jcrouse@codeaurora.org> References: <1551469117-3404-1-git-send-email-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1551469117-3404-1-git-send-email-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: jean-philippe.brucker-5wv7dgnIgG8@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, David Airlie , Rob Clark , dianders-uWgjrcJnOmJ4cg9Nei1l7Q@public.gmane.org, hoegsberg-hpIqsD4AKlfQT0dZR+AlfA@public.gmane.org, Daniel Vetter , Sean Paul , baolu.lu-VuQAYsv1563Yd54FQh9/CA@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org UGFzcyB0aGUgaW5kZXggb2YgdGhlIE1NVSBkb21haW4gaW4gc3RydWN0IG1zbV9maWxlX3ByaXZh dGUgaW5zdGVhZApvZiBhc3N1bWluZyBncHUtPmlkIHRocm91Z2hvdXQgdGhlIHN1Ym1pdCBwYXRo LiBUaGlzIGNsZWFycyB0aGUgd2F5CnRvIGNoYW5nZSBjdHgtPmFzcGFjZSB0byBhIHBlci1pbnN0 YW5jZSBwYWdldGFibGUuCgpTaWduZWQtb2ZmLWJ5OiBKb3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNv ZGVhdXJvcmEub3JnPgotLS0KCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYuYyAgICAgICAg fCAgMiArKwogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggICAgICAgIHwgIDEgKwogZHJp dmVycy9ncHUvZHJtL21zbS9tc21fZ2VtLmggICAgICAgIHwgIDEgKwogZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZ2VtX3N1Ym1pdC5jIHwgMTMgKysrKysrKystLS0tLQogZHJpdmVycy9ncHUvZHJt L21zbS9tc21fZ3B1LmMgICAgICAgIHwgIDUgKystLS0KIDUgZmlsZXMgY2hhbmdlZCwgMTQgaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCmluZGV4IDkwNmIy YmIuLmNhYzIyOTMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCisr KyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBAIC02MDcsNiArNjA3LDcgQEAgc3Rh dGljIHZvaWQgbG9hZF9ncHUoc3RydWN0IGRybV9kZXZpY2UgKmRldikKIAogc3RhdGljIGludCBj b250ZXh0X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxl KQogeworCXN0cnVjdCBtc21fZHJtX3ByaXZhdGUgKnByaXYgPSBkZXYtPmRldl9wcml2YXRlOwog CXN0cnVjdCBtc21fZmlsZV9wcml2YXRlICpjdHg7CiAKIAljdHggPSBremFsbG9jKHNpemVvZigq Y3R4KSwgR0ZQX0tFUk5FTCk7CkBAIC02MTUsNiArNjE2LDcgQEAgc3RhdGljIGludCBjb250ZXh0 X2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwgc3RydWN0IGRybV9maWxlICpmaWxlKQogCiAJ bXNtX3N1Ym1pdHF1ZXVlX2luaXQoZGV2LCBjdHgpOwogCisJY3R4LT5hc3BhY2UgPSBwcml2LT5n cHUtPmFzcGFjZTsKIAlmaWxlLT5kcml2ZXJfcHJpdiA9IGN0eDsKIAogCXJldHVybiAwOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmggYi9kcml2ZXJzL2dwdS9kcm0v bXNtL21zbV9kcnYuaAppbmRleCBjYjY0MmZlLi4zMTQwZThmIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vbXNtL21zbV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kcnYu aApAQCAtNjgsNiArNjgsNyBAQCBzdHJ1Y3QgbXNtX2ZpbGVfcHJpdmF0ZSB7CiAJcndsb2NrX3Qg cXVldWVsb2NrOwogCXN0cnVjdCBsaXN0X2hlYWQgc3VibWl0cXVldWVzOwogCWludCBxdWV1ZWlk OworCXN0cnVjdCBtc21fZ2VtX2FkZHJlc3Nfc3BhY2UgKmFzcGFjZTsKIH07CiAKIGVudW0gbXNt X21kcF9wbGFuZV9wcm9wZXJ0eSB7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21z bV9nZW0uaCBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5oCmluZGV4IDIwNjRmYWMuLjVl MjFkMDEgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5oCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbS5oCkBAIC0xNDIsNiArMTQyLDcgQEAgdm9pZCBtc21f Z2VtX3Z1bm1hcChzdHJ1Y3QgZHJtX2dlbV9vYmplY3QgKm9iaiwgZW51bSBtc21fZ2VtX2xvY2sg c3ViY2xhc3MpOwogc3RydWN0IG1zbV9nZW1fc3VibWl0IHsKIAlzdHJ1Y3QgZHJtX2RldmljZSAq ZGV2OwogCXN0cnVjdCBtc21fZ3B1ICpncHU7CisJc3RydWN0IG1zbV9nZW1fYWRkcmVzc19zcGFj ZSAqYXNwYWNlOwogCXN0cnVjdCBsaXN0X2hlYWQgbm9kZTsgICAvKiBub2RlIGluIHJpbmcgc3Vi bWl0IGxpc3QgKi8KIAlzdHJ1Y3QgbGlzdF9oZWFkIGJvX2xpc3Q7CiAJc3RydWN0IHd3X2FjcXVp cmVfY3R4IHRpY2tldDsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9z dWJtaXQuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dlbV9zdWJtaXQuYwppbmRleCAxMmI5 ODNmLi43OWQ5NWIyIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9nZW1fc3Vi bWl0LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ2VtX3N1Ym1pdC5jCkBAIC0zMiw4 ICszMiw5IEBACiAjZGVmaW5lIEJPX1BJTk5FRCAgIDB4MjAwMAogCiBzdGF0aWMgc3RydWN0IG1z bV9nZW1fc3VibWl0ICpzdWJtaXRfY3JlYXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCi0JCXN0 cnVjdCBtc21fZ3B1ICpncHUsIHN0cnVjdCBtc21fZ3B1X3N1Ym1pdHF1ZXVlICpxdWV1ZSwKLQkJ dWludDMyX3QgbnJfYm9zLCB1aW50MzJfdCBucl9jbWRzKQorCQlzdHJ1Y3QgbXNtX2dwdSAqZ3B1 LCBzdHJ1Y3QgbXNtX2dlbV9hZGRyZXNzX3NwYWNlICphc3BhY2UsCisJCXN0cnVjdCBtc21fZ3B1 X3N1Ym1pdHF1ZXVlICpxdWV1ZSwgdWludDMyX3QgbnJfYm9zLAorCQl1aW50MzJfdCBucl9jbWRz KQogewogCXN0cnVjdCBtc21fZ2VtX3N1Ym1pdCAqc3VibWl0OwogCXVpbnQ2NF90IHN6ID0gc2l6 ZW9mKCpzdWJtaXQpICsgKCh1NjQpbnJfYm9zICogc2l6ZW9mKHN1Ym1pdC0+Ym9zWzBdKSkgKwpA QCAtNDcsNiArNDgsNyBAQCBzdGF0aWMgc3RydWN0IG1zbV9nZW1fc3VibWl0ICpzdWJtaXRfY3Jl YXRlKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCiAJCXJldHVybiBOVUxMOwogCiAJc3VibWl0LT5k ZXYgPSBkZXY7CisJc3VibWl0LT5hc3BhY2UgPSBhc3BhY2U7CiAJc3VibWl0LT5ncHUgPSBncHU7 CiAJc3VibWl0LT5mZW5jZSA9IE5VTEw7CiAJc3VibWl0LT5jbWQgPSAodm9pZCAqKSZzdWJtaXQt PmJvc1tucl9ib3NdOwpAQCAtMTcwLDcgKzE3Miw3IEBAIHN0YXRpYyB2b2lkIHN1Ym1pdF91bmxv Y2tfdW5waW5fYm8oc3RydWN0IG1zbV9nZW1fc3VibWl0ICpzdWJtaXQsCiAJc3RydWN0IG1zbV9n ZW1fb2JqZWN0ICptc21fb2JqID0gc3VibWl0LT5ib3NbaV0ub2JqOwogCiAJaWYgKHN1Ym1pdC0+ Ym9zW2ldLmZsYWdzICYgQk9fUElOTkVEKQotCQltc21fZ2VtX3VucGluX2lvdmEoJm1zbV9vYmot PmJhc2UsIHN1Ym1pdC0+Z3B1LT5hc3BhY2UpOworCQltc21fZ2VtX3VucGluX2lvdmEoJm1zbV9v YmotPmJhc2UsIHN1Ym1pdC0+YXNwYWNlKTsKIAogCWlmIChzdWJtaXQtPmJvc1tpXS5mbGFncyAm IEJPX0xPQ0tFRCkKIAkJd3dfbXV0ZXhfdW5sb2NrKCZtc21fb2JqLT5yZXN2LT5sb2NrKTsKQEAg LTI3NCw3ICsyNzYsNyBAQCBzdGF0aWMgaW50IHN1Ym1pdF9waW5fb2JqZWN0cyhzdHJ1Y3QgbXNt X2dlbV9zdWJtaXQgKnN1Ym1pdCkKIAogCQkvKiBpZiBsb2NraW5nIHN1Y2NlZWRlZCwgcGluIGJv OiAqLwogCQlyZXQgPSBtc21fZ2VtX2dldF9hbmRfcGluX2lvdmEoJm1zbV9vYmotPmJhc2UsCi0J CQkJc3VibWl0LT5ncHUtPmFzcGFjZSwgJmlvdmEpOworCQkJCXN1Ym1pdC0+YXNwYWNlLCAmaW92 YSk7CiAKIAkJaWYgKHJldCkKIAkJCWJyZWFrOwpAQCAtNDg3LDcgKzQ4OSw4IEBAIGludCBtc21f aW9jdGxfZ2VtX3N1Ym1pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LCB2b2lkICpkYXRhLAogCQl9 CiAJfQogCi0Jc3VibWl0ID0gc3VibWl0X2NyZWF0ZShkZXYsIGdwdSwgcXVldWUsIGFyZ3MtPm5y X2JvcywgYXJncy0+bnJfY21kcyk7CisJc3VibWl0ID0gc3VibWl0X2NyZWF0ZShkZXYsIGdwdSwg Y3R4LT5hc3BhY2UsIHF1ZXVlLCBhcmdzLT5ucl9ib3MsCisJCWFyZ3MtPm5yX2NtZHMpOwogCWlm ICghc3VibWl0KSB7CiAJCXJldCA9IC1FTk9NRU07CiAJCWdvdG8gb3V0X3VubG9jazsKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZ3B1LmMKaW5kZXggMTBiYWJkMS4uNzliNzFiMSAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZ3B1LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmMK QEAgLTY5Myw3ICs2OTMsNyBAQCBzdGF0aWMgdm9pZCByZXRpcmVfc3VibWl0KHN0cnVjdCBtc21f Z3B1ICpncHUsIHN0cnVjdCBtc21fcmluZ2J1ZmZlciAqcmluZywKIAkJc3RydWN0IG1zbV9nZW1f b2JqZWN0ICptc21fb2JqID0gc3VibWl0LT5ib3NbaV0ub2JqOwogCQkvKiBtb3ZlIHRvIGluYWN0 aXZlOiAqLwogCQltc21fZ2VtX21vdmVfdG9faW5hY3RpdmUoJm1zbV9vYmotPmJhc2UpOwotCQlt c21fZ2VtX3VucGluX2lvdmEoJm1zbV9vYmotPmJhc2UsIGdwdS0+YXNwYWNlKTsKKwkJbXNtX2dl bV91bnBpbl9pb3ZhKCZtc21fb2JqLT5iYXNlLCBzdWJtaXQtPmFzcGFjZSk7CiAJCWRybV9nZW1f b2JqZWN0X3B1dCgmbXNtX29iai0+YmFzZSk7CiAJfQogCkBAIC03NzcsOCArNzc3LDcgQEAgdm9p ZCBtc21fZ3B1X3N1Ym1pdChzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3QgbXNtX2dlbV9zdWJt aXQgKnN1Ym1pdCwKIAogCQkvKiBzdWJtaXQgdGFrZXMgYSByZWZlcmVuY2UgdG8gdGhlIGJvIGFu ZCBpb3ZhIHVudGlsIHJldGlyZWQ6ICovCiAJCWRybV9nZW1fb2JqZWN0X2dldCgmbXNtX29iai0+ YmFzZSk7Ci0JCW1zbV9nZW1fZ2V0X2FuZF9waW5faW92YSgmbXNtX29iai0+YmFzZSwKLQkJCQlz dWJtaXQtPmdwdS0+YXNwYWNlLCAmaW92YSk7CisJCW1zbV9nZW1fZ2V0X2FuZF9waW5faW92YSgm bXNtX29iai0+YmFzZSwgc3VibWl0LT5hc3BhY2UsICZpb3ZhKTsKIAogCQlpZiAoc3VibWl0LT5i b3NbaV0uZmxhZ3MgJiBNU01fU1VCTUlUX0JPX1dSSVRFKQogCQkJbXNtX2dlbV9tb3ZlX3RvX2Fj dGl2ZSgmbXNtX29iai0+YmFzZSwgZ3B1LCB0cnVlLCBzdWJtaXQtPmZlbmNlKTsKLS0gCjIuNy40 CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVlZHJl bm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-8.8 required=3.0 tests=DKIM_INVALID,DKIM_SIGNED, HEADER_FROM_DIFFERENT_DOMAINS,INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY, SPF_PASS,URIBL_BLOCKED,USER_AGENT_GIT autolearn=ham autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 94AA7C43381 for ; Fri, 1 Mar 2019 19:39:12 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id 560F020838 for ; Fri, 1 Mar 2019 19:39:12 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=fail reason="key not found in DNS" (0-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="n5sfvAYq"; dkim=fail reason="key not found in DNS" (0-bit key) header.d=codeaurora.org header.i=@codeaurora.org header.b="U73WqVPz" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1727725AbfCATjL (ORCPT ); Fri, 1 Mar 2019 14:39:11 -0500 Received: from smtp.codeaurora.org ([198.145.29.96]:40898 "EHLO smtp.codeaurora.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727545AbfCATjG (ORCPT ); Fri, 1 Mar 2019 14:39:06 -0500 Received: by smtp.codeaurora.org (Postfix, from userid 1000) id 541ED61576; Fri, 1 Mar 2019 19:38:55 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1551469145; bh=g4c/dcKTIkANh/eh23Ydj1OxK6csIADsvwqCdoe3yHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=n5sfvAYqettpToT7g3NQrhM4MVnb+m2lkmfY6bn+JDbzE9k6r58376IfpDin3lDO6 NJLvHKkoXJR7gj1fQQqEMAsoV6NkW3K3mxRo8sjq4atL4S66bHFvlqDWFg+/LIpv+P 8kFgY6B75NxsweUj4vWLCZ6DLUgJQ/a3tEWPQXAw= Received: from jcrouse1-lnx.qualcomm.com (i-global254.qualcomm.com [199.106.103.254]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-SHA256 (128/128 bits)) (No client certificate requested) (Authenticated sender: jcrouse@smtp.codeaurora.org) by smtp.codeaurora.org (Postfix) with ESMTPSA id 69DF761528; Fri, 1 Mar 2019 19:38:53 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=codeaurora.org; s=default; t=1551469134; bh=g4c/dcKTIkANh/eh23Ydj1OxK6csIADsvwqCdoe3yHQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=U73WqVPzpuzY1mSmwwD93Dyed5RKwvwNWQuWdELbQH/bntfh9QPSnIDckM5yhDvQw IwK8dwBybTRAy7wPZ7Cj/jciHj/LTZMQEr4uAsYq8lLDn6pzY4vBBnoV6Fd31S6u8g dlvJbLuSj7GjdSFBAR28ZwBQZlXtkMqnWGQs1muI= DMARC-Filter: OpenDMARC Filter v1.3.2 smtp.codeaurora.org 69DF761528 Authentication-Results: pdx-caf-mail.web.codeaurora.org; dmarc=none (p=none dis=none) header.from=codeaurora.org Authentication-Results: pdx-caf-mail.web.codeaurora.org; spf=none smtp.mailfrom=jcrouse@codeaurora.org From: Jordan Crouse To: freedreno@lists.freedesktop.org Cc: jean-philippe.brucker@arm.com, linux-arm-msm@vger.kernel.org, dianders@chromimum.org, hoegsberg@google.com, baolu.lu@linux.intel.com, Sean Paul , linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Rob Clark , David Airlie , Daniel Vetter Subject: [RFC PATCH v1 08/15] drm/msm: Pass the MMU domain index in struct msm_file_private Date: Fri, 1 Mar 2019 12:38:30 -0700 Message-Id: <1551469117-3404-9-git-send-email-jcrouse@codeaurora.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1551469117-3404-1-git-send-email-jcrouse@codeaurora.org> References: <1551469117-3404-1-git-send-email-jcrouse@codeaurora.org> Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Pass the index of the MMU domain in struct msm_file_private instead of assuming gpu->id throughout the submit path. This clears the way to change ctx->aspace to a per-instance pagetable. Signed-off-by: Jordan Crouse --- drivers/gpu/drm/msm/msm_drv.c | 2 ++ drivers/gpu/drm/msm/msm_drv.h | 1 + drivers/gpu/drm/msm/msm_gem.h | 1 + drivers/gpu/drm/msm/msm_gem_submit.c | 13 ++++++++----- drivers/gpu/drm/msm/msm_gpu.c | 5 ++--- 5 files changed, 14 insertions(+), 8 deletions(-) diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c index 906b2bb..cac2293 100644 --- a/drivers/gpu/drm/msm/msm_drv.c +++ b/drivers/gpu/drm/msm/msm_drv.c @@ -607,6 +607,7 @@ static void load_gpu(struct drm_device *dev) static int context_init(struct drm_device *dev, struct drm_file *file) { + struct msm_drm_private *priv = dev->dev_private; struct msm_file_private *ctx; ctx = kzalloc(sizeof(*ctx), GFP_KERNEL); @@ -615,6 +616,7 @@ static int context_init(struct drm_device *dev, struct drm_file *file) msm_submitqueue_init(dev, ctx); + ctx->aspace = priv->gpu->aspace; file->driver_priv = ctx; return 0; diff --git a/drivers/gpu/drm/msm/msm_drv.h b/drivers/gpu/drm/msm/msm_drv.h index cb642fe..3140e8f 100644 --- a/drivers/gpu/drm/msm/msm_drv.h +++ b/drivers/gpu/drm/msm/msm_drv.h @@ -68,6 +68,7 @@ struct msm_file_private { rwlock_t queuelock; struct list_head submitqueues; int queueid; + struct msm_gem_address_space *aspace; }; enum msm_mdp_plane_property { diff --git a/drivers/gpu/drm/msm/msm_gem.h b/drivers/gpu/drm/msm/msm_gem.h index 2064fac..5e21d01 100644 --- a/drivers/gpu/drm/msm/msm_gem.h +++ b/drivers/gpu/drm/msm/msm_gem.h @@ -142,6 +142,7 @@ void msm_gem_vunmap(struct drm_gem_object *obj, enum msm_gem_lock subclass); struct msm_gem_submit { struct drm_device *dev; struct msm_gpu *gpu; + struct msm_gem_address_space *aspace; struct list_head node; /* node in ring submit list */ struct list_head bo_list; struct ww_acquire_ctx ticket; diff --git a/drivers/gpu/drm/msm/msm_gem_submit.c b/drivers/gpu/drm/msm/msm_gem_submit.c index 12b983f..79d95b2 100644 --- a/drivers/gpu/drm/msm/msm_gem_submit.c +++ b/drivers/gpu/drm/msm/msm_gem_submit.c @@ -32,8 +32,9 @@ #define BO_PINNED 0x2000 static struct msm_gem_submit *submit_create(struct drm_device *dev, - struct msm_gpu *gpu, struct msm_gpu_submitqueue *queue, - uint32_t nr_bos, uint32_t nr_cmds) + struct msm_gpu *gpu, struct msm_gem_address_space *aspace, + struct msm_gpu_submitqueue *queue, uint32_t nr_bos, + uint32_t nr_cmds) { struct msm_gem_submit *submit; uint64_t sz = sizeof(*submit) + ((u64)nr_bos * sizeof(submit->bos[0])) + @@ -47,6 +48,7 @@ static struct msm_gem_submit *submit_create(struct drm_device *dev, return NULL; submit->dev = dev; + submit->aspace = aspace; submit->gpu = gpu; submit->fence = NULL; submit->cmd = (void *)&submit->bos[nr_bos]; @@ -170,7 +172,7 @@ static void submit_unlock_unpin_bo(struct msm_gem_submit *submit, struct msm_gem_object *msm_obj = submit->bos[i].obj; if (submit->bos[i].flags & BO_PINNED) - msm_gem_unpin_iova(&msm_obj->base, submit->gpu->aspace); + msm_gem_unpin_iova(&msm_obj->base, submit->aspace); if (submit->bos[i].flags & BO_LOCKED) ww_mutex_unlock(&msm_obj->resv->lock); @@ -274,7 +276,7 @@ static int submit_pin_objects(struct msm_gem_submit *submit) /* if locking succeeded, pin bo: */ ret = msm_gem_get_and_pin_iova(&msm_obj->base, - submit->gpu->aspace, &iova); + submit->aspace, &iova); if (ret) break; @@ -487,7 +489,8 @@ int msm_ioctl_gem_submit(struct drm_device *dev, void *data, } } - submit = submit_create(dev, gpu, queue, args->nr_bos, args->nr_cmds); + submit = submit_create(dev, gpu, ctx->aspace, queue, args->nr_bos, + args->nr_cmds); if (!submit) { ret = -ENOMEM; goto out_unlock; diff --git a/drivers/gpu/drm/msm/msm_gpu.c b/drivers/gpu/drm/msm/msm_gpu.c index 10babd1..79b71b1 100644 --- a/drivers/gpu/drm/msm/msm_gpu.c +++ b/drivers/gpu/drm/msm/msm_gpu.c @@ -693,7 +693,7 @@ static void retire_submit(struct msm_gpu *gpu, struct msm_ringbuffer *ring, struct msm_gem_object *msm_obj = submit->bos[i].obj; /* move to inactive: */ msm_gem_move_to_inactive(&msm_obj->base); - msm_gem_unpin_iova(&msm_obj->base, gpu->aspace); + msm_gem_unpin_iova(&msm_obj->base, submit->aspace); drm_gem_object_put(&msm_obj->base); } @@ -777,8 +777,7 @@ void msm_gpu_submit(struct msm_gpu *gpu, struct msm_gem_submit *submit, /* submit takes a reference to the bo and iova until retired: */ drm_gem_object_get(&msm_obj->base); - msm_gem_get_and_pin_iova(&msm_obj->base, - submit->gpu->aspace, &iova); + msm_gem_get_and_pin_iova(&msm_obj->base, submit->aspace, &iova); if (submit->bos[i].flags & MSM_SUBMIT_BO_WRITE) msm_gem_move_to_active(&msm_obj->base, gpu, true, submit->fence); -- 2.7.4