From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH 4/4] drm/msm: Optimize adreno_show_object() Date: Tue, 20 Nov 2018 17:07:31 +0530 Message-ID: <1542713851-14375-4-git-send-email-smasetty@codeaurora.org> References: <1542713851-14375-1-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1542713851-14375-1-git-send-email-smasetty@codeaurora.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: freedreno@lists.freedesktop.org Cc: linux-arm-msm@vger.kernel.org, Sharat Masetty , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org V2hlbiB0aGUgdXNlcnNwYWNlIHRyaWVzIHRvIHJlYWQgdGhlIGNyYXNoc3RhdGUgZHVtcCwgdGhl IHJlYWQgc2lkZQppbXBsZW1lbnRhdGlvbiBpbiB0aGUgZHJpdmVyIGN1cnJlbnRseSBhc2NpaTg1 IGVuY29kZXMgYWxsIHRoZSBiaW5hcnkKYnVmZmVycyBhbmQgaXQgZG9lcyB0aGlzIGVhY2ggdGlt ZSB0aGUgcmVhZCBzeXN0ZW0gY2FsbCBpcyBjYWxsZWQuCkEgdXNlcnNwYWNlIHRvb2wgbGlrZSBj YXQgdHlwaWNhbGx5IGRvZXMgYSBwYWdlIGJ5IHBhZ2UgcmVhZCBhbmQgdGhlCm51bWJlciBvZiBy ZWFkIGNhbGxzIGRlcGVuZHMgb24gdGhlIHNpemUgb2YgdGhlIGRhdGEgY2FwdHVyZWQgYnkgdGhl CmRyaXZlci4gVGhpcyBpcyBjZXJ0YWlubHkgbm90IGRlc2lyYWJsZSBhbmQgZG9lcyBub3Qgc2Nh bGUgd2VsbCB3aXRoCmxhcmdlIGNhcHR1cmVzLgoKVGhpcyBwYXRjaCBlbmNvZGVzIHRoZSBidWZm ZXIgb25seSBvbmNlIGluIHRoZSByZWFkIHBhdGguIFdpdGggdGhpcyB0aGVyZQppcyBhbiBpbW1l ZGlhdGUgPjEwWCBzcGVlZCBpbXByb3ZlbWVudCBpbiBjcmFzaHN0YXRlIHNhdmUgdGltZS4KClNp Z25lZC1vZmYtYnk6IFNoYXJhdCBNYXNldHR5IDxzbWFzZXR0eUBjb2RlYXVyb3JhLm9yZz4KLS0t CkNoYW5nZXMgZnJvbSB2MToKCUFkZHJlc3NlZCBjb21tZW50cyBmcm9tIEpvcmRhbiBDcm91c2UK CiBkcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMgfCA4MCArKysrKysrKysr KysrKysrKysrKysrKystLS0tLS0tLS0KIGRyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oICAg ICAgICAgICB8ICAxICsKIDIgZmlsZXMgY2hhbmdlZCwgNjAgaW5zZXJ0aW9ucygrKSwgMjEgZGVs ZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5v X2dwdS5jIGIvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCmluZGV4IGJi ZjhkM2UuLjc3NDk5NjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2Fk cmVub19ncHUuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMK QEAgLTQ0MSwxMSArNDQxLDE1IEBAIHZvaWQgYWRyZW5vX2dwdV9zdGF0ZV9kZXN0cm95KHN0cnVj dCBtc21fZ3B1X3N0YXRlICpzdGF0ZSkKIHsKIAlpbnQgaTsKCi0JZm9yIChpID0gMDsgaSA8IEFS UkFZX1NJWkUoc3RhdGUtPnJpbmcpOyBpKyspCisJZm9yIChpID0gMDsgaSA8IEFSUkFZX1NJWkUo c3RhdGUtPnJpbmcpOyBpKyspIHsKIAkJa3ZmcmVlKHN0YXRlLT5yaW5nW2ldLmJvLmRhdGEpOwor CQlrdmZyZWUoc3RhdGUtPnJpbmdbaV0uYm8uZW5jb2RlZCk7CisJfQoKLQlmb3IgKGkgPSAwOyBz dGF0ZS0+Ym9zICYmIGkgPCBzdGF0ZS0+bnJfYm9zOyBpKyspCisJZm9yIChpID0gMDsgc3RhdGUt PmJvcyAmJiBpIDwgc3RhdGUtPm5yX2JvczsgaSsrKSB7CiAJCWt2ZnJlZShzdGF0ZS0+Ym9zW2ld LmRhdGEpOworCQlrdmZyZWUoc3RhdGUtPmJvc1tpXS5lbmNvZGVkKTsKKwl9CgogCWtmcmVlKHN0 YXRlLT5ib3MpOwogCWtmcmVlKHN0YXRlLT5jb21tKTsKQEAgLTQ3MiwzNCArNDc2LDcwIEBAIGlu dCBhZHJlbm9fZ3B1X3N0YXRlX3B1dChzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSAqc3RhdGUpCgogI2lm IGRlZmluZWQoQ09ORklHX0RFQlVHX0ZTKSB8fCBkZWZpbmVkKENPTkZJR19ERVZfQ09SRURVTVAp Cgotc3RhdGljIHZvaWQgYWRyZW5vX3Nob3dfb2JqZWN0KHN0cnVjdCBkcm1fcHJpbnRlciAqcCwg dTMyICpwdHIsIGludCBsZW4pCitzdGF0aWMgY2hhciAqYWRyZW5vX2dwdV9hc2NpaTg1X2VuY29k ZSh1MzIgKnNyYywgc2l6ZV90IGxlbikKIHsKLQljaGFyIG91dFtBU0NJSTg1X0JVRlNaXTsKLQls b25nIGwsIGRhdGFsZW4sIGk7CisJdm9pZCAqYnVmOworCXNpemVfdCBidWZfaXRyID0gMDsKKwls b25nIGksIGw7CgotCWlmICghcHRyIHx8ICFsZW4pCi0JCXJldHVybjsKKwlpZiAoIWxlbikKKwkJ cmV0dXJuIE5VTEw7CisKKwlsID0gYXNjaWk4NV9lbmNvZGVfbGVuKGxlbik7CgogCS8qCi0JICog T25seSBkdW1wIHRoZSBub24temVybyBwYXJ0IG9mIHRoZSBidWZmZXIgLSByYXJlbHkgd2lsbCBh bnkgZGF0YQotCSAqIGNvbXBsZXRlbHkgZmlsbCB0aGUgZW50aXJlIGFsbG9jYXRlZCBzaXplIG9m IHRoZSBidWZmZXIKKwkgKiBhc2NpaTg1IG91dHB1dHMgZWl0aGVyIGEgNSBieXRlIHN0cmluZyBv ciBhIDEgYnl0ZSBzdHJpbmcuIFNvIHdlCisJICogYWNjb3VudCBmb3IgdGhlIHdvcnN0IGNhc2Ug b2YgNSBieXRlcyBwZXIgZHdvcmQgcGx1cyB0aGUgMSBmb3IgJ1wwJwogCSAqLwotCWZvciAoZGF0 YWxlbiA9IDAsIGkgPSAwOyBpIDwgbGVuID4+IDI7IGkrKykgewotCQlpZiAocHRyW2ldKQotCQkJ ZGF0YWxlbiA9IChpIDw8IDIpICsgMTsKKwlidWYgPSBrdm1hbGxvYygobCAqIDUpICsgMSwgR0ZQ X0tFUk5FTCk7CisJaWYgKCFidWYpCisJCXJldHVybiBOVUxMOworCisJZm9yIChpID0gMDsgaSA8 IGw7IGkrKykgeworCQlhc2NpaTg1X2VuY29kZShzcmNbaV0sIGJ1ZiArIGJ1Zl9pdHIpOworCisJ CWlmIChzcmNbaV0gPT0gMCkKKwkJCWJ1Zl9pdHIgKz0gMTsKKwkJZWxzZQorCQkJYnVmX2l0ciAr PSA1OwogCX0KCi0JLyogU2tpcCBwcmludGluZyB0aGUgb2JqZWN0IGlmIGl0IGlzIGVtcHR5ICov Ci0JaWYgKGRhdGFsZW4gPT0gMCkKKwlyZXR1cm4gYnVmOworfQorCitzdGF0aWMgdm9pZCBhZHJl bm9fc2hvd19vYmplY3Qoc3RydWN0IGRybV9wcmludGVyICpwLAorCQlzdHJ1Y3QgbXNtX2dwdV9z dGF0ZV9ibyAqYm8pCit7CisJaWYgKCghYm8tPmRhdGEgJiYgIWJvLT5lbmNvZGVkKSB8fCAhYm8t PnNpemUpCiAJCXJldHVybjsKCi0JbCA9IGFzY2lpODVfZW5jb2RlX2xlbihkYXRhbGVuKTsKKwlp ZiAoIWJvLT5lbmNvZGVkKSB7CisJCWxvbmcgZGF0YWxlbiwgaTsKKwkJdTMyICpidWYgPSBiby0+ ZGF0YTsKKworCQkvKgorCQkgKiBPbmx5IGR1bXAgdGhlIG5vbi16ZXJvIHBhcnQgb2YgdGhlIGJ1 ZmZlciAtIHJhcmVseSB3aWxsCisJCSAqIGFueSBkYXRhIGNvbXBsZXRlbHkgZmlsbCB0aGUgZW50 aXJlIGFsbG9jYXRlZCBzaXplIG9mCisJCSAqIHRoZSBidWZmZXIuCisJCSAqLworCQlmb3IgKGRh dGFsZW4gPSAwLCBpID0gMDsgaSA8IChiby0+c2l6ZSkgPj4gMjsgaSsrKSB7CisJCQlpZiAoYnVm W2ldKQorCQkJCWRhdGFsZW4gPSAoKGkgKyAxKSA8PCAyKTsKKwkJfQorCisJCWJvLT5lbmNvZGVk ID0gYWRyZW5vX2dwdV9hc2NpaTg1X2VuY29kZShidWYsIGRhdGFsZW4pOworCisJCWt2ZnJlZShi by0+ZGF0YSk7CisJCWJvLT5kYXRhID0gTlVMTDsKKworCQlpZiAoIWJvLT5lbmNvZGVkKQorCQkJ cmV0dXJuOworCX0KCiAJZHJtX3B1dHMocCwgIiAgICBkYXRhOiAhIWFzY2lpODUgfFxuIik7CiAJ ZHJtX3B1dHMocCwgIiAgICAgIik7CgotCWZvciAoaSA9IDA7IGkgPCBsOyBpKyspCi0JCWRybV9w dXRzKHAsIGFzY2lpODVfZW5jb2RlKHB0cltpXSwgb3V0KSk7CisJZHJtX3B1dHMocCwgYm8tPmVu Y29kZWQpOwoKIAlkcm1fcHV0cyhwLCAiXG4iKTsKIH0KQEAgLTUzMSw4ICs1NzEsNyBAQCB2b2lk IGFkcmVub19zaG93KHN0cnVjdCBtc21fZ3B1ICpncHUsIHN0cnVjdCBtc21fZ3B1X3N0YXRlICpz dGF0ZSwKIAkJZHJtX3ByaW50ZihwLCAiICAgIHdwdHI6ICVkXG4iLCBzdGF0ZS0+cmluZ1tpXS53 cHRyKTsKIAkJZHJtX3ByaW50ZihwLCAiICAgIHNpemU6ICVkXG4iLCBNU01fR1BVX1JJTkdCVUZG RVJfU1opOwoKLQkJYWRyZW5vX3Nob3dfb2JqZWN0KHAsIHN0YXRlLT5yaW5nW2ldLmJvLmRhdGEs Ci0JCQlzdGF0ZS0+cmluZ1tpXS5iby5zaXplKTsKKwkJYWRyZW5vX3Nob3dfb2JqZWN0KHAsICYo c3RhdGUtPnJpbmdbaV0uYm8pKTsKIAl9CgogCWlmIChzdGF0ZS0+Ym9zKSB7CkBAIC01NDMsOCAr NTgyLDcgQEAgdm9pZCBhZHJlbm9fc2hvdyhzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3QgbXNt X2dwdV9zdGF0ZSAqc3RhdGUsCiAJCQkJc3RhdGUtPmJvc1tpXS5pb3ZhKTsKIAkJCWRybV9wcmlu dGYocCwgIiAgICBzaXplOiAlemRcbiIsIHN0YXRlLT5ib3NbaV0uc2l6ZSk7CgotCQkJYWRyZW5v X3Nob3dfb2JqZWN0KHAsIHN0YXRlLT5ib3NbaV0uZGF0YSwKLQkJCQlzdGF0ZS0+Ym9zW2ldLnNp emUpOworCQkJYWRyZW5vX3Nob3dfb2JqZWN0KHAsICYoc3RhdGUtPmJvc1tpXSkpOwogCQl9CiAJ fQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9tc20vbXNtX2dwdS5oIGIvZHJpdmVycy9n cHUvZHJtL21zbS9tc21fZ3B1LmgKaW5kZXggYTNhNjM3MS4uNzM3YmY0NSAxMDA2NDQKLS0tIGEv ZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL21zbS9t c21fZ3B1LmgKQEAgLTE5MSw2ICsxOTEsNyBAQCBzdHJ1Y3QgbXNtX2dwdV9zdGF0ZV9ibyB7CiAJ dTY0IGlvdmE7CiAJc2l6ZV90IHNpemU7CiAJdm9pZCAqZGF0YTsKKwljaGFyICplbmNvZGVkOwog fTsKCiBzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSB7Ci0tCjEuOS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1k ZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcv bWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK