From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v7 17/20] drm/dp_mst: Add some atomic state iterator macros Date: Thu, 10 Jan 2019 19:53:40 -0500 Message-ID: <20190111005343.17443-18-lyude@redhat.com> References: <20190111005343.17443-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20190111005343.17443-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Daniel Vetter , Jerry Zuo , David Airlie , Harry Wentland , Juston Li List-Id: nouveau.vger.kernel.org Q2hhbmdlcyBzaW5jZSB2NjoKIC0gTW92ZSBFWFBPUlRfU1lNQk9MKCkgZm9yIGRybV9kcF9tc3Rf dG9wb2xvZ3lfc3RhdGVfZnVuY3MgdG8gdGhpcwogICBjb21taXQKIC0gRG9jdW1lbnQgX19kcm1f ZHBfbXN0X3N0YXRlX2l0ZXJfZ2V0KCkgYW5kIG5vdGUgdGhhdCBpdCBzaG91bGRuJ3QgYmUKICAg Y2FsbGVkIGRpcmVjdGx5CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQu Y29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K Q2M6IERhdmlkIEFpcmxpZSA8YWlybGllZEByZWRoYXQuY29tPgpDYzogSmVycnkgWnVvIDxKZXJy eS5adW9AYW1kLmNvbT4KQ2M6IEhhcnJ5IFdlbnRsYW5kIDxoYXJyeS53ZW50bGFuZEBhbWQuY29t PgpDYzogSnVzdG9uIExpIDxqdXN0b24ubGlAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgfCAgNSArLQogaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9o ZWxwZXIuaCAgICAgICB8IDk2ICsrKysrKysrKysrKysrKysrKysrKysrKysrKwogMiBmaWxlcyBj aGFuZ2VkLCA5OSBpbnNlcnRpb25zKCspLCAyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMgYi9kcml2ZXJzL2dwdS9kcm0vZHJt X2RwX21zdF90b3BvbG9neS5jCmluZGV4IGI1OTc2ZjhjMzE4Yy4uZTM0OTdiYzQ5NDk0IDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9kcm1fZHBfbXN0X3RvcG9sb2d5LmMKQEAgLTM1MjEsMTAgKzM1MjEsMTEgQEAg c3RhdGljIHZvaWQgZHJtX2RwX21zdF9kZXN0cm95X3N0YXRlKHN0cnVjdCBkcm1fcHJpdmF0ZV9v YmogKm9iaiwKIAlrZnJlZShtc3Rfc3RhdGUpOwogfQogCi1zdGF0aWMgY29uc3Qgc3RydWN0IGRy bV9wcml2YXRlX3N0YXRlX2Z1bmNzIG1zdF9zdGF0ZV9mdW5jcyA9IHsKK2NvbnN0IHN0cnVjdCBk cm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlX2Z1bmNzID0g ewogCS5hdG9taWNfZHVwbGljYXRlX3N0YXRlID0gZHJtX2RwX21zdF9kdXBsaWNhdGVfc3RhdGUs CiAJLmF0b21pY19kZXN0cm95X3N0YXRlID0gZHJtX2RwX21zdF9kZXN0cm95X3N0YXRlLAogfTsK K0VYUE9SVF9TWU1CT0woZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZV9mdW5jcyk7CiAKIC8qKgog ICogZHJtX2F0b21pY19nZXRfbXN0X3RvcG9sb2d5X3N0YXRlOiBnZXQgTVNUIHRvcG9sb2d5IHN0 YXRlCkBAIC0zNjA4LDcgKzM2MDksNyBAQCBpbnQgZHJtX2RwX21zdF90b3BvbG9neV9tZ3JfaW5p dChzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIAogCWRybV9hdG9taWNfcHJp dmF0ZV9vYmpfaW5pdChkZXYsICZtZ3ItPmJhc2UsCiAJCQkJICAgICZtc3Rfc3RhdGUtPmJhc2Us Ci0JCQkJICAgICZtc3Rfc3RhdGVfZnVuY3MpOworCQkJCSAgICAmZHJtX2RwX21zdF90b3BvbG9n eV9zdGF0ZV9mdW5jcyk7CiAKIAlyZXR1cm4gMDsKIH0KZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJt L2RybV9kcF9tc3RfaGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCmlu ZGV4IDcwZWM0NTJmMmE0Ny4uZmE1MzM1NzFiMTZjIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9k cm1fZHBfbXN0X2hlbHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgK QEAgLTY1MSw0ICs2NTEsMTAwIEBAIGludCBkcm1fZHBfc2VuZF9wb3dlcl91cGRvd25fcGh5KHN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogdm9pZCBkcm1fZHBfbXN0X2dldF9w b3J0X21hbGxvYyhzdHJ1Y3QgZHJtX2RwX21zdF9wb3J0ICpwb3J0KTsKIHZvaWQgZHJtX2RwX21z dF9wdXRfcG9ydF9tYWxsb2Moc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9ydCk7CiAKK2V4dGVy biBjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgZHJtX2RwX21zdF90b3BvbG9n eV9zdGF0ZV9mdW5jczsKKworLyoqCisgKiBfX2RybV9kcF9tc3Rfc3RhdGVfaXRlcl9nZXQgLSBw cml2YXRlIGF0b21pYyBzdGF0ZSBpdGVyYXRvciBmdW5jdGlvbiBmb3IKKyAqIG1hY3JvLWludGVy bmFsIHVzZQorICogQHN0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgorICog QG1ncjogcG9pbnRlciB0byB0aGUgJnN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciBpdGVy YXRpb24gY3Vyc29yCisgKiBAb2xkX3N0YXRlOiBvcHRpb25hbCBwb2ludGVyIHRvIHRoZSBvbGQg JnN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlCisgKiBpdGVyYXRpb24gY3Vyc29yCisg KiBAbmV3X3N0YXRlOiBvcHRpb25hbCBwb2ludGVyIHRvIHRoZSBuZXcgJnN0cnVjdCBkcm1fZHBf bXN0X3RvcG9sb2d5X3N0YXRlCisgKiBpdGVyYXRpb24gY3Vyc29yCisgKiBAaTogaW50IGl0ZXJh dGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1c2UKKyAqCisgKiBVc2VkIGJ5IGZvcl9l YWNoX29sZG5ld19tc3RfbWdyX2luX3N0YXRlKCksCisgKiBmb3JfZWFjaF9vbGRfbXN0X21ncl9p bl9zdGF0ZSgpLCBhbmQgZm9yX2VhY2hfbmV3X21zdF9tZ3JfaW5fc3RhdGUoKS4gRG9uJ3QKKyAq IGNhbGwgdGhpcyBkaXJlY3RseS4KKyAqCisgKiBSZXR1cm5zOgorICogVHJ1ZSBpZiB0aGUgY3Vy cmVudCAmc3RydWN0IGRybV9wcml2YXRlX29iaiBpcyBhICZzdHJ1Y3QKKyAqIGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyLCBmYWxzZSBvdGhlcndpc2UuCisgKi8KK3N0YXRpYyBpbmxpbmUgYm9vbAor X19kcm1fZHBfbXN0X3N0YXRlX2l0ZXJfZ2V0KHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0 ZSwKKwkJCSAgICBzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKiptZ3IsCisJCQkgICAg c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKipvbGRfc3RhdGUsCisJCQkgICAgc3Ry dWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgKipuZXdfc3RhdGUsCisJCQkgICAgaW50IGkp Cit7CisJc3RydWN0IF9fZHJtX3ByaXZhdGVfb2Jqc19zdGF0ZSAqb2Jqc19zdGF0ZSA9ICZzdGF0 ZS0+cHJpdmF0ZV9vYmpzW2ldOworCisJaWYgKG9ianNfc3RhdGUtPnB0ci0+ZnVuY3MgIT0gJmRy bV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGVfZnVuY3MpCisJCXJldHVybiBmYWxzZTsKKworCSptZ3Ig PSB0b19kcF9tc3RfdG9wb2xvZ3lfbWdyKG9ianNfc3RhdGUtPnB0cik7CisJaWYgKG9sZF9zdGF0 ZSkKKwkJKm9sZF9zdGF0ZSA9IHRvX2RwX21zdF90b3BvbG9neV9zdGF0ZShvYmpzX3N0YXRlLT5v bGRfc3RhdGUpOworCWlmIChuZXdfc3RhdGUpCisJCSpuZXdfc3RhdGUgPSB0b19kcF9tc3RfdG9w b2xvZ3lfc3RhdGUob2Jqc19zdGF0ZS0+bmV3X3N0YXRlKTsKKworCXJldHVybiB0cnVlOworfQor CisvKioKKyAqIGZvcl9lYWNoX29sZG5ld19tc3RfbWdyX2luX3N0YXRlIC0gaXRlcmF0ZSBvdmVy IGFsbCBEUCBNU1QgdG9wb2xvZ3kKKyAqIG1hbmFnZXJzIGluIGFuIGF0b21pYyB1cGRhdGUKKyAq IEBfX3N0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3RhdGUgcG9pbnRlcgorICogQG1ncjogJnN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciBpdGVyYXRpb24gY3Vyc29yCisgKiBAb2xkX3N0 YXRlOiAmc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBm b3IgdGhlIG9sZAorICogc3RhdGUKKyAqIEBuZXdfc3RhdGU6ICZzdHJ1Y3QgZHJtX2RwX21zdF90 b3BvbG9neV9zdGF0ZSBpdGVyYXRpb24gY3Vyc29yIGZvciB0aGUgbmV3CisgKiBzdGF0ZQorICog QF9faTogaW50IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1c2UKKyAqCisg KiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIERSTSBEUCBNU1QgdG9wb2xvZ3kgbWFuYWdlcnMgaW4g YW4gYXRvbWljIHVwZGF0ZSwKKyAqIHRyYWNraW5nIGJvdGggb2xkIGFuZCBuZXcgc3RhdGUuIFRo aXMgaXMgdXNlZnVsIGluIHBsYWNlcyB3aGVyZSB0aGUgc3RhdGUKKyAqIGRlbHRhIG5lZWRzIHRv IGJlIGNvbnNpZGVyZWQsIGZvciBleGFtcGxlIGluIGF0b21pYyBjaGVjayBmdW5jdGlvbnMuCisg Ki8KKyNkZWZpbmUgZm9yX2VhY2hfb2xkbmV3X21zdF9tZ3JfaW5fc3RhdGUoX19zdGF0ZSwgbWdy LCBvbGRfc3RhdGUsIG5ld19zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9IDA7IChfX2kpIDwg KF9fc3RhdGUpLT5udW1fcHJpdmF0ZV9vYmpzOyAoX19pKSsrKSBcCisJCWZvcl9lYWNoX2lmKF9f ZHJtX2RwX21zdF9zdGF0ZV9pdGVyX2dldCgoX19zdGF0ZSksICYobWdyKSwgJihvbGRfc3RhdGUp LCAmKG5ld19zdGF0ZSksIChfX2kpKSkKKworLyoqCisgKiBmb3JfZWFjaF9vbGRfbXN0X21ncl9p bl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgRFAgTVNUIHRvcG9sb2d5IG1hbmFnZXJzCisgKiBp biBhbiBhdG9taWMgdXBkYXRlCisgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRl IHBvaW50ZXIKKyAqIEBtZ3I6ICZzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgaXRlcmF0 aW9uIGN1cnNvcgorICogQG9sZF9zdGF0ZTogJnN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0 YXRlIGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZSBvbGQKKyAqIHN0YXRlCisgKiBAX19pOiBpbnQg aXRlcmF0aW9uIGN1cnNvciwgZm9yIG1hY3JvLWludGVybmFsIHVzZQorICoKKyAqIFRoaXMgaXRl cmF0ZXMgb3ZlciBhbGwgRFJNIERQIE1TVCB0b3BvbG9neSBtYW5hZ2VycyBpbiBhbiBhdG9taWMg dXBkYXRlLAorICogdHJhY2tpbmcgb25seSB0aGUgb2xkIHN0YXRlLiBUaGlzIGlzIHVzZWZ1bCBp biBkaXNhYmxlIGZ1bmN0aW9ucywgd2hlcmUgd2UKKyAqIG5lZWQgdGhlIG9sZCBzdGF0ZSB0aGUg aGFyZHdhcmUgaXMgc3RpbGwgaW4uCisgKi8KKyNkZWZpbmUgZm9yX2VhY2hfb2xkX21zdF9tZ3Jf aW5fc3RhdGUoX19zdGF0ZSwgbWdyLCBvbGRfc3RhdGUsIF9faSkgXAorCWZvciAoKF9faSkgPSAw OyAoX19pKSA8IChfX3N0YXRlKS0+bnVtX3ByaXZhdGVfb2JqczsgKF9faSkrKykgXAorCQlmb3Jf ZWFjaF9pZihfX2RybV9kcF9tc3Rfc3RhdGVfaXRlcl9nZXQoKF9fc3RhdGUpLCAmKG1nciksICYo b2xkX3N0YXRlKSwgTlVMTCwgKF9faSkpKQorCisvKioKKyAqIGZvcl9lYWNoX25ld19tc3RfbWdy X2luX3N0YXRlIC0gaXRlcmF0ZSBvdmVyIGFsbCBEUCBNU1QgdG9wb2xvZ3kgbWFuYWdlcnMKKyAq IGluIGFuIGF0b21pYyB1cGRhdGUKKyAqIEBfX3N0YXRlOiAmc3RydWN0IGRybV9hdG9taWNfc3Rh dGUgcG9pbnRlcgorICogQG1ncjogJnN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciBpdGVy YXRpb24gY3Vyc29yCisgKiBAbmV3X3N0YXRlOiAmc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lf c3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhlIG5ldworICogc3RhdGUKKyAqIEBfX2k6IGlu dCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCisgKgorICogVGhpcyBp dGVyYXRlcyBvdmVyIGFsbCBEUk0gRFAgTVNUIHRvcG9sb2d5IG1hbmFnZXJzIGluIGFuIGF0b21p YyB1cGRhdGUsCisgKiB0cmFja2luZyBvbmx5IHRoZSBuZXcgc3RhdGUuIFRoaXMgaXMgdXNlZnVs IGluIGVuYWJsZSBmdW5jdGlvbnMsIHdoZXJlIHdlCisgKiBuZWVkIHRoZSBuZXcgc3RhdGUgdGhl IGhhcmR3YXJlIHNob3VsZCBiZSBpbiB3aGVuIHRoZSBhdG9taWMgY29tbWl0CisgKiBvcGVyYXRp b24gaGFzIGNvbXBsZXRlZC4KKyAqLworI2RlZmluZSBmb3JfZWFjaF9uZXdfbXN0X21ncl9pbl9z dGF0ZShfX3N0YXRlLCBtZ3IsIG5ld19zdGF0ZSwgX19pKSBcCisJZm9yICgoX19pKSA9IDA7IChf X2kpIDwgKF9fc3RhdGUpLT5udW1fcHJpdmF0ZV9vYmpzOyAoX19pKSsrKSBcCisJCWZvcl9lYWNo X2lmKF9fZHJtX2RwX21zdF9zdGF0ZV9pdGVyX2dldCgoX19zdGF0ZSksICYobWdyKSwgTlVMTCwg JihuZXdfc3RhdGUpLCAoX19pKSkpCisKICNlbmRpZgotLSAKMi4yMC4xCgpfX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAph bWQtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9y Zy9tYWlsbWFuL2xpc3RpbmZvL2FtZC1nZngK