From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dhinakaran Pandiyan Subject: [PATCH v7 3/4] drm/dp: Add DP MST helpers to atomically find and release vcpi slots Date: Thu, 20 Apr 2017 22:51:32 -0700 Message-ID: <1492753893-3748-4-git-send-email-dhinakaran.pandiyan@intel.com> References: <1492753893-3748-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: <1492753893-3748-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: architt@codeaurora.org, daniel.vetter@ffwll.ch, dri-devel@lists.freedesktop.org, "Pandiyan, Dhinakaran" , Harry.wentland@amd.com List-Id: dri-devel@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+ClNpZ25lZC1vZmYtYnk6IERoaW5ha2FyYW4gUGFu ZGl5YW4gPGRoaW5ha2FyYW4ucGFuZGl5YW5AaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCA3NSArKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKwogaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaCAgICAgICB8ICA2ICsrKwog MiBmaWxlcyBjaGFuZ2VkLCA4MSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0 X3RvcG9sb2d5LmMKaW5kZXggMGFkMGJhYS4uZDFjYmI5YyAxMDA2NDQKLS0tIGEvZHJpdmVycy9n cHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2Rw X21zdF90b3BvbG9neS5jCkBAIC0yNDk4LDYgKzI0OTgsODEgQEAgc3RhdGljIGludCBkcm1fZHBf aW5pdF92Y3BpKHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogfQogCiAvKioK KyAqIGRybV9kcF9hdG9taWNfZmluZF92Y3BpX3Nsb3RzKCkgLSBGaW5kIGFuZCBhZGQgdmNwaSBz bG90cyB0byB0aGUgc3RhdGUKKyAqIEBzdGF0ZTogZ2xvYmFsIGF0b21pYyBzdGF0ZQorICogQG1n cjogTVNUIHRvcG9sb2d5IG1hbmFnZXIgZm9yIHRoZSBwb3J0CisgKiBAcG9ydDogcG9ydCB0byBm aW5kIHZjcGkgc2xvdHMgZm9yCisgKiBAcGJuOiBiYW5kd2lkdGggcmVxdWlyZWQgZm9yIHRoZSBt b2RlIGluIFBCTgorICoKKyAqIFJFVFVSTlM6CisgKiBUb3RhbCBzbG90cyBpbiB0aGUgYXRvbWlj IHN0YXRlIGFzc2lnbmVkIGZvciB0aGlzIHBvcnQgb3IgZXJyb3IKKyAqLworaW50IGRybV9kcF9h dG9taWNfZmluZF92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwKKwkJ CQkgIHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAorCQkJCSAgc3RydWN0IGRy bV9kcF9tc3RfcG9ydCAqcG9ydCwgaW50IHBibikKK3sKKwlzdHJ1Y3QgZHJtX2RwX21zdF90b3Bv bG9neV9zdGF0ZSAqdG9wb2xvZ3lfc3RhdGU7CisJaW50IHJlcV9zbG90czsKKworCXRvcG9sb2d5 X3N0YXRlID0gZHJtX2F0b21pY19nZXRfbXN0X3RvcG9sb2d5X3N0YXRlKHN0YXRlLCBtZ3IpOwor CWlmICh0b3BvbG9neV9zdGF0ZSA9PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCXBvcnQg PSBkcm1fZHBfZ2V0X3ZhbGlkYXRlZF9wb3J0X3JlZihtZ3IsIHBvcnQpOworCWlmIChwb3J0ID09 IE5VTEwpCisJCXJldHVybiAtRUlOVkFMOworCXJlcV9zbG90cyA9IERJVl9ST1VORF9VUChwYm4s IG1nci0+cGJuX2Rpdik7CisJRFJNX0RFQlVHX0tNUygidmNwaSBzbG90cyByZXE9JWQsIGF2YWls PSVkXG4iLAorCQkJcmVxX3Nsb3RzLCB0b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMpOworCisJ aWYgKHJlcV9zbG90cyA+IHRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90cykgeworCQlkcm1fZHBf cHV0X3BvcnQocG9ydCk7CisJCXJldHVybiAtRU5PU1BDOworCX0KKworCXRvcG9sb2d5X3N0YXRl LT5hdmFpbF9zbG90cyAtPSByZXFfc2xvdHM7CisJRFJNX0RFQlVHX0tNUygidmNwaSBzbG90cyBh dmFpbD0lZCIsIHRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90cyk7CisKKwlkcm1fZHBfcHV0X3Bv cnQocG9ydCk7CisJcmV0dXJuIHJlcV9zbG90czsKK30KK0VYUE9SVF9TWU1CT0woZHJtX2RwX2F0 b21pY19maW5kX3ZjcGlfc2xvdHMpOworCisvKioKKyAqIGRybV9kcF9hdG9taWNfcmVsZWFzZV92 Y3BpX3Nsb3RzKCkgLSBSZWxlYXNlIGFsbG9jYXRlZCB2Y3BpIHNsb3RzCisgKiBAc3RhdGU6IGds b2JhbCBhdG9taWMgc3RhdGUKKyAqIEBtZ3I6IE1TVCB0b3BvbG9neSBtYW5hZ2VyIGZvciB0aGUg cG9ydAorICogQHNsb3RzOiBudW1iZXIgb2YgdmNwaSBzbG90cyB0byByZWxlYXNlCisgKgorICog UkVUVVJOUzoKKyAqIDAgaWYgQHNsb3RzIHdlcmUgYWRkZWQgYmFjayB0byAmZHJtX2RwX21zdF90 b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMgb3IKKyAqIG5lZ2F0aXZlIGVycm9yIGNvZGUKKyAq LworaW50IGRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlICpzdGF0ZSwKKwkJCQkgICAgIHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAq bWdyLAorCQkJCSAgICAgaW50IHNsb3RzKQoreworCXN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5 X3N0YXRlICp0b3BvbG9neV9zdGF0ZTsKKworCXRvcG9sb2d5X3N0YXRlID0gZHJtX2F0b21pY19n ZXRfbXN0X3RvcG9sb2d5X3N0YXRlKHN0YXRlLCBtZ3IpOworCWlmICh0b3BvbG9neV9zdGF0ZSA9 PSBOVUxMKQorCQlyZXR1cm4gLUVOT01FTTsKKworCS8qIFdlIGNhbm5vdCByZWx5IG9uIHBvcnQt PnZjcGkubnVtX3Nsb3RzIHRvIHVwZGF0ZQorCSAqIHRvcG9sb2d5X3N0YXRlLT5hdmFpbF9zbG90 cyBhcyB0aGUgcG9ydCBtYXkgbm90IGV4aXN0IGlmIHRoZSBwYXJlbnQKKwkgKiBicmFuY2ggZGV2 aWNlIHdhcyB1bnBsdWdnZWQuIFRoaXMgc2hvdWxkIGJlIGZpeGVkIGJ5IHRyYWNraW5nCisJICog cGVyLXBvcnQgc2xvdCBhbGxvY2F0aW9uIGluIGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgaW5z dGVhZCBvZgorCSAqIGRlcGVuZGluZyBvbiB0aGUgY2FsbGVyIHRvIHRlbGwgdXMgaG93IG1hbnkg c2xvdHMgdG8gcmVsZWFzZS4KKwkgKi8KKwl0b3BvbG9neV9zdGF0ZS0+YXZhaWxfc2xvdHMgKz0g c2xvdHM7CisJRFJNX0RFQlVHX0tNUygidmNwaSBzbG90cyByZWxlYXNlZD0lZCwgYXZhaWw9JWRc biIsCisJCQlzbG90cywgdG9wb2xvZ3lfc3RhdGUtPmF2YWlsX3Nsb3RzKTsKKworCXJldHVybiAw OworfQorRVhQT1JUX1NZTUJPTChkcm1fZHBfYXRvbWljX3JlbGVhc2VfdmNwaV9zbG90cyk7CisK Ky8qKgogICogZHJtX2RwX21zdF9hbGxvY2F0ZV92Y3BpKCkgLSBBbGxvY2F0ZSBhIHZpcnR1YWwg Y2hhbm5lbAogICogQG1ncjogbWFuYWdlciBmb3IgdGhpcyBwb3J0CiAgKiBAcG9ydDogcG9ydCB0 byBhbGxvY2F0ZSBhIHZpcnR1YWwgY2hhbm5lbCBmb3IuCmRpZmYgLS1naXQgYS9pbmNsdWRlL2Ry bS9kcm1fZHBfbXN0X2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaApp bmRleCAwYjM3MWRmLi4xNzdhYjZmIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfbXN0 X2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgKQEAgLTYxNSw1 ICs2MTUsMTEgQEAgdm9pZCBkcm1fZHBfbXN0X3RvcG9sb2d5X21ncl9zdXNwZW5kKHN0cnVjdCBk cm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyKTsKIGludCBkcm1fZHBfbXN0X3RvcG9sb2d5X21n cl9yZXN1bWUoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IpOwogc3RydWN0IGRy bV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKmRybV9hdG9taWNfZ2V0X21zdF90b3BvbG9neV9zdGF0 ZShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCiAJCQkJCQkJCSAgICBzdHJ1Y3QgZHJt X2RwX21zdF90b3BvbG9neV9tZ3IgKm1ncik7CitpbnQgZHJtX2RwX2F0b21pY19maW5kX3ZjcGlf c2xvdHMoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlLAorCQkJCSAgc3RydWN0IGRybV9k cF9tc3RfdG9wb2xvZ3lfbWdyICptZ3IsCisJCQkJICBzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpw b3J0LCBpbnQgcGJuKTsKK2ludCBkcm1fZHBfYXRvbWljX3JlbGVhc2VfdmNwaV9zbG90cyhzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkJICAgICBzdHJ1Y3QgZHJtX2RwX21zdF90 b3BvbG9neV9tZ3IgKm1nciwKKwkJCQkgICAgIGludCBzbG90cyk7CiAKICNlbmRpZgotLSAKMi43 LjQKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczov L2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=