From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: [PATCH v3 2/4] drm/i915: Add reverse mapping between port and intel_encoder Date: Fri, 4 Dec 2015 18:12:47 +0100 Message-ID: <1449249169-20602-3-git-send-email-tiwai@suse.de> References: <1449249169-20602-1-git-send-email-tiwai@suse.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <1449249169-20602-1-git-send-email-tiwai@suse.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: intel-gfx@lists.freedesktop.org, alsa-devel@alsa-project.org Cc: Mengdong Lin , Vinod Koul , David Henningsson , Daniel Vetter List-Id: alsa-devel@alsa-project.org VGhpcyBwYXRjaCBhZGRzIGEgcmV2ZXJzZSBtYXBwaW5nIGZyb20gYSBkaWdpdGFsIHBvcnQgbnVt YmVyIHRvCmludGVsX2VuY29kZXIgb2JqZWN0IGNvbnRhaW5pbmcgdGhlIGNvcnJlc3BvbmRpbmcg aW50ZWxfZGlnaXRhbF9wb3J0LgpJdCBzaW1wbGlmaWVzIHRoZSBxdWVyeSBvZiB0aGUgZW5jb2Rl ciBhIGxvdC4KClNpZ25lZC1vZmYtYnk6IFRha2FzaGkgSXdhaSA8dGl3YWlAc3VzZS5kZT4KLS0t CnYyLT52MzoKKiBTcXVhc2hlZCBwcmV2aW91c2x5IHR3byBjbGVhbnVwIHBhdGNoZXMgdG8gYSBz aW5nbGUgcGF0Y2gKCiBkcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rydi5oICAgIHwgIDIgKysK IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgfCAzOSArKysrKysrKysrKy0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLS0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMg ICB8ICAxICsKIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMgICAgfCAgMSArCiBkcml2 ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMgIHwgIDIgKysKIDUgZmlsZXMgY2hhbmdlZCwg MTcgaW5zZXJ0aW9ucygrKSwgMjggZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kcnYuaCBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2k5MTVfZHJ2LmgK aW5kZXggMTVjNmRjMGI0ZjM3Li45ZGJjMTQzY2FjMjcgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2k5MTVfZHJ2LmgKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaTkxNV9kcnYu aApAQCAtMTk0NCw2ICsxOTQ0LDggQEAgc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgewogCS8qIHBl cmZvcm0gUEhZIHN0YXRlIHNhbml0eSBjaGVja3M/ICovCiAJYm9vbCBjaHZfcGh5X2Fzc2VydFsy XTsKIAorCXN0cnVjdCBpbnRlbF9lbmNvZGVyICpkaWdfcG9ydF9tYXBbSTkxNV9NQVhfUE9SVFNd OworCiAJLyoKIAkgKiBOT1RFOiBUaGlzIGlzIHRoZSBkcmkxL3VtcyBkdW5nZW9uLCBkb24ndCBh ZGQgc3R1ZmYgaGVyZS4gWW91ciBwYXRjaAogCSAqIHdpbGwgYmUgcmVqZWN0ZWQuIEluc3RlYWQg bG9vayBmb3IgYSBiZXR0ZXIgcGxhY2UuCmRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vaTkx NS9pbnRlbF9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwppbmRl eCBlZWFjOWY3NjMxMTAuLjA1ZjA4YjQ0NWRkNiAxMDA2NDQKLS0tIGEvZHJpdmVycy9ncHUvZHJt L2k5MTUvaW50ZWxfYXVkaW8uYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRp by5jCkBAIC02MzYsMTMgKzYzNiwxMSBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50 X3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAJCQkJCQlpbnQgcG9ydCwgaW50 IHJhdGUpCiB7CiAJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2X3RvX2k5 MTUoZGV2KTsKLQlzdHJ1Y3QgZHJtX2RldmljZSAqZHJtX2RldiA9IGRldl9wcml2LT5kZXY7CiAJ c3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXI7Ci0Jc3RydWN0IGludGVsX2RpZ2l0 YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAJc3RydWN0IGludGVsX2NydGMgKmNydGM7CiAJc3Ry dWN0IGRybV9kaXNwbGF5X21vZGUgKm1vZGU7CiAJc3RydWN0IGk5MTVfYXVkaW9fY29tcG9uZW50 ICphY29tcCA9IGRldl9wcml2LT5hdWRpb19jb21wb25lbnQ7Ci0JZW51bSBwaXBlIHBpcGUgPSAt MTsKKwllbnVtIHBpcGUgcGlwZSA9IElOVkFMSURfUElQRTsKIAl1MzIgdG1wOwogCWludCBuOwog CkBAIC02NTUsMjEgKzY1MywxMiBAQCBzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X3N5 bmNfYXVkaW9fcmF0ZShzdHJ1Y3QgZGV2aWNlICpkZXYsCiAKIAltdXRleF9sb2NrKCZkZXZfcHJp di0+YXZfbXV0ZXgpOwogCS8qIDEuIGdldCB0aGUgcGlwZSAqLwotCWZvcl9lYWNoX2ludGVsX2Vu Y29kZXIoZHJtX2RldiwgaW50ZWxfZW5jb2RlcikgewotCQlpZiAoaW50ZWxfZW5jb2Rlci0+dHlw ZSAhPSBJTlRFTF9PVVRQVVRfSERNSSkKLQkJCWNvbnRpbnVlOwotCQlpbnRlbF9kaWdfcG9ydCA9 IGVuY190b19kaWdfcG9ydCgmaW50ZWxfZW5jb2Rlci0+YmFzZSk7Ci0JCWlmIChwb3J0ID09IGlu dGVsX2RpZ19wb3J0LT5wb3J0KSB7Ci0JCQljcnRjID0gdG9faW50ZWxfY3J0YyhpbnRlbF9lbmNv ZGVyLT5iYXNlLmNydGMpOwotCQkJaWYgKCFjcnRjKSB7Ci0JCQkJRFJNX0RFQlVHX0tNUygiJXM6 IGNydGMgaXMgTlVMTFxuIiwgX19mdW5jX18pOwotCQkJCWNvbnRpbnVlOwotCQkJfQotCQkJcGlw ZSA9IGNydGMtPnBpcGU7Ci0JCQlicmVhazsKLQkJfQorCWludGVsX2VuY29kZXIgPSBkZXZfcHJp di0+ZGlnX3BvcnRfbWFwW3BvcnRdOworCWlmIChpbnRlbF9lbmNvZGVyICYmIGludGVsX2VuY29k ZXItPnR5cGUgPT0gSU5URUxfT1VUUFVUX0hETUkgJiYKKwkgICAgaW50ZWxfZW5jb2Rlci0+YmFz ZS5jcnRjKSB7CisJCWNydGMgPSB0b19pbnRlbF9jcnRjKGludGVsX2VuY29kZXItPmJhc2UuY3J0 Yyk7CisJCXBpcGUgPSBjcnRjLT5waXBlOwogCX0KLQogCWlmIChwaXBlID09IElOVkFMSURfUElQ RSkgewogCQlEUk1fREVCVUdfS01TKCJubyBwaXBlIGZvciB0aGUgcG9ydCAlY1xuIiwgcG9ydF9u YW1lKHBvcnQpKTsKIAkJbXV0ZXhfdW5sb2NrKCZkZXZfcHJpdi0+YXZfbXV0ZXgpOwpAQCAtNzE2 LDI3ICs3MDUsMjEgQEAgc3RhdGljIGludCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfZWxkKHN0 cnVjdCBkZXZpY2UgKmRldiwgaW50IHBvcnQsCiAJCQkJCXVuc2lnbmVkIGNoYXIgKmJ1ZiwgaW50 IG1heF9ieXRlcykKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBkZXZf dG9faTkxNShkZXYpOwotCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGV2X3ByaXYtPmRl djsKIAlzdHJ1Y3QgaW50ZWxfZW5jb2RlciAqaW50ZWxfZW5jb2RlcjsKIAlzdHJ1Y3QgaW50ZWxf ZGlnaXRhbF9wb3J0ICppbnRlbF9kaWdfcG9ydDsKIAljb25zdCB1OCAqZWxkOwogCWludCByZXQg PSAtRUlOVkFMOwogCiAJbXV0ZXhfbG9jaygmZGV2X3ByaXYtPmF2X211dGV4KTsKLQlmb3JfZWFj aF9pbnRlbF9lbmNvZGVyKGRybV9kZXYsIGludGVsX2VuY29kZXIpIHsKLQkJaWYgKGludGVsX2Vu Y29kZXItPnR5cGUgIT0gSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUICYmCi0JCSAgICBpbnRlbF9l bmNvZGVyLT50eXBlICE9IElOVEVMX09VVFBVVF9IRE1JKQotCQkJY29udGludWU7CisJaW50ZWxf ZW5jb2RlciA9IGRldl9wcml2LT5kaWdfcG9ydF9tYXBbcG9ydF07CisJaWYgKGludGVsX2VuY29k ZXIpIHsKKwkJcmV0ID0gMDsKIAkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmlu dGVsX2VuY29kZXItPmJhc2UpOwotCQlpZiAocG9ydCA9PSBpbnRlbF9kaWdfcG9ydC0+cG9ydCkg ewotCQkJcmV0ID0gMDsKLQkJCSplbmFibGVkID0gaW50ZWxfZGlnX3BvcnQtPmF1ZGlvX2Nvbm5l Y3RvciAhPSBOVUxMOwotCQkJaWYgKCEqZW5hYmxlZCkKLQkJCQlicmVhazsKKwkJKmVuYWJsZWQg PSBpbnRlbF9kaWdfcG9ydC0+YXVkaW9fY29ubmVjdG9yICE9IE5VTEw7CisJCWlmICgqZW5hYmxl ZCkgewogCQkJZWxkID0gaW50ZWxfZGlnX3BvcnQtPmF1ZGlvX2Nvbm5lY3Rvci0+ZWxkOwogCQkJ cmV0ID0gZHJtX2VsZF9zaXplKGVsZCk7CiAJCQltZW1jcHkoYnVmLCBlbGQsIG1pbihtYXhfYnl0 ZXMsIHJldCkpOwotCQkJYnJlYWs7CiAJCX0KIAl9CiAKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZGRpLmMK aW5kZXggNzZjZTdjMjk2MGI2Li41OWRlYjBkODU1MzMgMTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9pOTE1L2ludGVsX2RkaS5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2Rk aS5jCkBAIC0zMjk1LDYgKzMyOTUsNyBAQCB2b2lkIGludGVsX2RkaV9pbml0KHN0cnVjdCBkcm1f ZGV2aWNlICpkZXYsIGVudW0gcG9ydCBwb3J0KQogCWludGVsX2VuY29kZXItPmdldF9jb25maWcg PSBpbnRlbF9kZGlfZ2V0X2NvbmZpZzsKIAogCWludGVsX2RpZ19wb3J0LT5wb3J0ID0gcG9ydDsK KwlkZXZfcHJpdi0+ZGlnX3BvcnRfbWFwW3BvcnRdID0gaW50ZWxfZW5jb2RlcjsKIAlpbnRlbF9k aWdfcG9ydC0+c2F2ZWRfcG9ydF9iaXRzID0gSTkxNV9SRUFEKERESV9CVUZfQ1RMKHBvcnQpKSAm CiAJCQkJCSAgKERESV9CVUZfUE9SVF9SRVZFUlNBTCB8CiAJCQkJCSAgIERESV9BXzRfTEFORVMp OwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2RwLmMKaW5kZXggYmVjNDQzYTYyOWRhLi4xNDZmNWRhM2FjYjEg MTAwNjQ0Ci0tLSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2RwLmMKKysrIGIvZHJpdmVy cy9ncHUvZHJtL2k5MTUvaW50ZWxfZHAuYwpAQCAtNjAwMiw2ICs2MDAyLDcgQEAgaW50ZWxfZHBf aW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCX0KIAogCWludGVsX2RpZ19wb3J0LT5wb3J0 ID0gcG9ydDsKKwlkZXZfcHJpdi0+ZGlnX3BvcnRfbWFwW3BvcnRdID0gaW50ZWxfZW5jb2RlcjsK IAlpbnRlbF9kaWdfcG9ydC0+ZHAub3V0cHV0X3JlZyA9IG91dHB1dF9yZWc7CiAKIAlpbnRlbF9l bmNvZGVyLT50eXBlID0gSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUOwpkaWZmIC0tZ2l0IGEvZHJp dmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfaGRtaS5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfaGRtaS5jCmluZGV4IGJkZDQ2MmU3YzY5MC4uYzA0NjAxN2JlNzg2IDEwMDY0NAotLS0gYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9oZG1pLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfaGRtaS5jCkBAIC0yMTQ4LDYgKzIxNDgsNyBAQCB2b2lkIGludGVsX2hkbWlfaW5p dF9jb25uZWN0b3Ioc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQsCiB2 b2lkIGludGVsX2hkbWlfaW5pdChzdHJ1Y3QgZHJtX2RldmljZSAqZGV2LAogCQkgICAgIGk5MTVf cmVnX3QgaGRtaV9yZWcsIGVudW0gcG9ydCBwb3J0KQogeworCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxf cG9ydCAqaW50ZWxfZGlnX3BvcnQ7CiAJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29k ZXI7CiAJc3RydWN0IGludGVsX2Nvbm5lY3RvciAqaW50ZWxfY29ubmVjdG9yOwpAQCAtMjIxNiw2 ICsyMjE3LDcgQEAgdm9pZCBpbnRlbF9oZG1pX2luaXQoc3RydWN0IGRybV9kZXZpY2UgKmRldiwK IAkJaW50ZWxfZW5jb2Rlci0+Y2xvbmVhYmxlIHw9IDEgPDwgSU5URUxfT1VUUFVUX0hETUk7CiAK IAlpbnRlbF9kaWdfcG9ydC0+cG9ydCA9IHBvcnQ7CisJZGV2X3ByaXYtPmRpZ19wb3J0X21hcFtw b3J0XSA9IGludGVsX2VuY29kZXI7CiAJaW50ZWxfZGlnX3BvcnQtPmhkbWkuaGRtaV9yZWcgPSBo ZG1pX3JlZzsKIAlpbnRlbF9kaWdfcG9ydC0+ZHAub3V0cHV0X3JlZyA9IElOVkFMSURfTU1JT19S RUc7CiAKLS0gCjIuNi4zCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3Rv cC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2ludGVs LWdmeAo=