From mboxrd@z Thu Jan 1 00:00:00 1970 From: Lyude Paul Subject: [PATCH v2 1/4] drm/dp_mst: Add some atomic state iterator macros Date: Fri, 26 Oct 2018 16:35:46 -0400 Message-ID: <20181026203549.1796-2-lyude@redhat.com> References: <20181026203549.1796-1-lyude@redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20181026203549.1796-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: intel-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, nouveau-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Daniel Vetter List-Id: dri-devel@lists.freedesktop.org U2lnbmVkLW9mZi1ieTogTHl1ZGUgUGF1bCA8bHl1ZGVAcmVkaGF0LmNvbT4KQ2M6IERhbmllbCBW ZXR0ZXIgPGRhbmllbEBmZndsbC5jaD4KLS0tCiBpbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBl ci5oIHwgNzcgKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiAxIGZpbGUgY2hhbmdl ZCwgNzcgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2luY2x1ZGUvZHJtL2RybV9kcF9tc3Rf aGVscGVyLmggYi9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hlbHBlci5oCmluZGV4IDU5ZjAwNWI0 MTljZi4uM2ZhY2ViNjZmNWNiIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fZHBfbXN0X2hl bHBlci5oCisrKyBiL2luY2x1ZGUvZHJtL2RybV9kcF9tc3RfaGVscGVyLmgKQEAgLTYyOCw0ICs2 MjgsODEgQEAgaW50IGRybV9kcF9hdG9taWNfcmVsZWFzZV92Y3BpX3Nsb3RzKHN0cnVjdCBkcm1f YXRvbWljX3N0YXRlICpzdGF0ZSwKIGludCBkcm1fZHBfc2VuZF9wb3dlcl91cGRvd25fcGh5KHN0 cnVjdCBkcm1fZHBfbXN0X3RvcG9sb2d5X21nciAqbWdyLAogCQkJCSBzdHJ1Y3QgZHJtX2RwX21z dF9wb3J0ICpwb3J0LCBib29sIHBvd2VyX3VwKTsKIAorZXh0ZXJuIGNvbnN0IHN0cnVjdCBkcm1f cHJpdmF0ZV9zdGF0ZV9mdW5jcyBkcm1fZHBfbXN0X3RvcG9sb2d5X3N0YXRlX2Z1bmNzOworCitz 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 MTcuMgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KTm91 dmVhdSBtYWlsaW5nIGxpc3QKTm91dmVhdUBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9s aXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9ub3V2ZWF1Cg==