From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: [PATCH v2 6/8] drm/i915: Add function to output Aksv over GMBUS Date: Fri, 1 Dec 2017 12:20:28 -0500 Message-ID: <20171201172032.47357-7-seanpaul@chromium.org> References: <20171201172032.47357-1-seanpaul@chromium.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20171201172032.47357-1-seanpaul@chromium.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: dri-devel@lists.freedesktop.org, intel-gfx@lists.freedesktop.org Cc: David Airlie , linux-kernel@vger.kernel.org, Rodrigo Vivi , daniel.vetter@intel.com List-Id: dri-devel@lists.freedesktop.org T25jZSB0aGUgQWtzdiBpcyBhdmFpbGFibGUgaW4gdGhlIFBDSCwgd2UgbmVlZCB0byBnZXQgaXQg b24gdGhlIHdpcmUgdG8KdGhlIHJlY2VpdmVyIHZpYSBEREMuIFRoZSBoYXJkd2FyZSBkb2Vzbid0 IGFsbG93IHVzIHRvIHJlYWQgdGhlIHZhbHVlCmRpcmVjdGx5LCBzbyB3ZSBuZWVkIHRvIHRlbGwg R01CVVMgdG8gc291cmNlIHRoZSBBa3N2IGludGVybmFsbHkgYW5kCnNlbmQgaXQgdG8gdGhlIHJp Z2h0IG9mZnNldCBvbiB0aGUgcmVjZWl2ZXIuCgpUaGUgd2F5IHdlIGRvIHRoaXMgaXMgdG8gaW5p dGlhdGUgYW4gaW5kZXhlZCB3cml0ZSB3aGVyZSB0aGUgaW5kZXggaXMKdGhlIEFrc3YgcmVnaXN0 ZXIgb2Zmc2V0LiBXZSB3cml0ZSBkdW1teSB2YWx1ZXMgdG8gR01CVVMzIGFzIGlmIHdlIHdlcmUK c2VuZGluZyB0aGUga2V5LCBhbmQgdGhlIGhhcmR3YXJlIHNsaXBzIGluIHRoZSAicmVhbCIgdmFs dWVzIHdoZW4gaXQKZ29lcyBvdXQuCgpDaGFuZ2VzIGluIHYyOgotIE5vbmUKClNpZ25lZC1vZmYt Ynk6IFNlYW4gUGF1bCA8c2VhbnBhdWxAY2hyb21pdW0ub3JnPgotLS0KIGRyaXZlcnMvZ3B1L2Ry bS9pOTE1L2k5MTVfZHJ2LmggIHwgIDEgKwogZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcu aCAgfCAgMSArCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYyB8IDU0ICsrKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKystLS0tLS0KIDMgZmlsZXMgY2hhbmdlZCwgNDggaW5z ZXJ0aW9ucygrKSwgOCBkZWxldGlvbnMoLSkKCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pOTE1X2Rydi5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYuaAppbmRleCAz NmJiNDkyNzQ4NGEuLjEwZjc0MGM5ZTU3MSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaTkxNV9kcnYuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oCkBAIC00 MDQzLDYgKzQwNDMsNyBAQCBleHRlcm4gaW50IGludGVsX3NldHVwX2dtYnVzKHN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdik7CiBleHRlcm4gdm9pZCBpbnRlbF90ZWFyZG93bl9nbWJ1 cyhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpOwogZXh0ZXJuIGJvb2wgaW50ZWxf Z21idXNfaXNfdmFsaWRfcGluKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAkJ CQkgICAgIHVuc2lnbmVkIGludCBwaW4pOworZXh0ZXJuIGludCBpbnRlbF9nbWJ1c19vdXRwdXRf YWtzdihzdHJ1Y3QgaTJjX2FkYXB0ZXIgKmFkYXB0ZXIpOwogCiBleHRlcm4gc3RydWN0IGkyY19h ZGFwdGVyICoKIGludGVsX2dtYnVzX2dldF9hZGFwdGVyKHN0cnVjdCBkcm1faTkxNV9wcml2YXRl ICpkZXZfcHJpdiwgdW5zaWduZWQgaW50IHBpbik7CmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X3JlZy5oIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9yZWcuaAppbmRl eCA2ZGNhMzA1Y2NiZjcuLjhiNzFhMjA4ODJjYSAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaTkxNV9yZWcuaAorKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X3JlZy5oCkBA IC0zMDQwLDYgKzMwNDAsNyBAQCBlbnVtIGk5MTVfcG93ZXJfd2VsbF9pZCB7CiAjIGRlZmluZSBH UElPX0RBVEFfUFVMTFVQX0RJU0FCTEUJKDEgPDwgMTMpCiAKICNkZWZpbmUgR01CVVMwCQkJX01N SU8oZGV2X3ByaXYtPmdwaW9fbW1pb19iYXNlICsgMHg1MTAwKSAvKiBjbG9jay9wb3J0IHNlbGVj dCAqLworI2RlZmluZSAgIEdNQlVTX0FLU1ZfU0VMRUNUCSgxPDwxMSkKICNkZWZpbmUgICBHTUJV U19SQVRFXzEwMEtIWgkoMDw8OCkKICNkZWZpbmUgICBHTUJVU19SQVRFXzUwS0haCSgxPDw4KQog I2RlZmluZSAgIEdNQlVTX1JBVEVfNDAwS0haCSgyPDw4KSAvKiByZXNlcnZlZCBvbiBQaW5ldmll dyAqLwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMgYi9kcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9pMmMuYwppbmRleCBlYjU4MjcxMTBkOGYuLmMwMTE1NmJm MGYyNyAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMKKysrIGIv ZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaTJjLmMKQEAgLTMwLDYgKzMwLDcgQEAKICNpbmNs dWRlIDxsaW51eC9pMmMtYWxnby1iaXQuaD4KICNpbmNsdWRlIDxsaW51eC9leHBvcnQuaD4KICNp bmNsdWRlIDxkcm0vZHJtUC5oPgorI2luY2x1ZGUgPGRybS9kcm1faGRjcC5oPgogI2luY2x1ZGUg ImludGVsX2Rydi5oIgogI2luY2x1ZGUgPGRybS9pOTE1X2RybS5oPgogI2luY2x1ZGUgImk5MTVf ZHJ2LmgiCkBAIC0zNzMsNyArMzc0LDggQEAgZ21idXNfeGZlcl9yZWFkKHN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiwgc3RydWN0IGkyY19tc2cgKm1zZywKIAogc3RhdGljIGludAog Z21idXNfeGZlcl93cml0ZV9jaHVuayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYs Ci0JCSAgICAgICB1bnNpZ25lZCBzaG9ydCBhZGRyLCB1OCAqYnVmLCB1bnNpZ25lZCBpbnQgbGVu KQorCQkgICAgICAgdW5zaWduZWQgc2hvcnQgYWRkciwgdTggKmJ1ZiwgdW5zaWduZWQgaW50IGxl biwKKwkJICAgICAgIHUzMiBnbWJ1czFfaW5kZXgpCiB7CiAJdW5zaWduZWQgaW50IGNodW5rX3Np emUgPSBsZW47CiAJdTMyIHZhbCwgbG9vcDsKQEAgLTM4Niw3ICszODgsNyBAQCBnbWJ1c194ZmVy X3dyaXRlX2NodW5rKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiwKIAogCUk5MTVf V1JJVEVfRlcoR01CVVMzLCB2YWwpOwogCUk5MTVfV1JJVEVfRlcoR01CVVMxLAotCQkgICAgICBH TUJVU19DWUNMRV9XQUlUIHwKKwkJICAgICAgZ21idXMxX2luZGV4IHwgR01CVVNfQ1lDTEVfV0FJ VCB8CiAJCSAgICAgIChjaHVua19zaXplIDw8IEdNQlVTX0JZVEVfQ09VTlRfU0hJRlQpIHwKIAkJ ICAgICAgKGFkZHIgPDwgR01CVVNfU0xBVkVfQUREUl9TSElGVCkgfAogCQkgICAgICBHTUJVU19T TEFWRV9XUklURSB8IEdNQlVTX1NXX1JEWSk7CkBAIC00MDksNyArNDExLDggQEAgZ21idXNfeGZl cl93cml0ZV9jaHVuayhzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiB9CiAKIHN0 YXRpYyBpbnQKLWdtYnVzX3hmZXJfd3JpdGUoc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9w cml2LCBzdHJ1Y3QgaTJjX21zZyAqbXNnKQorZ21idXNfeGZlcl93cml0ZShzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpMmNfbXNnICptc2csCisJCSB1MzIgZ21idXMx X2luZGV4KQogewogCXU4ICpidWYgPSBtc2ctPmJ1ZjsKIAl1bnNpZ25lZCBpbnQgdHhfc2l6ZSA9 IG1zZy0+bGVuOwpAQCAtNDE5LDcgKzQyMiw4IEBAIGdtYnVzX3hmZXJfd3JpdGUoc3RydWN0IGRy bV9pOTE1X3ByaXZhdGUgKmRldl9wcml2LCBzdHJ1Y3QgaTJjX21zZyAqbXNnKQogCWRvIHsKIAkJ bGVuID0gbWluKHR4X3NpemUsIEdNQlVTX0JZVEVfQ09VTlRfTUFYKTsKIAotCQlyZXQgPSBnbWJ1 c194ZmVyX3dyaXRlX2NodW5rKGRldl9wcml2LCBtc2ctPmFkZHIsIGJ1ZiwgbGVuKTsKKwkJcmV0 ID0gZ21idXNfeGZlcl93cml0ZV9jaHVuayhkZXZfcHJpdiwgbXNnLT5hZGRyLCBidWYsIGxlbiwK KwkJCQkJICAgICBnbWJ1czFfaW5kZXgpOwogCQlpZiAocmV0KQogCQkJcmV0dXJuIHJldDsKIApA QCAtNDcwLDcgKzQ3NCw4IEBAIGdtYnVzX3hmZXJfaW5kZXhfcmVhZChzdHJ1Y3QgZHJtX2k5MTVf cHJpdmF0ZSAqZGV2X3ByaXYsIHN0cnVjdCBpMmNfbXNnICptc2dzKQogfQogCiBzdGF0aWMgaW50 Ci1kb19nbWJ1c194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRlciwgc3RydWN0IGkyY19t c2cgKm1zZ3MsIGludCBudW0pCitkb19nbWJ1c194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRh cHRlciwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0sCisJICAgICAgdTMyIGdtYnVzMF9z b3VyY2UsIHUzMiBnbWJ1czFfaW5kZXgpCiB7CiAJc3RydWN0IGludGVsX2dtYnVzICpidXMgPSBj b250YWluZXJfb2YoYWRhcHRlciwKIAkJCQkJICAgICAgIHN0cnVjdCBpbnRlbF9nbWJ1cywKQEAg LTQ4MCw3ICs0ODUsNyBAQCBkb19nbWJ1c194ZmVyKHN0cnVjdCBpMmNfYWRhcHRlciAqYWRhcHRl ciwgc3RydWN0IGkyY19tc2cgKm1zZ3MsIGludCBudW0pCiAJaW50IHJldCA9IDA7CiAKIHJldHJ5 OgotCUk5MTVfV1JJVEVfRlcoR01CVVMwLCBidXMtPnJlZzApOworCUk5MTVfV1JJVEVfRlcoR01C VVMwLCBnbWJ1czBfc291cmNlIHwgYnVzLT5yZWcwKTsKIAogCWZvciAoOyBpIDwgbnVtOyBpICs9 IGluYykgewogCQlpbmMgPSAxOwpAQCAtNDkwLDcgKzQ5NSw4IEBAIGRvX2dtYnVzX3hmZXIoc3Ry dWN0IGkyY19hZGFwdGVyICphZGFwdGVyLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkK IAkJfSBlbHNlIGlmIChtc2dzW2ldLmZsYWdzICYgSTJDX01fUkQpIHsKIAkJCXJldCA9IGdtYnVz X3hmZXJfcmVhZChkZXZfcHJpdiwgJm1zZ3NbaV0sIDApOwogCQl9IGVsc2UgewotCQkJcmV0ID0g Z21idXNfeGZlcl93cml0ZShkZXZfcHJpdiwgJm1zZ3NbaV0pOworCQkJcmV0ID0gZ21idXNfeGZl cl93cml0ZShkZXZfcHJpdiwgJm1zZ3NbaV0sCisJCQkJCSAgICAgICBnbWJ1czFfaW5kZXgpOwog CQl9CiAKIAkJaWYgKCFyZXQpCkBAIC01OTgsNyArNjA0LDcgQEAgZ21idXNfeGZlcihzdHJ1Y3Qg aTJjX2FkYXB0ZXIgKmFkYXB0ZXIsIHN0cnVjdCBpMmNfbXNnICptc2dzLCBpbnQgbnVtKQogCQlp ZiAocmV0IDwgMCkKIAkJCWJ1cy0+Zm9yY2VfYml0ICY9IH5HTUJVU19GT1JDRV9CSVRfUkVUUlk7 CiAJfSBlbHNlIHsKLQkJcmV0ID0gZG9fZ21idXNfeGZlcihhZGFwdGVyLCBtc2dzLCBudW0pOwor CQlyZXQgPSBkb19nbWJ1c194ZmVyKGFkYXB0ZXIsIG1zZ3MsIG51bSwgMCwgMCk7CiAJCWlmIChy ZXQgPT0gLUVBR0FJTikKIAkJCWJ1cy0+Zm9yY2VfYml0IHw9IEdNQlVTX0ZPUkNFX0JJVF9SRVRS WTsKIAl9CkBAIC02MDgsNiArNjE0LDM4IEBAIGdtYnVzX3hmZXIoc3RydWN0IGkyY19hZGFwdGVy ICphZGFwdGVyLCBzdHJ1Y3QgaTJjX21zZyAqbXNncywgaW50IG51bSkKIAlyZXR1cm4gcmV0Owog fQogCitpbnQgaW50ZWxfZ21idXNfb3V0cHV0X2Frc3Yoc3RydWN0IGkyY19hZGFwdGVyICphZGFw dGVyKQoreworCXN0cnVjdCBpbnRlbF9nbWJ1cyAqYnVzID0gY29udGFpbmVyX29mKGFkYXB0ZXIs IHN0cnVjdCBpbnRlbF9nbWJ1cywKKwkJCQkJICAgICAgIGFkYXB0ZXIpOworCXN0cnVjdCBkcm1f aTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGJ1cy0+ZGV2X3ByaXY7CisJaW50IHJldDsKKwl1OCBi dWZbRFJNX0hEQ1BfS1NWX0xFTl0gPSB7IDAgfTsKKwlzdHJ1Y3QgaTJjX21zZyBtc2cgPSB7CisJ CS5hZGRyID0gRFJNX0hEQ1BfRERDX0FERFIsCisJCS5mbGFncyA9IDAsCisJCS5sZW4gPSBzaXpl b2YoYnVmKSwKKwkJLmJ1ZiA9IGJ1ZiwKKwl9OworCisJaW50ZWxfZGlzcGxheV9wb3dlcl9nZXQo ZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9HTUJVUyk7CisJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmdt YnVzX211dGV4KTsKKworCS8qCisJICogSW4gb3JkZXIgdG8gb3V0cHV0IEFrc3YgdG8gdGhlIHJl Y2VpdmVyLCB1c2UgYW4gaW5kZXhlZCB3cml0ZSB0bworCSAqIHBhc3MgdGhlIGkyYyBjb21tYW5k LCBhbmQgdGVsbCBHTUJVUyB0byB1c2UgdGhlIEhXLXByb3ZpZGVkIHZhbHVlCisJICogaW5zdGVh ZCBvZiBzb3VyY2luZyBHTUJVUzMgZm9yIHRoZSBkYXRhLgorCSAqLworCXJldCA9IGRvX2dtYnVz X3hmZXIoYWRhcHRlciwgJm1zZywgMSwgR01CVVNfQUtTVl9TRUxFQ1QsCisJCQkgICAgR01CVVNf Q1lDTEVfSU5ERVggfAorCQkJICAgIChEUk1fSERDUF9ERENfQUtTViA8PCBHTUJVU19TTEFWRV9J TkRFWF9TSElGVCkpOworCisJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+Z21idXNfbXV0ZXgpOwor CWludGVsX2Rpc3BsYXlfcG93ZXJfcHV0KGRldl9wcml2LCBQT1dFUl9ET01BSU5fR01CVVMpOwor CisJcmV0dXJuIHJldDsKK30KKwogc3RhdGljIHUzMiBnbWJ1c19mdW5jKHN0cnVjdCBpMmNfYWRh cHRlciAqYWRhcHRlcikKIHsKIAlyZXR1cm4gaTJjX2JpdF9hbGdvLmZ1bmN0aW9uYWxpdHkoYWRh cHRlcikgJgotLSAKMi4xNS4wLjUzMS5nMmNjYjMwMTJjOS1nb29nCgpfX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0Cklu dGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK