From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 07/13] drm/i915: Calculate max watermark levels for ILK+ Date: Tue, 6 Aug 2013 22:24:06 +0300 Message-ID: <1375817052-32310-8-git-send-email-ville.syrjala@linux.intel.com> References: <1375817052-32310-1-git-send-email-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga03.intel.com (mga03.intel.com [143.182.124.21]) by gabe.freedesktop.org (Postfix) with ESMTP id 4A2E8E5CC2 for ; Tue, 6 Aug 2013 12:24:40 -0700 (PDT) In-Reply-To: <1375817052-32310-1-git-send-email-ville.syrjala@linux.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org Errors-To: intel-gfx-bounces+gcfxdi-intel-gfx=m.gmane.org@lists.freedesktop.org To: intel-gfx@lists.freedesktop.org List-Id: intel-gfx@lists.freedesktop.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KClRo ZXJlIGFyZSBxdWl0ZSBhIGZldyB2YXJpYWJsZXMgd2UgbmVlZCB0byB0YWtlIGludG8gYWNjb3Vu dCB0bwpkZXRlcm1pbmUgdGhlIG1heGltdW0gd2F0ZXJtYXJrIGxldmVscywgc28gaXQgZmVlbHMg YSBiaXQgY2xlYW5lcgp0byBjYWxjdWxhdGUgdGhvc2UgcmF0aGVyIHRoYW4ganVzdCBoYXZlIGEg YnVuY2ggb2Ygd2hhdCBsb29rIGxpa2UKbWFnaWMgbnVtYmVycy4KClNpZ25lZC1vZmYtYnk6IFZp bGxlIFN5cmrDpGzDpCA8dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYyB8IDExOSArKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrKystLS0tCiAxIGZpbGUgY2hhbmdlZCwgMTA3IGluc2VydGlvbnMoKyksIDEyIGRl bGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMg Yi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCmluZGV4IDc5N2U3NzcuLmY1MWY4OWQg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX3BtLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwpAQCAtMjI3MCw2ICsyMjcwLDEwNCBAQCBzdGF0aWMg dWludDMyX3QgaWxrX2NvbXB1dGVfZmJjX3dtKHN0cnVjdCBoc3dfcGlwZV93bV9wYXJhbWV0ZXJz ICpwYXJhbXMsCiAJCQkgIHBhcmFtcy0+cHJpX2J5dGVzX3Blcl9waXhlbCk7CiB9CiAKK3N0YXRp YyB1bnNpZ25lZCBpbnQgaWxrX2Rpc3BsYXlfZmlmb19zaXplKGNvbnN0IHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYpCit7CisJaWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuID49IDcpCisJCXJldHVybiA3 Njg7CisJZWxzZQorCQlyZXR1cm4gNTEyOworfQorCisvKiBDYWxjdWxhdGUgdGhlIG1heGltdW0g cHJpbWFyeS9zcHJpdGUgcGxhbmUgd2F0ZXJtYXJrICovCitzdGF0aWMgdW5zaWduZWQgaW50IGls a19wbGFuZV93bV9tYXgoY29uc3Qgc3RydWN0IGRybV9kZXZpY2UgKmRldiwKKwkJCQkgICAgIGlu dCBsZXZlbCwKKwkJCQkgICAgIHVuc2lnbmVkIGludCBwaXBlc19hY3RpdmUsCisJCQkJICAgICBi b29sIHNwcml0ZV9lbmFibGVkLAorCQkJCSAgICAgZW51bSBpbnRlbF9kZGJfcGFydGl0aW9uaW5n IGRkYl9wYXJ0aXRpb25pbmcsCisJCQkJICAgICBib29sIGlzX3Nwcml0ZSkKK3sKKwl1bnNpZ25l ZCBpbnQgZmlmb19zaXplID0gaWxrX2Rpc3BsYXlfZmlmb19zaXplKGRldik7CisJdW5zaWduZWQg aW50IG1heDsKKworCS8qIGlmIHNwcml0ZXMgYXJlbid0IGVuYWJsZWQsIHNwcml0ZXMgZ2V0IG5v dGhpbmcgKi8KKwlpZiAoaXNfc3ByaXRlICYmICFzcHJpdGVfZW5hYmxlZCkKKwkJcmV0dXJuIDA7 CisKKwkvKiBIU1cgYWxsb3dzIExQMSsgd2F0ZXJtYXJrcyBldmVuIHdpdGggbXVsdGlwbGUgcGlw ZXMgKi8KKwlpZiAobGV2ZWwgPT0gMCB8fCBwaXBlc19hY3RpdmUgPiAxKSB7CisJCWZpZm9fc2l6 ZSAvPSBJTlRFTF9JTkZPKGRldiktPm51bV9waXBlczsKKworCQkvKgorCQkgKiBGb3Igc29tZSBy ZWFzb24gdGhlIG5vbiBzZWxmIHJlZnJlc2gKKwkJICogRklGTyBzaXplIGlzIG9ubHkgaGFsZiBv ZiB0aGUgc2VsZgorCQkgKiByZWZyZXNoIEZJRk8gc2l6ZSBvbiBJTEsvU05CLgorCQkgKi8KKwkJ aWYgKElOVEVMX0lORk8oZGV2KS0+Z2VuIDw9IDYpCisJCQlmaWZvX3NpemUgLz0gMjsKKwl9CisK KwlpZiAoc3ByaXRlX2VuYWJsZWQpIHsKKwkJLyogbGV2ZWwgMCBpcyBhbHdheXMgY2FsY3VsYXRl ZCB3aXRoIDE6MSBzcGxpdCAqLworCQlpZiAobGV2ZWwgPiAwICYmIGRkYl9wYXJ0aXRpb25pbmcg PT0gSU5URUxfRERCX1BBUlRfNV82KSB7CisJCQlpZiAoaXNfc3ByaXRlKQorCQkJCWZpZm9fc2l6 ZSAqPSA1OworCQkJZmlmb19zaXplIC89IDY7CisJCX0gZWxzZSB7CisJCQlmaWZvX3NpemUgLz0g MjsKKwkJfQorCX0KKworCS8qIGNsYW1wIHRvIG1heCB0aGF0IHRoZSByZWdpc3RlcnMgY2FuIGhv bGQgKi8KKwlpZiAoSU5URUxfSU5GTyhkZXYpLT5nZW4gPj0gNykKKwkJLyogSVZCL0hTVyBwcmlt YXJ5L3Nwcml0ZSBwbGFuZSB3YXRlcm1hcmtzICovCisJCW1heCA9IGxldmVsID09IDAgPyAxMjcg OiAxMDIzOworCWVsc2UgaWYgKCFpc19zcHJpdGUpCisJCS8qIElMSy9TTkIgcHJpbWFyeSBwbGFu ZSB3YXRlcm1hcmtzICovCisJCW1heCA9IGxldmVsID09IDAgPyAxMjcgOiA1MTE7CisJZWxzZQor CQkvKiBJTEsvU05CIHNwcml0ZSBwbGFuZSB3YXRlcm1hcmtzICovCisJCW1heCA9IGxldmVsID09 IDAgPyA2MyA6IDI1NTsKKworCXJldHVybiBtaW4oZmlmb19zaXplLCBtYXgpOworfQorCisvKiBD YWxjdWxhdGUgdGhlIG1heGltdW0gY3Vyc29yIHBsYW5lIHdhdGVybWFyayAqLworc3RhdGljIHVu c2lnbmVkIGludCBpbGtfY3Vyc29yX3dtX21heChjb25zdCBzdHJ1Y3QgZHJtX2RldmljZSAqZGV2 LAorCQkJCSAgICAgIGludCBsZXZlbCwgdW5zaWduZWQgaW50IHBpcGVzX2FjdGl2ZSkKK3sKKwkv KiBIU1cgTFAxKyB3YXRlcm1hcmtzIHcvIG11bHRpcGxlIHBpcGVzICovCisJaWYgKGxldmVsID4g MCAmJiBwaXBlc19hY3RpdmUgPiAxKQorCQlyZXR1cm4gNjQ7CisKKwkvKiBvdGh3ZXdpc2UganVz dCByZXBvcnQgbWF4IHRoYXQgcmVnaXN0ZXJzIGNhbiBob2xkICovCisJaWYgKElOVEVMX0lORk8o ZGV2KS0+Z2VuID49IDcpCisJCXJldHVybiBsZXZlbCA9PSAwID8gNjMgOiAyNTU7CisJZWxzZQor CQlyZXR1cm4gbGV2ZWwgPT0gMCA/IDMxIDogNjM7Cit9CisKKy8qIENhbGN1bGF0ZSB0aGUgbWF4 aW11bSBGQkMgd2F0ZXJtYXJrICovCitzdGF0aWMgdW5zaWduZWQgaW50IGlsa19mYmNfd21fbWF4 KHZvaWQpCit7CisJLyogbWF4IHRoYXQgcmVnaXN0ZXJzIGNhbiBob2xkICovCisJcmV0dXJuIDE1 OworfQorCitzdGF0aWMgdm9pZCBpbGtfd21fbWF4KHN0cnVjdCBkcm1fZGV2aWNlICpkZXYsCisJ CSAgICAgICBpbnQgbGV2ZWwsCisJCSAgICAgICB1bnNpZ25lZCBpbnQgcGlwZXNfYWN0aXZlLAor CQkgICAgICAgYm9vbCBzcHJpdGVfZW5hYmxlZCwKKwkJICAgICAgIGVudW0gaW50ZWxfZGRiX3Bh cnRpdGlvbmluZyBkZGJfcGFydGl0aW9uaW5nLAorCQkgICAgICAgc3RydWN0IGhzd193bV9tYXhp bXVtcyAqbWF4KQoreworCW1heC0+cHJpID0gaWxrX3BsYW5lX3dtX21heChkZXYsIGxldmVsLCBw aXBlc19hY3RpdmUsCisJCQkJICAgIHNwcml0ZV9lbmFibGVkLCBkZGJfcGFydGl0aW9uaW5nLCBm YWxzZSk7CisJbWF4LT5zcHIgPSBpbGtfcGxhbmVfd21fbWF4KGRldiwgbGV2ZWwsIHBpcGVzX2Fj dGl2ZSwKKwkJCQkgICAgc3ByaXRlX2VuYWJsZWQsIGRkYl9wYXJ0aXRpb25pbmcsIHRydWUpOwor CW1heC0+Y3VyID0gaWxrX2N1cnNvcl93bV9tYXgoZGV2LCBsZXZlbCwgcGlwZXNfYWN0aXZlKTsK KwltYXgtPmZiYyA9IGlsa19mYmNfd21fbWF4KCk7Cit9CisKIHN0YXRpYyBib29sIGlsa19jaGVj a193bShpbnQgbGV2ZWwsCiAJCQkgY29uc3Qgc3RydWN0IGhzd193bV9tYXhpbXVtcyAqbWF4LAog CQkJIHN0cnVjdCBpbnRlbF93bV9sZXZlbCAqcmVzdWx0KQpAQCAtMjU0NSwxOCArMjY0MywxNSBA QCBzdGF0aWMgdm9pZCBoc3dfY29tcHV0ZV93bV9wYXJhbWV0ZXJzKHN0cnVjdCBkcm1fZGV2aWNl ICpkZXYsCiAJCQlzcHJpdGVzX2VuYWJsZWQrKzsKIAl9CiAKLQlpZiAocGlwZXNfYWN0aXZlID4g MSkgewotCQlscF9tYXhfMV8yLT5wcmkgPSBscF9tYXhfNV82LT5wcmkgPSBzcHJpdGVzX2VuYWJs ZWQgPyAxMjggOiAyNTY7Ci0JCWxwX21heF8xXzItPnNwciA9IGxwX21heF81XzYtPnNwciA9IDEy ODsKLQkJbHBfbWF4XzFfMi0+Y3VyID0gbHBfbWF4XzVfNi0+Y3VyID0gNjQ7Ci0JfSBlbHNlIHsK LQkJbHBfbWF4XzFfMi0+cHJpID0gc3ByaXRlc19lbmFibGVkID8gMzg0IDogNzY4OwotCQlscF9t YXhfNV82LT5wcmkgPSBzcHJpdGVzX2VuYWJsZWQgPyAxMjggOiA3Njg7Ci0JCWxwX21heF8xXzIt PnNwciA9IDM4NDsKLQkJbHBfbWF4XzVfNi0+c3ByID0gNjQwOwotCQlscF9tYXhfMV8yLT5jdXIg PSBscF9tYXhfNV82LT5jdXIgPSAyNTU7Ci0JfQotCWxwX21heF8xXzItPmZiYyA9IGxwX21heF81 XzYtPmZiYyA9IDE1OworCWlsa193bV9tYXgoZGV2LCAxLCBwaXBlc19hY3RpdmUsIHNwcml0ZXNf ZW5hYmxlZCwKKwkJICAgSU5URUxfRERCX1BBUlRfMV8yLCBscF9tYXhfMV8yKTsKKworCS8qIDUv NiBzcGxpdCBvbmx5IGluIHNpbmdsZSBwaXBlIGNvbmZpZyBvbiBJVkIrICovCisJaWYgKElOVEVM X0lORk8oZGV2KS0+Z2VuID49IDcgJiYgcGlwZXNfYWN0aXZlIDw9IDEpCisJCWlsa193bV9tYXgo ZGV2LCAxLCBwaXBlc19hY3RpdmUsIHNwcml0ZXNfZW5hYmxlZCwKKwkJCSAgIElOVEVMX0REQl9Q QVJUXzVfNiwgbHBfbWF4XzVfNik7CisJZWxzZQorCQkqbHBfbWF4XzVfNiA9ICpscF9tYXhfMV8y OwogfQogCiBzdGF0aWMgdm9pZCBoc3dfY29tcHV0ZV93bV9yZXN1bHRzKHN0cnVjdCBkcm1fZGV2 aWNlICpkZXYsCi0tIAoxLjguMS41CgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVl ZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZv L2ludGVsLWdmeAo=