From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 01/12] drm/i915: Make the force_thru workaround atomic. Date: Mon, 27 Jul 2015 14:35:30 +0200 Message-ID: <1438000541-3219-2-git-send-email-maarten.lankhorst@linux.intel.com> References: <1438000541-3219-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 DE3A06E90F for ; Mon, 27 Jul 2015 05:35:47 -0700 (PDT) In-Reply-To: <1438000541-3219-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 U2V0IGFjdGl2ZV9jaGFuZ2VkIHRvIGZvcmNlIGEgbW9kZXNldCBpZiB0aGUgcGFuZWwgZml0dGVy J3MgZm9yY2UKZW5hYmxlZC4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFy dGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aTkxNV9kZWJ1Z2ZzLmMgIHwgODIgKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t CiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAgMyArKwogMiBmaWxlcyBj aGFuZ2VkLCAyNyBpbnNlcnRpb25zKCspLCA1OCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2RlYnVnZnMuYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2k5MTVfZGVidWdmcy5jCmluZGV4IDIzYTY5MzA3ZTEyZS4uMjI0NjdhZGVlOTU4IDEwMDY0NAot 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 ICE9IGVuYWJsZSkKKwkJcGlwZV9jb25maWctPmJhc2UuYWN0aXZlX2NoYW5nZWQgPSB0cnVlOwog Ci0JCWlmIChhY3RpdmUpCi0JCQlpbnRlbF9jcnRjX2NvbnRyb2woJmNydGMtPmJhc2UsIHRydWUp OwotCX0KKwlyZXQgPSBkcm1fYXRvbWljX2NvbW1pdChzdGF0ZSk7CitvdXQ6CiAJZHJtX21vZGVz ZXRfdW5sb2NrX2FsbChkZXYpOworCVdBUk4ocmV0LCAiVG9nZ2xpbmcgd29ya2Fyb3VuZCB0byAl aSByZXR1cm5zICVpXG4iLCBlbmFibGUsIHJldCk7CisJaWYgKHJldCkKKwkJZHJtX2F0b21pY19z dGF0ZV9mcmVlKHN0YXRlKTsKIH0KIAogc3RhdGljIGludCBpdmJfcGlwZV9jcmNfY3RsX3JlZyhz dHJ1Y3QgZHJtX2RldmljZSAqZGV2LApAQCAtMzczMiw3ICszNjk4LDcgQEAgc3RhdGljIGludCBp dmJfcGlwZV9jcmNfY3RsX3JlZyhzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQlicmVhazsKIAlj YXNlIElOVEVMX1BJUEVfQ1JDX1NPVVJDRV9QRjoKIAkJaWYgKElTX0hBU1dFTEwoZGV2KSAmJiBw aXBlID09IFBJUEVfQSkKLQkJCWhzd190cmFuc19lZHBfcGlwZV9BX2NyY193YShkZXYpOworCQkJ aHN3X3RyYW5zX2VkcF9waXBlX0FfY3JjX3dhKGRldiwgdHJ1ZSk7CiAKIAkJKnZhbCA9IFBJUEVf Q1JDX0VOQUJMRSB8IFBJUEVfQ1JDX1NPVVJDRV9QRl9JVkI7CiAJCWJyZWFrOwpAQCAtMzg0NCw3 ICszODEwLDcgQEAgc3RhdGljIGludCBwaXBlX2NyY19zZXRfc291cmNlKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsIGVudW0gcGlwZSBwaXBlLAogCQllbHNlIGlmIChJU19WQUxMRVlWSUVXKGRldikp CiAJCQl2bHZfdW5kb19waXBlX3NjcmFtYmxlX3Jlc2V0KGRldiwgcGlwZSk7CiAJCWVsc2UgaWYg KElTX0hBU1dFTEwoZGV2KSAmJiBwaXBlID09IFBJUEVfQSkKLQkJCWhzd191bmRvX3RyYW5zX2Vk cF9waXBlX0FfY3JjX3dhKGRldik7CisJCQloc3dfdHJhbnNfZWRwX3BpcGVfQV9jcmNfd2EoZGV2 LCBmYWxzZSk7CiAKIAkJaHN3X2VuYWJsZV9pcHMoY3J0Yyk7CiAJfQpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfZGlzcGxheS5jCmluZGV4IDQzYjBmMTdhZDFmYS4uNzc0NzUyMGJmOWY2IDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKKysrIGIvZHJpdmVycy9n cHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC0xMjE2MCw2ICsxMjE2MCw3IEBAIGNsZWFy X2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJ c3RydWN0IGludGVsX2RwbGxfaHdfc3RhdGUgZHBsbF9od19zdGF0ZTsKIAllbnVtIGludGVsX2Rw bGxfaWQgc2hhcmVkX2RwbGw7CiAJdWludDMyX3QgZGRpX3BsbF9zZWw7CisJYm9vbCBmb3JjZV90 aHJ1OwogCiAJLyogRklYTUU6IGJlZm9yZSB0aGUgc3dpdGNoIHRvIGF0b21pYyBzdGFydGVkLCBh IG5ldyBwaXBlX2NvbmZpZyB3YXMKIAkgKiBremFsbG9jJ2QuIENvZGUgdGhhdCBkZXBlbmRzIG9u IGFueSBmaWVsZCBiZWluZyB6ZXJvIHNob3VsZCBiZQpAQCAtMTIxNzEsNiArMTIxNzIsNyBAQCBj bGVhcl9pbnRlbF9jcnRjX3N0YXRlKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjcnRjX3N0YXRl KQogCXNoYXJlZF9kcGxsID0gY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGw7CiAJZHBsbF9od19zdGF0 ZSA9IGNydGNfc3RhdGUtPmRwbGxfaHdfc3RhdGU7CiAJZGRpX3BsbF9zZWwgPSBjcnRjX3N0YXRl LT5kZGlfcGxsX3NlbDsKKwlmb3JjZV90aHJ1ID0gY3J0Y19zdGF0ZS0+cGNoX3BmaXQuZm9yY2Vf dGhydTsKIAogCW1lbXNldChjcnRjX3N0YXRlLCAwLCBzaXplb2YgKmNydGNfc3RhdGUpOwogCkBA IC0xMjE3OSw2ICsxMjE4MSw3IEBAIGNsZWFyX2ludGVsX2NydGNfc3RhdGUoc3RydWN0IGludGVs X2NydGNfc3RhdGUgKmNydGNfc3RhdGUpCiAJY3J0Y19zdGF0ZS0+c2hhcmVkX2RwbGwgPSBzaGFy ZWRfZHBsbDsKIAljcnRjX3N0YXRlLT5kcGxsX2h3X3N0YXRlID0gZHBsbF9od19zdGF0ZTsKIAlj cnRjX3N0YXRlLT5kZGlfcGxsX3NlbCA9IGRkaV9wbGxfc2VsOworCWNydGNfc3RhdGUtPnBjaF9w Zml0LmZvcmNlX3RocnUgPSBmb3JjZV90aHJ1OwogfQogCiBzdGF0aWMgaW50Ci0tIAoyLjEuMAoK X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4 IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK