From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jordan Crouse Subject: [PATCH 02/13] drm: drm_printer: Add printer for devcoredump Date: Thu, 12 Jul 2018 12:59:19 -0600 Message-ID: <20180712185930.2492-3-jcrouse@codeaurora.org> References: <20180712185930.2492-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180712185930.2492-1-jcrouse-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org> 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, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org List-Id: linux-arm-msm@vger.kernel.org QWRkIGEgZHJtIHByaW50ZXIgc3VpdGFibGUgZm9yIHVzZSB3aXRoIHRoZSByZWFkIGNhbGxiYWNr IGZvcgpkZXZjb3JlZHVtcCBvciBvdGhlciBzdWl0YWJsZSBidWZmZXIgYmFzZWQgb3V0cHV0IGZv cm1hdCB0aGF0Cmlzbid0IG90aGVyd2lzZSBjb3ZlcmVkIGJ5IHNlcV9maWxlLgoKU2lnbmVkLW9m Zi1ieTogSm9yZGFuIENyb3VzZSA8amNyb3VzZUBjb2RlYXVyb3JhLm9yZz4KLS0tCiBkcml2ZXJz L2dwdS9kcm0vZHJtX3ByaW50LmMgfCA3NCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysr KysrKysrCiBpbmNsdWRlL2RybS9kcm1fcHJpbnQuaCAgICAgfCAyNyArKysrKysrKysrKysrKwog MiBmaWxlcyBjaGFuZ2VkLCAxMDEgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9kcm1fcHJpbnQuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbnQuYwppbmRleCBi MjVmOThmMzNmNmMuLjAzZDFmOThlNWFjNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2Ry bV9wcmludC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1fcHJpbnQuYwpAQCAtMzAsNiArMzAs ODAgQEAKICNpbmNsdWRlIDxkcm0vZHJtUC5oPgogI2luY2x1ZGUgPGRybS9kcm1fcHJpbnQuaD4K IAordm9pZCBfX2RybV9wcmludGZuX2NvcmVkdW1wKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgc3Ry dWN0IHZhX2Zvcm1hdCAqdmFmKQoreworCXN0cnVjdCBkcm1fcHJpbnRfaXRlcmF0b3IgKml0ZXJh dG9yID0gcC0+YXJnOworCXNzaXplX3QgbGVuOworCisJaWYgKCFpdGVyYXRvci0+cmVtYWluKQor CQlyZXR1cm47CisKKwkvKiBGaWd1cmUgb3V0IGhvdyBiaWcgdGhlIHN0cmluZyB3aWxsIGJlICov CisJbGVuID0gc25wcmludGYoTlVMTCwgMCwgIiVwViIsIHZhZik7CisKKwlpZiAoaXRlcmF0b3It Pm9mZnNldCA8IGl0ZXJhdG9yLT5zdGFydCkgeworCQljaGFyICpidWY7CisJCXNzaXplX3QgY29w eTsKKworCQlpZiAoaXRlcmF0b3ItPm9mZnNldCArIGxlbiA8PSBpdGVyYXRvci0+c3RhcnQpIHsK KwkJCWl0ZXJhdG9yLT5vZmZzZXQgKz0gbGVuOworCQkJcmV0dXJuOworCQl9CisKKwkJLyogUHJp bnQgdGhlIHN0cmluZyBpbnRvIGEgdGVtcG9yYXJ5IGJ1ZmZlciAqLworCQlidWYgPSBrbWFsbG9j KGxlbiArIDEsCisJCQlHRlBfS0VSTkVMIHwgX19HRlBfTk9XQVJOIHwgX19HRlBfTk9SRVRSWSk7 CisJCWlmICghYnVmKQorCQkJcmV0dXJuOworCisJCXNucHJpbnRmKGJ1ZiwgbGVuICsgMSwgIiVw ViIsIHZhZik7CisKKwkJY29weSA9IGxlbiAtIChpdGVyYXRvci0+c3RhcnQgLSBpdGVyYXRvci0+ b2Zmc2V0KTsKKworCQlpZiAoY29weSA+IGl0ZXJhdG9yLT5yZW1haW4pCisJCQljb3B5ID0gaXRl cmF0b3ItPnJlbWFpbjsKKworCQkvKiBDb3B5IG91dCB0aGUgYml0IG9mIHRoZSBzdHJpbmcgdGhh dCB3ZSBuZWVkICovCisJCW1lbWNweShpdGVyYXRvci0+ZGF0YSwKKwkJCWJ1ZiArIChpdGVyYXRv ci0+c3RhcnQgLSBpdGVyYXRvci0+b2Zmc2V0KSwgY29weSk7CisKKwkJaXRlcmF0b3ItPm9mZnNl dCA9IGl0ZXJhdG9yLT5zdGFydCArIGNvcHk7CisJCWl0ZXJhdG9yLT5yZW1haW4gLT0gY29weTsK KworCQlrZnJlZShidWYpOworCX0gZWxzZSB7CisJCWNoYXIgKmJ1ZjsKKwkJc3NpemVfdCBwb3Mg PSBpdGVyYXRvci0+b2Zmc2V0IC0gaXRlcmF0b3ItPnN0YXJ0OworCisJCWlmIChsZW4gPCBpdGVy YXRvci0+cmVtYWluKSB7CisJCQlzbnByaW50ZigoKGNoYXIgKikgaXRlcmF0b3ItPmRhdGEpICsg cG9zLAorCQkJCWl0ZXJhdG9yLT5yZW1haW4sICIlcFYiLCB2YWYpOworCisJCQlpdGVyYXRvci0+ b2Zmc2V0ICs9IGxlbjsKKwkJCWl0ZXJhdG9yLT5yZW1haW4gLT0gbGVuOworCisJCQlyZXR1cm47 CisJCX0KKworCQkvKiBQcmludCB0aGUgc3RyaW5nIGludG8gYSB0ZW1wb3JhcnkgYnVmZmVyICov CisJCWJ1ZiA9IGttYWxsb2MobGVuICsgMSwKKwkJCUdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4g fCBfX0dGUF9OT1JFVFJZKTsKKwkJaWYgKCFidWYpCisJCQlyZXR1cm47CisKKwkJc25wcmludGYo YnVmLCBsZW4gKyAxLCAiJXBWIiwgdmFmKTsKKworCQkvKiBDb3B5IG91dCB0aGUgcmVtYWluaW5n IGJpdHMgKi8KKwkJbWVtY3B5KGl0ZXJhdG9yLT5kYXRhICsgcG9zLCBidWYsIGl0ZXJhdG9yLT5y ZW1haW4pOworCisJCWl0ZXJhdG9yLT5vZmZzZXQgKz0gaXRlcmF0b3ItPnJlbWFpbjsKKwkJaXRl cmF0b3ItPnJlbWFpbiA9IDA7CisKKwkJa2ZyZWUoYnVmKTsKKwl9Cit9CitFWFBPUlRfU1lNQk9M KF9fZHJtX3ByaW50Zm5fY29yZWR1bXApOworCiB2b2lkIF9fZHJtX3ByaW50Zm5fc2VxX2ZpbGUo c3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpCiB7CiAJc2VxX3By aW50ZihwLT5hcmcsICIlcFYiLCB2YWYpOwpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vZHJtX3By aW50LmggYi9pbmNsdWRlL2RybS9kcm1fcHJpbnQuaAppbmRleCBlMWE0NmU5OTkxY2MuLjBlYTQ0 MGZiNWVjMyAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vZHJtX3ByaW50LmgKKysrIGIvaW5jbHVk ZS9kcm0vZHJtX3ByaW50LmgKQEAgLTczLDYgKzczLDcgQEAgc3RydWN0IGRybV9wcmludGVyIHsK IAljb25zdCBjaGFyICpwcmVmaXg7CiB9OwogCit2b2lkIF9fZHJtX3ByaW50Zm5fY29yZWR1bXAo c3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpOwogdm9pZCBfX2Ry bV9wcmludGZuX3NlcV9maWxlKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgc3RydWN0IHZhX2Zvcm1h dCAqdmFmKTsKIHZvaWQgX19kcm1fcHJpbnRmbl9pbmZvKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwg c3RydWN0IHZhX2Zvcm1hdCAqdmFmKTsKIHZvaWQgX19kcm1fcHJpbnRmbl9kZWJ1ZyhzdHJ1Y3Qg ZHJtX3ByaW50ZXIgKnAsIHN0cnVjdCB2YV9mb3JtYXQgKnZhZik7CkBAIC0xMDQsNiArMTA1LDMy IEBAIGRybV92cHJpbnRmKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgY29uc3QgY2hhciAqZm10LCB2 YV9saXN0ICp2YSkKICNkZWZpbmUgZHJtX3ByaW50Zl9pbmRlbnQocHJpbnRlciwgaW5kZW50LCBm bXQsIC4uLikgXAogCWRybV9wcmludGYoKHByaW50ZXIpLCAiJS4qcyIgZm10LCAoaW5kZW50KSwg Ilx0XHRcdFx0XHRYIiwgIyNfX1ZBX0FSR1NfXykKIAorc3RydWN0IGRybV9wcmludF9pdGVyYXRv ciB7CisJdm9pZCAqZGF0YTsKKworCXNzaXplX3Qgc3RhcnQ7CisJc3NpemVfdCBvZmZzZXQ7CisJ c3NpemVfdCByZW1haW47Cit9OworCisvKioKKyAqIGRybV9jb3JlZHVtcF9wcmludGVyIC0gY29u c3RydWN0IGEgJmRybV9wcmludGVyIHRoYXQgY2FuIG91dHB1dCB0byBhIGJ1ZmZlcgorICogZnJv bSB0aGUgcmVhZCBmdW5jdGlvbiBmb3IgZGV2Y29yZWR1bXAKKyAqIEBpdGVyOiBBIHBvaW50ZXIg dG8gYSBzdHJ1Y3QgZHJtX3ByaW50X2l0ZXJhdG9yIGZvciB0aGUgcmVhZCBpbnN0YW5jZQorICoK KyAqIFJFVFVSTlM6CisgKiBUaGUgJmRybV9wcmludGVyIG9iamVjdAorICovCitzdGF0aWMgaW5s aW5lIHN0cnVjdCBkcm1fcHJpbnRlcgorZHJtX2NvcmVkdW1wX3ByaW50ZXIoc3RydWN0IGRybV9w cmludF9pdGVyYXRvciAqaXRlcikKK3sKKwlzdHJ1Y3QgZHJtX3ByaW50ZXIgcCA9IHsKKwkJLnBy aW50Zm4gPSBfX2RybV9wcmludGZuX2NvcmVkdW1wLAorCQkuYXJnID0gaXRlciwKKwl9OworCXJl dHVybiBwOworfQorCiAvKioKICAqIGRybV9zZXFfZmlsZV9wcmludGVyIC0gY29uc3RydWN0IGEg JmRybV9wcmludGVyIHRoYXQgb3V0cHV0cyB0byAmc2VxX2ZpbGUKICAqIEBmOiAgdGhlICZzdHJ1 Y3Qgc2VxX2ZpbGUgdG8gb3V0cHV0IHRvCi0tIAoyLjE3LjEKCl9fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRy ZW5vQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=