From mboxrd@z Thu Jan 1 00:00:00 1970 From: Archit Taneja Subject: [PATCH 09/24] drm/msm/mdp5: Prepare for dynamic assignment of mixers Date: Thu, 23 Mar 2017 15:58:02 +0530 Message-ID: <20170323102817.15017-10-architt@codeaurora.org> References: <20170323102817.15017-1-architt@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170323102817.15017-1-architt@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: robdclark@gmail.com Cc: linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org List-Id: linux-arm-msm@vger.kernel.org QWRkIHRoZSBzdHVmZiBuZWVkZWQgdG8gYWxsb3cgZHluYW1pY2FsbHkgYXNzaWduaW5nIGEgbWl4 ZXIgdG8gYSBDUlRDLgoKU2luY2UgbWl4ZXJzIGFyZSBhIHJlc291cmNlIHRoYXQgY2FuIGJlIHNo YXJlZCBhY3Jvc3MgbXVsdGlwbGUgQ1JUQ3MsIHdlCm5lZWQgdG8gbWFpbnRhaW4gYSAnaHdtaXhl cl90b19jcnRjJyBtYXAgaW4gdGhlIGdsb2JhbCBhdG9taWMgc3RhdGUsCmFjcXVpcmUgdGhlIG1k cDVfa21zLnN0YXRlX2xvY2sgbW9kZXNldCBsb2NrIGFuZCBzbyBvbi4KClRoZSBtaXhlciBpcyBh c3NpZ25lZCBpbiB0aGUgQ1JUQydzIGF0b21pY19jaGVjaygpIGZ1bmMsIGEgZmFpbHVyZSB3aWxs CnJlc3VsdCBpbiB0aGUgbmV3IHN0YXRlIGJlaW5nIGNsZWFubHkgcm9sbGVkIGJhY2suCgpUaGUg bWl4ZXIgYXNzaWdubWVudCBpdHNlbGYgaXMgc3RyYWlnaHRmb3J3YXJkLCBhbmQgYWxtb3N0IGlk ZW50aWNhbCB0bwp3aGF0IHdlIGRvIGZvciBod3BpcGVzLiBXZSBkb24ndCBuZWVkIHRvIGdyYWIg dGhlIG9sZCBod21peGVyX3RvX2NydGMKc3RhdGUgbGlrZSB3ZSBkbyBpbiBod3BpcGVzIHNpbmNl IHdlIGRvbid0IG5lZWQgdG8gY29tcGFyZSBhbnl0aGluZwp3aXRoIHRoZSBvbGQgc3RhdGUgYXQg dGhlIG1vbWVudC4KClRoZSBvbmx5IExNIGNhcGFiaWxpdHkgd2UgY2FyZSBhYm91dCBhdCB0aGUg bW9tZW50IGlzIHdoZXRoZXIgdGhlIG1peGVyCmluc3RhbmNlIGNhbiBiZSB1c2VkIHRvIGRpc3Bs YXkgc3R1ZmYgKGkuZSwgY29ubmVjdCB0byBhbiBJTlRGCmRvd25zdHJlYW0pLgoKU2lnbmVkLW9m Zi1ieTogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jICB8IDMxICsrKysrKysrKysrKysrKysr CiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMgICB8ICAxICsKIGRyaXZl cnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaCAgIHwgIDEgKwogZHJpdmVycy9ncHUv ZHJtL21zbS9tZHAvbWRwNS9tZHA1X21peGVyLmMgfCA1NSArKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiBkcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfbWl4ZXIuaCB8ICA5 ICsrKysrCiA1IGZpbGVzIGNoYW5nZWQsIDk3IGluc2VydGlvbnMoKykKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jIGIvZHJpdmVycy9ncHUvZHJt L21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwppbmRleCAwOWVhN2MzZDg5NTEuLjBmNmU1NDVkNzRi YSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X2NydGMuYwor KysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfY3J0Yy5jCkBAIC0zNzMsNiAr MzczLDMwIEBAIHN0YXRpYyB2b2lkIG1kcDVfY3J0Y19lbmFibGUoc3RydWN0IGRybV9jcnRjICpj cnRjKQogCW1kcDVfY3J0Yy0+ZW5hYmxlZCA9IHRydWU7CiB9CiAKK2ludCBtZHA1X2NydGNfc2V0 dXBfcGlwZWxpbmUoc3RydWN0IGRybV9jcnRjICpjcnRjLAorCQkJICAgICBzdHJ1Y3QgZHJtX2Ny dGNfc3RhdGUgKm5ld19jcnRjX3N0YXRlKQoreworCXN0cnVjdCBtZHA1X2NydGNfc3RhdGUgKm1k cDVfY3N0YXRlID0KKwkJCXRvX21kcDVfY3J0Y19zdGF0ZShuZXdfY3J0Y19zdGF0ZSk7CisJc3Ry dWN0IG1kcDVfcGlwZWxpbmUgKnBpcGVsaW5lID0gJm1kcDVfY3N0YXRlLT5waXBlbGluZTsKKwli b29sIG5ld19taXhlciA9IGZhbHNlOworCisJbmV3X21peGVyID0gIXBpcGVsaW5lLT5taXhlcjsK KworCWlmIChuZXdfbWl4ZXIpIHsKKwkJc3RydWN0IG1kcDVfaHdfbWl4ZXIgKm9sZF9taXhlciA9 IHBpcGVsaW5lLT5taXhlcjsKKworCQlwaXBlbGluZS0+bWl4ZXIgPSBtZHA1X21peGVyX2Fzc2ln bihuZXdfY3J0Y19zdGF0ZS0+c3RhdGUsIGNydGMsCisJCQkJCQkgICAgTURQX0xNX0NBUF9ESVNQ TEFZKTsKKwkJaWYgKElTX0VSUihwaXBlbGluZS0+bWl4ZXIpKQorCQkJcmV0dXJuIFBUUl9FUlIo cGlwZWxpbmUtPm1peGVyKTsKKworCQltZHA1X21peGVyX3JlbGVhc2UobmV3X2NydGNfc3RhdGUt PnN0YXRlLCBvbGRfbWl4ZXIpOworCX0KKworCXJldHVybiAwOworfQorCiBzdHJ1Y3QgcGxhbmVf c3RhdGUgewogCXN0cnVjdCBkcm1fcGxhbmUgKnBsYW5lOwogCXN0cnVjdCBtZHA1X3BsYW5lX3N0 YXRlICpzdGF0ZTsKQEAgLTQwNSw2ICs0MjksNyBAQCBzdGF0aWMgaW50IG1kcDVfY3J0Y19hdG9t aWNfY2hlY2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCWNvbnN0IHN0cnVjdCBkcm1fcGxhbmVf c3RhdGUgKnBzdGF0ZTsKIAlib29sIGN1cnNvcl9wbGFuZSA9IGZhbHNlOwogCWludCBjbnQgPSAw LCBiYXNlID0gMCwgaTsKKwlpbnQgcmV0OwogCiAJREJHKCIlczogY2hlY2siLCBjcnRjLT5uYW1l KTsKIApAQCAtNDE4LDYgKzQ0MywxMiBAQCBzdGF0aWMgaW50IG1kcDVfY3J0Y19hdG9taWNfY2hl Y2soc3RydWN0IGRybV9jcnRjICpjcnRjLAogCQkJY3Vyc29yX3BsYW5lID0gdHJ1ZTsKIAl9CiAK KwlyZXQgPSBtZHA1X2NydGNfc2V0dXBfcGlwZWxpbmUoY3J0Yywgc3RhdGUpOworCWlmIChyZXQp IHsKKwkJZGV2X2VycihkZXYtPmRldiwgImNvdWxkbid0IGFzc2lnbiBtaXhlcnMgJWRcbiIsIHJl dCk7CisJCXJldHVybiByZXQ7CisJfQorCiAJLyogYXNzaWduIGEgc3RhZ2UgYmFzZWQgb24gc29y dGVkIHpwb3MgcHJvcGVydHkgKi8KIAlzb3J0KHBzdGF0ZXMsIGNudCwgc2l6ZW9mKHBzdGF0ZXNb MF0pLCBwc3RhdGVfY21wLCBOVUxMKTsKIApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21z bS9tZHAvbWRwNS9tZHA1X2ttcy5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X2ttcy5jCmluZGV4IDlkY2Q4OTNhNWMwNi4uOTUyNWM5OTBmMmRjIDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfa21zLmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L21zbS9tZHAvbWRwNS9tZHA1X2ttcy5jCkBAIC05MCw2ICs5MCw3IEBAIHN0cnVjdCBtZHA1X3N0 YXRlICptZHA1X2dldF9zdGF0ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqcykKIAogCS8qIENv cHkgc3RhdGU6ICovCiAJbmV3X3N0YXRlLT5od3BpcGUgPSBtZHA1X2ttcy0+c3RhdGUtPmh3cGlw ZTsKKwluZXdfc3RhdGUtPmh3bWl4ZXIgPSBtZHA1X2ttcy0+c3RhdGUtPmh3bWl4ZXI7CiAJaWYg KG1kcDVfa21zLT5zbXApCiAJCW5ld19zdGF0ZS0+c21wID0gbWRwNV9rbXMtPnN0YXRlLT5zbXA7 CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaCBi L2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMuaAppbmRleCBiODc1ZjQ1M2I5 MzAuLjUzNTg0OGU5M2Y1NSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRw NS9tZHA1X2ttcy5oCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9tc20vbWRwL21kcDUvbWRwNV9rbXMu aApAQCAtOTYsNiArOTYsNyBAQCBzdHJ1Y3QgbWRwNV9rbXMgewogICovCiBzdHJ1Y3QgbWRwNV9z dGF0ZSB7CiAJc3RydWN0IG1kcDVfaHdfcGlwZV9zdGF0ZSBod3BpcGU7CisJc3RydWN0IG1kcDVf aHdfbWl4ZXJfc3RhdGUgaHdtaXhlcjsKIAlzdHJ1Y3QgbWRwNV9zbXBfc3RhdGUgc21wOwogfTsK IApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X21peGVyLmMg Yi9kcml2ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfbWl4ZXIuYwppbmRleCAwMzJkYzBh OTYzOGYuLjZmMzUzYzQ4ODZlNCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAv bWRwNS9tZHA1X21peGVyLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1 X21peGVyLmMKQEAgLTE2LDYgKzE2LDYxIEBACiAKICNpbmNsdWRlICJtZHA1X2ttcy5oIgogCitz dHJ1Y3QgbWRwNV9od19taXhlciAqbWRwNV9taXhlcl9hc3NpZ24oc3RydWN0IGRybV9hdG9taWNf c3RhdGUgKnMsCisJCQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdWludDMyX3QgY2FwcykKK3sK KwlzdHJ1Y3QgbXNtX2RybV9wcml2YXRlICpwcml2ID0gcy0+ZGV2LT5kZXZfcHJpdmF0ZTsKKwlz dHJ1Y3QgbWRwNV9rbXMgKm1kcDVfa21zID0gdG9fbWRwNV9rbXModG9fbWRwX2ttcyhwcml2LT5r bXMpKTsKKwlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGUgPSBtZHA1X2dldF9zdGF0ZShzKTsKKwlz dHJ1Y3QgbWRwNV9od19taXhlcl9zdGF0ZSAqbmV3X3N0YXRlOworCXN0cnVjdCBtZHA1X2h3X21p eGVyICptaXhlciA9IE5VTEw7CisJaW50IGk7CisKKwlpZiAoSVNfRVJSKHN0YXRlKSkKKwkJcmV0 dXJuIEVSUl9DQVNUKHN0YXRlKTsKKworCW5ld19zdGF0ZSA9ICZzdGF0ZS0+aHdtaXhlcjsKKwor CWZvciAoaSA9IDA7IGkgPCBtZHA1X2ttcy0+bnVtX2h3bWl4ZXJzOyBpKyspIHsKKwkJc3RydWN0 IG1kcDVfaHdfbWl4ZXIgKmN1ciA9IG1kcDVfa21zLT5od21peGVyc1tpXTsKKworCQkvKiBza2lw IGlmIGFscmVhZHkgaW4tdXNlICovCisJCWlmIChuZXdfc3RhdGUtPmh3bWl4ZXJfdG9fY3J0Y1tj dXItPmlkeF0pCisJCQljb250aW51ZTsKKworCQkvKiBza2lwIGlmIGRvZXNuJ3Qgc3VwcG9ydCBz b21lIHJlcXVpcmVkIGNhcHM6ICovCisJCWlmIChjYXBzICYgfmN1ci0+Y2FwcykKKwkJCWNvbnRp bnVlOworCisJCWlmICghbWl4ZXIpCisJCQltaXhlciA9IGN1cjsKKwl9CisKKwlpZiAoIW1peGVy KQorCQlyZXR1cm4gRVJSX1BUUigtRU5PTUVNKTsKKworCW5ld19zdGF0ZS0+aHdtaXhlcl90b19j cnRjW21peGVyLT5pZHhdID0gY3J0YzsKKworCXJldHVybiBtaXhlcjsKK30KKwordm9pZCBtZHA1 X21peGVyX3JlbGVhc2Uoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMsIHN0cnVjdCBtZHA1X2h3 X21peGVyICptaXhlcikKK3sKKwlzdHJ1Y3QgbWRwNV9zdGF0ZSAqc3RhdGUgPSBtZHA1X2dldF9z dGF0ZShzKTsKKwlzdHJ1Y3QgbWRwNV9od19taXhlcl9zdGF0ZSAqbmV3X3N0YXRlID0gJnN0YXRl LT5od21peGVyOworCisJaWYgKCFtaXhlcikKKwkJcmV0dXJuOworCisJaWYgKFdBUk5fT04oIW5l d19zdGF0ZS0+aHdtaXhlcl90b19jcnRjW21peGVyLT5pZHhdKSkKKwkJcmV0dXJuOworCisJREJH KCIlczogcmVsZWFzZSBmcm9tIGNydGMgJXMiLCBtaXhlci0+bmFtZSwKKwkgICAgbmV3X3N0YXRl LT5od21peGVyX3RvX2NydGNbbWl4ZXItPmlkeF0tPm5hbWUpOworCisJbmV3X3N0YXRlLT5od21p eGVyX3RvX2NydGNbbWl4ZXItPmlkeF0gPSBOVUxMOworfQorCiB2b2lkIG1kcDVfbWl4ZXJfZGVz dHJveShzdHJ1Y3QgbWRwNV9od19taXhlciAqbWl4ZXIpCiB7CiAJa2ZyZWUobWl4ZXIpOwpkaWZm IC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X21peGVyLmggYi9kcml2 ZXJzL2dwdS9kcm0vbXNtL21kcC9tZHA1L21kcDVfbWl4ZXIuaAppbmRleCAwOGQyMTczNzAzYmYu LjE4ZWQ5MzNhZTU3NCAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9t ZHA1X21peGVyLmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tZHAvbWRwNS9tZHA1X21peGVy LmgKQEAgLTMxLDcgKzMxLDE2IEBAIHN0cnVjdCBtZHA1X2h3X21peGVyIHsKIAl1aW50MzJfdCBm bHVzaF9tYXNrOyAgICAgIC8qIHVzZWQgdG8gY29tbWl0IExNIHJlZ2lzdGVycyAqLwogfTsKIAor LyogZ2xvYmFsIGF0b21pYyBzdGF0ZSBvZiBhc3NpZ25tZW50IGJldHdlZW4gQ1JUQ3MgYW5kIExh eWVyIE1peGVyczogKi8KK3N0cnVjdCBtZHA1X2h3X21peGVyX3N0YXRlIHsKKwlzdHJ1Y3QgZHJt X2NydGMgKmh3bWl4ZXJfdG9fY3J0Y1s4XTsKK307CisKIHN0cnVjdCBtZHA1X2h3X21peGVyICpt ZHA1X21peGVyX2luaXQoY29uc3Qgc3RydWN0IG1kcDVfbG1faW5zdGFuY2UgKmxtKTsKIHZvaWQg bWRwNV9taXhlcl9kZXN0cm95KHN0cnVjdCBtZHA1X2h3X21peGVyICpsbSk7CitzdHJ1Y3QgbWRw NV9od19taXhlciAqbWRwNV9taXhlcl9hc3NpZ24oc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnMs CisJCQkJCXN0cnVjdCBkcm1fY3J0YyAqY3J0YywgdWludDMyX3QgY2Fwcyk7Cit2b2lkIG1kcDVf bWl4ZXJfcmVsZWFzZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqcywKKwkJCXN0cnVjdCBtZHA1 X2h3X21peGVyICptaXhlcik7CiAKICNlbmRpZiAvKiBfX01EUDVfTE1fSF9fICovCi0tIApUaGUg UXVhbGNvbW0gSW5ub3ZhdGlvbiBDZW50ZXIsIEluYy4gaXMgYSBtZW1iZXIgb2YgdGhlIENvZGUg QXVyb3JhIEZvcnVtLApob3N0ZWQgYnkgVGhlIExpbnV4IEZvdW5kYXRpb24KCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5nIGxp c3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=