From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v3 01/13] drm/i915: Make the force_thru workaround atomic, v2. Date: Wed, 5 Aug 2015 12:36:59 +0200 Message-ID: <1438771031-23227-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1438771031-23227-1-git-send-email-maarten.lankhorst@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mblankhorst.nl (mblankhorst.nl [141.105.120.124]) by gabe.freedesktop.org (Postfix) with ESMTPS id CFB966E6BD for ; Wed, 5 Aug 2015 03:37:17 -0700 (PDT) In-Reply-To: <1438771031-23227-1-git-send-email-maarten.lankhorst@linux.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 List-Id: intel-gfx@lists.freedesktop.org U2V0IGNvbm5lY3RvcnNfY2hhbmdlZCB0byBmb3JjZSBhIG1vZGVzZXQgaWYgdGhlIHBhbmVsIGZp dHRlcidzIGZvcmNlCmVuYWJsZWQgb24gZURQLgoKQ2hhbmdlcyBzaW5jZSB2MToKLSBVc2UgY29u bmVjdG9yc19jaGFuZ2VkIGluc3RlYWQgb2YgYWN0aXZlX2NoYW5nZWQgYmVjYXVzZSBpdCdzIGEK ICByb3V0aW5nIHVwZGF0ZS4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgIHwgODIgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMyArKwogMiBmaWxlcyBj aGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCmluZGV4IDIzYTY5MzA3ZTEyZS4uZDFjNjQzYTgyMjY3IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dw dS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYwpAQCAtMzY0NSw3NCArMzY0NSw0MCBAQCBzdGF0aWMg aW50IGlsa19waXBlX2NyY19jdGxfcmVnKGVudW0gaW50ZWxfcGlwZV9jcmNfc291cmNlICpzb3Vy Y2UsCiAJcmV0dXJuIDA7CiB9CiAKLXN0YXRpYyB2b2lkIGhzd190cmFuc19lZHBfcGlwZV9BX2Ny Y193YShzdHJ1Y3QgZHJtX2RldmljZSAqZGV2KQorc3RhdGljIHZvaWQgaHN3X3RyYW5zX2VkcF9w aXBlX0FfY3JjX3dhKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsIGJvb2wgZW5hYmxlKQogewogCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3Ry dWN0IGludGVsX2NydGMgKmNydGMgPQogCQl0b19pbnRlbF9jcnRjKGRldl9wcml2LT5waXBlX3Rv X2NydGNfbWFwcGluZ1tQSVBFX0FdKTsKIAlzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqcGlwZV9j b25maWc7CisJc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlOworCWludCByZXQgPSAwOwog CiAJZHJtX21vZGVzZXRfbG9ja19hbGwoZGV2KTsKLQlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2Ny dGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Ci0KLQkvKgotCSAqIElmIHdlIHVzZSB0aGUgZURQ IHRyYW5zY29kZXIgd2UgbmVlZCB0byBtYWtlIHN1cmUgdGhhdCB3ZSBkb24ndAotCSAqIGJ5cGFz cyB0aGUgcGZpdCwgc2luY2Ugb3RoZXJ3aXNlIHRoZSBwaXBlIENSQyBzb3VyY2Ugd29uJ3Qgd29y ay4gT25seQotCSAqIHJlbGV2YW50IG9uIGhzdyB3aXRoIHBpcGUgQSB3aGVuIHVzaW5nIHRoZSBh bHdheXMtb24gcG93ZXIgd2VsbAotCSAqIHJvdXRpbmcuCi0JICovCi0JaWYgKHBpcGVfY29uZmln LT5jcHVfdHJhbnNjb2RlciA9PSBUUkFOU0NPREVSX0VEUCAmJgotCSAgICAhcGlwZV9jb25maWct PnBjaF9wZml0LmVuYWJsZWQpIHsKLQkJYm9vbCBhY3RpdmUgPSBwaXBlX2NvbmZpZy0+YmFzZS5h Y3RpdmU7Ci0KLQkJaWYgKGFjdGl2ZSkgewotCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5i YXNlLCBmYWxzZSk7Ci0JCQlwaXBlX2NvbmZpZyA9IHRvX2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+ YmFzZS5zdGF0ZSk7Ci0JCX0KLQotCQlwaXBlX2NvbmZpZy0+cGNoX3BmaXQuZm9yY2VfdGhydSA9 IHRydWU7Ci0KLQkJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQoZGV2X3ByaXYsCi0JCQkJCVBPV0VS X0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihQSVBFX0EpKTsKLQotCQlpZiAoYWN0aXZlKQotCQkJ aW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0cnVlKTsKKwlzdGF0ZSA9IGRybV9hdG9t aWNfc3RhdGVfYWxsb2MoZGV2KTsKKwlpZiAoIXN0YXRlKSB7CisJCXJldCA9IC1FTk9NRU07CisJ CWdvdG8gb3V0OwogCX0KLQlkcm1fbW9kZXNldF91bmxvY2tfYWxsKGRldik7Ci19CiAKLXN0YXRp YyB2b2lkIGhzd191bmRvX3RyYW5zX2VkcF9waXBlX0FfY3JjX3dhKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYpCi17Ci0Jc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZf cHJpdmF0ZTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0YyA9Ci0JCXRvX2ludGVsX2NydGMoZGV2 X3ByaXYtPnBpcGVfdG9fY3J0Y19tYXBwaW5nW1BJUEVfQV0pOwotCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpwaXBlX2NvbmZpZzsKLQotCWRybV9tb2Rlc2V0X2xvY2tfYWxsKGRldik7Ci0JLyoK LQkgKiBJZiB3ZSB1c2UgdGhlIGVEUCB0cmFuc2NvZGVyIHdlIG5lZWQgdG8gbWFrZSBzdXJlIHRo YXQgd2UgZG9uJ3QKLQkgKiBieXBhc3MgdGhlIHBmaXQsIHNpbmNlIG90aGVyd2lzZSB0aGUgcGlw ZSBDUkMgc291cmNlIHdvbid0IHdvcmsuIE9ubHkKLQkgKiByZWxldmFudCBvbiBoc3cgd2l0aCBw aXBlIEEgd2hlbiB1c2luZyB0aGUgYWx3YXlzLW9uIHBvd2VyIHdlbGwKLQkgKiByb3V0aW5nLgot CSAqLwotCXBpcGVfY29uZmlnID0gdG9faW50ZWxfY3J0Y19zdGF0ZShjcnRjLT5iYXNlLnN0YXRl KTsKLQlpZiAocGlwZV9jb25maWctPnBjaF9wZml0LmZvcmNlX3RocnUpIHsKLQkJYm9vbCBhY3Rp dmUgPSBwaXBlX2NvbmZpZy0+YmFzZS5hY3RpdmU7Ci0KLQkJaWYgKGFjdGl2ZSkgewotCQkJaW50 ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCBmYWxzZSk7Ci0JCQlwaXBlX2NvbmZpZyA9IHRv X2ludGVsX2NydGNfc3RhdGUoY3J0Yy0+YmFzZS5zdGF0ZSk7Ci0JCX0KLQotCQlwaXBlX2NvbmZp Zy0+cGNoX3BmaXQuZm9yY2VfdGhydSA9IGZhbHNlOworCXN0YXRlLT5hY3F1aXJlX2N0eCA9IGRy bV9tb2Rlc2V0X2xlZ2FjeV9hY3F1aXJlX2N0eCgmY3J0Yy0+YmFzZSk7CisJcGlwZV9jb25maWcg PSBpbnRlbF9hdG9taWNfZ2V0X2NydGNfc3RhdGUoc3RhdGUsIGNydGMpOworCWlmIChJU19FUlIo cGlwZV9jb25maWcpKSB7CisJCXJldCA9IFBUUl9FUlIocGlwZV9jb25maWcpOworCQlnb3RvIG91 dDsKKwl9CiAKLQkJaW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsCi0JCQkJCVBPV0VS X0RPTUFJTl9QSVBFX1BBTkVMX0ZJVFRFUihQSVBFX0EpKTsKKwlwaXBlX2NvbmZpZy0+cGNoX3Bm aXQuZm9yY2VfdGhydSA9IGVuYWJsZTsKKwlpZiAocGlwZV9jb25maWctPmNwdV90cmFuc2NvZGVy ID09IFRSQU5TQ09ERVJfRURQICYmCisJICAgIHBpcGVfY29uZmlnLT5wY2hfcGZpdC5lbmFibGVk ICE9IGVuYWJsZSkKKwkJcGlwZV9jb25maWctPmJhc2UuY29ubmVjdG9yc19jaGFuZ2VkID0gdHJ1 ZTsKIAotCQlpZiAoYWN0aXZlKQotCQkJaW50ZWxfY3J0Y19jb250cm9sKCZjcnRjLT5iYXNlLCB0 cnVlKTsKLQl9CisJcmV0ID0gZHJtX2F0b21pY19jb21taXQoc3RhdGUpOworb3V0OgogCWRybV9t b2Rlc2V0X3VubG9ja19hbGwoZGV2KTsKKwlXQVJOKHJldCwgIlRvZ2dsaW5nIHdvcmthcm91bmQg dG8gJWkgcmV0dXJucyAlaVxuIiwgZW5hYmxlLCByZXQpOworCWlmIChyZXQpCisJCWRybV9hdG9t aWNfc3RhdGVfZnJlZShzdGF0ZSk7CiB9CiAKIHN0YXRpYyBpbnQgaXZiX3BpcGVfY3JjX2N0bF9y ZWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKQEAgLTM3MzIsNyArMzY5OCw3IEBAIHN0YXRpYyBp bnQgaXZiX3BpcGVfY3JjX2N0bF9yZWcoc3RydWN0IGRybV9kZXZpY2UgKmRldiwKIAkJYnJlYWs7 CiAJY2FzZSBJTlRFTF9QSVBFX0NSQ19TT1VSQ0VfUEY6CiAJCWlmIChJU19IQVNXRUxMKGRldikg JiYgcGlwZSA9PSBQSVBFX0EpCi0JCQloc3dfdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2EoZGV2KTsK KwkJCWhzd190cmFuc19lZHBfcGlwZV9BX2NyY193YShkZXYsIHRydWUpOwogCiAJCSp2YWwgPSBQ SVBFX0NSQ19FTkFCTEUgfCBQSVBFX0NSQ19TT1VSQ0VfUEZfSVZCOwogCQlicmVhazsKQEAgLTM4 NDQsNyArMzgxMCw3IEBAIHN0YXRpYyBpbnQgcGlwZV9jcmNfc2V0X3NvdXJjZShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwKIAkJZWxzZSBpZiAoSVNfVkFMTEVZVklFVyhk ZXYpKQogCQkJdmx2X3VuZG9fcGlwZV9zY3JhbWJsZV9yZXNldChkZXYsIHBpcGUpOwogCQllbHNl IGlmIChJU19IQVNXRUxMKGRldikgJiYgcGlwZSA9PSBQSVBFX0EpCi0JCQloc3dfdW5kb190cmFu c19lZHBfcGlwZV9BX2NyY193YShkZXYpOworCQkJaHN3X3RyYW5zX2VkcF9waXBlX0FfY3JjX3dh KGRldiwgZmFsc2UpOwogCiAJCWhzd19lbmFibGVfaXBzKGNydGMpOwogCX0KZGlmZiAtLWdpdCBh L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYyBiL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYwppbmRleCA0M2IwZjE3YWQxZmEuLjc3NDc1MjBiZjlmNiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCisrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwpAQCAtMTIxNjAsNiArMTIxNjAsNyBAQCBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCXN0cnVjdCBpbnRlbF9kcGxsX2h3X3N0YXRlIGRwbGxfaHdfc3RhdGU7CiAJZW51bSBpbnRl bF9kcGxsX2lkIHNoYXJlZF9kcGxsOwogCXVpbnQzMl90IGRkaV9wbGxfc2VsOworCWJvb2wgZm9y Y2VfdGhydTsKIAogCS8qIEZJWE1FOiBiZWZvcmUgdGhlIHN3aXRjaCB0byBhdG9taWMgc3RhcnRl ZCwgYSBuZXcgcGlwZV9jb25maWcgd2FzCiAJICoga3phbGxvYydkLiBDb2RlIHRoYXQgZGVwZW5k cyBvbiBhbnkgZmllbGQgYmVpbmcgemVybyBzaG91bGQgYmUKQEAgLTEyMTcxLDYgKzEyMTcyLDcg QEAgY2xlYXJfaW50ZWxfY3J0Y19zdGF0ZShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19z dGF0ZSkKIAlzaGFyZWRfZHBsbCA9IGNydGNfc3RhdGUtPnNoYXJlZF9kcGxsOwogCWRwbGxfaHdf c3RhdGUgPSBjcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlOwogCWRkaV9wbGxfc2VsID0gY3J0Y19z dGF0ZS0+ZGRpX3BsbF9zZWw7CisJZm9yY2VfdGhydSA9IGNydGNfc3RhdGUtPnBjaF9wZml0LmZv cmNlX3RocnU7CiAKIAltZW1zZXQoY3J0Y19zdGF0ZSwgMCwgc2l6ZW9mICpjcnRjX3N0YXRlKTsK IApAQCAtMTIxNzksNiArMTIxODEsNyBAQCBjbGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBp bnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRlKQogCWNydGNfc3RhdGUtPnNoYXJlZF9kcGxsID0g c2hhcmVkX2RwbGw7CiAJY3J0Y19zdGF0ZS0+ZHBsbF9od19zdGF0ZSA9IGRwbGxfaHdfc3RhdGU7 CiAJY3J0Y19zdGF0ZS0+ZGRpX3BsbF9zZWwgPSBkZGlfcGxsX3NlbDsKKwljcnRjX3N0YXRlLT5w Y2hfcGZpdC5mb3JjZV90aHJ1ID0gZm9yY2VfdGhydTsKIH0KIAogc3RhdGljIGludAotLSAKMi4x LjAKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==