From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [RESEND FOR CI PATCH v8 3/4] drm/dp: Add DP MST helpers to atomically find and release vcpi slots Date: Mon, 1 May 2017 11:36:58 -0700 Message-ID: <1493663819-3382-4-git-send-email-dhinakaran.pandiyan@intel.com> References: <1493663819-3382-1-git-send-email-dhinakaran.pandiyan@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1493663819-3382-1-git-send-email-dhinakaran.pandiyan@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org Cc: dri-devel@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogIlBhbmRpeWFuLCBEaGluYWthcmFuIiA8ZGhpbmFrYXJhbi5wYW5kaXlhbkBpbnRlbC5j b20+Cgpkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cygpIHNob3VsZCBiZSBjYWxsZWQgZnJv bSAtPmF0b21pY19jaGVjaygpIHRvCmNoZWNrIHRoZXJlIGFyZSBzdWZmaWNpZW50IHZjcGkgc2xv dHMgZm9yIGEgbW9kZSBhbmQgdG8gYWRkIHRoYXQgdG8gdGhlCnN0YXRlLiBUaGlzIHNob3VsZCBi ZSBmb2xsb3dlZCBieSBhIGNhbGwgdG8gZHJtX2RwX21zdF9hbGxvY2F0ZV92Y3BpKCkKaW4gLT5h dG9taWNfY29tbWl0KCkgdG8gaW5pdGlhbGl6ZSBhIHN0cnVjdCB2Y3BpIGZvciB0aGUgcG9ydC4K CmRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKCkgc2hvdWxkIGJlIGNhbGxlZCBmcm9t Ci0+YXRvbWljX2NoZWNrKCkgdG8gcmVsZWFzZSBhIHBvcnQncyB2Y3BpIHNsb3QgYWxsb2NhdGlv biBmcm9tIHRoZQpzdGF0ZS4KCkRyaXZlcnMgdGhhdCBkbyBub3QgbWFrZSB1c2Ugb2YgdGhpcyBh dG9taWMgaGVscGVyIGFyZSBleHBlY3RlZCB0byBjYWxsCmRybV9kcF9maW5kX3ZjcGlfc2xvdHMo KSBpbnN0ZWFkIGJlZm9yZSBjYWxsaW5nCmRybV9kcF9tc3RfYWxsb2NhdGVfdmNwaSgpLgoKdjM6 IGRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKCkgbm93IG5lZWRzIHRvIGtub3cgaG93 IG1hbnkgc2xvdHMKICAgIHRvIHJlbGVhc2UgYXMgd2UgbWF5IG5vdCBoYXZlIGEgdmFsaWQgcmVm ZXJlbmNlIHRvIHBvcnQuCnYyOgpBZGRlZCBjaGVja3MgZm9yIHZlcmlmeWluZyB0aGUgcG9ydCBy ZWZlcmVuY2UgaXMgdmFsaWQKTW92ZWQgZ2V0X21zdF90b3BvbG9neV9zdGF0ZSgpIGludG8gdGhl IGhlbHBlcnMgKERhbmllbCkKQ2hhbmdlZCBmaW5kX3ZjcGlfc2xvdHMoKSB0byBub3QgZGVwZW5k IG9uIGN1cnJlbnQgYWxsb2NhdGlvbgoKQ2M6IERhbmllbCBWZXR0ZXIgPGRhbmllbC52ZXR0ZXJA ZmZ3bGwuY2g+CkNjOiBNYWFydGVuIExhbmtob3JzdCA8bWFhcnRlbi5sYW5raG9yc3RAbGludXgu aW50ZWwuY29tPgpDYzogQXJjaGl0IFRhbmVqYSA8YXJjaGl0dEBjb2RlYXVyb3JhLm9yZz4KQ2M6 IENocmlzIFdpbHNvbiA8Y2hyaXNAY2hyaXMtd2lsc29uLmNvLnVrPgpDYzogSGFycnkgV2VudGxh bmQgPEhhcnJ5LndlbnRsYW5kQGFtZC5jb20+CgpSZXZpZXdlZC1ieTogTWFhcnRlbiBMYW5raG9y c3QgPG1hYXJ0ZW4ubGFua2hvcnN0QGxpbnV4LmludGVsLmNvbT4KUmV2aWV3ZWQtYnk6IEhhcnJ5 IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29tPgpTaWduZWQtb2ZmLWJ5OiBEaGluYWth cmFuIFBhbmRpeWFuIDxkaGluYWthcmFuLnBhbmRpeWFuQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIHwgNzUgKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKysrKysKIGluY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmggICAgICAgfCAg NiArKysKIDIgZmlsZXMgY2hhbmdlZCwgODEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2RwX21zdF90b3BvbG9neS5jCmluZGV4IDBhZDBiYWEuLmQxY2JiOWMgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKKysrIGIvZHJpdmVycy9ncHUvZHJt L2RybV9kcF9tc3RfdG9wb2xvZ3kuYwpAQCAtMjQ5OCw2ICsyNDk4LDgxIEBAIHN0YXRpYyBpbnQg ZHJtX2RwX2luaXRfdmNwaShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIH0K IAogLyoqCisgKiBkcm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cygpIC0gRmluZCBhbmQgYWRk IHZjcGkgc2xvdHMgdG8gdGhlIHN0YXRlCisgKiBAc3RhdGU6IGdsb2JhbCBhdG9taWMgc3RhdGUK KyAqIEBtZ3I6IE1TVCB0b3BvbG9neSBtYW5hZ2VyIGZvciB0aGUgcG9ydAorICogQHBvcnQ6IHBv cnQgdG8gZmluZCB2Y3BpIHNsb3RzIGZvcgorICogQHBibjogYmFuZHdpZHRoIHJlcXVpcmVkIGZv ciB0aGUgbW9kZSBpbiBQQk4KKyAqCisgKiBSRVRVUk5TOgorICogVG90YWwgc2xvdHMgaW4gdGhl IGF0b21pYyBzdGF0ZSBhc3NpZ25lZCBmb3IgdGhpcyBwb3J0IG9yIGVycm9yCisgKi8KK2ludCBk cm1fZHBfYXRvbWljX2ZpbmRfdmNwaV9zbG90cyhzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUsCisJCQkJICBzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKKwkJCQkgIHN0 cnVjdCBkcm1fZHBfbXN0X3BvcnQgKnBvcnQsIGludCBwYm4pCit7CisJc3RydWN0IGRybV9kcF9t c3RfdG9wb2xvZ3lfc3RhdGUgKnRvcG9sb2d5X3N0YXRlOworCWludCByZXFfc2xvdHM7CisKKwl0 b3BvbG9neV9zdGF0ZSA9IGRybV9hdG9taWNfZ2V0X21zdF90b3BvbG9neV9zdGF0ZShzdGF0ZSwg bWdyKTsKKwlpZiAodG9wb2xvZ3lfc3RhdGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisK Kwlwb3J0ID0gZHJtX2RwX2dldF92YWxpZGF0ZWRfcG9ydF9yZWYobWdyLCBwb3J0KTsKKwlpZiAo cG9ydCA9PSBOVUxMKQorCQlyZXR1cm4gLUVJTlZBTDsKKwlyZXFfc2xvdHMgPSBESVZfUk9VTkRf VVAocGJuLCBtZ3ItPnBibl9kaXYpOworCURSTV9ERUJVR19LTVMoInZjcGkgc2xvdHMgcmVxPSVk LCBhdmFpbD0lZFxuIiwKKwkJCXJlcV9zbG90cywgdG9wb2xvZ3lfc3RhdGUtPmF2YWlsX3Nsb3Rz KTsKKworCWlmIChyZXFfc2xvdHMgPiB0b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMpIHsKKwkJ ZHJtX2RwX3B1dF9wb3J0KHBvcnQpOworCQlyZXR1cm4gLUVOT1NQQzsKKwl9CisKKwl0b3BvbG9n eV9zdGF0ZS0+YXZhaWxfc2xvdHMgLT0gcmVxX3Nsb3RzOworCURSTV9ERUJVR19LTVMoInZjcGkg c2xvdHMgYXZhaWw9JWQiLCB0b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMpOworCisJZHJtX2Rw X3B1dF9wb3J0KHBvcnQpOworCXJldHVybiByZXFfc2xvdHM7Cit9CitFWFBPUlRfU1lNQk9MKGRy bV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKTsKKworLyoqCisgKiBkcm1fZHBfYXRvbWljX3Jl bGVhc2VfdmNwaV9zbG90cygpIC0gUmVsZWFzZSBhbGxvY2F0ZWQgdmNwaSBzbG90cworICogQHN0 YXRlOiBnbG9iYWwgYXRvbWljIHN0YXRlCisgKiBAbWdyOiBNU1QgdG9wb2xvZ3kgbWFuYWdlciBm b3IgdGhlIHBvcnQKKyAqIEBzbG90czogbnVtYmVyIG9mIHZjcGkgc2xvdHMgdG8gcmVsZWFzZQor ICoKKyAqIFJFVFVSTlM6CisgKiAwIGlmIEBzbG90cyB3ZXJlIGFkZGVkIGJhY2sgdG8gJmRybV9k cF9tc3RfdG9wb2xvZ3lfc3RhdGUtPmF2YWlsX3Nsb3RzIG9yCisgKiBuZWdhdGl2ZSBlcnJvciBj b2RlCisgKi8KK2ludCBkcm1fZHBfYXRvbWljX3JlbGVhc2VfdmNwaV9zbG90cyhzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9n eV9tZ3IgKm1nciwKKwkJCQkgICAgIGludCBzbG90cykKK3sKKwlzdHJ1Y3QgZHJtX2RwX21zdF90 b3BvbG9neV9zdGF0ZSAqdG9wb2xvZ3lfc3RhdGU7CisKKwl0b3BvbG9neV9zdGF0ZSA9IGRybV9h dG9taWNfZ2V0X21zdF90b3BvbG9neV9zdGF0ZShzdGF0ZSwgbWdyKTsKKwlpZiAodG9wb2xvZ3lf c3RhdGUgPT0gTlVMTCkKKwkJcmV0dXJuIC1FTk9NRU07CisKKwkvKiBXZSBjYW5ub3QgcmVseSBv biBwb3J0LT52Y3BpLm51bV9zbG90cyB0byB1cGRhdGUKKwkgKiB0b3BvbG9neV9zdGF0ZS0+YXZh aWxfc2xvdHMgYXMgdGhlIHBvcnQgbWF5IG5vdCBleGlzdCBpZiB0aGUgcGFyZW50CisJICogYnJh bmNoIGRldmljZSB3YXMgdW5wbHVnZ2VkLiBUaGlzIHNob3VsZCBiZSBmaXhlZCBieSB0cmFja2lu ZworCSAqIHBlci1wb3J0IHNsb3QgYWxsb2NhdGlvbiBpbiBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0 YXRlIGluc3RlYWQgb2YKKwkgKiBkZXBlbmRpbmcgb24gdGhlIGNhbGxlciB0byB0ZWxsIHVzIGhv dyBtYW55IHNsb3RzIHRvIHJlbGVhc2UuCisJICovCisJdG9wb2xvZ3lfc3RhdGUtPmF2YWlsX3Ns b3RzICs9IHNsb3RzOworCURSTV9ERUJVR19LTVMoInZjcGkgc2xvdHMgcmVsZWFzZWQ9JWQsIGF2 YWlsPSVkXG4iLAorCQkJc2xvdHMsIHRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90cyk7CisKKwly ZXR1cm4gMDsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2RwX2F0b21pY19yZWxlYXNlX3ZjcGlfc2xv dHMpOworCisvKioKICAqIGRybV9kcF9tc3RfYWxsb2NhdGVfdmNwaSgpIC0gQWxsb2NhdGUgYSB2 aXJ0dWFsIGNoYW5uZWwKICAqIEBtZ3I6IG1hbmFnZXIgZm9yIHRoaXMgcG9ydAogICogQHBvcnQ6 IHBvcnQgdG8gYWxsb2NhdGUgYSB2aXJ0dWFsIGNoYW5uZWwgZm9yLgpkaWZmIC0tZ2l0IGEvaW5j bHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCBiL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVs cGVyLmgKaW5kZXggMGIzNzFkZi4uMTc3YWI2ZiAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJt X2RwX21zdF9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCkBA IC02MTUsNSArNjE1LDExIEBAIHZvaWQgZHJtX2RwX21zdF90b3BvbG9neV9tZ3Jfc3VzcGVuZChz dHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncik7CiBpbnQgZHJtX2RwX21zdF90b3Bv bG9neV9tZ3JfcmVzdW1lKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKTsKIHN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlICpkcm1fYXRvbWljX2dldF9tc3RfdG9wb2xv Z3lfc3RhdGUoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAogCQkJCQkJCQkgICAgc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpOworaW50IGRybV9kcF9hdG9taWNfZmlu ZF92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJCQkgIHN0cnVj dCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAorCQkJCSAgc3RydWN0IGRybV9kcF9tc3Rf cG9ydCAqcG9ydCwgaW50IHBibik7CitpbnQgZHJtX2RwX2F0b21pY19yZWxlYXNlX3ZjcGlfc2xv dHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkJCSAgICAgc3RydWN0IGRybV9k cF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCisJCQkJICAgICBpbnQgc2xvdHMpOwogCiAjZW5kaWYK LS0gCjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f XwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcK aHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK