From mboxrd@z Thu Jan 1 00:00:00 1970 From: Maarten Lankhorst Subject: [PATCH v2 3/6] drm/i915: Calculate gen4 watermarks semiatomically. Date: Wed, 13 Sep 2017 10:40:21 +0200 Message-ID: <20170913084024.25501-4-maarten.lankhorst@linux.intel.com> References: <20170913084024.25501-1-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 6501D6E79E for ; Wed, 13 Sep 2017 08:40:30 +0000 (UTC) In-Reply-To: <20170913084024.25501-1-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 R2VuNCB3YXRlcm1hcmsgaXMgaGFuZGxlZCBzYW1lIGFzIGdlbjMtLiBDYWxjdWxhdGUKdGhlIG9w dGltYWwgd2F0ZXJtYXJrcyBhdG9taWNhbGx5IGZpcnN0LCBhbmQgcHJvZ3JhbQppdCBpbiB0aGUg bGVnYWN5IGhlbHBlci4KClNpZ25lZC1vZmYtYnk6IE1hYXJ0ZW4gTGFua2hvcnN0IDxtYWFydGVu Lmxhbmtob3JzdEBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfcG0uYyB8IDE0MSArKysrKysrKysrKysrKysrKysrKysrKysrKysrLS0tLS0tLS0tLS0tCiAx IGZpbGUgY2hhbmdlZCwgMTAwIGluc2VydGlvbnMoKyksIDQxIGRlbGV0aW9ucygtKQoKZGlmZiAt LWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9wbS5jCmluZGV4IGI0ZjQ3OTA3MmNiYS4uMDkzYzRiMzU1MjJhIDEwMDY0NAot LS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMvZ3B1L2Ry bS9pOTE1L2ludGVsX3BtLmMKQEAgLTIyMDksNTggKzIyMDksMTE0IEBAIHN0YXRpYyB2b2lkIHZs dl9vcHRpbWl6ZV93YXRlcm1hcmtzKHN0cnVjdCBpbnRlbF9hdG9taWNfc3RhdGUgKnN0YXRlLAog CW11dGV4X3VubG9jaygmZGV2X3ByaXYtPndtLndtX211dGV4KTsKIH0KIAotc3RhdGljIHZvaWQg aTk2NV91cGRhdGVfd20oc3RydWN0IGludGVsX2NydGMgKnVudXNlZF9jcnRjKQorc3RhdGljIGlu dCBpOTY1X2NvbXB1dGVfcGlwZV93bShzdHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3J0Y19zdGF0 ZSkKIHsKLQlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHVudXNl ZF9jcnRjLT5iYXNlLmRldik7Ci0Jc3RydWN0IGludGVsX2NydGMgKmNydGM7CisJc3RydWN0IGlu dGVsX2NydGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGNydGNfc3RhdGUtPmJhc2UuY3J0Yyk7CisJ c3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShjcnRjLT5iYXNlLmRl dik7CisJc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqc3RhdGUgPQorCQl0b19pbnRlbF9hdG9t aWNfc3RhdGUoY3J0Y19zdGF0ZS0+YmFzZS5zdGF0ZSk7CisJc3RydWN0IGk5eHhfd21fc3RhdGUg KndtX3N0YXRlID0gJmNydGNfc3RhdGUtPndtLmk5eHgub3B0aW1hbDsKKwlzdHJ1Y3QgaW50ZWxf cGxhbmUgKnBsYW5lID0gdG9faW50ZWxfcGxhbmUoY3J0Yy0+YmFzZS5wcmltYXJ5KTsKKwljb25z dCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpwcmltYXJ5X3BsYW5lX3N0YXRlID0gTlVMTDsKKwlj b25zdCBzdHJ1Y3QgZHJtX3BsYW5lX3N0YXRlICpjdXJzb3JfcGxhbmVfc3RhdGUgPSBOVUxMOwor CisJbWVtc2V0KHdtX3N0YXRlLCAwLCBzaXplb2YoKndtX3N0YXRlKSk7CisKKwlpZiAoY3J0Y19z dGF0ZS0+YmFzZS5wbGFuZV9tYXNrICYgQklUKGRybV9wbGFuZV9pbmRleCgmcGxhbmUtPmJhc2Up KSkKKwkJcHJpbWFyeV9wbGFuZV9zdGF0ZSA9IF9fZHJtX2F0b21pY19nZXRfY3VycmVudF9wbGFu ZV9zdGF0ZSgmc3RhdGUtPmJhc2UsICZwbGFuZS0+YmFzZSk7CisKKwlpZiAoY3J0Y19zdGF0ZS0+ YmFzZS5wbGFuZV9tYXNrICYgQklUKGRybV9wbGFuZV9pbmRleChjcnRjLT5iYXNlLmN1cnNvcikp KQorCQljdXJzb3JfcGxhbmVfc3RhdGUgPSBfX2RybV9hdG9taWNfZ2V0X2N1cnJlbnRfcGxhbmVf c3RhdGUoJnN0YXRlLT5iYXNlLCBjcnRjLT5iYXNlLmN1cnNvcik7CisKKwlpZiAocHJpbWFyeV9w bGFuZV9zdGF0ZSkgeworCQlzdGF0aWMgY29uc3QgaW50IHNyX2xhdGVuY3lfbnMgPSAxMjAwMDsK KwkJY29uc3Qgc3RydWN0IGRybV9kaXNwbGF5X21vZGUgKmFkanVzdGVkX21vZGUgPQorCQkJJmNy dGNfc3RhdGUtPmJhc2UuYWRqdXN0ZWRfbW9kZTsKKwkJdW5zaWduZWQgYWN0aXZlX2NydGNzOwor CQl1bnNpZ25lZCBsb25nIGVudHJpZXM7CisJCWJvb2wgbWF5X2N4c3I7CisKKwkJaWYgKHN0YXRl LT5tb2Rlc2V0KQorCQkJYWN0aXZlX2NydGNzID0gc3RhdGUtPmFjdGl2ZV9jcnRjczsKKwkJZWxz ZQorCQkJYWN0aXZlX2NydGNzID0gZGV2X3ByaXYtPmFjdGl2ZV9jcnRjczsKKworCQltYXlfY3hz ciA9IGFjdGl2ZV9jcnRjcyA9PSBkcm1fY3J0Y19tYXNrKCZjcnRjLT5iYXNlKTsKKworCQlpZiAo bWF5X2N4c3IgJiYgaW50ZWxfd21fcGxhbmVfdmlzaWJsZShjcnRjX3N0YXRlLCB0b19pbnRlbF9w bGFuZV9zdGF0ZShwcmltYXJ5X3BsYW5lX3N0YXRlKSkpIHsKKwkJCXN0cnVjdCBkcm1fZnJhbWVi dWZmZXIgKmZiID0gcHJpbWFyeV9wbGFuZV9zdGF0ZS0+ZmI7CisJCQl1bnNpZ25lZCBjcHAgPSBm Yi0+Zm9ybWF0LT5jcHBbMF07CisKKwkJCWVudHJpZXMgPSBpbnRlbF93bV9tZXRob2QyKGFkanVz dGVkX21vZGUtPmNydGNfY2xvY2ssCisJCQkJCQkgICBhZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3Rh bCwKKwkJCQkJCSAgIGNydGNfc3RhdGUtPnBpcGVfc3JjX3csIGNwcCwKKwkJCQkJCSAgIHNyX2xh dGVuY3lfbnMgLyAxMDApOworCQkJZW50cmllcyA9IERJVl9ST1VORF9VUChlbnRyaWVzLCBJOTE1 X0ZJRk9fTElORV9TSVpFKTsKKwkJCWlmIChlbnRyaWVzIDwgSTk2NV9GSUZPX1NJWkUpCisJCQkJ d21fc3RhdGUtPnNyLnBsYW5lX3dtID0gSTk2NV9GSUZPX1NJWkUgLSBlbnRyaWVzOworCQkJZWxz ZQorCQkJCW1heV9jeHNyID0gZmFsc2U7CisKKwkJCURSTV9ERUJVR19LTVMoInNlbGYtcmVmcmVz aCBlbnRyaWVzOiAlbGRcbiIsIGVudHJpZXMpOworCQl9CisKKwkJLyoKKwkJICogTm8gbmVlZCB0 byB1c2UgaW50ZWxfd21fcGxhbmVfdmlzaWJsZSBoZXJlLCBzaW5jZSBoYXZpbmcKKwkJICogYSBu b24tbnVsbCBjdXJzb3JfcGxhbmVfc3RhdGUgbWVhbnMgdGhlIGN1cnNvciBpcyBib3VuZAorCQkg KiB0byBhIGZiIGFuZCBpcyBhbHdheXMgdHJlYXRlZCBhcyB2aXNpYmxlLgorCQkgKi8KKwkJaWYg KG1heV9jeHNyICYmIGN1cnNvcl9wbGFuZV9zdGF0ZSAmJiBjcnRjX3N0YXRlLT5iYXNlLmFjdGl2 ZSkgeworCQkJZW50cmllcyA9IGludGVsX3dtX21ldGhvZDIoYWRqdXN0ZWRfbW9kZS0+Y3J0Y19j bG9jaywKKwkJCQkJCSAgIGFkanVzdGVkX21vZGUtPmNydGNfaHRvdGFsLAorCQkJCQkJICAgY3Vy c29yX3BsYW5lX3N0YXRlLT5jcnRjX3csIDQsCisJCQkJCQkgICBzcl9sYXRlbmN5X25zIC8gMTAw KTsKKworCQkJZW50cmllcyA9IERJVl9ST1VORF9VUChlbnRyaWVzLAorCQkJCQkgICAgICBpOTY1 X2N1cnNvcl93bV9pbmZvLmNhY2hlbGluZV9zaXplKSArCisJCQkJaTk2NV9jdXJzb3Jfd21faW5m by5ndWFyZF9zaXplOworCisJCQlpZiAoZW50cmllcyA8IGk5NjVfY3Vyc29yX3dtX2luZm8uZmlm b19zaXplKQorCQkJCXdtX3N0YXRlLT5zci5jdXJzb3Jfd20gPQorCQkJCQltaW4oaTk2NV9jdXJz b3Jfd21faW5mby5maWZvX3NpemUgLSBlbnRyaWVzLAorCQkJCQkgICAgKHVuc2lnbmVkIGxvbmcp KGk5NjVfY3Vyc29yX3dtX2luZm8ubWF4X3dtKSk7CisJCQllbHNlCisJCQkJbWF5X2N4c3IgPSBm YWxzZTsKKwkJfSBlbHNlIGlmIChtYXlfY3hzcikKKwkJCXdtX3N0YXRlLT5zci5jdXJzb3Jfd20g PSAxNjsKKworCQl3bV9zdGF0ZS0+Y3hzciA9IG1heV9jeHNyOworCisJCURSTV9ERUJVR19LTVMo IkZJRk8gd2F0ZXJtYXJrcyAtIGNhbiBjeHNyOiAlcywgZGlzcGxheSBwbGFuZSAlZCwgY3Vyc29y IFNSIHNpemU6ICVkXG4iLAorCQkJICAgICAgeWVzbm8od21fc3RhdGUtPmN4c3IpLCB3bV9zdGF0 ZS0+c3IucGxhbmVfd20sIHdtX3N0YXRlLT5zci5jdXJzb3Jfd20pOworCX0KKworCXJldHVybiAw OworfQorCitzdGF0aWMgdm9pZCBpOTY1X3VwZGF0ZV93bShzdHJ1Y3QgaW50ZWxfY3J0YyAqY3J0 YykKK3sKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KGNydGMt PmJhc2UuZGV2KTsKIAlpbnQgc3J3bSA9IDE7CiAJaW50IGN1cnNvcl9zciA9IDE2OwotCWJvb2wg Y3hzcl9lbmFibGVkOworCWJvb2wgY3hzcl9lbmFibGVkID0gZmFsc2U7CisKKwljcnRjLT53bS5h Y3RpdmUuaTl4eCA9IGNydGMtPmNvbmZpZy0+d20uaTl4eC5vcHRpbWFsOwogCiAJLyogQ2FsYyBz ciBlbnRyaWVzIGZvciBvbmUgcGxhbmUgY29uZmlncyAqLwogCWNydGMgPSBzaW5nbGVfZW5hYmxl ZF9jcnRjKGRldl9wcml2KTsKLQlpZiAoY3J0YykgewotCQkvKiBzZWxmLXJlZnJlc2ggaGFzIG11 Y2ggaGlnaGVyIGxhdGVuY3kgKi8KLQkJc3RhdGljIGNvbnN0IGludCBzcl9sYXRlbmN5X25zID0g MTIwMDA7Ci0JCWNvbnN0IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICphZGp1c3RlZF9tb2RlID0K LQkJCSZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKLQkJY29uc3Qgc3RydWN0IGRy bV9mcmFtZWJ1ZmZlciAqZmIgPQotCQkJY3J0Yy0+YmFzZS5wcmltYXJ5LT5zdGF0ZS0+ZmI7Ci0J CWludCBjbG9jayA9IGFkanVzdGVkX21vZGUtPmNydGNfY2xvY2s7Ci0JCWludCBodG90YWwgPSBh ZGp1c3RlZF9tb2RlLT5jcnRjX2h0b3RhbDsKLQkJaW50IGhkaXNwbGF5ID0gY3J0Yy0+Y29uZmln LT5waXBlX3NyY193OwotCQlpbnQgY3BwID0gZmItPmZvcm1hdC0+Y3BwWzBdOwotCQlpbnQgZW50 cmllczsKLQotCQllbnRyaWVzID0gaW50ZWxfd21fbWV0aG9kMihjbG9jaywgaHRvdGFsLAotCQkJ CQkgICBoZGlzcGxheSwgY3BwLCBzcl9sYXRlbmN5X25zIC8gMTAwKTsKLQkJZW50cmllcyA9IERJ Vl9ST1VORF9VUChlbnRyaWVzLCBJOTE1X0ZJRk9fTElORV9TSVpFKTsKLQkJc3J3bSA9IEk5NjVf RklGT19TSVpFIC0gZW50cmllczsKLQkJaWYgKHNyd20gPCAwKQotCQkJc3J3bSA9IDE7Ci0JCXNy d20gJj0gMHgxZmY7Ci0JCURSTV9ERUJVR19LTVMoInNlbGYtcmVmcmVzaCBlbnRyaWVzOiAlZCwg d206ICVkXG4iLAotCQkJICAgICAgZW50cmllcywgc3J3bSk7Ci0KLQkJZW50cmllcyA9IGludGVs X3dtX21ldGhvZDIoY2xvY2ssIGh0b3RhbCwKLQkJCQkJICAgY3J0Yy0+YmFzZS5jdXJzb3ItPnN0 YXRlLT5jcnRjX3csIDQsCi0JCQkJCSAgIHNyX2xhdGVuY3lfbnMgLyAxMDApOwotCQllbnRyaWVz ID0gRElWX1JPVU5EX1VQKGVudHJpZXMsCi0JCQkJICAgICAgIGk5NjVfY3Vyc29yX3dtX2luZm8u Y2FjaGVsaW5lX3NpemUpICsKLQkJCWk5NjVfY3Vyc29yX3dtX2luZm8uZ3VhcmRfc2l6ZTsKLQot CQljdXJzb3Jfc3IgPSBpOTY1X2N1cnNvcl93bV9pbmZvLmZpZm9fc2l6ZSAtIGVudHJpZXM7Ci0J CWlmIChjdXJzb3Jfc3IgPiBpOTY1X2N1cnNvcl93bV9pbmZvLm1heF93bSkKLQkJCWN1cnNvcl9z ciA9IGk5NjVfY3Vyc29yX3dtX2luZm8ubWF4X3dtOworCWlmIChjcnRjICYmIGNydGMtPndtLmFj dGl2ZS5pOXh4LmN4c3IpIHsKKwkJc3RydWN0IGk5eHhfd21fc3RhdGUgKndtX3N0YXRlID0gJmNy dGMtPndtLmFjdGl2ZS5pOXh4OworCisJCXNyd20gPSB3bV9zdGF0ZS0+c3IucGxhbmVfd207CisJ CWN1cnNvcl9zciA9IHdtX3N0YXRlLT5zci5jdXJzb3Jfd207CiAKIAkJRFJNX0RFQlVHX0tNUygi c2VsZi1yZWZyZXNoIHdhdGVybWFyazogZGlzcGxheSBwbGFuZSAlZCAiCiAJCQkgICAgICAiY3Vy c29yICVkXG4iLCBzcndtLCBjdXJzb3Jfc3IpOwogCiAJCWN4c3JfZW5hYmxlZCA9IHRydWU7Ci0J fSBlbHNlIHsKLQkJY3hzcl9lbmFibGVkID0gZmFsc2U7CisJfSBlbHNlIGlmIChkZXZfcHJpdi0+ d20uaTl4eC5jeHNyKSB7CiAJCS8qIFR1cm4gb2ZmIHNlbGYgcmVmcmVzaCBpZiBib3RoIHBpcGVz IGFyZSBlbmFibGVkICovCi0JCWludGVsX3NldF9tZW1vcnlfY3hzcihkZXZfcHJpdiwgZmFsc2Up OworCQlfaW50ZWxfc2V0X21lbW9yeV9jeHNyKGRldl9wcml2LCBmYWxzZSk7CiAJfQogCiAJRFJN X0RFQlVHX0tNUygiU2V0dGluZyBGSUZPIHdhdGVybWFya3MgLSBBOiA4LCBCOiA4LCBDOiA4LCBT UiAlZFxuIiwKQEAgLTIyNzcsNyArMjMzMyw5IEBAIHN0YXRpYyB2b2lkIGk5NjVfdXBkYXRlX3dt KHN0cnVjdCBpbnRlbF9jcnRjICp1bnVzZWRfY3J0YykKIAlJOTE1X1dSSVRFKERTUEZXMywgRldf V00oY3Vyc29yX3NyLCBDVVJTT1JfU1IpKTsKIAogCWlmIChjeHNyX2VuYWJsZWQpCi0JCWludGVs X3NldF9tZW1vcnlfY3hzcihkZXZfcHJpdiwgdHJ1ZSk7CisJCV9pbnRlbF9zZXRfbWVtb3J5X2N4 c3IoZGV2X3ByaXYsIHRydWUpOworCisJZGV2X3ByaXYtPndtLmk5eHguY3hzciA9IGN4c3JfZW5h YmxlZDsKIH0KIAogI3VuZGVmIEZXX1dNCkBAIC05MTU5LDYgKzkyMTcsNyBAQCB2b2lkIGludGVs X2luaXRfcG0oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KQogCQkJZGV2X3ByaXYt PmRpc3BsYXkub3B0aW1pemVfd2F0ZXJtYXJrcyA9IGk5eHhfb3B0aW1pemVfd2F0ZXJtYXJrczsK IAkJfQogCX0gZWxzZSBpZiAoSVNfR0VONChkZXZfcHJpdikpIHsKKwkJZGV2X3ByaXYtPmRpc3Bs YXkuY29tcHV0ZV9waXBlX3dtID0gaTk2NV9jb21wdXRlX3BpcGVfd207CiAJCWRldl9wcml2LT5k aXNwbGF5LnVwZGF0ZV93bSA9IGk5NjVfdXBkYXRlX3dtOwogCX0gZWxzZSBpZiAoSVNfR0VOMyhk ZXZfcHJpdikpIHsKIAkJZGV2X3ByaXYtPmRpc3BsYXkuY29tcHV0ZV9waXBlX3dtID0gaTl4eF9j b21wdXRlX3BpcGVfd207Ci0tIAoyLjE0LjEKCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3Rz LmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xp c3RpbmZvL2ludGVsLWdmeAo=