From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 07/11] drm/i915: Add a atomic evasion step to watermark programming, v2. Date: Wed, 26 Oct 2016 15:41:35 +0200 Message-ID: <1477489299-25777-8-git-send-email-maarten.lankhorst@linux.intel.com> References: <1477489299-25777-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 [IPv6:2a02:2308::216:3eff:fe92:dfa3]) by gabe.freedesktop.org (Postfix) with ESMTPS id 69B546E87B for ; Wed, 26 Oct 2016 13:42:00 +0000 (UTC) In-Reply-To: <1477489299-25777-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 Cc: Paulo Zanoni List-Id: intel-gfx@lists.freedesktop.org QWxsb3cgdGhlIGRyaXZlciB0byB3cml0ZSB3YXRlcm1hcmtzIGR1cmluZyBhdG9taWMgZXZhc2lv bi4KVGhpcyB3aWxsIG1ha2UgaXQgcG9zc2libGUgdG8gd3JpdGUgdGhlIHdhdGVybWFya3MgaW4g YSBjbGVhbmVyCndheSBvbiBnZW45Ky4KCmludGVsX2F0b21pY19zdGF0ZSBpcyBub3QgdXNlZCBo ZXJlIHlldCwgYnV0IHdpbGwgYmUgdXNlZCB3aGVuCndlIHByb2dyYW0gYWxsIHdhdGVybWFya3Mg YXMgYSBzZXBhcmF0ZSBzdGVwIGR1cmluZyBldmFzaW9uLgoKVGhpcyBhbHNvIHdyaXRlcyBsaW5l dGltZSBhbGwgdGhlIHRpbWUsIHdoaWxlIGJlZm9yZSBpdCB3YXMgb25seQpkb25lIGR1cmluZyBw bGFuZSB1cGRhdGVzLiBUaGlzIGxvb2tzIGxpa2UgdGhpcyBjb3VsZCBiZSBhIGJ1Z2ZpeCwKYnV0 IEknbSBub3Qgc3VyZSB3aGF0IGl0IGFmZmVjdHMuCgpDaGFuZ2VzIHNpbmNlIHYxOgotIEFkZCBj b21tZW50IGFib3V0IGF0b21pYyBldmFzaW9uIHRvIGNvbW1pdCBtZXNzYWdlLgotIFVud3JhcCBJ OTE1X1dSSVRFIGNhbGwuIChMeXVkZSkKClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0 IDxtYWFydGVuLmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+CkNjOiBNYXR0IFJvcGVyIDxtYXR0 aGV3LmQucm9wZXJAaW50ZWwuY29tPgpDYzogUGF1bG8gWmFub25pIDxwYXVsby5yLnphbm9uaUBp bnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaCAgICAgIHwgIDYg KysrKy0tCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgfCAyMCArKysrKysr KystLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyAgICAgIHwgMTgg KysrKysrKysrKysrKysrKy0tCiAzIGZpbGVzIGNoYW5nZWQsIDI5IGluc2VydGlvbnMoKyksIDE1 IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2 LmggYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCmluZGV4IDdhNjIxYzc0MjU0ZS4u N2E0NzdkNmE0ODZlIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5o CisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgKQEAgLTQ4NSw2ICs0ODUsNyBA QCBzdHJ1Y3Qgc2R2b19kZXZpY2VfbWFwcGluZyB7CiAKIHN0cnVjdCBpbnRlbF9jb25uZWN0b3I7 CiBzdHJ1Y3QgaW50ZWxfZW5jb2RlcjsKK3N0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGU7CiBzdHJ1 Y3QgaW50ZWxfY3J0Y19zdGF0ZTsKIHN0cnVjdCBpbnRlbF9pbml0aWFsX3BsYW5lX2NvbmZpZzsK IHN0cnVjdCBpbnRlbF9jcnRjOwpAQCAtNDk4LDggKzQ5OSw5IEBAIHN0cnVjdCBkcm1faTkxNV9k aXNwbGF5X2Z1bmNzIHsKIAlpbnQgKCpjb21wdXRlX2ludGVybWVkaWF0ZV93bSkoc3RydWN0IGRy bV9kZXZpY2UgKmRldiwKIAkJCQkgICAgICAgc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMs CiAJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpuZXdzdGF0ZSk7Ci0Jdm9pZCAo KmluaXRpYWxfd2F0ZXJtYXJrcykoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSk7Ci0J dm9pZCAoKm9wdGltaXplX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3Rh dGUpOworCXZvaWQgKCppbml0aWFsX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3Rh dGUgKnN0YXRlLCBzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKTsKKwl2b2lkICgqYXRv bWljX2V2YWRlX3dhdGVybWFya3MpKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLCBz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKTsKKwl2b2lkICgqb3B0aW1pemVfd2F0ZXJt YXJrcykoc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsIHN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGUpOwogCWludCAoKmNvbXB1dGVfZ2xvYmFsX3dhdGVybWFya3MpKHN0cnVj dCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSk7CiAJdm9pZCAoKnVwZGF0ZV93bSkoc3RydWN0IGRy bV9jcnRjICpjcnRjKTsKIAlpbnQgKCptb2Rlc2V0X2NhbGNfY2RjbGspKHN0cnVjdCBkcm1fYXRv bWljX3N0YXRlICpzdGF0ZSk7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKaW5kZXgg OWVhOWEzYmMwYmMwLi40OGViMDYzNWVjMGYgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9p OTE1L2ludGVsX2Rpc3BsYXkuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNw bGF5LmMKQEAgLTUxNzAsNyArNTE3MCw3IEBAIHN0YXRpYyB2b2lkIGludGVsX3ByZV9wbGFuZV91 cGRhdGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKm9sZF9jcnRjX3N0YXRlKQogCSAqIHVzIHRv LgogCSAqLwogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVM TCkKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHBpcGVfY29uZmlnKTsK KwkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHRvX2ludGVsX2F0b21pY19z dGF0ZShvbGRfc3RhdGUpLCBwaXBlX2NvbmZpZyk7CiAJZWxzZSBpZiAocGlwZV9jb25maWctPnVw ZGF0ZV93bV9wcmUpCiAJCWludGVsX3VwZGF0ZV93YXRlcm1hcmtzKCZjcnRjLT5iYXNlKTsKIH0K QEAgLTUzODQsNyArNTM4NCw3IEBAIHN0YXRpYyB2b2lkIGlyb25sYWtlX2NydGNfZW5hYmxlKHN0 cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpwaXBlX2NvbmZpZywKIAlpbnRlbF9jb2xvcl9sb2FkX2x1 dHMoJnBpcGVfY29uZmlnLT5iYXNlKTsKIAogCWlmIChkZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFs X3dhdGVybWFya3MgIT0gTlVMTCkKLQkJZGV2X3ByaXYtPmRpc3BsYXkuaW5pdGlhbF93YXRlcm1h cmtzKGludGVsX2NydGMtPmNvbmZpZyk7CisJCWRldl9wcml2LT5kaXNwbGF5LmluaXRpYWxfd2F0 ZXJtYXJrcyh0b19pbnRlbF9hdG9taWNfc3RhdGUob2xkX3N0YXRlKSwgaW50ZWxfY3J0Yy0+Y29u ZmlnKTsKIAlpbnRlbF9lbmFibGVfcGlwZShpbnRlbF9jcnRjKTsKIAogCWlmIChpbnRlbF9jcnRj LT5jb25maWctPmhhc19wY2hfZW5jb2RlcikKQEAgLTU0OTAsNyArNTQ5MCw3IEBAIHN0YXRpYyB2 b2lkIGhhc3dlbGxfY3J0Y19lbmFibGUoc3RydWN0IGludGVsX2NydGNfc3RhdGUgKnBpcGVfY29u ZmlnLAogCQlpbnRlbF9kZGlfZW5hYmxlX3RyYW5zY29kZXJfZnVuYyhjcnRjKTsKIAogCWlmIChk ZXZfcHJpdi0+ZGlzcGxheS5pbml0aWFsX3dhdGVybWFya3MgIT0gTlVMTCkKLQkJZGV2X3ByaXYt PmRpc3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHBpcGVfY29uZmlnKTsKKwkJZGV2X3ByaXYtPmRp c3BsYXkuaW5pdGlhbF93YXRlcm1hcmtzKHRvX2ludGVsX2F0b21pY19zdGF0ZShvbGRfc3RhdGUp LCBwaXBlX2NvbmZpZyk7CiAJZWxzZQogCQlpbnRlbF91cGRhdGVfd2F0ZXJtYXJrcyhjcnRjKTsK IApAQCAtMTQ1MjYsNyArMTQ1MjYsNyBAQCBzdGF0aWMgdm9pZCBpbnRlbF9hdG9taWNfY29tbWl0 X3RhaWwoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQogCQlpbnRlbF9jc3RhdGUgPSB0 b19pbnRlbF9jcnRjX3N0YXRlKGNydGMtPnN0YXRlKTsKIAogCQlpZiAoZGV2X3ByaXYtPmRpc3Bs YXkub3B0aW1pemVfd2F0ZXJtYXJrcykKLQkJCWRldl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dh dGVybWFya3MoaW50ZWxfY3N0YXRlKTsKKwkJCWRldl9wcml2LT5kaXNwbGF5Lm9wdGltaXplX3dh dGVybWFya3MoaW50ZWxfc3RhdGUsIGludGVsX2NzdGF0ZSk7CiAJfQogCiAJZm9yX2VhY2hfY3J0 Y19pbl9zdGF0ZShzdGF0ZSwgY3J0Yywgb2xkX2NydGNfc3RhdGUsIGkpIHsKQEAgLTE0OTM0LDcg KzE0OTM0LDYgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3RydWN0IGRy bV9jcnRjICpjcnRjLAogCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpvbGRfaW50ZWxfc3RhdGUg PQogCQl0b19pbnRlbF9jcnRjX3N0YXRlKG9sZF9jcnRjX3N0YXRlKTsKIAlib29sIG1vZGVzZXQg PSBuZWVkc19tb2Rlc2V0KGNydGMtPnN0YXRlKTsKLQllbnVtIHBpcGUgcGlwZSA9IGludGVsX2Ny dGMtPnBpcGU7CiAKIAkvKiBQZXJmb3JtIHZibGFuayBldmFzaW9uIGFyb3VuZCBjb21taXQgb3Bl cmF0aW9uICovCiAJaW50ZWxfcGlwZV91cGRhdGVfc3RhcnQoaW50ZWxfY3J0Yyk7CkBAIC0xNDk0 NywxNCArMTQ5NDYsMTMgQEAgc3RhdGljIHZvaWQgaW50ZWxfYmVnaW5fY3J0Y19jb21taXQoc3Ry dWN0IGRybV9jcnRjICpjcnRjLAogCQlpbnRlbF9jb2xvcl9sb2FkX2x1dHMoY3J0Yy0+c3RhdGUp OwogCX0KIAotCWlmIChpbnRlbF9jc3RhdGUtPnVwZGF0ZV9waXBlKSB7CisJaWYgKGludGVsX2Nz dGF0ZS0+dXBkYXRlX3BpcGUpCiAJCWludGVsX3VwZGF0ZV9waXBlX2NvbmZpZyhpbnRlbF9jcnRj LCBvbGRfaW50ZWxfc3RhdGUpOwotCX0gZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5 KSB7CisJZWxzZSBpZiAoSU5URUxfR0VOKGRldl9wcml2KSA+PSA5KQogCQlza2xfZGV0YWNoX3Nj YWxlcnMoaW50ZWxfY3J0Yyk7CiAKLQkJSTkxNV9XUklURShQSVBFX1dNX0xJTkVUSU1FKHBpcGUp LAotCQkJICAgaW50ZWxfY3N0YXRlLT53bS5za2wub3B0aW1hbC5saW5ldGltZSk7Ci0JfQorCWlm IChkZXZfcHJpdi0+ZGlzcGxheS5hdG9taWNfZXZhZGVfd2F0ZXJtYXJrcykKKwkJZGV2X3ByaXYt PmRpc3BsYXkuYXRvbWljX2V2YWRlX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKG9s ZF9jcnRjX3N0YXRlLT5zdGF0ZSksIGludGVsX2NzdGF0ZSk7CiB9CiAKIHN0YXRpYyB2b2lkIGlu dGVsX2ZpbmlzaF9jcnRjX2NvbW1pdChzdHJ1Y3QgZHJtX2NydGMgKmNydGMsCkBAIC0xNjQwOCw3 ICsxNjQwNiw3IEBAIHN0YXRpYyB2b2lkIHNhbml0aXplX3dhdGVybWFya3Moc3RydWN0IGRybV9k ZXZpY2UgKmRldikKIAkJc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzID0gdG9faW50ZWxfY3J0 Y19zdGF0ZShjc3RhdGUpOwogCiAJCWNzLT53bS5uZWVkX3Bvc3R2YmxfdXBkYXRlID0gdHJ1ZTsK LQkJZGV2X3ByaXYtPmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyhjcyk7CisJCWRldl9wcml2 LT5kaXNwbGF5Lm9wdGltaXplX3dhdGVybWFya3ModG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRl KSwgY3MpOwogCX0KIAogcHV0X3N0YXRlOgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfcG0uYyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKaW5kZXggNDE5 NTNjYzQxODA5Li41ZmYzNTgzM2IyNTggMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX3BtLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtNDE5 OSw2ICs0MTk5LDE3IEBAIHNrbF9jb21wdXRlX3dtKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpz dGF0ZSkKIAlyZXR1cm4gMDsKIH0KIAorc3RhdGljIHZvaWQgc2tsX2V2YWRlX2NydGNfd20oc3Ry dWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUsCisJCQkgICAgICBzdHJ1Y3QgaW50ZWxfY3J0 Y19zdGF0ZSAqY3N0YXRlKQoreworCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjID0gdG9faW50ZWxf Y3J0Yyhjc3RhdGUtPmJhc2UuY3J0Yyk7CisJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2ID0gdG9faTkxNShzdGF0ZS0+YmFzZS5kZXYpOworCXN0cnVjdCBza2xfcGlwZV93bSAqcGlw ZV93bSA9ICZjc3RhdGUtPndtLnNrbC5vcHRpbWFsOworCWVudW0gcGlwZSBwaXBlID0gY3J0Yy0+ cGlwZTsKKworCUk5MTVfV1JJVEUoUElQRV9XTV9MSU5FVElNRShwaXBlKSwgcGlwZV93bS0+bGlu ZXRpbWUpOworfQorCiBzdGF0aWMgdm9pZCBza2xfdXBkYXRlX3dtKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKIHsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMo Y3J0Yyk7CkBAIC00MjkyLDcgKzQzMDMsOCBAQCBzdGF0aWMgdm9pZCBpbGtfcHJvZ3JhbV93YXRl cm1hcmtzKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlpbGtfd3JpdGVfd21f dmFsdWVzKGRldl9wcml2LCAmcmVzdWx0cyk7CiB9CiAKLXN0YXRpYyB2b2lkIGlsa19pbml0aWFs X3dhdGVybWFya3Moc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKK3N0YXRpYyB2b2lk IGlsa19pbml0aWFsX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUs CisJCQkJICAgc3RydWN0IGludGVsX2NydGNfc3RhdGUgKmNzdGF0ZSkKIHsKIAlzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNzdGF0ZS0+YmFzZS5jcnRjLT5kZXYp OwogCXN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0Yyhjc3RhdGUt PmJhc2UuY3J0Yyk7CkBAIC00MzAzLDcgKzQzMTUsOCBAQCBzdGF0aWMgdm9pZCBpbGtfaW5pdGlh bF93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiAJbXV0ZXhfdW5s b2NrKCZkZXZfcHJpdi0+d20ud21fbXV0ZXgpOwogfQogCi1zdGF0aWMgdm9pZCBpbGtfb3B0aW1p emVfd2F0ZXJtYXJrcyhzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlKQorc3RhdGljIHZv aWQgaWxrX29wdGltaXplX3dhdGVybWFya3Moc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3Rh dGUsCisJCQkJICAgIHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiB7CiAJc3RydWN0 IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjc3RhdGUtPmJhc2UuY3J0Yy0+ ZGV2KTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVsX2NydGMoY3N0 YXRlLT5iYXNlLmNydGMpOwpAQCAtNzc0MSw2ICs3NzU0LDcgQEAgdm9pZCBpbnRlbF9pbml0X3Bt KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCiAJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDkp IHsKIAkJc2tsX3NldHVwX3dtX2xhdGVuY3koZGV2KTsKIAkJZGV2X3ByaXYtPmRpc3BsYXkudXBk YXRlX3dtID0gc2tsX3VwZGF0ZV93bTsKKwkJZGV2X3ByaXYtPmRpc3BsYXkuYXRvbWljX2V2YWRl X3dhdGVybWFya3MgPSBza2xfZXZhZGVfY3J0Y193bTsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY29t cHV0ZV9nbG9iYWxfd2F0ZXJtYXJrcyA9IHNrbF9jb21wdXRlX3dtOwogCX0gZWxzZSBpZiAoSEFT X1BDSF9TUExJVChkZXZfcHJpdikpIHsKIAkJaWxrX3NldHVwX3dtX2xhdGVuY3koZGV2KTsKLS0g CjIuNy40CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJ bnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0 cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK