From mboxrd@z Thu Jan 1 00:00:00 1970 From: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Subject: Re: [PATCH v3 6/8] drm/i915: Overcome display engine stride limits via GTT remapping Date: Thu, 25 Oct 2018 16:45:50 +0300 Message-ID: <20181025134550.GJ9144@intel.com> References: <20180925193714.25280-1-ville.syrjala@linux.intel.com> <20180925193714.25280-7-ville.syrjala@linux.intel.com> <154032221683.9962.2032560963337898922@skylake-alporthouse-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 ESMTPS id 781F66E10A for ; Thu, 25 Oct 2018 13:45:54 +0000 (UTC) Content-Disposition: inline In-Reply-To: <154032221683.9962.2032560963337898922@skylake-alporthouse-com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Chris Wilson Cc: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org T24gVHVlLCBPY3QgMjMsIDIwMTggYXQgMDg6MTY6NTZQTSArMDEwMCwgQ2hyaXMgV2lsc29uIHdy b3RlOgo+IFF1b3RpbmcgVmlsbGUgU3lyamFsYSAoMjAxOC0wOS0yNSAyMDozNzoxMikKPiA+ICtz dGF0aWMgYm9vbCBpbnRlbF9wbGFuZV9uZWVkc19yZW1hcChjb25zdCBzdHJ1Y3QgaW50ZWxfcGxh bmVfc3RhdGUgKnBsYW5lX3N0YXRlKQo+ID4gK3sKPiA+ICsgICAgICAgc3RydWN0IGludGVsX3Bs YW5lICpwbGFuZSA9IHRvX2ludGVsX3BsYW5lKHBsYW5lX3N0YXRlLT5iYXNlLnBsYW5lKTsKPiA+ ICsgICAgICAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShwbGFu ZS0+YmFzZS5kZXYpOwo+ID4gKyAgICAgICBjb25zdCBzdHJ1Y3QgZHJtX2ZyYW1lYnVmZmVyICpm YiA9IHBsYW5lX3N0YXRlLT5iYXNlLmZiOwo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgcm90YXRp b24gPSBwbGFuZV9zdGF0ZS0+YmFzZS5yb3RhdGlvbjsKPiA+ICsgICAgICAgdTMyIHN0cmlkZSwg bWF4X3N0cmlkZTsKPiA+ICsKPiA+ICsgICAgICAgLyogV2UgZG9uJ3Qgd2FudCB0byBkZWFsIHdp dGggcmVtYXBwaW5nIHdpdGggY3Vyc29ycyAqLwo+ID4gKyAgICAgICBpZiAocGxhbmUtPmlkID09 IFBMQU5FX0NVUlNPUikKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPiArCj4g PiArICAgICAgIC8qIE5vIGZlbmNlIGZvciB0aGUgcmVtYXBwZWQgdm1hICovCj4gCj4gU2hvdWxk IHdvcmsgbm93ICh3aXRoIGEgbWlub3IgdHdlYWsgdG8gcGxhbmVfY2FuX2ZlbmNlKSwgcmlnaHQ/ CgpHZW4yIHdvdWxkIHByb2JhYmx5IG5lZWQgYSBiaXQgb2YgZXh0cmEgY29uc2lkZXJhdGlvbmEg ZHVlIHRvCnRoZSB0aWxlIHNpemUgdnMuIHBhZ2Ugc2l6ZSB0aGluZy4gSSBndWVzcyBnZW4zIG1p Z2h0IHdvcmsgYXMgaXMuCgpCdXQgYXMgbG9uZyBhcyB3ZSdyZSBsaW1pdGVkIGJ5IHRoZSBjdXJy ZW50IG1heCBmYiBzaXplIEkKc3VwcG9zZSB0aGVyZSBpc24ndCBtdWNoIHBvaW50IGluIHJlbWFw cGluZy4KCj4gCj4gPiArICAgICAgIGlmIChJTlRFTF9HRU4oZGV2X3ByaXYpIDwgNCkKPiA+ICsg ICAgICAgICAgICAgICByZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiArICAgICAgIC8qIE5ldyBDQ1Mg aGFzaCBtb2RlIG1ha2VzIHJlbWFwcGluZyBpbXBvc3NpYmxlICovCj4gPiArICAgICAgIGlmIChp c19jY3NfbW9kaWZpZXIoZmItPm1vZGlmaWVyKSkKPiA+ICsgICAgICAgICAgICAgICByZXR1cm4g ZmFsc2U7Cj4gPiArCj4gPiArICAgICAgIC8qIEZJWE1FIG90aGVyIGNvbG9yIHBsYW5lcz8gKi8K PiA+ICsgICAgICAgc3RyaWRlID0gaW50ZWxfZmJfcGl0Y2goZmIsIDAsIHJvdGF0aW9uKTsKPiA+ ICsgICAgICAgbWF4X3N0cmlkZSA9IHBsYW5lLT5tYXhfc3RyaWRlKHBsYW5lLCBmYi0+Zm9ybWF0 LT5mb3JtYXQsCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmYi0+ bW9kaWZpZXIsIHJvdGF0aW9uKTsKPiA+ICsKPiA+ICsgICAgICAgcmV0dXJuIHN0cmlkZSA+IG1h eF9zdHJpZGU7Cj4gPiArfQo+ID4gKwo+ID4gIHN0YXRpYyBpbnQKPiA+ICBpbnRlbF9maWxsX2Zi X2luZm8oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LAo+ID4gICAgICAgICAgICAg ICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiKQo+ID4gQEAgLTI2NzYsNiArMjc0MSwx ODIgQEAgaW50ZWxfZmlsbF9mYl9pbmZvKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJp diwKPiA+ICAgICAgICAgcmV0dXJuIDA7Cj4gPiAgfQo+ID4gIAo+ID4gK3N0YXRpYyB2b2lkCj4g PiAraW50ZWxfcGxhbmVfcmVtYXBfZ3R0KHN0cnVjdCBpbnRlbF9wbGFuZV9zdGF0ZSAqcGxhbmVf c3RhdGUpCj4gPiArewo+ID4gKyAgICAgICBzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3By aXYgPQo+ID4gKyAgICAgICAgICAgICAgIHRvX2k5MTUocGxhbmVfc3RhdGUtPmJhc2UucGxhbmUt PmRldik7Cj4gPiArICAgICAgIHN0cnVjdCBkcm1fZnJhbWVidWZmZXIgKmZiID0gcGxhbmVfc3Rh dGUtPmJhc2UuZmI7Cj4gPiArICAgICAgIHN0cnVjdCBpbnRlbF9mcmFtZWJ1ZmZlciAqaW50ZWxf ZmIgPSB0b19pbnRlbF9mcmFtZWJ1ZmZlcihmYik7Cj4gPiArICAgICAgIHN0cnVjdCBpbnRlbF9y b3RhdGlvbl9pbmZvICppbmZvID0gJnBsYW5lX3N0YXRlLT52aWV3LnJvdGF0ZWQ7Cj4gPiArICAg ICAgIHVuc2lnbmVkIGludCByb3RhdGlvbiA9IHBsYW5lX3N0YXRlLT5iYXNlLnJvdGF0aW9uOwo+ ID4gKyAgICAgICBpbnQgaSwgbnVtX3BsYW5lcyA9IGZiLT5mb3JtYXQtPm51bV9wbGFuZXM7Cj4g PiArICAgICAgIHVuc2lnbmVkIGludCB0aWxlX3NpemUgPSBpbnRlbF90aWxlX3NpemUoZGV2X3By aXYpOwo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgdGlsZV93aWR0aCwgdGlsZV9oZWlnaHQ7Cj4g PiArICAgICAgIHVuc2lnbmVkIGludCBhbGlnbmVkX3gsIGFsaWduZWRfeTsKPiA+ICsgICAgICAg dW5zaWduZWQgaW50IGFsaWduZWRfdywgYWxpZ25lZF9oOwo+ID4gKyAgICAgICB1bnNpZ25lZCBp bnQgc3JjX3gsIHNyY195Owo+ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgc3JjX3csIHNyY19oOwo+ ID4gKyAgICAgICB1bnNpZ25lZCBpbnQgeCwgeTsKPiA+ICsgICAgICAgdTMyIGd0dF9vZmZzZXQg PSAwOwo+ID4gKwo+ID4gKyAgICAgICBtZW1zZXQoJnBsYW5lX3N0YXRlLT52aWV3LCAwLCBzaXpl b2YocGxhbmVfc3RhdGUtPnZpZXcpKTsKPiA+ICsgICAgICAgcGxhbmVfc3RhdGUtPnZpZXcudHlw ZSA9IGRybV9yb3RhdGlvbl85MF9vcl8yNzAocm90YXRpb24pID8KPiA+ICsgICAgICAgICAgICAg ICBJOTE1X0dHVFRfVklFV19ST1RBVEVEIDogSTkxNV9HR1RUX1ZJRVdfUkVNQVBQRUQ7Cj4gPiAr Cj4gPiArICAgICAgIHNyY194ID0gcGxhbmVfc3RhdGUtPmJhc2Uuc3JjLngxID4+IDE2Owo+ID4g KyAgICAgICBzcmNfeSA9IHBsYW5lX3N0YXRlLT5iYXNlLnNyYy55MSA+PiAxNjsKPiA+ICsgICAg ICAgc3JjX3cgPSBkcm1fcmVjdF93aWR0aCgmcGxhbmVfc3RhdGUtPmJhc2Uuc3JjKSA+PiAxNjsK PiA+ICsgICAgICAgc3JjX2ggPSBkcm1fcmVjdF9oZWlnaHQoJnBsYW5lX3N0YXRlLT5iYXNlLnNy YykgPj4gMTY7Cj4gPiArCj4gPiArICAgICAgIFdBUk5fT04oaXNfY2NzX21vZGlmaWVyKGZiLT5t b2RpZmllcikpOwo+ID4gKwo+ID4gKyAgICAgICAvKiBBbGlnbiBvdXIgdmlld3BvcnQgc3RhcnQg dG8gdGlsZSBib3VuZGFyeSAqLwo+ID4gKyAgICAgICBpbnRlbF90aWxlX2RpbXMoZmIsIDAsICZ0 aWxlX3dpZHRoLCAmdGlsZV9oZWlnaHQpOwo+ID4gKwo+ID4gKyAgICAgICB4ID0gc3JjX3ggJiAo dGlsZV93aWR0aCAtIDEpOwo+ID4gKyAgICAgICB5ID0gc3JjX3kgJiAodGlsZV9oZWlnaHQgLSAx KTsKPiA+ICsKPiA+ICsgICAgICAgYWxpZ25lZF94ID0gc3JjX3ggLSB4Owo+ID4gKyAgICAgICBh bGlnbmVkX3kgPSBzcmNfeSAtIHk7Cj4gPiArCj4gPiArICAgICAgIGFsaWduZWRfdyA9IHggKyBz cmNfdzsKPiA+ICsgICAgICAgYWxpZ25lZF9oID0geSArIHNyY19oOwo+ID4gKwo+ID4gKyAgICAg ICAvKiBNYWtlIHNyYyBjb29yZGluYXRlcyByZWxhdGl2ZSB0byB0aGUgYWxpZ25lZCB2aWV3cG9y dCAqLwo+ID4gKyAgICAgICBkcm1fcmVjdF90cmFuc2xhdGUoJnBsYW5lX3N0YXRlLT5iYXNlLnNy YywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAgICAgIC0oYWxpZ25lZF94IDw8IDE2KSwgLShh bGlnbmVkX3kgPDwgMTYpKTsKPiA+ICsKPiA+ICsgICAgICAgLyogUm90YXRlIHNyYyBjb29yZGlu YXRlcyB0byBtYXRjaCByb3RhdGVkIEdUVCB2aWV3ICovCj4gPiArICAgICAgIGlmIChkcm1fcm90 YXRpb25fOTBfb3JfMjcwKHJvdGF0aW9uKSkKPiA+ICsgICAgICAgICAgICAgICBkcm1fcmVjdF9y b3RhdGUoJnBsYW5lX3N0YXRlLT5iYXNlLnNyYywKPiA+ICsgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgYWxpZ25lZF93IDw8IDE2LCBhbGlnbmVkX2ggPDwgMTYsCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgIERSTV9NT0RFX1JPVEFURV8yNzApOwo+ID4gKwo+ID4gKyAg ICAgICBmb3IgKGkgPSAwOyBpIDwgbnVtX3BsYW5lczsgaSsrKSB7Cj4gPiArICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IGhzdWIgPSBpID8gZmItPmZvcm1hdC0+aHN1YiA6IDE7Cj4gPiArICAg ICAgICAgICAgICAgdW5zaWduZWQgaW50IHZzdWIgPSBpID8gZmItPmZvcm1hdC0+dnN1YiA6IDE7 Cj4gPiArICAgICAgICAgICAgICAgdW5zaWduZWQgaW50IGNwcCA9IGZiLT5mb3JtYXQtPmNwcFtp XTsKPiA+ICsgICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgd2lkdGgsIGhlaWdodDsKPiA+ICsg ICAgICAgICAgICAgICB1bnNpZ25lZCBpbnQgcGl0Y2hfdGlsZXM7Cj4gPiArICAgICAgICAgICAg ICAgdW5zaWduZWQgaW50IHgsIHk7Cj4gPiArICAgICAgICAgICAgICAgdTMyIG9mZnNldDsKPiA+ ICsKPiA+ICsgICAgICAgICAgICAgICBpbnRlbF90aWxlX2RpbXMoZmIsIGksICZ0aWxlX3dpZHRo LCAmdGlsZV9oZWlnaHQpOwo+ID4gKwo+ID4gKyAgICAgICAgICAgICAgIHggPSBhbGlnbmVkX3gg LyBoc3ViOwo+ID4gKyAgICAgICAgICAgICAgIHkgPSBhbGlnbmVkX3kgLyB2c3ViOwo+ID4gKyAg ICAgICAgICAgICAgIHdpZHRoID0gYWxpZ25lZF93IC8gaHN1YjsKPiAKPiBhbGlnbmVkX3cgaGVy ZSBzZWVtcyB0byBiZSBqdXN0IHgyLgo+IAo+IERpZCBJIG1pc3MgYWxpZ25lZF93ID0gQUxJR04o YWxpZ25lZF93LCB0aWxlX3dpZHRoKSAtIGFsaWduZWRfeD8KCk5vLiBJIGd1ZXNzIGl0IHNob3Vs ZCBiZSBjYWxsZWQgd2lkdGhfZnJvbV9hbGlnbmVkX3ggb3Igc29tZXRoaW5nIGFsb25nCnRob3Nl IGxpbmVzLgoKPiAKPiA+ICsgICAgICAgICAgICAgICBoZWlnaHQgPSBhbGlnbmVkX2ggLyB2c3Vi Owo+ID4gKwo+ID4gKyAgICAgICAgICAgICAgIC8qCj4gPiArICAgICAgICAgICAgICAgICogRmly c3QgcGl4ZWwgb2YgdGhlIGFsaWduZWQgc3JjIHZpZXdwb3J0Cj4gPiArICAgICAgICAgICAgICAg ICogZnJvbSB0aGUgc3RhcnQgb2YgdGhlIG5vcm1hbCBndHQgbWFwcGluZy4KPiA+ICsgICAgICAg ICAgICAgICAgKi8KPiA+ICsgICAgICAgICAgICAgICB4ICs9IGludGVsX2ZiLT5ub3JtYWxbaV0u eDsKPiA+ICsgICAgICAgICAgICAgICB5ICs9IGludGVsX2ZiLT5ub3JtYWxbaV0ueTsKPiA+ICsK PiA+ICsgICAgICAgICAgICAgICBvZmZzZXQgPSBpbnRlbF9jb21wdXRlX2FsaWduZWRfb2Zmc2V0 KGRldl9wcml2LCAmeCwgJnksCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgICBmYiwgaSwgZmItPnBpdGNoZXNbaV0sCj4gPiArICAgICAgICAg ICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEUk1fTU9ERV9ST1RB VEVfMCwgdGlsZV9zaXplKTsKPiA+ICsgICAgICAgICAgICAgICBvZmZzZXQgLz0gdGlsZV9zaXpl Owo+ID4gKwo+ID4gKyAgICAgICAgICAgICAgIGluZm8tPnBsYW5lW2ldLm9mZnNldCA9IG9mZnNl dDsKPiA+ICsgICAgICAgICAgICAgICBpbmZvLT5wbGFuZVtpXS5zdHJpZGUgPSBESVZfUk9VTkRf VVAoZmItPnBpdGNoZXNbaV0sCj4gPiArICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAgICAgIHRpbGVfd2lkdGggKiBjcHApOwo+ID4gKyAgICAgICAgICAgICAg IGluZm8tPnBsYW5lW2ldLndpZHRoID0gRElWX1JPVU5EX1VQKHggKyB3aWR0aCwgdGlsZV93aWR0 aCk7Cj4gPiArICAgICAgICAgICAgICAgaW5mby0+cGxhbmVbaV0uaGVpZ2h0ID0gRElWX1JPVU5E X1VQKHkgKyBoZWlnaHQsIHRpbGVfaGVpZ2h0KTsKPiAKPiBJIHRob3VnaHQgLndpZHRoIGhlcmUg d291bGQgYmUgaW4gcGFnZXM/IE9rIHRpbGVfd2lkdGggIT0gZmVuY2Vfc3RyaWRlCj4gYW5kIGRv ZXMgcHJvZHVjZSBwYWdlcyBqdXN0IGZpbmUuCj4gCj4gQW5kIHNob3VsZG4ndCB3aWR0aCBoZXJl IGJlIGFkanVzdGVkIGZvciB4PyBTaW1pbGFybHkgZm9yIGhlaWdodD8KCkhtbS4gVGhlIHN1cmYg cmVnaXN0ZXIgd2lsbCBwb2ludCB0byBvZmZzZXQgKHdlbGwsIHRoZSBlcXVpdmFsZW50IHBsYWNl CmluIHRoZSBuZXcgdm1hKSwgYW5kIHRoZSBwbGFuZSBzdGFydHMgdG8gc2NhbiBvdXQgeCBwaXhl bHMgZnJvbSB0aGF0LApzbyB0aGUgdm1hIG11c3QgYmUgYXQgbGVhc3QgeCt3aWR0aCBwaXhlbHMg d2lkZS4gU3RpbGwgc2VlbXMgdG8gbWFrZQpzZW5zZSB0byBtZSBhdCBsZWFzdCA6KQoKQWN0dWFs bHkgdGhpbmtpbmcgYWJvdXQgdGhpcyBzb21lIG1vcmUsIEkgc2hvdWxkIGJlIGFibGUgdG8ganVz dCB0aHJvdwpvdXQgdGhlIGFsaWduZWRfeC95IHN0dWZmLiBpbnRlbF9jb21wdXRlX2FsaWduZWRf b2Zmc2V0KCkgd2lsbCBnaXZlIHVzCndoYXQgd2UgbmVlZCBhbnl3YXkuIEkgb3JpZ2luYWxseSBh ZGRlZCB0aGF0IGV4dHJhIGFsaWduZW1lbnQgc3RlcCBmb3IKQ0NTICh0byBhbGlnbiB0byBhIHdo b2xlIENDUyB0aWxlKSwgYnV0IHNpbmNlIHJlbWFwcGluZyB3aXRoIENDUwpkb2Vzbid0IHdvcmsg YW55d2F5IHRoZXJlJ3Mgbm8gcG9pbnQgaW4gZG9pbmcgdGhpcyBleHRyYSB3b3JrLgoKLS0gClZp bGxlIFN5cmrDpGzDpApJbnRlbApfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVz a3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9p bnRlbC1nZngK