From mboxrd@z Thu Jan 1 00:00:00 1970 From: Rob Clark Subject: [PATCH 2/4] drm/msm/mdp5: Add global state as a private atomic object Date: Wed, 21 Feb 2018 09:37:22 -0500 Message-ID: <20180221143730.30285-3-robdclark@gmail.com> References: <20180221143730.30285-1-robdclark@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180221143730.30285-1-robdclark@gmail.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: dri-devel@lists.freedesktop.org Cc: Neil Armstrong , David Airlie , linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org, Daniel Vetter , freedreno@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org RnJvbTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KCkdsb2JhbCBzaGFy ZWQgcmVzb3VyY2VzIChod3BpcGVzLCBod21peGVycyBhbmQgU01QKSBmb3IgTURQNSBhcmUKaW1w bGVtZW50ZWQgYXMgYSBwYXJ0IG9mIGF0b21pYyBzdGF0ZSBieSBzdWJjbGFzc2luZyBkcm1fYXRv bWljX3N0YXRlLgoKVGhlIHByZWZlcnJlZCBhcHByb2FjaCBpcyB0byB1c2UgdGhlIGRybV9wcml2 YXRlX29iaiBpbmZyYXN0cnVjdHVyZQphdmFpbGFibGUgaW4gdGhlIGF0b21pYyBjb3JlLgoKbWRw NV9nbG9iYWxfc3RhdGUgaXMgaW50cm9kdWNlZCBhcyBhIGRybSBhdG9taWMgcHJpdmF0ZSBvYmpl Y3QuIFRoZSB0d28KZnVuY3MgbWRwNV9nZXRfZ2xvYmFsX3N0YXRlKCkgYW5kIG1kcDVfZ2V0X2V4 aXN0aW5nX2dsb2JhbF9zdGF0ZSgpIGFyZQp0aGUgdHdvIHZhcmlhbnRzIHRoYXQgd2lsbCBiZSB1 c2VkIHRvIGFjY2VzcyBtZHA1X2dsb2JhbF9zdGF0ZS4KClRoaXMgd2lsbCByZXBsYWNlIHRoZSBl eGlzdGluZyBtZHA1X3N0YXRlIHN0cnVjdCAod2hpY2ggc3ViY2xhc3Nlcwpkcm1fYXRvbWljX3N0 YXRlKSBhbmQgdGhlIGZ1bmNzIGFyb3VuZCBpdC4gVGhlc2Ugd2lsbCBiZSByZW1vdmVkIGxhdGVy Cm9uY2Ugd2UgbWRwNV9nbG9iYWxfc3RhdGUgaXMgcHV0IHRvIHVzZSBldmVyeXdoZXJlLgoKU2ln bmVkLW9mZi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KU2lnbmVk LW9mZi1ieTogUm9iIENsYXJrIDxyb2JkY2xhcmtAZ21haWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmMgfCA3OSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKwogZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuaCB8IDI0 ICsrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgMTAzIGluc2VydGlvbnMoKykKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jIGIvZHJpdmVycy9n cHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9rbXMuYwppbmRleCA3YWQwNTYwZGJjOWYuLjBmMzE0 YzFmM2U4YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9kaXNwL21kcDUvbWRwNV9r bXMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5jCkBAIC0x MDYsNiArMTA2LDc5IEBAIHN0YXRpYyB2b2lkIG1kcDVfc3dhcF9zdGF0ZShzdHJ1Y3QgbXNtX2tt cyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiAJc3dhcCh0b19rbXNfc3Rh dGUoc3RhdGUpLT5zdGF0ZSwgbWRwNV9rbXMtPnN0YXRlKTsKIH0KIAorLyogR2xvYmFsL3NoYXJl ZCBvYmplY3Qgc3RhdGUgZnVuY3MgKi8KKworLyoKKyAqIFRoaXMgaXMgYSBoZWxwZXIgdGhhdCBy ZXR1cm5zIHRoZSBwcml2YXRlIHN0YXRlIGN1cnJlbnRseSBpbiBvcGVyYXRpb24uCisgKiBOb3Rl IHRoYXQgdGhpcyB3b3VsZCByZXR1cm4gdGhlICJvbGRfc3RhdGUiIGlmIGNhbGxlZCBpbiB0aGUg YXRvbWljIGNoZWNrCisgKiBwYXRoLCBhbmQgdGhlICJuZXdfc3RhdGUiIGFmdGVyIHRoZSBhdG9t aWMgc3dhcCBoYXMgYmVlbiBkb25lLgorICovCitzdHJ1Y3QgbWRwNV9nbG9iYWxfc3RhdGUgKgor bWRwNV9nZXRfZXhpc3RpbmdfZ2xvYmFsX3N0YXRlKHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMp Cit7CisJcmV0dXJuIHRvX21kcDVfZ2xvYmFsX3N0YXRlKG1kcDVfa21zLT5nbG9iX3N0YXRlLnN0 YXRlKTsKK30KKworLyoKKyAqIFRoaXMgYWNxdWlyZXMgdGhlIG1vZGVzZXQgbG9jayBzZXQgYXNp ZGUgZm9yIGdsb2JhbCBzdGF0ZSwgY3JlYXRlcworICogYSBuZXcgZHVwbGljYXRlZCBwcml2YXRl IG9iamVjdCBzdGF0ZS4KKyAqLworc3RydWN0IG1kcDVfZ2xvYmFsX3N0YXRlICptZHA1X2dldF9n bG9iYWxfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMpCit7CisJc3RydWN0IG1zbV9k cm1fcHJpdmF0ZSAqcHJpdiA9IHMtPmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IG1kcDVfa21z ICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9rbXMocHJpdi0+a21zKSk7CisJc3RydWN0 IGRybV9wcml2YXRlX3N0YXRlICpwcml2X3N0YXRlOworCisJcHJpdl9zdGF0ZSA9IGRybV9hdG9t aWNfZ2V0X3ByaXZhdGVfb2JqX3N0YXRlKHMsICZtZHA1X2ttcy0+Z2xvYl9zdGF0ZSk7CisJaWYg KElTX0VSUihwcml2X3N0YXRlKSkKKwkJcmV0dXJuIEVSUl9DQVNUKHByaXZfc3RhdGUpOworCisJ cmV0dXJuIHRvX21kcDVfZ2xvYmFsX3N0YXRlKHByaXZfc3RhdGUpOworfQorCitzdGF0aWMgc3Ry dWN0IGRybV9wcml2YXRlX3N0YXRlICoKK21kcDVfZ2xvYmFsX2R1cGxpY2F0ZV9zdGF0ZShzdHJ1 Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmopCit7CisJc3RydWN0IG1kcDVfZ2xvYmFsX3N0YXRlICpz dGF0ZTsKKworCXN0YXRlID0ga21lbWR1cChvYmotPnN0YXRlLCBzaXplb2YoKnN0YXRlKSwgR0ZQ X0tFUk5FTCk7CisJaWYgKCFzdGF0ZSkKKwkJcmV0dXJuIE5VTEw7CisKKwlfX2RybV9hdG9taWNf aGVscGVyX3ByaXZhdGVfb2JqX2R1cGxpY2F0ZV9zdGF0ZShvYmosICZzdGF0ZS0+YmFzZSk7CisK KwlyZXR1cm4gJnN0YXRlLT5iYXNlOworfQorCitzdGF0aWMgdm9pZCBtZHA1X2dsb2JhbF9kZXN0 cm95X3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogKm9iaiwKKwkJCQkgICAgICBzdHJ1Y3Qg ZHJtX3ByaXZhdGVfc3RhdGUgKnN0YXRlKQoreworCXN0cnVjdCBtZHA1X2dsb2JhbF9zdGF0ZSAq bWRwNV9zdGF0ZSA9IHRvX21kcDVfZ2xvYmFsX3N0YXRlKHN0YXRlKTsKKworCWtmcmVlKG1kcDVf c3RhdGUpOworfQorCitzdGF0aWMgY29uc3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNz IG1kcDVfZ2xvYmFsX3N0YXRlX2Z1bmNzID0geworCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0g bWRwNV9nbG9iYWxfZHVwbGljYXRlX3N0YXRlLAorCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IG1k cDVfZ2xvYmFsX2Rlc3Ryb3lfc3RhdGUsCit9OworCitzdGF0aWMgaW50IG1kcDVfZ2xvYmFsX29i al9pbml0KHN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXMpCit7CisJc3RydWN0IG1kcDVfZ2xvYmFs X3N0YXRlICpzdGF0ZTsKKworCXN0YXRlID0ga3phbGxvYyhzaXplb2YoKnN0YXRlKSwgR0ZQX0tF Uk5FTCk7CisJaWYgKCFzdGF0ZSkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwlzdGF0ZS0+bWRwNV9r bXMgPSBtZHA1X2ttczsKKworCWRybV9hdG9taWNfcHJpdmF0ZV9vYmpfaW5pdCgmbWRwNV9rbXMt Pmdsb2Jfc3RhdGUsCisJCQkJICAgICZzdGF0ZS0+YmFzZSwKKwkJCQkgICAgJm1kcDVfZ2xvYmFs X3N0YXRlX2Z1bmNzKTsKKwlyZXR1cm4gMDsKK30KKwogc3RhdGljIHZvaWQgbWRwNV9wcmVwYXJl X2NvbW1pdChzdHJ1Y3QgbXNtX2ttcyAqa21zLCBzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCiB7CiAJc3RydWN0IG1kcDVfa21zICptZHA1X2ttcyA9IHRvX21kcDVfa21zKHRvX21kcF9r bXMoa21zKSk7CkBAIC03NzksNiArODUyLDggQEAgc3RhdGljIHZvaWQgbWRwNV9kZXN0cm95KHN0 cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCiAJaWYgKG1kcDVfa21zLT5ycG1fZW5hYmxlZCkK IAkJcG1fcnVudGltZV9kaXNhYmxlKCZwZGV2LT5kZXYpOwogCisJZHJtX2F0b21pY19wcml2YXRl X29ial9maW5pKCZtZHA1X2ttcy0+Z2xvYl9zdGF0ZSk7CisKIAlrZnJlZShtZHA1X2ttcy0+c3Rh dGUpOwogfQogCkBAIC05MzksNiArMTAxNCwxMCBAQCBzdGF0aWMgaW50IG1kcDVfaW5pdChzdHJ1 Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQogCQlnb3Rv IGZhaWw7CiAJfQogCisJcmV0ID0gbWRwNV9nbG9iYWxfb2JqX2luaXQobWRwNV9rbXMpOworCWlm IChyZXQpCisJCWdvdG8gZmFpbDsKKwogCW1kcDVfa21zLT5tbWlvID0gbXNtX2lvcmVtYXAocGRl diwgIm1kcF9waHlzIiwgIk1EUDUiKTsKIAlpZiAoSVNfRVJSKG1kcDVfa21zLT5tbWlvKSkgewog CQlyZXQgPSBQVFJfRVJSKG1kcDVfa21zLT5tbWlvKTsKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmggYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3Av bWRwNS9tZHA1X2ttcy5oCmluZGV4IDMxMmU2YTQ3ZGZmOC4uMWM3MGFhYzIwYTk4IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2Rpc3AvbWRwNS9tZHA1X2ttcy5oCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9tc20vZGlzcC9tZHA1L21kcDVfa21zLmgKQEAgLTU3LDYgKzU3LDEyIEBAIHN0 cnVjdCBtZHA1X2ttcyB7CiAJc3RydWN0IG1kcDVfc3RhdGUgKnN0YXRlOwogCXN0cnVjdCBkcm1f bW9kZXNldF9sb2NrIHN0YXRlX2xvY2s7CiAKKwkvKgorCSAqIEdsb2JhbCBwcml2YXRlIG9iamVj dCBzdGF0ZSwgRG8gbm90IGFjY2VzcyBkaXJlY3RseSwgdXNlCisJICogbWRwNV9nbG9iYWxfZ2V0 X3N0YXRlKCkKKwkgKi8KKwlzdHJ1Y3QgZHJtX3ByaXZhdGVfb2JqIGdsb2Jfc3RhdGU7CisKIAlz dHJ1Y3QgbWRwNV9zbXAgKnNtcDsKIAlzdHJ1Y3QgbWRwNV9jdGxfbWFuYWdlciAqY3RsbTsKIApA QCAtOTcsNiArMTAzLDI0IEBAIHN0cnVjdCBtZHA1X3N0YXRlIHsKIHN0cnVjdCBtZHA1X3N0YXRl ICpfX211c3RfY2hlY2sKIG1kcDVfZ2V0X3N0YXRlKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz KTsKIAorLyogR2xvYmFsIHByaXZhdGUgb2JqZWN0IHN0YXRlIGZvciB0cmFja2luZyByZXNvdXJj ZXMgdGhhdCBhcmUgc2hhcmVkIGFjcm9zcworICogbXVsdGlwbGUga21zIG9iamVjdHMgKHBsYW5l cy9jcnRjcy9ldGMpLgorICovCisjZGVmaW5lIHRvX21kcDVfZ2xvYmFsX3N0YXRlKHgpIGNvbnRh aW5lcl9vZih4LCBzdHJ1Y3QgbWRwNV9nbG9iYWxfc3RhdGUsIGJhc2UpCitzdHJ1Y3QgbWRwNV9n bG9iYWxfc3RhdGUgeworCXN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZSBiYXNlOworCisJc3RydWN0 IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOworCXN0cnVjdCBtZHA1X2ttcyAqbWRwNV9rbXM7CisK KwlzdHJ1Y3QgbWRwNV9od19waXBlX3N0YXRlIGh3cGlwZTsKKwlzdHJ1Y3QgbWRwNV9od19taXhl cl9zdGF0ZSBod21peGVyOworCXN0cnVjdCBtZHA1X3NtcF9zdGF0ZSBzbXA7Cit9OworCitzdHJ1 Y3QgbWRwNV9nbG9iYWxfc3RhdGUgKiBtZHA1X2dldF9leGlzdGluZ19nbG9iYWxfc3RhdGUoc3Ry dWN0IG1kcDVfa21zICptZHA1X2ttcyk7CitzdHJ1Y3QgbWRwNV9nbG9iYWxfc3RhdGUgKl9fbXVz dF9jaGVjayBtZHA1X2dldF9nbG9iYWxfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMp OworCiAvKiBBdG9taWMgcGxhbmUgc3RhdGUuICBTdWJjbGFzc2VzIHRoZSBiYXNlIGRybV9wbGFu ZV9zdGF0ZSBpbiBvcmRlciB0bwogICogdHJhY2sgYXNzaWduZWQgaHdwaXBlIGFuZCBodyBzcGVj aWZpYyBzdGF0ZS4KICAqLwotLSAKMi4xNC4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9kcmktZGV2ZWwK