From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alex Deucher Subject: [PATCH 01/13] drm/amdgpu/cgs: add an interface to access PCI resources Date: Fri, 4 Dec 2015 18:40:29 -0500 Message-ID: <1449272440-8735-2-git-send-email-alexander.deucher@amd.com> References: <1449272440-8735-1-git-send-email-alexander.deucher@amd.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1449272440-8735-1-git-send-email-alexander.deucher@amd.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: broonie@kernel.org, airlied@gmail.com, dri-devel@lists.freedesktop.org, alsa-devel@alsa-project.org, maruthi.bayyavarapu@amd.com, rajeevkumar.linux@gmail.com Cc: Alex Deucher , lgirdwood@gmail.com, perex@perex.cz List-Id: alsa-devel@alsa-project.org VGhpcyBwcm92aWRlcyBhbiBpbnRlcmZhY2UgdG8gZ2V0IGFjY2VzcyB0byB0aGUgYmFzZSBhZGRy ZXNzCm9mIFBDSSByZXNvdXJjZXMgKE1NSU8sIERPT1JCRUxMLCBldGMuKS4gIE9ubHkgTU1JTyBh bmQKRE9PUkJFTEwgYXJlIGltcGxlbWVudGVkIHJpZ2h0IG5vdy4gIFRoaXMgaXMgbmVjZXNzYXJ5 IHRvCnByb3Blcmx5IHV0aWxpemUgc2hhcmVkIGRyaXZlcnMgb24gcGxhdGZvcm0gZGV2aWNlcy4g IElQCm1vZHVsZXMgY2FuIHVzZSB0aGlzIGludGVyZmFjZSB0byBnZXQgdGhlIGJhc2UgYWRkcmVz cwpvZiB0aGUgcmVzb3VyY2UgYW5kIGFkZCBhbnkgYWRkaXRpb25hbCBvZmZzZXQgYW5kIHNldCB0 aGUKc2l6ZSB3aGVuIHNldHRpbmcgdXAgdGhlIHBsYXRmb3JtIGRyaXZlcihzKS4KClNpZ25lZC1v ZmYtYnk6IEFsZXggRGV1Y2hlciA8YWxleGFuZGVyLmRldWNoZXJAYW1kLmNvbT4KLS0tCiBkcml2 ZXJzL2dwdS9kcm0vYW1kL2FtZGdwdS9hbWRncHVfY2dzLmMgIHwgMzYgKysrKysrKysrKysrKysr KysrKysrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9jZ3NfY29tbW9u LmggfCAzNCArKysrKysrKysrKysrKysrKysrKysrKysrKysrKysKIDIgZmlsZXMgY2hhbmdlZCwg NzAgaW5zZXJ0aW9ucygrKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1 L2FtZGdwdV9jZ3MuYyBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvYW1kZ3B1L2FtZGdwdV9jZ3MuYwpp bmRleCA4ZTk5NTE0Li43OTQ5OTI3IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vYW1kL2Ft ZGdwdS9hbWRncHVfY2dzLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2FtZC9hbWRncHUvYW1kZ3B1 X2Nncy5jCkBAIC0zOTgsNiArMzk4LDQxIEBAIHN0YXRpYyB2b2lkIGFtZGdwdV9jZ3Nfd3JpdGVf cGNpX2NvbmZpZ19kd29yZCh2b2lkICpjZ3NfZGV2aWNlLCB1bnNpZ25lZCBhZGRyLAogCVdBUk4o cmV0LCAicGNpX3dyaXRlX2NvbmZpZ19kd29yZCBlcnJvciIpOwogfQogCisKK3N0YXRpYyBpbnQg YW1kZ3B1X2Nnc19nZXRfcGNpX3Jlc291cmNlKHZvaWQgKmNnc19kZXZpY2UsCisJCQkJICAgICAg IGVudW0gY2dzX3Jlc291cmNlX3R5cGUgcmVzb3VyY2VfdHlwZSwKKwkJCQkgICAgICAgdWludDY0 X3Qgc2l6ZSwKKwkJCQkgICAgICAgdWludDY0X3Qgb2Zmc2V0LAorCQkJCSAgICAgICB1aW50NjRf dCAqcmVzb3VyY2VfYmFzZSkKK3sKKwlDR1NfRlVOQ19BREVWOworCisJaWYgKHJlc291cmNlX2Jh c2UgPT0gTlVMTCkKKwkJcmV0dXJuIC1FSU5WQUw7CisKKwlzd2l0Y2ggKHJlc291cmNlX3R5cGUp IHsKKwljYXNlIENHU19SRVNPVVJDRV9UWVBFX01NSU86CisJCWlmIChhZGV2LT5ybW1pb19zaXpl ID09IDApCisJCQlyZXR1cm4gLUVOT0VOVDsKKwkJaWYgKChvZmZzZXQgKyBzaXplKSA+IGFkZXYt PnJtbWlvX3NpemUpCisJCQlyZXR1cm4gLUVJTlZBTDsKKwkJKnJlc291cmNlX2Jhc2UgPSBhZGV2 LT5ybW1pb19iYXNlOworCQlyZXR1cm4gMDsKKwljYXNlIENHU19SRVNPVVJDRV9UWVBFX0RPT1JC RUxMOgorCQlpZiAoYWRldi0+ZG9vcmJlbGwuc2l6ZSA9PSAwKQorCQkJcmV0dXJuIC1FTk9FTlQ7 CisJCWlmICgob2Zmc2V0ICsgc2l6ZSkgPiBhZGV2LT5kb29yYmVsbC5zaXplKQorCQkJcmV0dXJu IC1FSU5WQUw7CisJCSpyZXNvdXJjZV9iYXNlID0gYWRldi0+ZG9vcmJlbGwuYmFzZTsKKwkJcmV0 dXJuIDA7CisJY2FzZSBDR1NfUkVTT1VSQ0VfVFlQRV9GQjoKKwljYXNlIENHU19SRVNPVVJDRV9U WVBFX0lPOgorCWNhc2UgQ0dTX1JFU09VUkNFX1RZUEVfUk9NOgorCWRlZmF1bHQ6CisJCXJldHVy biAtRUlOVkFMOworCX0KK30KKwogc3RhdGljIGNvbnN0IHZvaWQgKmFtZGdwdV9jZ3NfYXRvbV9n ZXRfZGF0YV90YWJsZSh2b2lkICpjZ3NfZGV2aWNlLAogCQkJCQkJICB1bnNpZ25lZCB0YWJsZSwg dWludDE2X3QgKnNpemUsCiAJCQkJCQkgIHVpbnQ4X3QgKmZyZXYsIHVpbnQ4X3QgKmNyZXYpCkBA IC03NTYsNiArNzkxLDcgQEAgc3RhdGljIGNvbnN0IHN0cnVjdCBjZ3Nfb3BzIGFtZGdwdV9jZ3Nf b3BzID0gewogCWFtZGdwdV9jZ3Nfd3JpdGVfcGNpX2NvbmZpZ19ieXRlLAogCWFtZGdwdV9jZ3Nf d3JpdGVfcGNpX2NvbmZpZ193b3JkLAogCWFtZGdwdV9jZ3Nfd3JpdGVfcGNpX2NvbmZpZ19kd29y ZCwKKwlhbWRncHVfY2dzX2dldF9wY2lfcmVzb3VyY2UsCiAJYW1kZ3B1X2Nnc19hdG9tX2dldF9k YXRhX3RhYmxlLAogCWFtZGdwdV9jZ3NfYXRvbV9nZXRfY21kX3RhYmxlX3JldnMsCiAJYW1kZ3B1 X2Nnc19hdG9tX2V4ZWNfY21kX3RhYmxlLApkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2Ft ZC9pbmNsdWRlL2Nnc19jb21tb24uaCBiL2RyaXZlcnMvZ3B1L2RybS9hbWQvaW5jbHVkZS9jZ3Nf Y29tbW9uLmgKaW5kZXggOTkyZGNkOC4uNjQ2ZWJiNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUv ZHJtL2FtZC9pbmNsdWRlL2Nnc19jb21tb24uaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vYW1kL2lu Y2x1ZGUvY2dzX2NvbW1vbi5oCkBAIC0xMDUsNiArMTA1LDE3IEBAIGVudW0gY2dzX3Vjb2RlX2lk IHsKIAlDR1NfVUNPREVfSURfTUFYSU1VTSwKIH07CiAKKy8qCisgKiBlbnVtIGNnc19yZXNvdXJj ZV90eXBlIC0gR1BVIHJlc291cmNlIHR5cGUKKyAqLworZW51bSBjZ3NfcmVzb3VyY2VfdHlwZSB7 CisJQ0dTX1JFU09VUkNFX1RZUEVfTU1JTyA9IDAsCisJQ0dTX1JFU09VUkNFX1RZUEVfRkIsCisJ Q0dTX1JFU09VUkNFX1RZUEVfSU8sCisJQ0dTX1JFU09VUkNFX1RZUEVfRE9PUkJFTEwsCisJQ0dT X1JFU09VUkNFX1RZUEVfUk9NLAorfTsKKwogLyoqCiAgKiBzdHJ1Y3QgY2dzX2Nsb2NrX2xpbWl0 cyAtIENsb2NrIGxpbWl0cwogICoKQEAgLTM1NSw2ICszNjYsMjMgQEAgdHlwZWRlZiB2b2lkICgq Y2dzX3dyaXRlX3BjaV9jb25maWdfd29yZF90KSh2b2lkICpjZ3NfZGV2aWNlLCB1bnNpZ25lZCBh ZGRyLAogdHlwZWRlZiB2b2lkICgqY2dzX3dyaXRlX3BjaV9jb25maWdfZHdvcmRfdCkodm9pZCAq Y2dzX2RldmljZSwgdW5zaWduZWQgYWRkciwKIAkJCQkJICAgICB1aW50MzJfdCB2YWx1ZSk7CiAK KworLyoqCisgKiBjZ3NfZ2V0X3BjaV9yZXNvdXJjZSgpIC0gcHJvdmlkZSBhY2Nlc3MgdG8gYSBk ZXZpY2UgcmVzb3VyY2UgKFBDSSBCQVIpCisgKiBAY2dzX2RldmljZToJb3BhcXVlIGRldmljZSBo YW5kbGUKKyAqIEByZXNvdXJjZV90eXBlOglUeXBlIG9mIFJlc291cmNlIChNTUlPLCBJTywgUk9N LCBGQiwgRE9PUkJFTEwpCisgKiBAc2l6ZToJc2l6ZSBvZiB0aGUgcmVnaW9uCisgKiBAb2Zmc2V0 OglvZmZzZXQgZnJvbSB0aGUgc3RhcnQgb2YgdGhlIHJlZ2lvbgorICogQHJlc291cmNlX2Jhc2U6 CWJhc2UgYWRkcmVzcyAobm90IGluY2x1ZGluZyBvZmZzZXQpIHJldHVybmVkCisgKgorICogUmV0 dXJuOiAwIG9uIHN1Y2Nlc3MsIC1lcnJubyBvdGhlcndpc2UKKyAqLwordHlwZWRlZiBpbnQgKCpj Z3NfZ2V0X3BjaV9yZXNvdXJjZV90KSh2b2lkICpjZ3NfZGV2aWNlLAorCQkJCSAgICAgIGVudW0g Y2dzX3Jlc291cmNlX3R5cGUgcmVzb3VyY2VfdHlwZSwKKwkJCQkgICAgICB1aW50NjRfdCBzaXpl LAorCQkJCSAgICAgIHVpbnQ2NF90IG9mZnNldCwKKwkJCQkgICAgICB1aW50NjRfdCAqcmVzb3Vy Y2VfYmFzZSk7CisKIC8qKgogICogY2dzX2F0b21fZ2V0X2RhdGFfdGFibGUoKSAtIEdldCBhIHBv aW50ZXIgdG8gYW4gQVRPTSBCSU9TIGRhdGEgdGFibGUKICAqIEBjZ3NfZGV2aWNlOglvcGFxdWUg ZGV2aWNlIGhhbmRsZQpAQCAtNTE2LDYgKzU0NCw4IEBAIHN0cnVjdCBjZ3Nfb3BzIHsKIAljZ3Nf d3JpdGVfcGNpX2NvbmZpZ19ieXRlX3Qgd3JpdGVfcGNpX2NvbmZpZ19ieXRlOwogCWNnc193cml0 ZV9wY2lfY29uZmlnX3dvcmRfdCB3cml0ZV9wY2lfY29uZmlnX3dvcmQ7CiAJY2dzX3dyaXRlX3Bj aV9jb25maWdfZHdvcmRfdCB3cml0ZV9wY2lfY29uZmlnX2R3b3JkOworCS8qIFBDSSByZXNvdXJj ZXMgKi8KKwljZ3NfZ2V0X3BjaV9yZXNvdXJjZV90IGdldF9wY2lfcmVzb3VyY2U7CiAJLyogQVRP TSBCSU9TICovCiAJY2dzX2F0b21fZ2V0X2RhdGFfdGFibGVfdCBhdG9tX2dldF9kYXRhX3RhYmxl OwogCWNnc19hdG9tX2dldF9jbWRfdGFibGVfcmV2c190IGF0b21fZ2V0X2NtZF90YWJsZV9yZXZz OwpAQCAtNjIwLDUgKzY1MCw5IEBAIHN0cnVjdCBjZ3NfZGV2aWNlCiAJQ0dTX0NBTEwoc2V0X3Bv d2VyZ2F0aW5nX3N0YXRlLCBkZXYsIGJsb2NrX3R5cGUsIHN0YXRlKQogI2RlZmluZSBjZ3Nfc2V0 X2Nsb2NrZ2F0aW5nX3N0YXRlKGRldiwgYmxvY2tfdHlwZSwgc3RhdGUpCVwKIAlDR1NfQ0FMTChz ZXRfY2xvY2tnYXRpbmdfc3RhdGUsIGRldiwgYmxvY2tfdHlwZSwgc3RhdGUpCisjZGVmaW5lIGNn c19nZXRfcGNpX3Jlc291cmNlKGNnc19kZXZpY2UsIHJlc291cmNlX3R5cGUsIHNpemUsIG9mZnNl dCwgXAorCXJlc291cmNlX2Jhc2UpIFwKKwlDR1NfQ0FMTChnZXRfcGNpX3Jlc291cmNlLCBjZ3Nf ZGV2aWNlLCByZXNvdXJjZV90eXBlLCBzaXplLCBvZmZzZXQsIFwKKwlyZXNvdXJjZV9iYXNlKQog CiAjZW5kaWYgLyogX0NHU19DT01NT05fSCAqLwotLSAKMS44LjMuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApk cmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK