From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jonathan Marek Subject: [PATCH v4 2/5] drm/msm: add headless gpu device for imx5 Date: Tue, 4 Dec 2018 10:16:58 -0500 Message-ID: <20181204151702.8514-2-jonathan@marek.ca> References: <20181204151702.8514-1-jonathan@marek.ca> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181204151702.8514-1-jonathan-eSc4qw6YbEQ@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: David Airlie , "open list:DRM DRIVER FOR MSM ADRENO GPU" , open list , "open list:DRM DRIVER FOR MSM ADRENO GPU" , Rob Clark , Sean Paul , Chris.Healy-c8ZVq/bFV1I@public.gmane.org, Jeykumar Sankaran , festevam-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org VGhpcyBwYXRjaCBhbGxvd3MgdXNpbmcgZHJtL21zbSB3aXRob3V0IHFjb20gZGlzcGxheSBoYXJk d2FyZS4gSXQgYWRkcyBhCmFtZCxpbWFnZW9uIGNvbXBhdGlibGUsIHdoaWNoIGlzIHVzZWQgaW5z dGVhZCBvZiBxY29tLGFkcmVubywgYnV0IGRvZXMKbm90IHJlcXVpcmUgYSB0b3AgbGV2ZWwgbXNt IG5vZGUuCgpTaWduZWQtb2ZmLWJ5OiBKb25hdGhhbiBNYXJlayA8am9uYXRoYW5AbWFyZWsuY2E+ Ci0tLQp2MzogcmV3b3JrZWQgdG8gd29yayB3aXRoIG9ubHkgYSBhbWQsaW1hZ2VvbiBub2RlCgog ZHJpdmVycy9ncHUvZHJtL21zbS9LY29uZmlnICAgICAgICAgICAgICAgIHwgIDQgKy0tCiBkcml2 ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZGV2aWNlLmMgfCAzNSArKysrKysrKysrKysr KysrKysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21zbV9kZWJ1Z2ZzLmMgICAgICAgICAgfCAg MiArLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZHJ2LmMgICAgICAgICAgICAgIHwgMjEgKysr KysrKy0tLS0tLQogNCBmaWxlcyBjaGFuZ2VkLCA0NiBpbnNlcnRpb25zKCspLCAxNiBkZWxldGlv bnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL0tjb25maWcgYi9kcml2ZXJz L2dwdS9kcm0vbXNtL0tjb25maWcKaW5kZXggODQzYTlkNDBjLi5jZjU0OWYxZWQgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vS2NvbmZpZworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNt L0tjb25maWcKQEAgLTIsNyArMiw3IEBACiBjb25maWcgRFJNX01TTQogCXRyaXN0YXRlICJNU00g RFJNIgogCWRlcGVuZHMgb24gRFJNCi0JZGVwZW5kcyBvbiBBUkNIX1FDT00gfHwgKEFSTSAmJiBD T01QSUxFX1RFU1QpCisJZGVwZW5kcyBvbiBBUkNIX1FDT00gfHwgU09DX0lNWDUgfHwgKEFSTSAm JiBDT01QSUxFX1RFU1QpCiAJZGVwZW5kcyBvbiBPRiAmJiBDT01NT05fQ0xLCiAJZGVwZW5kcyBv biBNTVUKIAlzZWxlY3QgUUNPTV9NRFRfTE9BREVSIGlmIEFSQ0hfUUNPTQpAQCAtMTEsNyArMTEs NyBAQCBjb25maWcgRFJNX01TTQogCXNlbGVjdCBEUk1fUEFORUwKIAlzZWxlY3QgU0hNRU0KIAlz ZWxlY3QgVE1QRlMKLQlzZWxlY3QgUUNPTV9TQ00KKwlzZWxlY3QgUUNPTV9TQ00gaWYgQVJDSF9R Q09NCiAJc2VsZWN0IFdBTlRfREVWX0NPUkVEVU1QCiAJc2VsZWN0IFNORF9TT0NfSERNSV9DT0RF QyBpZiBTTkRfU09DCiAJc2VsZWN0IFNZTkNfRklMRQpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUv ZHJtL21zbS9hZHJlbm8vYWRyZW5vX2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJl bm8vYWRyZW5vX2RldmljZS5jCmluZGV4IGFkYzQ0MmY3My4uOTllMzYzYzNkIDEwMDY0NAotLS0g YS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZGV2aWNlLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2RldmljZS5jCkBAIC0yNzEsNyArMjcxLDggQEAg c3RhdGljIGludCBmaW5kX2NoaXBpZChzdHJ1Y3QgZGV2aWNlICpkZXYsIHN0cnVjdCBhZHJlbm9f cmV2ICpyZXYpCiAJaWYgKHJldCA9PSAwKSB7CiAJCXVuc2lnbmVkIGludCByLCBwYXRjaDsKIAot CQlpZiAoc3NjYW5mKGNvbXBhdCwgInFjb20sYWRyZW5vLSV1LiV1IiwgJnIsICZwYXRjaCkgPT0g MikgeworCQlpZiAoc3NjYW5mKGNvbXBhdCwgInFjb20sYWRyZW5vLSV1LiV1IiwgJnIsICZwYXRj aCkgPT0gMiB8fAorCQkgICAgc3NjYW5mKGNvbXBhdCwgImFtZCxpbWFnZW9uLSV1LiV1IiwgJnIs ICZwYXRjaCkgPT0gMikgewogCQkJcmV2LT5jb3JlID0gciAvIDEwMDsKIAkJCXIgJT0gMTAwOwog CQkJcmV2LT5tYWpvciA9IHIgLyAxMDsKQEAgLTM1Niw5ICszNTcsMzcgQEAgc3RhdGljIGNvbnN0 IHN0cnVjdCBjb21wb25lbnRfb3BzIGEzeHhfb3BzID0gewogCQkudW5iaW5kID0gYWRyZW5vX3Vu YmluZCwKIH07CiAKK3N0YXRpYyB2b2lkIGFkcmVub19kZXZpY2VfcmVnaXN0ZXJfaGVhZGxlc3Mo dm9pZCkKK3sKKwkvKiBvbiBpbXg1LCB3ZSBkb24ndCBoYXZlIGEgdG9wLWxldmVsIG1kcC9kcHUg bm9kZQorCSAqIHRoaXMgY3JlYXRlcyBhIGR1bW15IG5vZGUgZm9yIHRoZSBkcml2ZXIgZm9yIHRo YXQgY2FzZQorCSAqLworCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2VfaW5mbyBkdW1teV9pbmZvID0g eworCQkucGFyZW50ID0gTlVMTCwKKwkJLm5hbWUgPSAibXNtIiwKKwkJLmlkID0gLTEsCisJCS5y ZXMgPSBOVUxMLAorCQkubnVtX3JlcyA9IDAsCisJCS5kYXRhID0gTlVMTCwKKwkJLnNpemVfZGF0 YSA9IDAsCisJCS5kbWFfbWFzayA9IH4wLAorCX07CisJcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVy X2Z1bGwoJmR1bW15X2luZm8pOworfQorCiBzdGF0aWMgaW50IGFkcmVub19wcm9iZShzdHJ1Y3Qg cGxhdGZvcm1fZGV2aWNlICpwZGV2KQogewotCXJldHVybiBjb21wb25lbnRfYWRkKCZwZGV2LT5k ZXYsICZhM3h4X29wcyk7CisKKwlpbnQgcmV0OworCisJcmV0ID0gY29tcG9uZW50X2FkZCgmcGRl di0+ZGV2LCAmYTN4eF9vcHMpOworCWlmIChyZXQpCisJCXJldHVybiByZXQ7CisKKwlpZiAob2Zf ZGV2aWNlX2lzX2NvbXBhdGlibGUocGRldi0+ZGV2Lm9mX25vZGUsICJhbWQsaW1hZ2VvbiIpKQor CQlhZHJlbm9fZGV2aWNlX3JlZ2lzdGVyX2hlYWRsZXNzKCk7CisKKwlyZXR1cm4gMDsKIH0KIAog c3RhdGljIGludCBhZHJlbm9fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCkBA IC0zNzAsNiArMzk5LDggQEAgc3RhdGljIGludCBhZHJlbm9fcmVtb3ZlKHN0cnVjdCBwbGF0Zm9y bV9kZXZpY2UgKnBkZXYpCiBzdGF0aWMgY29uc3Qgc3RydWN0IG9mX2RldmljZV9pZCBkdF9tYXRj aFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhZHJlbm8iIH0sCiAJeyAuY29tcGF0aWJs ZSA9ICJxY29tLGFkcmVuby0zeHgiIH0sCisJLyogZm9yIGNvbXBhdGliaWxpdHkgd2l0aCBpbXg1 IGdwdTogKi8KKwl7IC5jb21wYXRpYmxlID0gImFtZCxpbWFnZW9uIiB9LAogCS8qIGZvciBiYWNr d2FyZHMgY29tcGF0IHcvIGRvd25zdHJlYW0ga2dzbCBEVCBmaWxlczogKi8KIAl7IC5jb21wYXRp YmxlID0gInFjb20sa2dzbC0zZDAiIH0sCiAJe30KZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2Ry bS9tc20vbXNtX2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2RlYnVnZnMuYwpp bmRleCA5YTdjZjlmZTIuLmZiNDIzZDMwOSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21z bS9tc21fZGVidWdmcy5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2RlYnVnZnMuYwpA QCAtMjQyLDcgKzI0Miw3IEBAIGludCBtc21fZGVidWdmc19pbml0KHN0cnVjdCBkcm1fbWlub3Ig Km1pbm9yKQogCWRlYnVnZnNfY3JlYXRlX2ZpbGUoImdwdSIsIFNfSVJVU1IsIG1pbm9yLT5kZWJ1 Z2ZzX3Jvb3QsCiAJCWRldiwgJm1zbV9ncHVfZm9wcyk7CiAKLQlpZiAocHJpdi0+a21zLT5mdW5j cy0+ZGVidWdmc19pbml0KSB7CisJaWYgKHByaXYtPmttcyAmJiBwcml2LT5rbXMtPmZ1bmNzLT5k ZWJ1Z2ZzX2luaXQpIHsKIAkJcmV0ID0gcHJpdi0+a21zLT5mdW5jcy0+ZGVidWdmc19pbml0KHBy aXYtPmttcywgbWlub3IpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21f ZHJ2LmMKaW5kZXggODFiZmFjNzQ0Li43ODQyNTE4YTkgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vbXNtX2Rydi5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2Rydi5jCkBA IC01MTAsMTcgKzUxMCwxMyBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNl ICpkZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJCXByaXYtPmttcyA9IGttczsKIAkJYnJl YWs7CiAJZGVmYXVsdDoKLQkJa21zID0gRVJSX1BUUigtRU5PREVWKTsKKwkJLyogdmFsaWQgb25s eSBmb3IgdGhlIGR1bW15IGhlYWRsZXNzIGNhc2UsIHdoZXJlIG9mX25vZGU9TlVMTCAqLworCQlX QVJOX09OKGRldi0+b2Zfbm9kZSk7CisJCWttcyA9IE5VTEw7CiAJCWJyZWFrOwogCX0KIAogCWlm IChJU19FUlIoa21zKSkgewotCQkvKgotCQkgKiBOT1RFOiBvbmNlIHdlIGhhdmUgR1BVIHN1cHBv cnQsIGhhdmluZyBubyBrbXMgc2hvdWxkIG5vdAotCQkgKiBiZSBjb25zaWRlcmVkIGZhdGFsLi4g aWRlYWxseSB3ZSB3b3VsZCBzdGlsbCBzdXBwb3J0IGdwdQotCQkgKiBhbmQgKGZvciBleGFtcGxl KSB1c2UgZG1hYnVmL3ByaW1lIHRvIHNoYXJlIGJ1ZmZlcnMgd2l0aAotCQkgKiBpbXggZHJtIGRy aXZlciBvbiBpTVg1Ci0JCSAqLwogCQlEUk1fREVWX0VSUk9SKGRldiwgImZhaWxlZCB0byBsb2Fk IGttc1xuIik7CiAJCXJldCA9IFBUUl9FUlIoa21zKTsKIAkJcHJpdi0+a21zID0gTlVMTDsKQEAg LTYyMCw3ICs2MTYsNyBAQCBzdGF0aWMgaW50IG1zbV9kcm1faW5pdChzdHJ1Y3QgZGV2aWNlICpk ZXYsIHN0cnVjdCBkcm1fZHJpdmVyICpkcnYpCiAJZHJtX21vZGVfY29uZmlnX3Jlc2V0KGRkZXYp OwogCiAjaWZkZWYgQ09ORklHX0RSTV9GQkRFVl9FTVVMQVRJT04KLQlpZiAoZmJkZXYpCisJaWYg KGttcyAmJiBmYmRldikKIAkJcHJpdi0+ZmJkZXYgPSBtc21fZmJkZXZfaW5pdChkZGV2KTsKICNl bmRpZgogCkBAIC0xMzAyLDYgKzEyOTgsNyBAQCBzdGF0aWMgaW50IGFkZF9kaXNwbGF5X2NvbXBv bmVudHMoc3RydWN0IGRldmljZSAqZGV2LAogc3RhdGljIGNvbnN0IHN0cnVjdCBvZl9kZXZpY2Vf aWQgbXNtX2dwdV9tYXRjaFtdID0gewogCXsgLmNvbXBhdGlibGUgPSAicWNvbSxhZHJlbm8iIH0s CiAJeyAuY29tcGF0aWJsZSA9ICJxY29tLGFkcmVuby0zeHgiIH0sCisJeyAuY29tcGF0aWJsZSA9 ICJhbWQsaW1hZ2VvbiIgfSwKIAl7IC5jb21wYXRpYmxlID0gInFjb20sa2dzbC0zZDAiIH0sCiAJ eyB9LAogfTsKQEAgLTEzNDYsOSArMTM0MywxMSBAQCBzdGF0aWMgaW50IG1zbV9wZGV2X3Byb2Jl KHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJc3RydWN0IGNvbXBvbmVudF9tYXRjaCAq bWF0Y2ggPSBOVUxMOwogCWludCByZXQ7CiAKLQlyZXQgPSBhZGRfZGlzcGxheV9jb21wb25lbnRz KCZwZGV2LT5kZXYsICZtYXRjaCk7Ci0JaWYgKHJldCkKLQkJcmV0dXJuIHJldDsKKwlpZiAoZ2V0 X21kcF92ZXIocGRldikpIHsKKwkJcmV0ID0gYWRkX2Rpc3BsYXlfY29tcG9uZW50cygmcGRldi0+ ZGV2LCAmbWF0Y2gpOworCQlpZiAocmV0KQorCQkJcmV0dXJuIHJldDsKKwl9CiAKIAlyZXQgPSBh ZGRfZ3B1X2NvbXBvbmVudHMoJnBkZXYtPmRldiwgJm1hdGNoKTsKIAlpZiAocmV0KQotLSAKMi4x Ny4xCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpGcmVl ZHJlbm8gbWFpbGluZyBsaXN0CkZyZWVkcmVub0BsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6 Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9mcmVlZHJlbm8K