From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH] drm/i915: Simplify the way BC bifurcation state consistency is kept Date: Wed, 11 Mar 2015 15:10:34 +0200 Message-ID: <20150311131034.GS11371@intel.com> References: <20150310191410.GV3800@phenom.ffwll.local> <1426073743-30724-1-git-send-email-ander.conselvan.de.oliveira@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 1ED426E13F for ; Wed, 11 Mar 2015 06:10:41 -0700 (PDT) Content-Disposition: inline In-Reply-To: <1426073743-30724-1-git-send-email-ander.conselvan.de.oliveira@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Ander Conselvan de Oliveira Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gV2VkLCBNYXIgMTEsIDIwMTUgYXQgMDE6MzU6NDNQTSArMDIwMCwgQW5kZXIgQ29uc2VsdmFu IGRlIE9saXZlaXJhIHdyb3RlOgo+IFJlbW92ZSB0aGUgZ2xvYmFsIG1vZGVzZXQgcmVzb3VyY2Ug ZnVuY3Rpb24gdGhhdCB3b3VsZCBkaXNhYmxlIHRoZQo+IGJpZnVyY2F0aW9uIGJpdCwgYW5kIGlu c3RlYWQgZW5hYmxlL2Rpc2FibGUgaXQgd2hlbiBlbmFibGluZyB0aGUgcGNoCj4gdHJhbnNjb2Rl ci4gVGhlIG1vZGUgc2V0IGNvbnNpc3RlbmN5IGNoZWNrIHNob3VsZCBwcmV2ZW50IHVzIGZyb20K PiBkaXNhYmxpbmcgdGhlIGJpdCBpZiBwaXBlIEMgaXMgZW5hYmxlZCBzbyB0aGUgY2hhbmdlIHNo b3VsZCBiZSBzYWZlLgo+IAo+IE5vdGUgdGhhdCB0aGlzIGRvZW5zJ3QgYWZmZWN0IHRoZSBsb2dp YyB0aGF0IHByZXZlbnRzIHRoZSBiaXQgYmVpbmcKPiBzZXQgd2hpbGUgYSBwaXBlIGlzIGFjdGl2 ZSwgc2luY2UgdGhlIHBhdGNoIHJldGFpbnMgdGhlIGJlaGF2aW9yIG9mCj4gb25seSBjaGFnaW5n IHRoZSBiaXQgaWYgbmVjZXNzYXJ5LiBCZWNhdXNlIG9mIHRoZSBjaGVja3MgZHVyaW5nIG1vZGUK PiBzZXQsIHRoZSBmaXJzdCBjaGFuZ2Ugd291bGQgbmVjZXNzYXJpbHkgaGFwcGVuIHdpdGggYm90 aCBwaXBlcyBCIGFuZAo+IEMgZGlzYWJsZWQsIGFuZCBhbnkgc3Vic2VxdWVudCB3cml0ZSB3b3Vs ZCBiZSBza2lwcGVkLgo+IAo+IHYyOiBPbmx5IGNoYW5nZSB0aGUgYml0IGR1cmluZyBwY2ggdHJh bmNvZGVyIGVuYWJsZS4gKFZpbGxlKQo+IC0tLQo+ICBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRl bF9kaXNwbGF5LmMgfCA0NiArKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0KPiAg MSBmaWxlIGNoYW5nZWQsIDEwIGluc2VydGlvbnMoKyksIDM2IGRlbGV0aW9ucygtKQo+IAo+IGRp ZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMgYi9kcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMKPiBpbmRleCA0MDA4YmY0Li5iZmJkODI5IDEw MDY0NAo+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+ICsrKyBi L2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rpc3BsYXkuYwo+IEBAIC0zMTUzLDMyICszMTUz LDYgQEAgc3RhdGljIGJvb2wgcGlwZV9oYXNfZW5hYmxlZF9wY2goc3RydWN0IGludGVsX2NydGMg KmNydGMpCj4gIAlyZXR1cm4gY3J0Yy0+YmFzZS5zdGF0ZS0+ZW5hYmxlICYmIGNydGMtPmNvbmZp Zy0+aGFzX3BjaF9lbmNvZGVyOwo+ICB9Cj4gIAo+IC1zdGF0aWMgdm9pZCBpdmJfbW9kZXNldF9n bG9iYWxfcmVzb3VyY2VzKHN0cnVjdCBkcm1fZGV2aWNlICpkZXYpCj4gLXsKPiAtCXN0cnVjdCBk cm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Cj4gLQlzdHJ1Y3Qg aW50ZWxfY3J0YyAqcGlwZV9CX2NydGMgPQo+IC0JCXRvX2ludGVsX2NydGMoZGV2X3ByaXYtPnBp cGVfdG9fY3J0Y19tYXBwaW5nW1BJUEVfQl0pOwo+IC0Jc3RydWN0IGludGVsX2NydGMgKnBpcGVf Q19jcnRjID0KPiAtCQl0b19pbnRlbF9jcnRjKGRldl9wcml2LT5waXBlX3RvX2NydGNfbWFwcGlu Z1tQSVBFX0NdKTsKPiAtCXVpbnQzMl90IHRlbXA7Cj4gLQo+IC0JLyoKPiAtCSAqIFdoZW4gZXZl cnl0aGluZyBpcyBvZmYgZGlzYWJsZSBmZGkgQyBzbyB0aGF0IHdlIGNvdWxkIGVuYWJsZSBmZGkg Qgo+IC0JICogd2l0aCBhbGwgbGFuZXMuIE5vdGUgdGhhdCB3ZSBkb24ndCBjYXJlIGFib3V0IGVu YWJsZWQgcGlwZXMgd2l0aG91dAo+IC0JICogYW4gZW5hYmxlZCBwY2ggZW5jb2Rlci4KPiAtCSAq Lwo+IC0JaWYgKCFwaXBlX2hhc19lbmFibGVkX3BjaChwaXBlX0JfY3J0YykgJiYKPiAtCSAgICAh cGlwZV9oYXNfZW5hYmxlZF9wY2gocGlwZV9DX2NydGMpKSB7Cj4gLQkJV0FSTl9PTihJOTE1X1JF QUQoRkRJX1JYX0NUTChQSVBFX0IpKSAmIEZESV9SWF9FTkFCTEUpOwo+IC0JCVdBUk5fT04oSTkx NV9SRUFEKEZESV9SWF9DVEwoUElQRV9DKSkgJiBGRElfUlhfRU5BQkxFKTsKPiAtCj4gLQkJdGVt cCA9IEk5MTVfUkVBRChTT1VUSF9DSElDS0VOMSk7Cj4gLQkJdGVtcCAmPSB+RkRJX0JDX0JJRlVS Q0FUSU9OX1NFTEVDVDsKPiAtCQlEUk1fREVCVUdfS01TKCJkaXNhYmxpbmcgZmRpIEMgcnhcbiIp Owo+IC0JCUk5MTVfV1JJVEUoU09VVEhfQ0hJQ0tFTjEsIHRlbXApOwo+IC0JfQo+IC19Cj4gLQo+ ICAvKiBUaGUgRkRJIGxpbmsgdHJhaW5pbmcgZnVuY3Rpb25zIGZvciBJTEsvSWJleHBlYWsuICov Cj4gIHN0YXRpYyB2b2lkIGlyb25sYWtlX2ZkaV9saW5rX3RyYWluKHN0cnVjdCBkcm1fY3J0YyAq Y3J0YykKPiAgewo+IEBAIC0zODM0LDIwICszODA4LDIzIEBAIHN0YXRpYyB2b2lkIGlyb25sYWtl X3BjaF90cmFuc2NvZGVyX3NldF90aW1pbmdzKHN0cnVjdCBpbnRlbF9jcnRjICpjcnRjLAo+ICAJ CSAgIEk5MTVfUkVBRChWU1lOQ1NISUZUKGNwdV90cmFuc2NvZGVyKSkpOwo+ICB9Cj4gIAo+IC1z dGF0aWMgdm9pZCBjcHRfZW5hYmxlX2ZkaV9iY19iaWZ1cmNhdGlvbihzdHJ1Y3QgZHJtX2Rldmlj ZSAqZGV2KQo+ICtzdGF0aWMgdm9pZCBjcHRfc2V0X2ZkaV9iY19iaWZ1cmNhdGlvbihzdHJ1Y3Qg ZHJtX2RldmljZSAqZGV2LCBib29sIGVuYWJsZSkKPiAgewo+ICAJc3RydWN0IGRybV9pOTE1X3By aXZhdGUgKmRldl9wcml2ID0gZGV2LT5kZXZfcHJpdmF0ZTsKPiAgCXVpbnQzMl90IHRlbXA7Cj4g IAo+ICAJdGVtcCA9IEk5MTVfUkVBRChTT1VUSF9DSElDS0VOMSk7Cj4gLQlpZiAodGVtcCAmIEZE SV9CQ19CSUZVUkNBVElPTl9TRUxFQ1QpCj4gKwlpZiAoISEodGVtcCAmIEZESV9CQ19CSUZVUkNB VElPTl9TRUxFQ1QpID09IGVuYWJsZSkKPiAgCQlyZXR1cm47Cj4gIAo+ICAJV0FSTl9PTihJOTE1 X1JFQUQoRkRJX1JYX0NUTChQSVBFX0IpKSAmIEZESV9SWF9FTkFCTEUpOwo+ICAJV0FSTl9PTihJ OTE1X1JFQUQoRkRJX1JYX0NUTChQSVBFX0MpKSAmIEZESV9SWF9FTkFCTEUpOwo+ICAKPiAtCXRl bXAgfD0gRkRJX0JDX0JJRlVSQ0FUSU9OX1NFTEVDVDsKPiAtCURSTV9ERUJVR19LTVMoImVuYWJs aW5nIGZkaSBDIHJ4XG4iKTsKPiArCXRlbXAgJj0gfkZESV9CQ19CSUZVUkNBVElPTl9TRUxFQ1Q7 Cj4gKwlpZiAoZW5hYmxlKQo+ICsJCXRlbXAgfD0gRkRJX0JDX0JJRlVSQ0FUSU9OX1NFTEVDVDsK PiArCj4gKwlEUk1fREVCVUdfS01TKCIlc2FibGluZyBmZGkgQyByeFxuIiwgZW5hYmxlID8gImVu IiA6ICJkaXMiKTsKPiAgCUk5MTVfV1JJVEUoU09VVEhfQ0hJQ0tFTjEsIHRlbXApOwo+ICAJUE9T VElOR19SRUFEKFNPVVRIX0NISUNLRU4xKTsKPiAgfQo+IEBAIC0zODU1LDIwICszODMyLDE5IEBA IHN0YXRpYyB2b2lkIGNwdF9lbmFibGVfZmRpX2JjX2JpZnVyY2F0aW9uKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCj4gIHN0YXRpYyB2b2lkIGl2eWJyaWRnZV91cGRhdGVfZmRpX2JjX2JpZnVyY2F0 aW9uKHN0cnVjdCBpbnRlbF9jcnRjICppbnRlbF9jcnRjKQo+ICB7Cj4gIAlzdHJ1Y3QgZHJtX2Rl dmljZSAqZGV2ID0gaW50ZWxfY3J0Yy0+YmFzZS5kZXY7Cj4gLQlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBkZXYtPmRldl9wcml2YXRlOwo+ICAKPiAgCXN3aXRjaCAoaW50ZWxf Y3J0Yy0+cGlwZSkgewo+ICAJY2FzZSBQSVBFX0E6Cj4gIAkJYnJlYWs7Cj4gIAljYXNlIFBJUEVf QjoKPiAgCQlpZiAoaW50ZWxfY3J0Yy0+Y29uZmlnLT5mZGlfbGFuZXMgPiAyKQo+IC0JCQlXQVJO X09OKEk5MTVfUkVBRChTT1VUSF9DSElDS0VOMSkgJiBGRElfQkNfQklGVVJDQVRJT05fU0VMRUNU KTsKPiArCQkJY3B0X3NldF9mZGlfYmNfYmlmdXJjYXRpb24oZGV2LCBmYWxzZSk7CgpTbyB3ZSBq dXN0IHJlcGxhY2UgdGhlIGdsb2JsYV9yZXNvdXJjZXMgZW5mb3JjZWQgYXNzdW1lZCBzdGF0ZSB3 aXRoIGFuCmV4cGxpY2l0IHN0YXRlIGNoYW5nZSBoZXJlLiBTaG91bGQgYmUgcGVyZmVjdGx5IGZp bmUgc2luY2UgcGlwZSBpcyBub3QKYWN0aXZlIGF0IHRoaXMgcG9pbnQuCgoKV2hhdCByZWFsbHkg Y29uZnVzZXMgbWUgYWJvdXQgdGhlIHdob2xlIEZESSBiaWZ1cmNhdGlvbiBjb2RlIGlzCmlyb25s YWtlX2NoZWNrX2ZkaV9sYW5lcygpLiBGaXJzdCBvZiBhbGwgSSB3b3VsZCByZXdyaXRlIGl0IGEg Yml0IGxpa2UKc286CgotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kaXNwbGF5LmMK KysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGlzcGxheS5jCkBAIC01NjE1LDE0ICs1 NjE1LDEzIEBAIHN0YXRpYyBib29sIGlyb25sYWtlX2NoZWNrX2ZkaV9sYW5lcyhzdHJ1Y3QgZHJt X2RldmljZSAqZGV2LCBlbnVtIHBpcGUgcGlwZSwKICAgICAgICAgICAgICAgIH0KICAgICAgICAg ICAgICAgIHJldHVybiB0cnVlOwogICAgICAgIGNhc2UgUElQRV9DOgotICAgICAgICAgICAgICAg aWYgKCFwaXBlX2hhc19lbmFibGVkX3BjaChwaXBlX0JfY3J0YykgfHwKLSAgICAgICAgICAgICAg ICAgICBwaXBlX0JfY3J0Yy0+Y29uZmlnLT5mZGlfbGFuZXMgPD0gMikgewotICAgICAgICAgICAg ICAgICAgICAgICBpZiAocGlwZV9jb25maWctPmZkaV9sYW5lcyA+IDIpIHsKLSAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBEUk1fREVCVUdfS01TKCJpbnZhbGlkIHNoYXJlZCBmZGkgbGFu ZSBjb25maWcgb24gcGlwZSAlYzogJWkgbGFuZXNcbiIsCi0gICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICBwaXBlX25hbWUocGlwZSksIHBpcGVfY29uZmlnLT5mZGlf bGFuZXMpOwotICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHJldHVybiBmYWxzZTsKLSAg ICAgICAgICAgICAgICAgICAgICAgfQotICAgICAgICAgICAgICAgfSBlbHNlIHsKKyAgICAgICAg ICAgICAgIGlmIChwaXBlX2NvbmZpZy0+ZmRpX2xhbmVzID4gMikgeworICAgICAgICAgICAgICAg ICAgICAgICBEUk1fREVCVUdfS01TKCJvbmx5IDIgbGFuZXMgb24gcGlwZSAlYzogcmVxdWlyZWQg JWkgbGFuZXNcbiIsCisgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcGlwZV9u YW1lKHBpcGUpLCBwaXBlX2NvbmZpZy0+ZmRpX2xhbmVzKTsKKyAgICAgICAgICAgICAgICAgICAg ICAgcmV0dXJuIGZhbHNlOworICAgICAgICAgICAgICAgfQorICAgICAgICAgICAgICAgaWYgKHBp cGVfaGFzX2VuYWJsZWRfcGNoKHBpcGVfQl9jcnRjKSAmJgorICAgICAgICAgICAgICAgICAgIHBp cGVfQl9jcnRjLT5jb25maWctPmZkaV9sYW5lcyA+IDIpIHsKICAgICAgICAgICAgICAgICAgICAg ICAgRFJNX0RFQlVHX0tNUygiZmRpIGxpbmsgQiB1c2VzIHRvbyBtYW55IGxhbmVzIHRvIGVuYWJs ZSBsaW5rIENcbiIpOwogICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7CiAgICAg ICAgICAgICAgICB9CgpBbmQgdGhlIG5leHQgdGhpbmcgY29uZnVzaW5nIG1lIGlzIHdoeSB3ZSB1 c2UgcGlwZV9oYXNfZW5hYmxlZF9wY2goKQp0byBjaGVjayBwaXBlIEIgc3RhdGUsIGJ1dCBqdXN0 IHBpcGUtPmVuYWJsZWQgdG8gY2hlY2sgcGlwZSBDIHN0YXRlPwoKQ29uc2lkZXIgdGhlIGZvbGxv d2luZyBzY2VuYXJpbzoKMS4gZW5hYmxlIHBpcGUgQiB3aXRoIFBDSCB1c2luZyA+MiBGREkgbGFu ZXMKMi4gc2V0IHBpcGUgQiB0byBEUE1TIG9mZgozLiBlbmFibGUgcGlwZSBDIHdpdGggUENICgpU aGUgY3J0Yy0+YWN0aXZlIGNoZWNrIGluIHBpcGVfaGFzX2VuYWJsZWRfcGNoKCkgd2lsbCBpbmRp Y2F0ZSB0aGF0IHBpcGUKQiBkb2VzIG5vdCBuZWVkIEZESSwgc28gc3RlcCAzIHdpbGwgc3VjY2Vl ZC4gT3IgYW0gSSBtaXNzaW5nIHNvbWV0aGluZwpzdWJ0bGUgaGVyZT8KCkFsc28gaWYgd2UgZG8g dGhpbmdzIHRoaXMgd2F5OgoxLiBlbmFibGUgcGlwZSBDIHdpdGggZURQCjIuIGVuYWJsZSBwaXBl IEIgd2l0aCBQQ0ggdXNpbmcgPjIgRkRJIGxhbmVzCgpOb3cgc3RlcCAyIHdpbGwgZmFpbCBldmVu IHRob3VnaCBwaXBlIEMgZG9lc24ndCBuZWVkIGFueSBGREkgbGFuZXMuCgpTbyB0byBmaXggdGhh dCBpdCB3b3VsZCBzZWVtIHRoYXQgd2Ugc2hvdWxkIHJlbW92ZSB0aGUgY3J0Yy0+YWN0aXZlCmNo ZWNrIGZyb20gcGlwZV9oYXNfZW5hYmxlZF9wY2goKSBhbmQgdXNlIHRoYXQgdG8gY2hlY2sgZm9y IGNvbmxpY3RzCmluIGJvdGggY2FzZXMuIE5vdyB0aGF0IC5nbG9iYWxfcmVzb3VyY2VzKCkgaXMg bm8gbG9uZ2VyIGluIHRoZSBwaWN0dXJlCnRoZSBjcnRjLT5hY3RpdmUgY2hlY2sgbm90IG5lZWRl ZCBhbnl3YXksIEkgdGhpbmsuCgpUaG91Z2h0cz8KCj4gIAkJZWxzZQo+IC0JCQljcHRfZW5hYmxl X2ZkaV9iY19iaWZ1cmNhdGlvbihkZXYpOwo+ICsJCQljcHRfc2V0X2ZkaV9iY19iaWZ1cmNhdGlv bihkZXYsIHRydWUpOwo+ICAKPiAgCQlicmVhazsKPiAgCWNhc2UgUElQRV9DOgo+IC0JCWNwdF9l bmFibGVfZmRpX2JjX2JpZnVyY2F0aW9uKGRldik7Cj4gKwkJY3B0X3NldF9mZGlfYmNfYmlmdXJj YXRpb24oZGV2LCB0cnVlKTsKPiAgCj4gIAkJYnJlYWs7Cj4gIAlkZWZhdWx0Ogo+IEBAIC0xMzA1 Niw4ICsxMzAzMiw2IEBAIHN0YXRpYyB2b2lkIGludGVsX2luaXRfZGlzcGxheShzdHJ1Y3QgZHJt X2RldmljZSAqZGV2KQo+ICAJfSBlbHNlIGlmIChJU19JVllCUklER0UoZGV2KSkgewo+ICAJCS8q IEZJWE1FOiBkZXRlY3QgQjArIHN0ZXBwaW5nIGFuZCB1c2UgYXV0byB0cmFpbmluZyAqLwo+ICAJ CWRldl9wcml2LT5kaXNwbGF5LmZkaV9saW5rX3RyYWluID0gaXZiX21hbnVhbF9mZGlfbGlua190 cmFpbjsKPiAtCQlkZXZfcHJpdi0+ZGlzcGxheS5tb2Rlc2V0X2dsb2JhbF9yZXNvdXJjZXMgPQo+ IC0JCQlpdmJfbW9kZXNldF9nbG9iYWxfcmVzb3VyY2VzOwo+ICAJfSBlbHNlIGlmIChJU19IQVNX RUxMKGRldikgfHwgSVNfQlJPQURXRUxMKGRldikpIHsKPiAgCQlkZXZfcHJpdi0+ZGlzcGxheS5m ZGlfbGlua190cmFpbiA9IGhzd19mZGlfbGlua190cmFpbjsKPiAgCX0gZWxzZSBpZiAoSVNfVkFM TEVZVklFVyhkZXYpKSB7Cj4gLS0gCj4gMi4xLjAKCi0tIApWaWxsZSBTeXJqw6Rsw6QKSW50ZWwg T1RDCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVs LWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8v bGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==