From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sharat Masetty Subject: [PATCH] drm/msm: Optimize adreno_show_object() Date: Thu, 1 Nov 2018 20:16:45 +0530 Message-ID: <1541083605-16950-1-git-send-email-smasetty@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, Sharat Masetty , dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org V2hlbiB0aGUgdXNlcnNwYWNlIHRyaWVzIHRvIHJlYWQgdGhlIGNyYXNoc3RhdGUgZHVtcCwgdGhl IHJlYWQgc2lkZQppbXBsZW1lbnRhdGlvbiBpbiB0aGUgZHJpdmVyIGN1cnJlbnRseSBhc2NpaTg1 IGVuY29kZXMgYWxsIHRoZSBiaW5hcnkKYnVmZmVycyBhbmQgaXQgZG9lcyB0aGlzIGVhY2ggdGlt ZSB0aGUgcmVhZCBzeXN0ZW0gY2FsbCBpcyBjYWxsZWQuCkEgdXNlcnNwYWNlIHRvb2wgbGlrZSBj YXQgdHlwaWNhbGx5IGRvZXMgYSBwYWdlIGJ5IHBhZ2UgcmVhZCBhbmQgdGhlCm51bWJlciBvZiBy ZWFkIGNhbGxzIGRlcGVuZHMgb24gdGhlIHNpemUgb2YgdGhlIGRhdGEgY2FwdHVyZWQgYnkgdGhl CmRyaXZlci4gVGhpcyBpcyBjZXJ0YWlubHkgbm90IGRlc2lyYWJsZSBhbmQgZG9lcyBub3Qgc2Nh bGUgd2VsbCB3aXRoCmxhcmdlIGNhcHR1cmVzLgoKVGhpcyBwYXRjaCBlbmNvZGVzIHRoZSBidWZm ZXIgb25seSBvbmNlIGluIHRoZSByZWFkIHBhdGguIFdpdGggdGhpcyB0aGVyZQppcyBhbiBpbW1l ZGlhdGUgPjEwWCBzcGVlZCBpbXByb3ZlbWVudCBpbiBjcmFzaHN0YXRlIHNhdmUgdGltZS4KClNp Z25lZC1vZmYtYnk6IFNoYXJhdCBNYXNldHR5IDxzbWFzZXR0eUBjb2RlYXVyb3JhLm9yZz4KLS0t ClRoaXMgaXMgYSBkaWZmZXJlbnQgYW5kIGEgc2ltcGxlciB2ZXJzaW9uIG9mIFsxXS4gV2UgbW92 ZSB0aGUgZW5jb2RlIGJhY2sgdG8KcmVhZCB0aW1lIGFuZCBtYWtlIHN1cmUgZWFjaCBidWZmZXIg aXMgZW5jb2RlZCBqdXN0IG9uY2UuIFRoaXMgaXMgc2hvd2luZwpzaW1pbGFyIHBlcmZvcm1hbmNl IG51bWJlcnMgYXMgWzFdIGZvciBzaW1pbGFyIGNhcHR1cmUgc2l6ZXMuCgoxKSBodHRwczovL3Bh dGNod29yay5mcmVlZGVza3RvcC5vcmcvcGF0Y2gvMjU5NjI3LwoKIGRyaXZlcnMvZ3B1L2RybS9t c20vYWRyZW5vL2FkcmVub19ncHUuYyB8IDgyICsrKysrKysrKysrKysrKysrKysrKysrKy0tLS0t LS0tLQogZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmggICAgICAgICAgIHwgIDIgKwogMiBm aWxlcyBjaGFuZ2VkLCA2MyBpbnNlcnRpb25zKCspLCAyMSBkZWxldGlvbnMoLSkKCmRpZmYgLS1n aXQgYS9kcml2ZXJzL2dwdS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMgYi9kcml2ZXJzL2dw dS9kcm0vbXNtL2FkcmVuby9hZHJlbm9fZ3B1LmMKaW5kZXggMTQxMDYyZi4uNjI1MWU3NiAxMDA2 NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9hZHJlbm8vYWRyZW5vX2dwdS5jCisrKyBiL2Ry aXZlcnMvZ3B1L2RybS9tc20vYWRyZW5vL2FkcmVub19ncHUuYwpAQCAtNDA2LDcgKzQwNiw3IEBA IGludCBhZHJlbm9fZ3B1X3N0YXRlX2dldChzdHJ1Y3QgbXNtX2dwdSAqZ3B1LCBzdHJ1Y3QgbXNt X2dwdV9zdGF0ZSAqc3RhdGUpCiAJCQkJc2l6ZSA9IGogKyAxOwoKIAkJaWYgKHNpemUpIHsKLQkJ CXN0YXRlLT5yaW5nW2ldLmRhdGEgPSBrbWFsbG9jKHNpemUgPDwgMiwgR0ZQX0tFUk5FTCk7CisJ CQlzdGF0ZS0+cmluZ1tpXS5kYXRhID0ga3ZtYWxsb2Moc2l6ZSA8PCAyLCBHRlBfS0VSTkVMKTsK IAkJCWlmIChzdGF0ZS0+cmluZ1tpXS5kYXRhKSB7CiAJCQkJbWVtY3B5KHN0YXRlLT5yaW5nW2ld LmRhdGEsIGdwdS0+cmJbaV0tPnN0YXJ0LCBzaXplIDw8IDIpOwogCQkJCXN0YXRlLT5yaW5nW2ld LmRhdGFfc2l6ZSA9IHNpemUgPDwgMjsKQEAgLTQ0NSw3ICs0NDUsNyBAQCB2b2lkIGFkcmVub19n cHVfc3RhdGVfZGVzdHJveShzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSAqc3RhdGUpCiAJaW50IGk7Cgog CWZvciAoaSA9IDA7IGkgPCBBUlJBWV9TSVpFKHN0YXRlLT5yaW5nKTsgaSsrKQotCQlrZnJlZShz dGF0ZS0+cmluZ1tpXS5kYXRhKTsKKwkJa3ZmcmVlKHN0YXRlLT5yaW5nW2ldLmRhdGEpOwoKIAlm b3IgKGkgPSAwOyBzdGF0ZS0+Ym9zICYmIGkgPCBzdGF0ZS0+bnJfYm9zOyBpKyspCiAJCWt2ZnJl ZShzdGF0ZS0+Ym9zW2ldLmRhdGEpOwpAQCAtNDc1LDM0ICs0NzUsNzQgQEAgaW50IGFkcmVub19n cHVfc3RhdGVfcHV0KHN0cnVjdCBtc21fZ3B1X3N0YXRlICpzdGF0ZSkKCiAjaWYgZGVmaW5lZChD T05GSUdfREVCVUdfRlMpIHx8IGRlZmluZWQoQ09ORklHX0RFVl9DT1JFRFVNUCkKCi1zdGF0aWMg dm9pZCBhZHJlbm9fc2hvd19vYmplY3Qoc3RydWN0IGRybV9wcmludGVyICpwLCB1MzIgKnB0ciwg aW50IGxlbikKK3N0YXRpYyBjaGFyICphZHJlbm9fZ3B1X2FzY2lpODVfZW5jb2RlKHUzMiAqc3Jj LCBzaXplX3QgbGVuKQogeworCXZvaWQgKmJ1ZjsKKwlzaXplX3QgYnVmX2l0ciA9IDAsIGJ1ZmZl cl9zaXplOwogCWNoYXIgb3V0W0FTQ0lJODVfQlVGU1pdOwotCWxvbmcgbCwgZGF0YWxlbiwgaTsK Kwlsb25nIGw7CisJaW50IGk7CgotCWlmICghcHRyIHx8ICFsZW4pCi0JCXJldHVybjsKKwlpZiAo IXNyYyB8fCAhbGVuKQorCQlyZXR1cm4gTlVMTDsKKworCWwgPSBhc2NpaTg1X2VuY29kZV9sZW4o bGVuKTsKCiAJLyoKLQkgKiBPbmx5IGR1bXAgdGhlIG5vbi16ZXJvIHBhcnQgb2YgdGhlIGJ1ZmZl ciAtIHJhcmVseSB3aWxsIGFueSBkYXRhCi0JICogY29tcGxldGVseSBmaWxsIHRoZSBlbnRpcmUg YWxsb2NhdGVkIHNpemUgb2YgdGhlIGJ1ZmZlcgorCSAqIEFzY2lpODUgb3V0cHV0cyBlaXRoZXIg YSA1IGJ5dGUgc3RyaW5nIG9yIGEgMSBieXRlIHN0cmluZy4gU28gd2UKKwkgKiBhY2NvdW50IGZv ciB0aGUgd29yc3QgY2FzZSBvZiA1IGJ5dGVzIHBlciBkd29yZCBwbHVzIHRoZSAxIGZvciAnXDAn CiAJICovCi0JZm9yIChkYXRhbGVuID0gMCwgaSA9IDA7IGkgPCBsZW4gPj4gMjsgaSsrKSB7Ci0J CWlmIChwdHJbaV0pCi0JCQlkYXRhbGVuID0gKGkgPDwgMikgKyAxOwotCX0KKwlidWZmZXJfc2l6 ZSA9IChsICogNSkgKyAxOworCisJYnVmID0ga3ZtYWxsb2MoYnVmZmVyX3NpemUsIEdGUF9LRVJO RUwpOworCWlmICghYnVmKQorCQlyZXR1cm4gTlVMTDsKCi0JLyogU2tpcCBwcmludGluZyB0aGUg b2JqZWN0IGlmIGl0IGlzIGVtcHR5ICovCi0JaWYgKGRhdGFsZW4gPT0gMCkKKwlmb3IgKGkgPSAw OyBpIDwgbDsgaSsrKQorCQlidWZfaXRyICs9IHNucHJpbnRmKGJ1ZiArIGJ1Zl9pdHIsIGJ1ZmZl cl9zaXplIC0gYnVmX2l0ciwgIiVzIiwKKwkJCQlhc2NpaTg1X2VuY29kZShzcmNbaV0sIG91dCkp OworCisJcmV0dXJuIGJ1ZjsKK30KKworLyogbGVuIGlzIGV4cGVjdGVkIHRvIGJlIGluIGJ5dGVz ICovCitzdGF0aWMgdm9pZCBhZHJlbm9fc2hvd19vYmplY3Qoc3RydWN0IGRybV9wcmludGVyICpw LCB2b2lkICoqcHRyLCBpbnQgbGVuLAorCQlib29sICplbmNvZGVkKQoreworCWlmICghKnB0ciB8 fCAhbGVuKQogCQlyZXR1cm47CgotCWwgPSBhc2NpaTg1X2VuY29kZV9sZW4oZGF0YWxlbik7CisJ aWYgKCEqZW5jb2RlZCkgeworCQlsb25nIGRhdGFsZW4sIGk7CisJCXUzMiAqYnVmID0gKnB0cjsK KworCQkvKgorCQkgKiBPbmx5IGR1bXAgdGhlIG5vbi16ZXJvIHBhcnQgb2YgdGhlIGJ1ZmZlciAt IHJhcmVseSB3aWxsCisJCSAqIGFueSBkYXRhIGNvbXBsZXRlbHkgZmlsbCB0aGUgZW50aXJlIGFs bG9jYXRlZCBzaXplIG9mCisJCSAqIHRoZSBidWZmZXIuCisJCSAqLworCQlmb3IgKGRhdGFsZW4g PSAwLCBpID0gMDsgaSA8IGxlbiA+PiAyOyBpKyspCisJCQlpZiAoYnVmW2ldKQorCQkJCWRhdGFs ZW4gPSAoKGkgKyAxKSA8PCAyKTsKKworCQkvKgorCQkgKiBJZiB3ZSByZWFjaCBoZXJlLCB0aGVu IHRoZSBvcmlnaW5hbGx5IGNhcHR1cmVkIGJpbmFyeSBidWZmZXIKKwkJICogd2lsbCBiZSByZXBs YWNlZCB3aXRoIHRoZSBhc2NpaTg1IGVuY29kZWQgc3RyaW5nCisJCSAqLworCQkqcHRyID0gYWRy ZW5vX2dwdV9hc2NpaTg1X2VuY29kZShidWYsIGRhdGFsZW4pOworCisJCWt2ZnJlZShidWYpOwor CisJCSplbmNvZGVkID0gdHJ1ZTsKKwl9CisKKwlpZiAoISpwdHIpCisJCXJldHVybjsKCiAJZHJt X3B1dHMocCwgIiAgICBkYXRhOiAhIWFzY2lpODUgfFxuIik7CiAJZHJtX3B1dHMocCwgIiAgICAg Iik7CgotCWZvciAoaSA9IDA7IGkgPCBsOyBpKyspCi0JCWRybV9wdXRzKHAsIGFzY2lpODVfZW5j b2RlKHB0cltpXSwgb3V0KSk7CisJZHJtX3B1dHMocCwgKnB0cik7CgogCWRybV9wdXRzKHAsICJc biIpOwogfQpAQCAtNTM0LDggKzU3NCw4IEBAIHZvaWQgYWRyZW5vX3Nob3coc3RydWN0IG1zbV9n cHUgKmdwdSwgc3RydWN0IG1zbV9ncHVfc3RhdGUgKnN0YXRlLAogCQlkcm1fcHJpbnRmKHAsICIg ICAgd3B0cjogJWRcbiIsIHN0YXRlLT5yaW5nW2ldLndwdHIpOwogCQlkcm1fcHJpbnRmKHAsICIg ICAgc2l6ZTogJWRcbiIsIE1TTV9HUFVfUklOR0JVRkZFUl9TWik7CgotCQlhZHJlbm9fc2hvd19v YmplY3QocCwgc3RhdGUtPnJpbmdbaV0uZGF0YSwKLQkJCXN0YXRlLT5yaW5nW2ldLmRhdGFfc2l6 ZSk7CisJCWFkcmVub19zaG93X29iamVjdChwLCAmc3RhdGUtPnJpbmdbaV0uZGF0YSwKKwkJCXN0 YXRlLT5yaW5nW2ldLmRhdGFfc2l6ZSwgJnN0YXRlLT5yaW5nW2ldLmVuY29kZWQpOwogCX0KCiAJ aWYgKHN0YXRlLT5ib3MpIHsKQEAgLTU0Niw4ICs1ODYsOCBAQCB2b2lkIGFkcmVub19zaG93KHN0 cnVjdCBtc21fZ3B1ICpncHUsIHN0cnVjdCBtc21fZ3B1X3N0YXRlICpzdGF0ZSwKIAkJCQlzdGF0 ZS0+Ym9zW2ldLmlvdmEpOwogCQkJZHJtX3ByaW50ZihwLCAiICAgIHNpemU6ICV6ZFxuIiwgc3Rh dGUtPmJvc1tpXS5zaXplKTsKCi0JCQlhZHJlbm9fc2hvd19vYmplY3QocCwgc3RhdGUtPmJvc1tp XS5kYXRhLAotCQkJCXN0YXRlLT5ib3NbaV0uc2l6ZSk7CisJCQlhZHJlbm9fc2hvd19vYmplY3Qo cCwgJnN0YXRlLT5ib3NbaV0uZGF0YSwKKwkJCQlzdGF0ZS0+Ym9zW2ldLnNpemUsICZzdGF0ZS0+ Ym9zW2ldLmVuY29kZWQpOwogCQl9CiAJfQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9t c20vbXNtX2dwdS5oIGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmgKaW5kZXggZjgyYmFj MC4uZWZiNDliYiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmgKKysr IGIvZHJpdmVycy9ncHUvZHJtL21zbS9tc21fZ3B1LmgKQEAgLTE4Nyw2ICsxODcsNyBAQCBzdHJ1 Y3QgbXNtX2dwdV9zdGF0ZV9ibyB7CiAJdTY0IGlvdmE7CiAJc2l6ZV90IHNpemU7CiAJdm9pZCAq ZGF0YTsKKwlib29sIGVuY29kZWQ7CiB9OwoKIHN0cnVjdCBtc21fZ3B1X3N0YXRlIHsKQEAgLTIw MSw2ICsyMDIsNyBAQCBzdHJ1Y3QgbXNtX2dwdV9zdGF0ZSB7CiAJCXUzMiB3cHRyOwogCQl2b2lk ICpkYXRhOwogCQlpbnQgZGF0YV9zaXplOworCQlib29sIGVuY29kZWQ7CiAJfSByaW5nW01TTV9H UFVfTUFYX1JJTkdTXTsKCiAJaW50IG5yX3JlZ2lzdGVyczsKLS0KMS45LjEKCl9fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxp c3QKRnJlZWRyZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNr dG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=