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: Tue, 24 Jul 2018 10:33:20 -0600 Message-ID: <20180724163331.18250-3-jcrouse@codeaurora.org> References: <20180724163331.18250-1-jcrouse@codeaurora.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20180724163331.18250-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 cm1hdCB0aGF0Cmlzbid0IG90aGVyd2lzZSBjb3ZlcmVkIGJ5IHNlcV9maWxlLgoKdjI6IEFkZCBp bXByb3ZlZCBkb2N1bWVudGF0aW9uIHBlciBEYW5pZWwgVmV0dGVyCgpTaWduZWQtb2ZmLWJ5OiBK b3JkYW4gQ3JvdXNlIDxqY3JvdXNlQGNvZGVhdXJvcmEub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9kcm1fcHJpbnQuYyB8IDc0ICsrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysK IGluY2x1ZGUvZHJtL2RybV9wcmludC5oICAgICB8IDY1ICsrKysrKysrKysrKysrKysrKysrKysr KysrKysrKysrCiAyIGZpbGVzIGNoYW5nZWQsIDEzOSBpbnNlcnRpb25zKCspCgpkaWZmIC0tZ2l0 IGEvZHJpdmVycy9ncHUvZHJtL2RybV9wcmludC5jIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcmlu dC5jCmluZGV4IGIyNWY5OGYzM2Y2Yy4uMDNkMWY5OGU1YWM3IDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vZHJtX3ByaW50LmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2RybV9wcmludC5jCkBA IC0zMCw2ICszMCw4MCBAQAogI2luY2x1ZGUgPGRybS9kcm1QLmg+CiAjaW5jbHVkZSA8ZHJtL2Ry bV9wcmludC5oPgogCit2b2lkIF9fZHJtX3ByaW50Zm5fY29yZWR1bXAoc3RydWN0IGRybV9wcmlu dGVyICpwLCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpCit7CisJc3RydWN0IGRybV9wcmludF9pdGVy YXRvciAqaXRlcmF0b3IgPSBwLT5hcmc7CisJc3NpemVfdCBsZW47CisKKwlpZiAoIWl0ZXJhdG9y LT5yZW1haW4pCisJCXJldHVybjsKKworCS8qIEZpZ3VyZSBvdXQgaG93IGJpZyB0aGUgc3RyaW5n IHdpbGwgYmUgKi8KKwlsZW4gPSBzbnByaW50ZihOVUxMLCAwLCAiJXBWIiwgdmFmKTsKKworCWlm IChpdGVyYXRvci0+b2Zmc2V0IDwgaXRlcmF0b3ItPnN0YXJ0KSB7CisJCWNoYXIgKmJ1ZjsKKwkJ c3NpemVfdCBjb3B5OworCisJCWlmIChpdGVyYXRvci0+b2Zmc2V0ICsgbGVuIDw9IGl0ZXJhdG9y LT5zdGFydCkgeworCQkJaXRlcmF0b3ItPm9mZnNldCArPSBsZW47CisJCQlyZXR1cm47CisJCX0K KworCQkvKiBQcmludCB0aGUgc3RyaW5nIGludG8gYSB0ZW1wb3JhcnkgYnVmZmVyICovCisJCWJ1 ZiA9IGttYWxsb2MobGVuICsgMSwKKwkJCUdGUF9LRVJORUwgfCBfX0dGUF9OT1dBUk4gfCBfX0dG UF9OT1JFVFJZKTsKKwkJaWYgKCFidWYpCisJCQlyZXR1cm47CisKKwkJc25wcmludGYoYnVmLCBs ZW4gKyAxLCAiJXBWIiwgdmFmKTsKKworCQljb3B5ID0gbGVuIC0gKGl0ZXJhdG9yLT5zdGFydCAt IGl0ZXJhdG9yLT5vZmZzZXQpOworCisJCWlmIChjb3B5ID4gaXRlcmF0b3ItPnJlbWFpbikKKwkJ CWNvcHkgPSBpdGVyYXRvci0+cmVtYWluOworCisJCS8qIENvcHkgb3V0IHRoZSBiaXQgb2YgdGhl IHN0cmluZyB0aGF0IHdlIG5lZWQgKi8KKwkJbWVtY3B5KGl0ZXJhdG9yLT5kYXRhLAorCQkJYnVm ICsgKGl0ZXJhdG9yLT5zdGFydCAtIGl0ZXJhdG9yLT5vZmZzZXQpLCBjb3B5KTsKKworCQlpdGVy YXRvci0+b2Zmc2V0ID0gaXRlcmF0b3ItPnN0YXJ0ICsgY29weTsKKwkJaXRlcmF0b3ItPnJlbWFp biAtPSBjb3B5OworCisJCWtmcmVlKGJ1Zik7CisJfSBlbHNlIHsKKwkJY2hhciAqYnVmOworCQlz c2l6ZV90IHBvcyA9IGl0ZXJhdG9yLT5vZmZzZXQgLSBpdGVyYXRvci0+c3RhcnQ7CisKKwkJaWYg KGxlbiA8IGl0ZXJhdG9yLT5yZW1haW4pIHsKKwkJCXNucHJpbnRmKCgoY2hhciAqKSBpdGVyYXRv ci0+ZGF0YSkgKyBwb3MsCisJCQkJaXRlcmF0b3ItPnJlbWFpbiwgIiVwViIsIHZhZik7CisKKwkJ CWl0ZXJhdG9yLT5vZmZzZXQgKz0gbGVuOworCQkJaXRlcmF0b3ItPnJlbWFpbiAtPSBsZW47CisK KwkJCXJldHVybjsKKwkJfQorCisJCS8qIFByaW50IHRoZSBzdHJpbmcgaW50byBhIHRlbXBvcmFy eSBidWZmZXIgKi8KKwkJYnVmID0ga21hbGxvYyhsZW4gKyAxLAorCQkJR0ZQX0tFUk5FTCB8IF9f R0ZQX05PV0FSTiB8IF9fR0ZQX05PUkVUUlkpOworCQlpZiAoIWJ1ZikKKwkJCXJldHVybjsKKwor CQlzbnByaW50ZihidWYsIGxlbiArIDEsICIlcFYiLCB2YWYpOworCisJCS8qIENvcHkgb3V0IHRo ZSByZW1haW5pbmcgYml0cyAqLworCQltZW1jcHkoaXRlcmF0b3ItPmRhdGEgKyBwb3MsIGJ1Ziwg aXRlcmF0b3ItPnJlbWFpbik7CisKKwkJaXRlcmF0b3ItPm9mZnNldCArPSBpdGVyYXRvci0+cmVt YWluOworCQlpdGVyYXRvci0+cmVtYWluID0gMDsKKworCQlrZnJlZShidWYpOworCX0KK30KK0VY UE9SVF9TWU1CT0woX19kcm1fcHJpbnRmbl9jb3JlZHVtcCk7CisKIHZvaWQgX19kcm1fcHJpbnRm bl9zZXFfZmlsZShzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsIHN0cnVjdCB2YV9mb3JtYXQgKnZhZikK IHsKIAlzZXFfcHJpbnRmKHAtPmFyZywgIiVwViIsIHZhZik7CmRpZmYgLS1naXQgYS9pbmNsdWRl L2RybS9kcm1fcHJpbnQuaCBiL2luY2x1ZGUvZHJtL2RybV9wcmludC5oCmluZGV4IGUxYTQ2ZTk5 OTFjYy4uMzIxM2QyODk2ZTljIDEwMDY0NAotLS0gYS9pbmNsdWRlL2RybS9kcm1fcHJpbnQuaAor KysgYi9pbmNsdWRlL2RybS9kcm1fcHJpbnQuaApAQCAtNzMsNiArNzMsNyBAQCBzdHJ1Y3QgZHJt X3ByaW50ZXIgewogCWNvbnN0IGNoYXIgKnByZWZpeDsKIH07CiAKK3ZvaWQgX19kcm1fcHJpbnRm bl9jb3JlZHVtcChzdHJ1Y3QgZHJtX3ByaW50ZXIgKnAsIHN0cnVjdCB2YV9mb3JtYXQgKnZhZik7 CiB2b2lkIF9fZHJtX3ByaW50Zm5fc2VxX2ZpbGUoc3RydWN0IGRybV9wcmludGVyICpwLCBzdHJ1 Y3QgdmFfZm9ybWF0ICp2YWYpOwogdm9pZCBfX2RybV9wcmludGZuX2luZm8oc3RydWN0IGRybV9w cmludGVyICpwLCBzdHJ1Y3QgdmFfZm9ybWF0ICp2YWYpOwogdm9pZCBfX2RybV9wcmludGZuX2Rl YnVnKHN0cnVjdCBkcm1fcHJpbnRlciAqcCwgc3RydWN0IHZhX2Zvcm1hdCAqdmFmKTsKQEAgLTEw NCw2ICsxMDUsNzAgQEAgZHJtX3ZwcmludGYoc3RydWN0IGRybV9wcmludGVyICpwLCBjb25zdCBj aGFyICpmbXQsIHZhX2xpc3QgKnZhKQogI2RlZmluZSBkcm1fcHJpbnRmX2luZGVudChwcmludGVy LCBpbmRlbnQsIGZtdCwgLi4uKSBcCiAJZHJtX3ByaW50ZigocHJpbnRlciksICIlLipzIiBmbXQs IChpbmRlbnQpLCAiXHRcdFx0XHRcdFgiLCAjI19fVkFfQVJHU19fKQogCisvKioKKyAqIHN0cnVj dCBkcm1fcHJpbnRfaXRlcmF0b3IgLSBsb2NhbCBzdHJ1Y3QgdXNlZCB3aXRoIGRybV9wcmludGVy X2NvcmVkdW1wCisgKiBAZGF0YTogUG9pbnRlciB0byB0aGUgZGV2Y29yZWR1bXAgb3V0cHV0IGJ1 ZmZlcgorICogQHN0YXJ0OiBUaGUgb2Zmc2V0IHdpdGhpbiB0aGUgYnVmZmVyIHRvIHN0YXJ0IHdy aXRpbmcKKyAqIEByZW1haW46IFRoZSBudW1iZXIgb2YgYnl0ZXMgdG8gd3JpdGUgZm9yIHRoaXMg aXRlcmF0aW9uCisgKi8KK3N0cnVjdCBkcm1fcHJpbnRfaXRlcmF0b3IgeworCXZvaWQgKmRhdGE7 CisJc3NpemVfdCBzdGFydDsKKwlzc2l6ZV90IHJlbWFpbjsKKwkvKiBwcml2YXRlOiAqLworCXNz aXplX3Qgb2Zmc2V0OworfTsKKworLyoqCisgKiBkcm1fY29yZWR1bXBfcHJpbnRlciAtIGNvbnN0 cnVjdCBhICZkcm1fcHJpbnRlciB0aGF0IGNhbiBvdXRwdXQgdG8gYSBidWZmZXIKKyAqIGZyb20g dGhlIHJlYWQgZnVuY3Rpb24gZm9yIGRldmNvcmVkdW1wCisgKiBAaXRlcjogQSBwb2ludGVyIHRv IGEgc3RydWN0IGRybV9wcmludF9pdGVyYXRvciBmb3IgdGhlIHJlYWQgaW5zdGFuY2UKKyAqCisg KiBUaGlzIHdyYXBwZXIgZXh0ZW5kcyBkcm1fcHJpbnRmKCkgdG8gd29yayB3aXRoIGEgZGV2X2Nv cmVkdW1wbSgpIGNhbGxiYWNrCisgKiBmdW5jdGlvbi4gVGhlIHBhc3NlZCBpbiBkcm1fcHJpbnRf aXRlcmF0b3Igc3RydWN0IGNvbnRhaW5zIHRoZSBidWZmZXIKKyAqIHBvaW50ZXIsIHNpemUgYW5k IG9mZnNldCBhcyBwYXNzZWQgaW4gZnJvbSBkZXZjb3JlZHVtcC4KKyAqCisgKiBGb3IgZXhhbXBs ZTo6CisgKgorICoJdm9pZCBjb3JlZHVtcF9yZWFkKGNoYXIgKmJ1ZmZlciwgbG9mZl90IG9mZnNl dCwgc2l6ZV90IGNvdW50LAorICoJCXZvaWQgKmRhdGEsIHNpemVfdCBkYXRhbGVuKQorICoJewor ICoJCXN0cnVjdCBkcm1fcHJpbnRfaXRlcmF0b3IgaXRlcjsKKyAqCQlzdHJ1Y3QgZHJtX3ByaW50 ZXIgcDsKKyAqCisgKgkJaXRlci5kYXRhID0gYnVmZmVyOworICoJCWl0ZXIuc3RhcnQgPSBvZmZz ZXQ7CisgKgkJaXRlci5yZW1haW4gPSBjb3VudDsKKyAqCisgKgkJcCA9IGRybV9jb3JlZHVtcF9w cmludGVyKCZpdGVyKTsKKyAqCisgKgkJZHJtX3ByaW50ZihwLCAiZm9vPSVkXG4iLCBmb28pOwor ICoJfQorICoKKyAqCXZvaWQgbWFrZWNvcmVkdW1wKC4uLikKKyAqCXsKKyAqCQkuLi4KKyAqCQlk ZXZfY29yZWR1bXBtKGRldiwgVEhJU19NT0RVTEUsIGRhdGEsIDAsIEdGUF9LRVJORUwsCisgKgkJ CWNvcmVkdW1wX3JlYWQsIC4uLikKKyAqCX0KKyAqCisgKiBSRVRVUk5TOgorICogVGhlICZkcm1f cHJpbnRlciBvYmplY3QKKyAqLworc3RhdGljIGlubGluZSBzdHJ1Y3QgZHJtX3ByaW50ZXIKK2Ry bV9jb3JlZHVtcF9wcmludGVyKHN0cnVjdCBkcm1fcHJpbnRfaXRlcmF0b3IgKml0ZXIpCit7CisJ c3RydWN0IGRybV9wcmludGVyIHAgPSB7CisJCS5wcmludGZuID0gX19kcm1fcHJpbnRmbl9jb3Jl ZHVtcCwKKwkJLmFyZyA9IGl0ZXIsCisJfTsKKworCS8qIFNldCB0aGUgaW50ZXJuYWwgb2Zmc2V0 IG9mIHRoZSBpdGVyYXRvciB0byB6ZXJvICovCisJaXRlci0+b2Zmc2V0ID0gMDsKKworCXJldHVy biBwOworfQorCiAvKioKICAqIGRybV9zZXFfZmlsZV9wcmludGVyIC0gY29uc3RydWN0IGEgJmRy bV9wcmludGVyIHRoYXQgb3V0cHV0cyB0byAmc2VxX2ZpbGUKICAqIEBmOiAgdGhlICZzdHJ1Y3Qg c2VxX2ZpbGUgdG8gb3V0cHV0IHRvCi0tIAoyLjE4LjAKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkZyZWVkcmVubyBtYWlsaW5nIGxpc3QKRnJlZWRyZW5v QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2ZyZWVkcmVubwo=