From mboxrd@z Thu Jan 1 00:00:00 1970 From: Vidya Srinivas Subject: [PATCH 09/16] drm/i915/skl: split skl_compute_ddb function Date: Tue, 6 Feb 2018 18:28:12 +0530 Message-ID: <1517921899-25926-10-git-send-email-vidya.srinivas@intel.com> References: <1517921899-25926-1-git-send-email-vidya.srinivas@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTPS id 5C7EE6E41A for ; Tue, 6 Feb 2018 12:59:55 +0000 (UTC) In-Reply-To: <1517921899-25926-1-git-send-email-vidya.srinivas@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 RnJvbTogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KClRoaXMgcGF0Y2gg c3BsaXRzIHNrbF9jb21wdXRlX3dtL2RkYiBmdW5jdGlvbnMgaW50byB0d28gcGFydHMuCk9uZSBh ZGRzIGFsbCBhZmZlY3RlZCBwaXBlcyBhZnRlciB0aGUgY29tbWl0IHRvIGF0b21pY19zdGF0ZSBz dHJ1Y3R1cmUKYW5kIHNlY29uZCBwYXJ0IGRvZXMgY29tcHV0ZSB0aGUgRERCLgoKU2lnbmVkLW9m Zi1ieTogTWFoZXNoIEt1bWFyIDxtYWhlc2gxLmt1bWFyQGludGVsLmNvbT4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIHwgMTU3ICsrKysrKysrKysrKysrKysrKysrKystLS0t LS0tLS0tLS0tLS0tLS0KIDEgZmlsZSBjaGFuZ2VkLCA4OCBpbnNlcnRpb25zKCspLCA2OSBkZWxl dGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfcG0uYwppbmRleCBjMzdkMDE0Li40NzdlYWVhIDEw MDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9wbS5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX3BtLmMKQEAgLTUwNTgsNjkgKzUwNTgsMTYgQEAgc2tsX2RkYl9h ZGRfYWZmZWN0ZWRfcGxhbmVzKHN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGUpCiBzdGF0 aWMgaW50CiBza2xfY29tcHV0ZV9kZGIoc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0YXRlKQog ewotCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSBzdGF0ZS0+ZGV2OwotCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IHRvX2k5MTUoZGV2KTsKKwljb25zdCBzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSB0b19pOTE1KHN0YXRlLT5kZXYpOwogCXN0cnVjdCBpbnRl bF9hdG9taWNfc3RhdGUgKmludGVsX3N0YXRlID0gdG9faW50ZWxfYXRvbWljX3N0YXRlKHN0YXRl KTsKLQlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKIAlzdHJ1Y3Qgc2tsX2RkYl9hbGxv Y2F0aW9uICpkZGIgPSAmaW50ZWxfc3RhdGUtPndtX3Jlc3VsdHMuZGRiOwotCXVpbnQzMl90IHJl YWxsb2NfcGlwZXMgPSBwaXBlc19tb2RpZmllZChzdGF0ZSk7Ci0JaW50IHJldDsKLQotCS8qCi0J ICogSWYgdGhpcyBpcyBvdXIgZmlyc3QgYXRvbWljIHVwZGF0ZSBmb2xsb3dpbmcgaGFyZHdhcmUg cmVhZG91dCwKLQkgKiB3ZSBjYW4ndCB0cnVzdCB0aGUgRERCIHRoYXQgdGhlIEJJT1MgcHJvZ3Jh bW1lZCBmb3IgdXMuICBMZXQncwotCSAqIHByZXRlbmQgdGhhdCBhbGwgcGlwZXMgc3dpdGNoZWQg YWN0aXZlIHN0YXR1cyBzbyB0aGF0IHdlJ2xsCi0JICogZW5zdXJlIGEgZnVsbCBEREIgcmVjb21w dXRlLgotCSAqLwotCWlmIChkZXZfcHJpdi0+d20uZGlzdHJ1c3RfYmlvc193bSkgewotCQlyZXQg PSBkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29uZmlnLmNvbm5lY3Rpb25fbXV0ZXgsCi0J CQkJICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCk7Ci0JCWlmIChyZXQpCi0JCQlyZXR1cm4gcmV0 OwotCi0JCWludGVsX3N0YXRlLT5hY3RpdmVfcGlwZV9jaGFuZ2VzID0gfjA7Ci0KLQkJLyoKLQkJ ICogV2UgdXN1YWxseSBvbmx5IGluaXRpYWxpemUgaW50ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcyBp ZiB3ZQotCQkgKiB3ZSdyZSBkb2luZyBhIG1vZGVzZXQ7IG1ha2Ugc3VyZSB0aGlzIGZpZWxkIGlz IGFsd2F5cwotCQkgKiBpbml0aWFsaXplZCBkdXJpbmcgdGhlIHNhbml0aXphdGlvbiBwcm9jZXNz IHRoYXQgaGFwcGVucwotCQkgKiBvbiB0aGUgZmlyc3QgY29tbWl0IHRvby4KLQkJICovCi0JCWlm ICghaW50ZWxfc3RhdGUtPm1vZGVzZXQpCi0JCQlpbnRlbF9zdGF0ZS0+YWN0aXZlX2NydGNzID0g ZGV2X3ByaXYtPmFjdGl2ZV9jcnRjczsKLQl9Ci0KLQkvKgotCSAqIElmIHRoZSBtb2Rlc2V0IGNo YW5nZXMgd2hpY2ggQ1JUQydzIGFyZSBhY3RpdmUsIHdlIG5lZWQgdG8KLQkgKiByZWNvbXB1dGUg dGhlIEREQiBhbGxvY2F0aW9uIGZvciAqYWxsKiBhY3RpdmUgcGlwZXMsIGV2ZW4KLQkgKiB0aG9z ZSB0aGF0IHdlcmVuJ3Qgb3RoZXJ3aXNlIGJlaW5nIG1vZGlmaWVkIGluIGFueSB3YXkgYnkgdGhp cwotCSAqIGF0b21pYyBjb21taXQuICBEdWUgdG8gdGhlIHNocmlua2luZyBvZiB0aGUgcGVyLXBp cGUgYWxsb2NhdGlvbnMKLQkgKiB3aGVuIG5ldyBhY3RpdmUgQ1JUQydzIGFyZSBhZGRlZCwgaXQn cyBwb3NzaWJsZSBmb3IgYSBwaXBlIHRoYXQKLQkgKiB3ZSB3ZXJlIGFscmVhZHkgdXNpbmcgYW5k IGFyZW4ndCBjaGFuZ2luZyBhdCBhbGwgaGVyZSB0byBzdWRkZW5seQotCSAqIGJlY29tZSBpbnZh bGlkIGlmIGl0cyBEREIgbmVlZHMgZXhjZWVkcyBpdHMgbmV3IGFsbG9jYXRpb24uCi0JICoKLQkg KiBOb3RlIHRoYXQgaWYgd2Ugd2luZCB1cCBkb2luZyBhIGZ1bGwgRERCIHJlY29tcHV0ZSwgd2Ug Y2FuJ3QgbGV0Ci0JICogYW55IG90aGVyIGRpc3BsYXkgdXBkYXRlcyByYWNlIHdpdGggdGhpcyB0 cmFuc2FjdGlvbiwgc28gd2UgbmVlZAotCSAqIHRvIGdyYWIgdGhlIGxvY2sgb24gKmFsbCogQ1JU QydzLgotCSAqLwotCWlmIChpbnRlbF9zdGF0ZS0+YWN0aXZlX3BpcGVfY2hhbmdlcykgewotCQly ZWFsbG9jX3BpcGVzID0gfjA7Ci0JCWludGVsX3N0YXRlLT53bV9yZXN1bHRzLmRpcnR5X3BpcGVz ID0gfjA7Ci0JfQorCXN0cnVjdCBpbnRlbF9jcnRjICpjcnRjOworCXN0cnVjdCBpbnRlbF9jcnRj X3N0YXRlICpjc3RhdGU7CisJaW50IHJldCwgaTsKIAotCS8qCi0JICogV2UncmUgbm90IHJlY29t cHV0aW5nIGZvciB0aGUgcGlwZXMgbm90IGluY2x1ZGVkIGluIHRoZSBjb21taXQsIHNvCi0JICog bWFrZSBzdXJlIHdlIHN0YXJ0IHdpdGggdGhlIGN1cnJlbnQgc3RhdGUuCi0JICovCiAJbWVtY3B5 KGRkYiwgJmRldl9wcml2LT53bS5za2xfaHcuZGRiLCBzaXplb2YoKmRkYikpOwogCi0JZm9yX2Vh Y2hfaW50ZWxfY3J0Y19tYXNrKGRldiwgaW50ZWxfY3J0YywgcmVhbGxvY19waXBlcykgewotCQlz dHJ1Y3QgaW50ZWxfY3J0Y19zdGF0ZSAqY3N0YXRlOwotCi0JCWNzdGF0ZSA9IGludGVsX2F0b21p Y19nZXRfY3J0Y19zdGF0ZShzdGF0ZSwgaW50ZWxfY3J0Yyk7Ci0JCWlmIChJU19FUlIoY3N0YXRl KSkKLQkJCXJldHVybiBQVFJfRVJSKGNzdGF0ZSk7Ci0KKwlmb3JfZWFjaF9uZXdfaW50ZWxfY3J0 Y19pbl9zdGF0ZShpbnRlbF9zdGF0ZSwgY3J0YywgY3N0YXRlLCBpKSB7CiAJCXJldCA9IHNrbF9h bGxvY2F0ZV9waXBlX2RkYihjc3RhdGUsIGRkYik7CiAJCWlmIChyZXQpCiAJCQlyZXR1cm4gcmV0 OwpAQCAtNTE4MiwyMyArNTEyOSwyMyBAQCBza2xfcHJpbnRfd21fY2hhbmdlcyhjb25zdCBzdHJ1 Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3RhdGUpCiB9CiAKIHN0YXRpYyBpbnQKLXNrbF9jb21wdXRl X3dtKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSkKK3NrbF9kZGJfYWRkX2FmZmVjdGVk X3BpcGVzKHN0cnVjdCBkcm1fYXRvbWljX3N0YXRlICpzdGF0ZSwgYm9vbCAqY2hhbmdlZCkKIHsK LQlzdHJ1Y3QgZHJtX2NydGMgKmNydGM7Ci0Jc3RydWN0IGRybV9jcnRjX3N0YXRlICpjc3RhdGU7 Ci0Jc3RydWN0IGludGVsX2F0b21pY19zdGF0ZSAqaW50ZWxfc3RhdGUgPSB0b19pbnRlbF9hdG9t aWNfc3RhdGUoc3RhdGUpOwotCXN0cnVjdCBza2xfZGRiX3ZhbHVlcyAqcmVzdWx0cyA9ICZpbnRl bF9zdGF0ZS0+d21fcmVzdWx0czsKIAlzdHJ1Y3QgZHJtX2RldmljZSAqZGV2ID0gc3RhdGUtPmRl djsKLQlzdHJ1Y3Qgc2tsX3BpcGVfd20gKnBpcGVfd207Ci0JYm9vbCBjaGFuZ2VkID0gZmFsc2U7 CisJY29uc3Qgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gdG9faTkxNShkZXYp OworCWNvbnN0IHN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwljb25zdCBzdHJ1Y3QgZHJtX2NydGNf c3RhdGUgKmNzdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YzsKKwlzdHJ1Y3Qg aW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2ludGVsX2F0b21pY19zdGF0ZShz dGF0ZSk7CisJdWludDMyX3QgcmVhbGxvY19waXBlcyA9IHBpcGVzX21vZGlmaWVkKHN0YXRlKTsK IAlpbnQgcmV0LCBpOwogCiAJLyoKIAkgKiBXaGVuIHdlIGRpc3RydXN0IGJpb3Mgd20gd2UgYWx3 YXlzIG5lZWQgdG8gcmVjb21wdXRlIHRvIHNldCB0aGUKIAkgKiBleHBlY3RlZCBEREIgYWxsb2Nh dGlvbnMgZm9yIGVhY2ggQ1JUQy4KIAkgKi8KLQlpZiAodG9faTkxNShkZXYpLT53bS5kaXN0cnVz dF9iaW9zX3dtKQotCQljaGFuZ2VkID0gdHJ1ZTsKKwlpZiAoZGV2X3ByaXYtPndtLmRpc3RydXN0 X2Jpb3Nfd20pCisJCSpjaGFuZ2VkID0gdHJ1ZTsKIAogCS8qCiAJICogSWYgdGhpcyB0cmFuc2Fj dGlvbiBpc24ndCBhY3R1YWxseSB0b3VjaGluZyBhbnkgQ1JUQydzLCBkb24ndApAQCAtNTIwOSwx NCArNTE1Niw4NiBAQCBza2xfY29tcHV0ZV93bShzdHJ1Y3QgZHJtX2F0b21pY19zdGF0ZSAqc3Rh dGUpCiAJICogaG9sZCBfYWxsXyBDUlRDIHN0YXRlIG11dGV4ZXMuCiAJICovCiAJZm9yX2VhY2hf bmV3X2NydGNfaW5fc3RhdGUoc3RhdGUsIGNydGMsIGNzdGF0ZSwgaSkKLQkJY2hhbmdlZCA9IHRy dWU7CisJCSpjaGFuZ2VkID0gdHJ1ZTsKIAotCWlmICghY2hhbmdlZCkKKwlpZiAoISpjaGFuZ2Vk KQogCQlyZXR1cm4gMDsKIAorCS8qCisJICogSWYgdGhpcyBpcyBvdXIgZmlyc3QgYXRvbWljIHVw ZGF0ZSBmb2xsb3dpbmcgaGFyZHdhcmUgcmVhZG91dCwKKwkgKiB3ZSBjYW4ndCB0cnVzdCB0aGUg RERCIHRoYXQgdGhlIEJJT1MgcHJvZ3JhbW1lZCBmb3IgdXMuICBMZXQncworCSAqIHByZXRlbmQg dGhhdCBhbGwgcGlwZXMgc3dpdGNoZWQgYWN0aXZlIHN0YXR1cyBzbyB0aGF0IHdlJ2xsCisJICog ZW5zdXJlIGEgZnVsbCBEREIgcmVjb21wdXRlLgorCSAqLworCWlmIChkZXZfcHJpdi0+d20uZGlz dHJ1c3RfYmlvc193bSkgeworCQlyZXQgPSBkcm1fbW9kZXNldF9sb2NrKCZkZXYtPm1vZGVfY29u ZmlnLmNvbm5lY3Rpb25fbXV0ZXgsCisJCQkJICAgICAgIHN0YXRlLT5hY3F1aXJlX2N0eCk7CisJ CWlmIChyZXQpCisJCQlyZXR1cm4gcmV0OworCisJCWludGVsX3N0YXRlLT5hY3RpdmVfcGlwZV9j aGFuZ2VzID0gfjA7CisKKwkJLyoKKwkJICogV2UgdXN1YWxseSBvbmx5IGluaXRpYWxpemUgaW50 ZWxfc3RhdGUtPmFjdGl2ZV9jcnRjcyBpZiB3ZQorCQkgKiB3ZSdyZSBkb2luZyBhIG1vZGVzZXQ7 IG1ha2Ugc3VyZSB0aGlzIGZpZWxkIGlzIGFsd2F5cworCQkgKiBpbml0aWFsaXplZCBkdXJpbmcg dGhlIHNhbml0aXphdGlvbiBwcm9jZXNzIHRoYXQgaGFwcGVucworCQkgKiBvbiB0aGUgZmlyc3Qg Y29tbWl0IHRvby4KKwkJICovCisJCWlmICghaW50ZWxfc3RhdGUtPm1vZGVzZXQpCisJCQlpbnRl bF9zdGF0ZS0+YWN0aXZlX2NydGNzID0gZGV2X3ByaXYtPmFjdGl2ZV9jcnRjczsKKwl9CisKKwkv KgorCSAqIElmIHRoZSBtb2Rlc2V0IGNoYW5nZXMgd2hpY2ggQ1JUQydzIGFyZSBhY3RpdmUsIHdl IG5lZWQgdG8KKwkgKiByZWNvbXB1dGUgdGhlIEREQiBhbGxvY2F0aW9uIGZvciAqYWxsKiBhY3Rp dmUgcGlwZXMsIGV2ZW4KKwkgKiB0aG9zZSB0aGF0IHdlcmVuJ3Qgb3RoZXJ3aXNlIGJlaW5nIG1v ZGlmaWVkIGluIGFueSB3YXkgYnkgdGhpcworCSAqIGF0b21pYyBjb21taXQuICBEdWUgdG8gdGhl IHNocmlua2luZyBvZiB0aGUgcGVyLXBpcGUgYWxsb2NhdGlvbnMKKwkgKiB3aGVuIG5ldyBhY3Rp dmUgQ1JUQydzIGFyZSBhZGRlZCwgaXQncyBwb3NzaWJsZSBmb3IgYSBwaXBlIHRoYXQKKwkgKiB3 ZSB3ZXJlIGFscmVhZHkgdXNpbmcgYW5kIGFyZW4ndCBjaGFuZ2luZyBhdCBhbGwgaGVyZSB0byBz dWRkZW5seQorCSAqIGJlY29tZSBpbnZhbGlkIGlmIGl0cyBEREIgbmVlZHMgZXhjZWVkcyBpdHMg bmV3IGFsbG9jYXRpb24uCisJICoKKwkgKiBOb3RlIHRoYXQgaWYgd2Ugd2luZCB1cCBkb2luZyBh IGZ1bGwgRERCIHJlY29tcHV0ZSwgd2UgY2FuJ3QgbGV0CisJICogYW55IG90aGVyIGRpc3BsYXkg dXBkYXRlcyByYWNlIHdpdGggdGhpcyB0cmFuc2FjdGlvbiwgc28gd2UgbmVlZAorCSAqIHRvIGdy YWIgdGhlIGxvY2sgb24gKmFsbCogQ1JUQydzLgorCSAqLworCWlmIChpbnRlbF9zdGF0ZS0+YWN0 aXZlX3BpcGVfY2hhbmdlcykgeworCQlyZWFsbG9jX3BpcGVzID0gfjA7CisJCWludGVsX3N0YXRl LT53bV9yZXN1bHRzLmRpcnR5X3BpcGVzID0gfjA7CisJfQorCisJLyoKKwkgKiBXZSdyZSBub3Qg cmVjb21wdXRpbmcgZm9yIHRoZSBwaXBlcyBub3QgaW5jbHVkZWQgaW4gdGhlIGNvbW1pdCwgc28K KwkgKiBtYWtlIHN1cmUgd2Ugc3RhcnQgd2l0aCB0aGUgY3VycmVudCBzdGF0ZS4KKwkgKi8KKwlm b3JfZWFjaF9pbnRlbF9jcnRjX21hc2soZGV2LCBpbnRlbF9jcnRjLCByZWFsbG9jX3BpcGVzKSB7 CisJCXN0cnVjdCBpbnRlbF9jcnRjX3N0YXRlICpjc3RhdGU7CisKKwkJY3N0YXRlID0gaW50ZWxf YXRvbWljX2dldF9jcnRjX3N0YXRlKHN0YXRlLCBpbnRlbF9jcnRjKTsKKwkJaWYgKElTX0VSUihj c3RhdGUpKQorCQkJcmV0dXJuIFBUUl9FUlIoY3N0YXRlKTsKKwl9CisKKwlyZXR1cm4gMDsKK30K Kworc3RhdGljIGludAorc2tsX2NvbXB1dGVfd20oc3RydWN0IGRybV9hdG9taWNfc3RhdGUgKnN0 YXRlKQoreworCXN0cnVjdCBkcm1fY3J0YyAqY3J0YzsKKwlzdHJ1Y3QgZHJtX2NydGNfc3RhdGUg KmNzdGF0ZTsKKwlzdHJ1Y3QgaW50ZWxfYXRvbWljX3N0YXRlICppbnRlbF9zdGF0ZSA9IHRvX2lu dGVsX2F0b21pY19zdGF0ZShzdGF0ZSk7CisJc3RydWN0IHNrbF9kZGJfdmFsdWVzICpyZXN1bHRz ID0gJmludGVsX3N0YXRlLT53bV9yZXN1bHRzOworCXN0cnVjdCBza2xfcGlwZV93bSAqcGlwZV93 bTsKKwlib29sIGNoYW5nZWQgPSBmYWxzZTsKKwlpbnQgcmV0LCBpOworCiAJLyogQ2xlYXIgYWxs IGRpcnR5IGZsYWdzICovCiAJcmVzdWx0cy0+ZGlydHlfcGlwZXMgPSAwOwogCisJcmV0ID0gc2ts X2RkYl9hZGRfYWZmZWN0ZWRfcGlwZXMoc3RhdGUsICZjaGFuZ2VkKTsKKwlpZiAocmV0IHx8ICFj aGFuZ2VkKQorCQlyZXR1cm4gcmV0OworCiAJcmV0ID0gc2tsX2NvbXB1dGVfZGRiKHN0YXRlKTsK IAlpZiAocmV0KQogCQlyZXR1cm4gcmV0OwotLSAKMi43LjQKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwt Z2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=