From mboxrd@z Thu Jan 1 00:00:00 1970 From: Dave Airlie Subject: [PATCH 2/4] i915: add support for GPU side of MST audio Date: Wed, 17 Jun 2015 14:01:57 +1000 Message-ID: <1434513719-3580-3-git-send-email-airlied@gmail.com> References: <1434513719-3580-1-git-send-email-airlied@gmail.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mx1.redhat.com (mx1.redhat.com [209.132.183.28]) by gabe.freedesktop.org (Postfix) with ESMTP id D110C7A0F8 for ; Tue, 16 Jun 2015 21:02:10 -0700 (PDT) Received: from int-mx14.intmail.prod.int.phx2.redhat.com (int-mx14.intmail.prod.int.phx2.redhat.com [10.5.11.27]) by mx1.redhat.com (Postfix) with ESMTPS id A00C22B9DD3 for ; Wed, 17 Jun 2015 04:02:10 +0000 (UTC) Received: from dreadlord-bne-redhat-com.bne.redhat.com (dhcp-40-179.bne.redhat.com [10.64.40.179]) by int-mx14.intmail.prod.int.phx2.redhat.com (8.14.4/8.14.4) with ESMTP id t5H421Jn010302 for ; Wed, 17 Jun 2015 00:02:09 -0400 In-Reply-To: <1434513719-3580-1-git-send-email-airlied@gmail.com> 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 List-Id: intel-gfx@lists.freedesktop.org RnJvbTogRGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KClRoaXMganVzdCBhZGRzIGVu YWJsZXMgZm9yIHRoZSBjb2RlY3MgYW5kIGRlYnVnZnMKc3VwcG9ydCBmb3IgbXN0IGNvbm5lY3Rv cnMgdG8gcHJpbnQgdGhlIGF1ZGlvIGluZm8uCgpUaGlzIHJlbGllcyBvbiBwYXRjaGVzIHRvIHRo ZSBhdWRpbyBjb2RlIHRvIGRvIGFueXRoaW5nCm1vcmUgdXNlZnVsLgoKU2lnbmVkLW9mZi1ieTog RGF2ZSBBaXJsaWUgPGFpcmxpZWRAcmVkaGF0LmNvbT4KLS0tCiBkcml2ZXJzL2dwdS9kcm0vaTkx NS9pOTE1X2RlYnVnZnMuYyB8IDEzICsrKysrKysrKysrKysKIGRyaXZlcnMvZ3B1L2RybS9pOTE1 L2ludGVsX2F1ZGlvLmMgIHwgIDcgKysrKy0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxf ZHBfbXN0LmMgfCAyNSArKysrKysrKysrKysrKysrKysrKysrKysrCiAzIGZpbGVzIGNoYW5nZWQs IDQyIGluc2VydGlvbnMoKyksIDMgZGVsZXRpb25zKC0pCgpkaWZmIC0tZ2l0IGEvZHJpdmVycy9n cHUvZHJtL2k5MTUvaTkxNV9kZWJ1Z2ZzLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwppbmRleCBkYzU1YzUxLi5hMTA5YTIxIDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9k cm0vaTkxNS9pOTE1X2RlYnVnZnMuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pOTE1X2Rl YnVnZnMuYwpAQCAtMjU3Nyw2ICsyNTc3LDE3IEBAIHN0YXRpYyB2b2lkIGludGVsX2RwX2luZm8o c3RydWN0IHNlcV9maWxlICptLAogCQlpbnRlbF9wYW5lbF9pbmZvKG0sICZpbnRlbF9jb25uZWN0 b3ItPnBhbmVsKTsKIH0KIAorc3RhdGljIHZvaWQgaW50ZWxfZHBfbXN0X2luZm8oc3RydWN0IHNl cV9maWxlICptLAorCQkJICBzdHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3Ip Cit7CisJc3RydWN0IGludGVsX2VuY29kZXIgKmludGVsX2VuY29kZXIgPSBpbnRlbF9jb25uZWN0 b3ItPmVuY29kZXI7CisJc3RydWN0IGludGVsX2RwX21zdF9lbmNvZGVyICppbnRlbF9tc3QgPSBl bmNfdG9fbXN0KCZpbnRlbF9lbmNvZGVyLT5iYXNlKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9w b3J0ICppbnRlbF9kaWdfcG9ydCA9IGludGVsX21zdC0+cHJpbWFyeTsKKwlzdHJ1Y3QgaW50ZWxf ZHAgKmludGVsX2RwID0gJmludGVsX2RpZ19wb3J0LT5kcDsKKworCXNlcV9wcmludGYobSwgIlx0 YXVkaW8gc3VwcG9ydDogJXNcbiIsIGRybV9kcF9tc3RfcG9ydF9oYXNfYXVkaW8oJmludGVsX2Rw LT5tc3RfbWdyLCBpbnRlbF9jb25uZWN0b3ItPnBvcnQpID8gInllcyIgOiAibm8iKTsKK30KKwog c3RhdGljIHZvaWQgaW50ZWxfaGRtaV9pbmZvKHN0cnVjdCBzZXFfZmlsZSAqbSwKIAkJCSAgICBz dHJ1Y3QgaW50ZWxfY29ubmVjdG9yICppbnRlbF9jb25uZWN0b3IpCiB7CkBAIC0yNjIxLDYgKzI2 MzIsOCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9jb25uZWN0b3JfaW5mbyhzdHJ1Y3Qgc2VxX2ZpbGUg Km0sCiAJCQlpbnRlbF9oZG1pX2luZm8obSwgaW50ZWxfY29ubmVjdG9yKTsKIAkJZWxzZSBpZiAo aW50ZWxfZW5jb2Rlci0+dHlwZSA9PSBJTlRFTF9PVVRQVVRfTFZEUykKIAkJCWludGVsX2x2ZHNf aW5mbyhtLCBpbnRlbF9jb25uZWN0b3IpOworCQllbHNlIGlmIChpbnRlbF9lbmNvZGVyLT50eXBl ID09IElOVEVMX09VVFBVVF9EUF9NU1QpCisJCQlpbnRlbF9kcF9tc3RfaW5mbyhtLCBpbnRlbF9j b25uZWN0b3IpOwogCX0KIAogCXNlcV9wcmludGYobSwgIlx0bW9kZXM6XG4iKTsKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IDIzOTZjYzcuLjc3ZDJhMDEgMTAwNjQ0Ci0tLSBhL2Ry aXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKKysrIGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXVkaW8uYwpAQCAtMTkwLDcgKzE5MCw3IEBAIHN0YXRpYyB2b2lkIGhzd19hdWRp b19jb2RlY19kaXNhYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXRtcCB8PSBB VURfQ09ORklHX05fUFJPR19FTkFCTEU7CiAJdG1wICY9IH5BVURfQ09ORklHX1VQUEVSX05fTUFT SzsKIAl0bXAgJj0gfkFVRF9DT05GSUdfTE9XRVJfTl9NQVNLOwotCWlmIChpbnRlbF9waXBlX2hh c190eXBlKGludGVsX2NydGMsIElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVCkpCisJaWYgKGludGVs X3BpcGVfaGFzX3R5cGUoaW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB8fCBp bnRlbF9waXBlX2hhc190eXBlKGludGVsX2NydGMsIElOVEVMX09VVFBVVF9EUF9NU1QpKQogCQl0 bXAgfD0gQVVEX0NPTkZJR19OX1ZBTFVFX0lOREVYOwogCUk5MTVfV1JJVEUoSFNXX0FVRF9DRkco cGlwZSksIHRtcCk7CiAKQEAgLTIzMSw2ICsyMzEsNyBAQCBzdGF0aWMgdm9pZCBoc3dfYXVkaW9f Y29kZWNfZW5hYmxlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJLyogUmVzZXQg RUxEIHdyaXRlIGFkZHJlc3MgKi8KIAl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9ESVBfRUxEX0NU UkwocGlwZSkpOwogCXRtcCAmPSB+SUJYX0VMRF9BRERSRVNTX01BU0s7CisJdG1wIHw9ICgocGlw ZSArIDEpIDw8IDI5KTsKIAlJOTE1X1dSSVRFKEhTV19BVURfRElQX0VMRF9DVFJMKHBpcGUpLCB0 bXApOwogCiAJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxEIGJ1ZmZlciAqLwpAQCAtMjQ4LDcg KzI0OSw3IEBAIHN0YXRpYyB2b2lkIGhzd19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGRybV9j b25uZWN0b3IgKmNvbm5lY3RvciwKIAl0bXAgJj0gfkFVRF9DT05GSUdfTl9WQUxVRV9JTkRFWDsK IAl0bXAgJj0gfkFVRF9DT05GSUdfTl9QUk9HX0VOQUJMRTsKIAl0bXAgJj0gfkFVRF9DT05GSUdf UElYRUxfQ0xPQ0tfSERNSV9NQVNLOwotCWlmIChpbnRlbF9waXBlX2hhc190eXBlKGludGVsX2Ny dGMsIElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVCkpCisJaWYgKGludGVsX3BpcGVfaGFzX3R5cGUo aW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSB8fCBpbnRlbF9waXBlX2hhc190 eXBlKGludGVsX2NydGMsIElOVEVMX09VVFBVVF9EUF9NU1QpKQogCQl0bXAgfD0gQVVEX0NPTkZJ R19OX1ZBTFVFX0lOREVYOwogCWVsc2UKIAkJdG1wIHw9IGF1ZGlvX2NvbmZpZ19oZG1pX3BpeGVs X2Nsb2NrKG1vZGUpOwpAQCAtNDE3LDcgKzQxOCw3IEBAIHZvaWQgaW50ZWxfYXVkaW9fY29kZWNf ZW5hYmxlKHN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyKQogCiAJLyogRUxEIENv bm5fVHlwZSAqLwogCWNvbm5lY3Rvci0+ZWxkWzVdICY9IH4oMyA8PCAyKTsKLQlpZiAoaW50ZWxf cGlwZV9oYXNfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfRElTUExBWVBPUlQpKQorCWlmIChpbnRl bF9waXBlX2hhc190eXBlKGNydGMsIElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVCkgfHwgaW50ZWxf cGlwZV9oYXNfdHlwZShjcnRjLCBJTlRFTF9PVVRQVVRfRFBfTVNUKSkKIAkJY29ubmVjdG9yLT5l bGRbNV0gfD0gKDEgPDwgMik7CiAKIAljb25uZWN0b3ItPmVsZFs2XSA9IGRybV9hdl9zeW5jX2Rl bGF5KGNvbm5lY3RvciwgbW9kZSkgLyAyOwpkaWZmIC0tZ2l0IGEvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfZHBfbXN0LmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwpp bmRleCA1Y2I0NzQ4Li44YTM5ZTk5IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9kcF9tc3QuYworKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9kcF9tc3QuYwpA QCAtODUsNiArODUsOCBAQCBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfY29tcHV0ZV9jb25maWco c3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIsCiAJCXJldHVybiBmYWxzZTsKIAl9CiAKKwlp ZiAoZHJtX2RwX21zdF9wb3J0X2hhc19hdWRpbygmaW50ZWxfZHAtPm1zdF9tZ3IsIGZvdW5kLT5w b3J0KSkKKwkJcGlwZV9jb25maWctPmhhc19hdWRpbyA9IHRydWU7CiAJbXN0X3BibiA9IGRybV9k cF9jYWxjX3Bibl9tb2RlKGFkanVzdGVkX21vZGUtPmNsb2NrLCBicHApOwogCiAJcGlwZV9jb25m aWctPnBibiA9IG1zdF9wYm47CkBAIC0xMDUsNiArMTA3LDExIEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVyKQogCXN0cnVjdCBp bnRlbF9kcF9tc3RfZW5jb2RlciAqaW50ZWxfbXN0ID0gZW5jX3RvX21zdCgmZW5jb2Rlci0+YmFz ZSk7CiAJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQgPSBpbnRlbF9t c3QtPnByaW1hcnk7CiAJc3RydWN0IGludGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9y dC0+ZHA7CisJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OworCXN0 cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3Ry dWN0IGRybV9jcnRjICpjcnRjID0gZW5jb2Rlci0+YmFzZS5jcnRjOworCXN0cnVjdCBpbnRlbF9j cnRjICppbnRlbF9jcnRjID0gdG9faW50ZWxfY3J0YyhjcnRjKTsKKwogCWludCByZXQ7CiAKIAlE Uk1fREVCVUdfS01TKCIlZFxuIiwgaW50ZWxfZHAtPmFjdGl2ZV9tc3RfbGlua3MpOwpAQCAtMTE1 LDYgKzEyMiwxMCBAQCBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfZGlzYWJsZV9kcChzdHJ1Y3QgaW50 ZWxfZW5jb2RlciAqZW5jb2RlcikKIAlpZiAocmV0KSB7CiAJCURSTV9FUlJPUigiZmFpbGVkIHRv IHVwZGF0ZSBwYXlsb2FkICVkXG4iLCByZXQpOwogCX0KKwlpZiAoaW50ZWxfY3J0Yy0+Y29uZmln LT5oYXNfYXVkaW8pIHsKKwkJaW50ZWxfYXVkaW9fY29kZWNfZGlzYWJsZShlbmNvZGVyKTsKKwkJ aW50ZWxfZGlzcGxheV9wb3dlcl9wdXQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJTyk7CisJ fQogfQogCiBzdGF0aWMgdm9pZCBpbnRlbF9tc3RfcG9zdF9kaXNhYmxlX2RwKHN0cnVjdCBpbnRl bF9lbmNvZGVyICplbmNvZGVyKQpAQCAtMjA5LDYgKzIyMCw3IEBAIHN0YXRpYyB2b2lkIGludGVs X21zdF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiAJc3RydWN0IGlu dGVsX2RwICppbnRlbF9kcCA9ICZpbnRlbF9kaWdfcG9ydC0+ZHA7CiAJc3RydWN0IGRybV9kZXZp Y2UgKmRldiA9IGludGVsX2RpZ19wb3J0LT5iYXNlLmJhc2UuZGV2OwogCXN0cnVjdCBkcm1faTkx NV9wcml2YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2Ny dGMgKmNydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7CiAJZW51bSBwb3J0 IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKIAlpbnQgcmV0OwogCkBAIC0yMjEsNiArMjMz LDEzIEBAIHN0YXRpYyB2b2lkIGludGVsX21zdF9lbmFibGVfZHAoc3RydWN0IGludGVsX2VuY29k ZXIgKmVuY29kZXIpCiAJcmV0ID0gZHJtX2RwX2NoZWNrX2FjdF9zdGF0dXMoJmludGVsX2RwLT5t c3RfbWdyKTsKIAogCXJldCA9IGRybV9kcF91cGRhdGVfcGF5bG9hZF9wYXJ0MigmaW50ZWxfZHAt Pm1zdF9tZ3IpOworCisJaWYgKGNydGMtPmNvbmZpZy0+aGFzX2F1ZGlvKSB7CisJCURSTV9ERUJV R19EUklWRVIoIkVuYWJsaW5nIERQIGF1ZGlvIG9uIHBpcGUgJWNcbiIsCisJCQkJIHBpcGVfbmFt ZShjcnRjLT5waXBlKSk7CisJCWludGVsX2Rpc3BsYXlfcG93ZXJfZ2V0KGRldl9wcml2LCBQT1dF Ul9ET01BSU5fQVVESU8pOworCQlpbnRlbF9hdWRpb19jb2RlY19lbmFibGUoZW5jb2Rlcik7CisJ fQogfQogCiBzdGF0aWMgYm9vbCBpbnRlbF9kcF9tc3RfZW5jX2dldF9od19zdGF0ZShzdHJ1Y3Qg aW50ZWxfZW5jb2RlciAqZW5jb2RlciwKQEAgLTI0Niw2ICsyNjUsMTIgQEAgc3RhdGljIHZvaWQg aW50ZWxfZHBfbXN0X2VuY19nZXRfY29uZmlnKHN0cnVjdCBpbnRlbF9lbmNvZGVyICplbmNvZGVy LAogCiAJcGlwZV9jb25maWctPmhhc19kcF9lbmNvZGVyID0gdHJ1ZTsKIAorICAgICAgIGlmIChp bnRlbF9kaXNwbGF5X3Bvd2VyX2lzX2VuYWJsZWQoZGV2X3ByaXYsIFBPV0VSX0RPTUFJTl9BVURJ TykpIHsKKyAgICAgICAgICAgICAgICB0ZW1wID0gSTkxNV9SRUFEKEhTV19BVURfUElOX0VMRF9D UF9WTEQpOworICAgICAgICAgICAgICAgIGlmICh0ZW1wICYgQVVESU9fT1VUUFVUX0VOQUJMRShj cnRjLT5waXBlKSkKKyAgICAgICAgICAgICAgICAgICAgICAgIHBpcGVfY29uZmlnLT5oYXNfYXVk aW8gPSB0cnVlOworICAgICAgICB9CisKIAl0ZW1wID0gSTkxNV9SRUFEKFRSQU5TX0RESV9GVU5D X0NUTChjcHVfdHJhbnNjb2RlcikpOwogCWlmICh0ZW1wICYgVFJBTlNfRERJX1BIU1lOQykKIAkJ ZmxhZ3MgfD0gRFJNX01PREVfRkxBR19QSFNZTkM7Ci0tIAoyLjQuMQoKX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJ bnRlbC1nZnhAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHA6Ly9saXN0cy5mcmVlZGVza3RvcC5v cmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1nZngK