From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tom St Denis Subject: [PATCH 1/3] drm/amd/amdgpu: Add debugfs support for reading GPRs Date: Mon, 5 Dec 2016 13:36:50 -0500 Message-ID: <20161205183652.29325-2-tom.stdenis@amd.com> References: <20161205183652.29325-1-tom.stdenis@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161205183652.29325-1-tom.stdenis-5C7GfCeVMHo@public.gmane.org> List-Id: Discussion list for AMD gfx List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: amd-gfx-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "amd-gfx" To: amd-gfx-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Cc: Tom St Denis SW1wbGVtZW50ZWQgZm9yIFNHUFJzIGZvciBHRlggdjggaW5pdGlhbGx5LgoKU2lnbmVkLW9mZi1i eTogVG9tIFN0IERlbmlzIDx0b20uc3RkZW5pc0BhbWQuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9hbWQvYW1kZ3B1L2FtZGdwdS5oICAgICAgICB8ICAyICsKIGRyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2FtZGdwdV9kZXZpY2UuYyB8IDcyICsrKysrKysrKysrKysrKysrKysrKysrKysrKysr KwogZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvZ2Z4X3Y4XzAuYyAgICAgIHwgMjUgKysrKysr KysrKysKIDMgZmlsZXMgY2hhbmdlZCwgOTkgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2Ry aXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9h bWRncHUvYW1kZ3B1LmgKaW5kZXggNGY2NGJiMTZhOGQzLi4yODM0NDUxZWVmOGEgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCisrKyBiL2RyaXZlcnMvZ3B1 L2RybS9hbWQvYW1kZ3B1L2FtZGdwdS5oCkBAIC04NDQsNiArODQ0LDggQEAgc3RydWN0IGFtZGdw dV9nZnhfZnVuY3MgewogCXVpbnQ2NF90ICgqZ2V0X2dwdV9jbG9ja19jb3VudGVyKShzdHJ1Y3Qg YW1kZ3B1X2RldmljZSAqYWRldik7CiAJdm9pZCAoKnNlbGVjdF9zZV9zaCkoc3RydWN0IGFtZGdw dV9kZXZpY2UgKmFkZXYsIHUzMiBzZV9udW0sIHUzMiBzaF9udW0sIHUzMiBpbnN0YW5jZSk7CiAJ dm9pZCAoKnJlYWRfd2F2ZV9kYXRhKShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMy X3Qgc2ltZCwgdWludDMyX3Qgd2F2ZSwgdWludDMyX3QgKmRzdCwgaW50ICpub19maWVsZHMpOwor CXZvaWQgKCpyZWFkX3dhdmVfdmdwcnMpKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50 MzJfdCBzaW1kLCB1aW50MzJfdCB3YXZlLCB1aW50MzJfdCB0aHJlYWQsIHVpbnQzMl90IHN0YXJ0 LCB1aW50MzJfdCBzaXplLCB1aW50MzJfdCAqZHN0KTsKKwl2b2lkICgqcmVhZF93YXZlX3NncHJz KShzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3Qgc2ltZCwgdWludDMyX3Qgd2F2 ZSwgdWludDMyX3Qgc3RhcnQsIHVpbnQzMl90IHNpemUsIHVpbnQzMl90ICpkc3QpOwogfTsKIAog c3RydWN0IGFtZGdwdV9nZnggewpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRn cHUvYW1kZ3B1X2RldmljZS5jIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2Rl dmljZS5jCmluZGV4IDI1YWQ3MzZiNWNhNS4uN2Y5Y2IxYzg1ZDc1IDEwMDY0NAotLS0gYS9kcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfZGV2aWNlLmMKKysrIGIvZHJpdmVycy9ncHUv ZHJtL2FtZC9hbWRncHUvYW1kZ3B1X2RldmljZS5jCkBAIC0zMDU1LDYgKzMwNTUsNzEgQEAgc3Rh dGljIHNzaXplX3QgYW1kZ3B1X2RlYnVnZnNfd2F2ZV9yZWFkKHN0cnVjdCBmaWxlICpmLCBjaGFy IF9fdXNlciAqYnVmLAogCXJldHVybiByZXN1bHQ7CiB9CiAKK3N0YXRpYyBzc2l6ZV90IGFtZGdw dV9kZWJ1Z2ZzX2dwcl9yZWFkKHN0cnVjdCBmaWxlICpmLCBjaGFyIF9fdXNlciAqYnVmLAorCQkJ CQlzaXplX3Qgc2l6ZSwgbG9mZl90ICpwb3MpCit7CisJc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFk ZXYgPSBmLT5mX2lub2RlLT5pX3ByaXZhdGU7CisJaW50IHI7CisJc3NpemVfdCByZXN1bHQ9MDsK Kwl1aW50MzJfdCBvZmZzZXQsIHNlLCBzaCwgY3UsIHdhdmUsIHNpbWQsIHRocmVhZCwgYmFuaywg KmRhdGE7CisKKwlpZiAoc2l6ZSAmIDMgfHwgKnBvcyAmIDMpCisJCXJldHVybiAtRUlOVkFMOwor CisJLyogZGVjb2RlIG9mZnNldCAqLworCW9mZnNldCA9ICgqcG9zICYgMHhGRkYpOworCXNlID0g KCgqcG9zID4+IDEyKSAmIDB4RkYpOworCXNoID0gKCgqcG9zID4+IDIwKSAmIDB4RkYpOworCWN1 ID0gKCgqcG9zID4+IDI4KSAmIDB4RkYpOworCXdhdmUgPSAoKCpwb3MgPj4gMzYpICYgMHhGRik7 CisJc2ltZCA9ICgoKnBvcyA+PiA0NCkgJiAweEZGKTsKKwl0aHJlYWQgPSAoKCpwb3MgPj4gNTIp ICYgMHhGRik7CisJYmFuayA9ICgoKnBvcyA+PiA2MCkgJiAxKTsKKworCS8qIHNhbml0eSBjaGVj ayBvZmZzZXQvc2l6ZSAqLworCWlmIChvZmZzZXQgKyBzaXplID4gKGFkZXYtPmdmeC5jb25maWcu bWF4X2dwcnMgPDwgMikpCisJCXJldHVybiAtRUlOVkFMOworCisJZGF0YSA9IGttYWxsb2NfYXJy YXkoMTAyNCwgc2l6ZW9mKCpkYXRhKSwgR0ZQX0tFUk5FTCk7CisJaWYgKCFkYXRhKQorCQlyZXR1 cm4gLUVOT01FTTsKKworCS8qIHN3aXRjaCB0byB0aGUgc3BlY2lmaWMgc2Uvc2gvY3UgKi8KKwlt dXRleF9sb2NrKCZhZGV2LT5ncmJtX2lkeF9tdXRleCk7CisJYW1kZ3B1X2dmeF9zZWxlY3Rfc2Vf c2goYWRldiwgc2UsIHNoLCBjdSk7CisKKwlpZiAoYmFuayA9PSAwKSB7CisJCWlmIChhZGV2LT5n ZnguZnVuY3MtPnJlYWRfd2F2ZV92Z3BycykKKwkJCWFkZXYtPmdmeC5mdW5jcy0+cmVhZF93YXZl X3ZncHJzKGFkZXYsIHNpbWQsIHdhdmUsIHRocmVhZCwgb2Zmc2V0Pj4yLCBzaXplPj4yLCBkYXRh KTsKKwl9IGVsc2UgeworCQlpZiAoYWRldi0+Z2Z4LmZ1bmNzLT5yZWFkX3dhdmVfc2dwcnMpCisJ CQlhZGV2LT5nZnguZnVuY3MtPnJlYWRfd2F2ZV9zZ3BycyhhZGV2LCBzaW1kLCB3YXZlLCBvZmZz ZXQ+PjIsIHNpemU+PjIsIGRhdGEpOworCX0KKworCWFtZGdwdV9nZnhfc2VsZWN0X3NlX3NoKGFk ZXYsIDB4RkZGRkZGRkYsIDB4RkZGRkZGRkYsIDB4RkZGRkZGRkYpOworCW11dGV4X3VubG9jaygm YWRldi0+Z3JibV9pZHhfbXV0ZXgpOworCisJd2hpbGUgKHNpemUpIHsKKwkJdWludDMyX3QgdmFs dWU7CisKKwkJdmFsdWUgPSBkYXRhW29mZnNldCA+PiAyXTsKKwkJciA9IHB1dF91c2VyKHZhbHVl LCAodWludDMyX3QgKilidWYpOworCQlpZiAocikgeworCQkJcmVzdWx0ID0gcjsKKwkJCWdvdG8g ZXJyOworCQl9CisKKwkJcmVzdWx0ICs9IDQ7CisJCWJ1ZiArPSA0OworCQlvZmZzZXQgKz0gNDsK KwkJc2l6ZSAtPSA0OworCX0KKworZXJyOgorCWtmcmVlKGRhdGEpOworCXJldHVybiByZXN1bHQ7 Cit9CisKIHN0YXRpYyBjb25zdCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zIGFtZGdwdV9kZWJ1Z2Zz X3JlZ3NfZm9wcyA9IHsKIAkub3duZXIgPSBUSElTX01PRFVMRSwKIAkucmVhZCA9IGFtZGdwdV9k ZWJ1Z2ZzX3JlZ3NfcmVhZCwKQEAgLTMwOTcsNiArMzE2MiwxMSBAQCBzdGF0aWMgY29uc3Qgc3Ry dWN0IGZpbGVfb3BlcmF0aW9ucyBhbWRncHVfZGVidWdmc193YXZlX2ZvcHMgPSB7CiAJLnJlYWQg PSBhbWRncHVfZGVidWdmc193YXZlX3JlYWQsCiAJLmxsc2VlayA9IGRlZmF1bHRfbGxzZWVrCiB9 Oworc3RhdGljIGNvbnN0IHN0cnVjdCBmaWxlX29wZXJhdGlvbnMgYW1kZ3B1X2RlYnVnZnNfZ3By X2ZvcHMgPSB7CisJLm93bmVyID0gVEhJU19NT0RVTEUsCisJLnJlYWQgPSBhbWRncHVfZGVidWdm c19ncHJfcmVhZCwKKwkubGxzZWVrID0gZGVmYXVsdF9sbHNlZWsKK307CiAKIHN0YXRpYyBjb25z dCBzdHJ1Y3QgZmlsZV9vcGVyYXRpb25zICpkZWJ1Z2ZzX3JlZ3NbXSA9IHsKIAkmYW1kZ3B1X2Rl YnVnZnNfcmVnc19mb3BzLApAQCAtMzEwNiw2ICszMTc2LDcgQEAgc3RhdGljIGNvbnN0IHN0cnVj dCBmaWxlX29wZXJhdGlvbnMgKmRlYnVnZnNfcmVnc1tdID0gewogCSZhbWRncHVfZGVidWdmc19n Y2FfY29uZmlnX2ZvcHMsCiAJJmFtZGdwdV9kZWJ1Z2ZzX3NlbnNvcnNfZm9wcywKIAkmYW1kZ3B1 X2RlYnVnZnNfd2F2ZV9mb3BzLAorCSZhbWRncHVfZGVidWdmc19ncHJfZm9wcywKIH07CiAKIHN0 YXRpYyBjb25zdCBjaGFyICpkZWJ1Z2ZzX3JlZ3NfbmFtZXNbXSA9IHsKQEAgLTMxMTYsNiArMzE4 Nyw3IEBAIHN0YXRpYyBjb25zdCBjaGFyICpkZWJ1Z2ZzX3JlZ3NfbmFtZXNbXSA9IHsKIAkiYW1k Z3B1X2djYV9jb25maWciLAogCSJhbWRncHVfc2Vuc29ycyIsCiAJImFtZGdwdV93YXZlIiwKKwki YW1kZ3B1X2dwciIsCiB9OwogCiBzdGF0aWMgaW50IGFtZGdwdV9kZWJ1Z2ZzX3JlZ3NfaW5pdChz dHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldikKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9h bWQvYW1kZ3B1L2dmeF92OF8wLmMgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhf MC5jCmluZGV4IDliOGQzZmU2N2FkYi4uMTgwMzA5ZjU3ODRjIDEwMDY0NAotLS0gYS9kcml2ZXJz L2dwdS9kcm0vYW1kL2FtZGdwdS9nZnhfdjhfMC5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQv YW1kZ3B1L2dmeF92OF8wLmMKQEAgLTUxODQsNiArNTE4NCwyMSBAQCBzdGF0aWMgdWludDMyX3Qg d2F2ZV9yZWFkX2luZChzdHJ1Y3QgYW1kZ3B1X2RldmljZSAqYWRldiwgdWludDMyX3Qgc2ltZCwg dWludDMyXwogCXJldHVybiBSUkVHMzIobW1TUV9JTkRfREFUQSk7CiB9CiAKK3N0YXRpYyB2b2lk IHdhdmVfcmVhZF9yZWdzKHN0cnVjdCBhbWRncHVfZGV2aWNlICphZGV2LCB1aW50MzJfdCBzaW1k LAorCQkJICAgdWludDMyX3Qgd2F2ZSwgdWludDMyX3QgdGhyZWFkLAorCQkJICAgdWludDMyX3Qg cmVnbm8sIHVpbnQzMl90IG51bSwgdWludDMyX3QgKm91dCkKK3sKKwlXUkVHMzIobW1TUV9JTkRf SU5ERVgsCisJCSh3YXZlIDw8IFNRX0lORF9JTkRFWF9fV0FWRV9JRF9fU0hJRlQpIHwKKwkJKHNp bWQgPDwgU1FfSU5EX0lOREVYX19TSU1EX0lEX19TSElGVCkgfAorCQkocmVnbm8gPDwgU1FfSU5E X0lOREVYX19JTkRFWF9fU0hJRlQpIHwKKwkJKHRocmVhZCA8PCBTUV9JTkRfSU5ERVhfX1RIUkVB RF9JRF9fU0hJRlQpIHwKKwkJKFNRX0lORF9JTkRFWF9fRk9SQ0VfUkVBRF9NQVNLKSB8CisJCShT UV9JTkRfSU5ERVhfX0FVVE9fSU5DUl9NQVNLKSk7CisJd2hpbGUgKG51bS0tKQorCQkqKG91dCsr KSA9IFJSRUczMihtbVNRX0lORF9EQVRBKTsKK30KKwogc3RhdGljIHZvaWQgZ2Z4X3Y4XzBfcmVh ZF93YXZlX2RhdGEoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQzMl90IHNpbWQsIHVp bnQzMl90IHdhdmUsIHVpbnQzMl90ICpkc3QsIGludCAqbm9fZmllbGRzKQogewogCS8qIHR5cGUg MCB3YXZlIGRhdGEgKi8KQEAgLTUyMDgsMTEgKzUyMjMsMjEgQEAgc3RhdGljIHZvaWQgZ2Z4X3Y4 XzBfcmVhZF93YXZlX2RhdGEoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQzMl90IHNp bWQsIHUKIAlkc3RbKCpub19maWVsZHMpKytdID0gd2F2ZV9yZWFkX2luZChhZGV2LCBzaW1kLCB3 YXZlLCBpeFNRX1dBVkVfTTApOwogfQogCitzdGF0aWMgdm9pZCBnZnhfdjhfMF9yZWFkX3dhdmVf c2dwcnMoc3RydWN0IGFtZGdwdV9kZXZpY2UgKmFkZXYsIHVpbnQzMl90IHNpbWQsCisJCQkJICAg ICB1aW50MzJfdCB3YXZlLCB1aW50MzJfdCBzdGFydCwKKwkJCQkgICAgIHVpbnQzMl90IHNpemUs IHVpbnQzMl90ICpkc3QpCit7CisJd2F2ZV9yZWFkX3JlZ3MoCisJCWFkZXYsIHNpbWQsIHdhdmUs IDAsCisJCXN0YXJ0ICsgU1FJTkRfV0FWRV9TR1BSU19PRkZTRVQsIHNpemUsIGRzdCk7Cit9CisK IAogc3RhdGljIGNvbnN0IHN0cnVjdCBhbWRncHVfZ2Z4X2Z1bmNzIGdmeF92OF8wX2dmeF9mdW5j cyA9IHsKIAkuZ2V0X2dwdV9jbG9ja19jb3VudGVyID0gJmdmeF92OF8wX2dldF9ncHVfY2xvY2tf Y291bnRlciwKIAkuc2VsZWN0X3NlX3NoID0gJmdmeF92OF8wX3NlbGVjdF9zZV9zaCwKIAkucmVh ZF93YXZlX2RhdGEgPSAmZ2Z4X3Y4XzBfcmVhZF93YXZlX2RhdGEsCisJLnJlYWRfd2F2ZV9zZ3By cyA9ICZnZnhfdjhfMF9yZWFkX3dhdmVfc2dwcnMsCiB9OwogCiBzdGF0aWMgaW50IGdmeF92OF8w X2Vhcmx5X2luaXQodm9pZCAqaGFuZGxlKQotLSAKMi4xMC4wCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwphbWQtZ2Z4IG1haWxpbmcgbGlzdAphbWQtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWls bWFuL2xpc3RpbmZvL2FtZC1nZngK