From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [WIP PATCH 12/15] drm/dp_mst: Add some atomic state iterator macros Date: Thu, 13 Dec 2018 20:25:41 -0500 Message-ID: <20181214012604.13746-13-lyude@redhat.com> References: <20181214012604.13746-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181214012604.13746-1-lyude-H+wXaHxf7aLQT0dZR+AlfA@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: nouveau-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Nouveau" To: dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Sean Paul , Maxime Ripard , Maarten Lankhorst , linux-kernel-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, David Airlie , Jerry Zuo , Daniel Vetter , Harry Wentland List-Id: intel-gfx@lists.freedesktop.org Q2hhbmdlcyBzaW5jZSB2NjoKIC0gTW92ZSBFWFBPUlRfU1lNQk9MKCkgZm9yIGRybV9kcF9tc3Rf dG9wb2xvZ3lfc3RhdGVfZnVuY3MgdG8gdGhpcwogICBjb21taXQKIC0gRG9jdW1lbnQgX19kcm1f ZHBfbXN0X3N0YXRlX2l0ZXJfZ2V0KCkgYW5kIG5vdGUgdGhhdCBpdCBzaG91bGRuJ3QgYmUKICAg Y2FsbGVkIGRpcmVjdGx5CgpTaWduZWQtb2ZmLWJ5OiBMeXVkZSBQYXVsIDxseXVkZUByZWRoYXQu Y29tPgpSZXZpZXdlZC1ieTogRGFuaWVsIFZldHRlciA8ZGFuaWVsLnZldHRlckBmZndsbC5jaD4K LS0tCiBkcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIHwgIDUgKy0KIGluY2x1 ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmggICAgICAgfCA5NiArKysrKysrKysrKysrKysrKysr KysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKSwgMiBkZWxldGlvbnMo LSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jIGIv ZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9wb2xvZ3kuYwppbmRleCA5M2YwOGJmZDJhYjMu LjhkOTRjODk0M2FjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2RybV9kcF9tc3RfdG9w b2xvZ3kuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vZHJtX2RwX21zdF90b3BvbG9neS5jCkBAIC0z NDE1LDEwICszNDE1LDExIEBAIHN0YXRpYyB2b2lkIGRybV9kcF9tc3RfZGVzdHJveV9zdGF0ZShz dHJ1Y3QgZHJtX3ByaXZhdGVfb2JqICpvYmosCiAJa2ZyZWUobXN0X3N0YXRlKTsKIH0KIAotc3Rh dGljIGNvbnN0IHN0cnVjdCBkcm1fcHJpdmF0ZV9zdGF0ZV9mdW5jcyBtc3Rfc3RhdGVfZnVuY3Mg PSB7Citjb25zdCBzdHJ1Y3QgZHJtX3ByaXZhdGVfc3RhdGVfZnVuY3MgZHJtX2RwX21zdF90b3Bv bG9neV9zdGF0ZV9mdW5jcyA9IHsKIAkuYXRvbWljX2R1cGxpY2F0ZV9zdGF0ZSA9IGRybV9kcF9t c3RfZHVwbGljYXRlX3N0YXRlLAogCS5hdG9taWNfZGVzdHJveV9zdGF0ZSA9IGRybV9kcF9tc3Rf ZGVzdHJveV9zdGF0ZSwKIH07CitFWFBPUlRfU1lNQk9MKGRybV9kcF9tc3RfdG9wb2xvZ3lfc3Rh dGVfZnVuY3MpOwogCiAvKioKICAqIGRybV9hdG9taWNfZ2V0X21zdF90b3BvbG9neV9zdGF0ZTog Z2V0IE1TVCB0b3BvbG9neSBzdGF0ZQpAQCAtMzUwMiw3ICszNTAzLDcgQEAgaW50IGRybV9kcF9t c3RfdG9wb2xvZ3lfbWdyX2luaXQoc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfbWdyICptZ3Is CiAKIAlkcm1fYXRvbWljX3ByaXZhdGVfb2JqX2luaXQoZGV2LCAmbWdyLT5iYXNlLAogCQkJCSAg ICAmbXN0X3N0YXRlLT5iYXNlLAotCQkJCSAgICAmbXN0X3N0YXRlX2Z1bmNzKTsKKwkJCQkgICAg JmRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGVfZnVuY3MpOwogCiAJcmV0dXJuIDA7CiB9CmRpZmYg LS1naXQgYS9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oIGIvaW5jbHVkZS9kcm0vZHJt X2RwX21zdF9oZWxwZXIuaAppbmRleCA1MDY0M2EzOTc2NWQuLmI4YThkNzU0MTBkMCAxMDA2NDQK LS0tIGEvaW5jbHVkZS9kcm0vZHJtX2RwX21zdF9oZWxwZXIuaAorKysgYi9pbmNsdWRlL2RybS9k cm1fZHBfbXN0X2hlbHBlci5oCkBAIC02MzcsNCArNjM3LDEwMCBAQCBpbnQgZHJtX2RwX3NlbmRf cG93ZXJfdXBkb3duX3BoeShzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgKm1nciwKIHZv aWQgZHJtX2RwX21zdF9nZXRfcG9ydF9tYWxsb2Moc3RydWN0IGRybV9kcF9tc3RfcG9ydCAqcG9y dCk7CiB2b2lkIGRybV9kcF9tc3RfcHV0X3BvcnRfbWFsbG9jKHN0cnVjdCBkcm1fZHBfbXN0X3Bv cnQgKnBvcnQpOwogCitleHRlcm4gY29uc3Qgc3RydWN0IGRybV9wcml2YXRlX3N0YXRlX2Z1bmNz IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGVfZnVuY3M7CisKKy8qKgorICogX19kcm1fZHBfbXN0 X3N0YXRlX2l0ZXJfZ2V0IC0gcHJpdmF0ZSBhdG9taWMgc3RhdGUgaXRlcmF0b3IgZnVuY3Rpb24g Zm9yCisgKiBtYWNyby1pbnRlcm5hbCB1c2UKKyAqIEBzdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWlj X3N0YXRlIHBvaW50ZXIKKyAqIEBtZ3I6IHBvaW50ZXIgdG8gdGhlICZzdHJ1Y3QgZHJtX2RwX21z dF90b3BvbG9neV9tZ3IgaXRlcmF0aW9uIGN1cnNvcgorICogQG9sZF9zdGF0ZTogb3B0aW9uYWwg cG9pbnRlciB0byB0aGUgb2xkICZzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZQorICog aXRlcmF0aW9uIGN1cnNvcgorICogQG5ld19zdGF0ZTogb3B0aW9uYWwgcG9pbnRlciB0byB0aGUg bmV3ICZzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9zdGF0ZQorICogaXRlcmF0aW9uIGN1cnNv cgorICogQGk6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8taW50ZXJuYWwgdXNlCisg KgorICogVXNlZCBieSBmb3JfZWFjaF9vbGRuZXdfbXN0X21ncl9pbl9zdGF0ZSgpLAorICogZm9y X2VhY2hfb2xkX21zdF9tZ3JfaW5fc3RhdGUoKSwgYW5kIGZvcl9lYWNoX25ld19tc3RfbWdyX2lu X3N0YXRlKCkuIERvbid0CisgKiBjYWxsIHRoaXMgZGlyZWN0bHkuCisgKgorICogUmV0dXJuczoK KyAqIFRydWUgaWYgdGhlIGN1cnJlbnQgJnN0cnVjdCBkcm1fcHJpdmF0ZV9vYmogaXMgYSAmc3Ry dWN0CisgKiBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciwgZmFsc2Ugb3RoZXJ3aXNlLgorICovCitz dGF0aWMgaW5saW5lIGJvb2wKK19fZHJtX2RwX21zdF9zdGF0ZV9pdGVyX2dldChzdHJ1Y3QgZHJt X2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkgICAgc3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lf bWdyICoqbWdyLAorCQkJICAgIHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlICoqb2xk X3N0YXRlLAorCQkJICAgIHN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlICoqbmV3X3N0 YXRlLAorCQkJICAgIGludCBpKQoreworCXN0cnVjdCBfX2RybV9wcml2YXRlX29ianNfc3RhdGUg Km9ianNfc3RhdGUgPSAmc3RhdGUtPnByaXZhdGVfb2Jqc1tpXTsKKworCWlmIChvYmpzX3N0YXRl LT5wdHItPmZ1bmNzICE9ICZkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlX2Z1bmNzKQorCQlyZXR1 cm4gZmFsc2U7CisKKwkqbWdyID0gdG9fZHBfbXN0X3RvcG9sb2d5X21ncihvYmpzX3N0YXRlLT5w dHIpOworCWlmIChvbGRfc3RhdGUpCisJCSpvbGRfc3RhdGUgPSB0b19kcF9tc3RfdG9wb2xvZ3lf c3RhdGUob2Jqc19zdGF0ZS0+b2xkX3N0YXRlKTsKKwlpZiAobmV3X3N0YXRlKQorCQkqbmV3X3N0 YXRlID0gdG9fZHBfbXN0X3RvcG9sb2d5X3N0YXRlKG9ianNfc3RhdGUtPm5ld19zdGF0ZSk7CisK KwlyZXR1cm4gdHJ1ZTsKK30KKworLyoqCisgKiBmb3JfZWFjaF9vbGRuZXdfbXN0X21ncl9pbl9z dGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgRFAgTVNUIHRvcG9sb2d5CisgKiBtYW5hZ2VycyBpbiBh biBhdG9taWMgdXBkYXRlCisgKiBAX19zdGF0ZTogJnN0cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBv aW50ZXIKKyAqIEBtZ3I6ICZzdHJ1Y3QgZHJtX2RwX21zdF90b3BvbG9neV9tZ3IgaXRlcmF0aW9u IGN1cnNvcgorICogQG9sZF9zdGF0ZTogJnN0cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRl IGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZSBvbGQKKyAqIHN0YXRlCisgKiBAbmV3X3N0YXRlOiAm c3RydWN0IGRybV9kcF9tc3RfdG9wb2xvZ3lfc3RhdGUgaXRlcmF0aW9uIGN1cnNvciBmb3IgdGhl IG5ldworICogc3RhdGUKKyAqIEBfX2k6IGludCBpdGVyYXRpb24gY3Vyc29yLCBmb3IgbWFjcm8t aW50ZXJuYWwgdXNlCisgKgorICogVGhpcyBpdGVyYXRlcyBvdmVyIGFsbCBEUk0gRFAgTVNUIHRv cG9sb2d5IG1hbmFnZXJzIGluIGFuIGF0b21pYyB1cGRhdGUsCisgKiB0cmFja2luZyBib3RoIG9s ZCBhbmQgbmV3IHN0YXRlLiBUaGlzIGlzIHVzZWZ1bCBpbiBwbGFjZXMgd2hlcmUgdGhlIHN0YXRl CisgKiBkZWx0YSBuZWVkcyB0byBiZSBjb25zaWRlcmVkLCBmb3IgZXhhbXBsZSBpbiBhdG9taWMg Y2hlY2sgZnVuY3Rpb25zLgorICovCisjZGVmaW5lIGZvcl9lYWNoX29sZG5ld19tc3RfbWdyX2lu X3N0YXRlKF9fc3RhdGUsIG1nciwgb2xkX3N0YXRlLCBuZXdfc3RhdGUsIF9faSkgXAorCWZvciAo KF9faSkgPSAwOyAoX19pKSA8IChfX3N0YXRlKS0+bnVtX3ByaXZhdGVfb2JqczsgKF9faSkrKykg XAorCQlmb3JfZWFjaF9pZihfX2RybV9kcF9tc3Rfc3RhdGVfaXRlcl9nZXQoKF9fc3RhdGUpLCAm KG1nciksICYob2xkX3N0YXRlKSwgJihuZXdfc3RhdGUpLCAoX19pKSkpCisKKy8qKgorICogZm9y X2VhY2hfb2xkX21zdF9tZ3JfaW5fc3RhdGUgLSBpdGVyYXRlIG92ZXIgYWxsIERQIE1TVCB0b3Bv bG9neSBtYW5hZ2VycworICogaW4gYW4gYXRvbWljIHVwZGF0ZQorICogQF9fc3RhdGU6ICZzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSBwb2ludGVyCisgKiBAbWdyOiAmc3RydWN0IGRybV9kcF9tc3Rf dG9wb2xvZ3lfbWdyIGl0ZXJhdGlvbiBjdXJzb3IKKyAqIEBvbGRfc3RhdGU6ICZzdHJ1Y3QgZHJt X2RwX21zdF90b3BvbG9neV9zdGF0ZSBpdGVyYXRpb24gY3Vyc29yIGZvciB0aGUgb2xkCisgKiBz dGF0ZQorICogQF9faTogaW50IGl0ZXJhdGlvbiBjdXJzb3IsIGZvciBtYWNyby1pbnRlcm5hbCB1 c2UKKyAqCisgKiBUaGlzIGl0ZXJhdGVzIG92ZXIgYWxsIERSTSBEUCBNU1QgdG9wb2xvZ3kgbWFu YWdlcnMgaW4gYW4gYXRvbWljIHVwZGF0ZSwKKyAqIHRyYWNraW5nIG9ubHkgdGhlIG9sZCBzdGF0 ZS4gVGhpcyBpcyB1c2VmdWwgaW4gZGlzYWJsZSBmdW5jdGlvbnMsIHdoZXJlIHdlCisgKiBuZWVk IHRoZSBvbGQgc3RhdGUgdGhlIGhhcmR3YXJlIGlzIHN0aWxsIGluLgorICovCisjZGVmaW5lIGZv cl9lYWNoX29sZF9tc3RfbWdyX2luX3N0YXRlKF9fc3RhdGUsIG1nciwgb2xkX3N0YXRlLCBfX2kp IFwKKwlmb3IgKChfX2kpID0gMDsgKF9faSkgPCAoX19zdGF0ZSktPm51bV9wcml2YXRlX29ianM7 IChfX2kpKyspIFwKKwkJZm9yX2VhY2hfaWYoX19kcm1fZHBfbXN0X3N0YXRlX2l0ZXJfZ2V0KChf X3N0YXRlKSwgJihtZ3IpLCAmKG9sZF9zdGF0ZSksIE5VTEwsIChfX2kpKSkKKworLyoqCisgKiBm b3JfZWFjaF9uZXdfbXN0X21ncl9pbl9zdGF0ZSAtIGl0ZXJhdGUgb3ZlciBhbGwgRFAgTVNUIHRv cG9sb2d5IG1hbmFnZXJzCisgKiBpbiBhbiBhdG9taWMgdXBkYXRlCisgKiBAX19zdGF0ZTogJnN0 cnVjdCBkcm1fYXRvbWljX3N0YXRlIHBvaW50ZXIKKyAqIEBtZ3I6ICZzdHJ1Y3QgZHJtX2RwX21z dF90b3BvbG9neV9tZ3IgaXRlcmF0aW9uIGN1cnNvcgorICogQG5ld19zdGF0ZTogJnN0cnVjdCBk cm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlIGl0ZXJhdGlvbiBjdXJzb3IgZm9yIHRoZSBuZXcKKyAq IHN0YXRlCisgKiBAX19pOiBpbnQgaXRlcmF0aW9uIGN1cnNvciwgZm9yIG1hY3JvLWludGVybmFs IHVzZQorICoKKyAqIFRoaXMgaXRlcmF0ZXMgb3ZlciBhbGwgRFJNIERQIE1TVCB0b3BvbG9neSBt YW5hZ2VycyBpbiBhbiBhdG9taWMgdXBkYXRlLAorICogdHJhY2tpbmcgb25seSB0aGUgbmV3IHN0 YXRlLiBUaGlzIGlzIHVzZWZ1bCBpbiBlbmFibGUgZnVuY3Rpb25zLCB3aGVyZSB3ZQorICogbmVl ZCB0aGUgbmV3IHN0YXRlIHRoZSBoYXJkd2FyZSBzaG91bGQgYmUgaW4gd2hlbiB0aGUgYXRvbWlj IGNvbW1pdAorICogb3BlcmF0aW9uIGhhcyBjb21wbGV0ZWQuCisgKi8KKyNkZWZpbmUgZm9yX2Vh Y2hfbmV3X21zdF9tZ3JfaW5fc3RhdGUoX19zdGF0ZSwgbWdyLCBuZXdfc3RhdGUsIF9faSkgXAor CWZvciAoKF9faSkgPSAwOyAoX19pKSA8IChfX3N0YXRlKS0+bnVtX3ByaXZhdGVfb2JqczsgKF9f aSkrKykgXAorCQlmb3JfZWFjaF9pZihfX2RybV9kcF9tc3Rfc3RhdGVfaXRlcl9nZXQoKF9fc3Rh dGUpLCAmKG1nciksIE5VTEwsICYobmV3X3N0YXRlKSwgKF9faSkpKQorCiAjZW5kaWYKLS0gCjIu MTkuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91 dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==