From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v3] drm/i915/audio: rewrite vlv/chv and gen 5-7 audio codec enable sequence Date: Tue, 28 Oct 2014 14:04:54 +0200 Message-ID: <1414497894-10046-1-git-send-email-jani.nikula@intel.com> References: Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga02.intel.com (mga02.intel.com [134.134.136.20]) by gabe.freedesktop.org (Postfix) with ESMTP id 557456E445 for ; Tue, 28 Oct 2014 05:05:07 -0700 (PDT) In-Reply-To: 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 Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org U2ltaWxhciB0byB0aGUgaHN3L2JkdyBlbmFibGUgc2VxdWVuY2UgcmV3cml0ZS4KCnYzOiByZXBs YWNlIHZibGFuayB3YWl0IHdpdGggYSBjb21tZW50CgpTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3Vs YSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0KIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F1ZGlvLmMgfCA1OCArKysrKysrKysrKysrKysrKy0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBm aWxlIGNoYW5nZWQsIDI2IGluc2VydGlvbnMoKyksIDMyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0v aTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IDJlN2Q0Mjg3OGI5ZC4uYzA2MDQ3MzYxZTJhIDEwMDY0 NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKQEAgLTIxMCw2ICsyMTAsMTAgQEAgc3RhdGljIHZv aWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgZHJtX2Nvbm5lY3RvciAqY29ubmVjdG9y LAogewogCXN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdiA9IGNvbm5lY3Rvci0+ZGV2 LT5kZXZfcHJpdmF0ZTsKIAlzdHJ1Y3QgaW50ZWxfY3J0YyAqaW50ZWxfY3J0YyA9IHRvX2ludGVs X2NydGMoZW5jb2Rlci0+YmFzZS5jcnRjKTsKKwlzdHJ1Y3QgaW50ZWxfZGlnaXRhbF9wb3J0ICpp bnRlbF9kaWdfcG9ydCA9CisJCWVuY190b19kaWdfcG9ydCgmZW5jb2Rlci0+YmFzZSk7CisJZW51 bSBwb3J0IHBvcnQgPSBpbnRlbF9kaWdfcG9ydC0+cG9ydDsKKwllbnVtIHBpcGUgcGlwZSA9IGlu dGVsX2NydGMtPnBpcGU7CiAJdWludDhfdCAqZWxkID0gY29ubmVjdG9yLT5lbGQ7CiAJdWludDMy X3QgZWxkdjsKIAl1aW50MzJfdCB0bXA7CkBAIC0yMTgsOCArMjIyLDExIEBAIHN0YXRpYyB2b2lk IGlsa19hdWRpb19jb2RlY19lbmFibGUoc3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwK IAlpbnQgYXVkX2NvbmZpZzsKIAlpbnQgYXVkX2NudGxfc3Q7CiAJaW50IGF1ZF9jbnRybF9zdDI7 Ci0JZW51bSBwaXBlIHBpcGUgPSBpbnRlbF9jcnRjLT5waXBlOwotCWVudW0gcG9ydCBwb3J0Owor CisJRFJNX0RFQlVHX0tNUygiRW5hYmxlIGF1ZGlvIGNvZGVjIG9uIHBvcnQgJWMsIHBpcGUgJWMs ICV1IGJ5dGVzIEVMRFxuIiwKKwkJICAgICAgcG9ydF9uYW1lKHBvcnQpLCBwaXBlX25hbWUocGlw ZSksIGVsZFsyXSk7CisKKwkvKiBYWFg6IHZibGFuayB3YWl0IGhlcmUgKi8KIAogCWlmIChIQVNf UENIX0lCWChjb25uZWN0b3ItPmRldikpIHsKIAkJaGRtaXdfaGRtaWVkaWQgPSBJQlhfSERNSVdf SERNSUVESUQocGlwZSk7CkBAIC0yMzgsNTcgKzI0NSw0NCBAQCBzdGF0aWMgdm9pZCBpbGtfYXVk aW9fY29kZWNfZW5hYmxlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCiAJCWF1ZF9j bnRybF9zdDIgPSBDUFRfQVVEX0NOVFJMX1NUMjsKIAl9CiAKLQlEUk1fREVCVUdfRFJJVkVSKCJF TEQgb24gcGlwZSAlY1xuIiwgcGlwZV9uYW1lKHBpcGUpKTsKLQotCWlmIChJU19WQUxMRVlWSUVX KGNvbm5lY3Rvci0+ZGV2KSkgIHsKLQkJc3RydWN0IGludGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxf ZGlnX3BvcnQ7Ci0KLQkJaW50ZWxfZGlnX3BvcnQgPSBlbmNfdG9fZGlnX3BvcnQoJmVuY29kZXIt PmJhc2UpOwotCQlwb3J0ID0gaW50ZWxfZGlnX3BvcnQtPnBvcnQ7Ci0JfSBlbHNlIHsKLQkJdG1w ID0gSTkxNV9SRUFEKGF1ZF9jbnRsX3N0KTsKLQkJcG9ydCA9ICh0bXAgPj4gMjkpICYgRElQX1BP UlRfU0VMX01BU0s7Ci0JCS8qIERJUF9Qb3J0X1NlbGVjdCwgMHgxID0gUG9ydEIgKi8KLQl9Ci0K LQlpZiAoIXBvcnQpIHsKLQkJRFJNX0RFQlVHX0RSSVZFUigiQXVkaW8gZGlyZWN0ZWQgdG8gdW5r bm93biBwb3J0XG4iKTsKLQkJLyogb3BlcmF0ZSBibGluZGx5IG9uIGFsbCBwb3J0cyAqLworCWlm IChXQVJOX09OKCFwb3J0KSkgewogCQllbGR2ID0gSUJYX0VMRF9WQUxJREI7CiAJCWVsZHYgfD0g SUJYX0VMRF9WQUxJREIgPDwgNDsKIAkJZWxkdiB8PSBJQlhfRUxEX1ZBTElEQiA8PCA4OwogCX0g ZWxzZSB7Ci0JCURSTV9ERUJVR19EUklWRVIoIkVMRCBvbiBwb3J0ICVjXG4iLCBwb3J0X25hbWUo cG9ydCkpOwogCQllbGR2ID0gSUJYX0VMRF9WQUxJREIgPDwgKChwb3J0IC0gMSkgKiA0KTsKIAl9 CiAKLQlpZiAoaW50ZWxfcGlwZV9oYXNfdHlwZShpbnRlbF9jcnRjLCBJTlRFTF9PVVRQVVRfRElT UExBWVBPUlQpKQotCQlJOTE1X1dSSVRFKGF1ZF9jb25maWcsIEFVRF9DT05GSUdfTl9WQUxVRV9J TkRFWCk7IC8qIDB4MSA9IERQICovCi0JZWxzZQotCQlJOTE1X1dSSVRFKGF1ZF9jb25maWcsIGF1 ZGlvX2NvbmZpZ19oZG1pX3BpeGVsX2Nsb2NrKG1vZGUpKTsKLQotCWlmIChpbnRlbF9lbGRfdXB0 b2RhdGUoY29ubmVjdG9yLAotCQkJICAgICAgIGF1ZF9jbnRybF9zdDIsIGVsZHYsCi0JCQkgICAg ICAgYXVkX2NudGxfc3QsIElCWF9FTERfQUREUkVTU19NQVNLLAotCQkJICAgICAgIGhkbWl3X2hk bWllZGlkKSkKLQkJcmV0dXJuOwotCisJLyogSW52YWxpZGF0ZSBFTEQgKi8KIAl0bXAgPSBJOTE1 X1JFQUQoYXVkX2NudHJsX3N0Mik7CiAJdG1wICY9IH5lbGR2OwogCUk5MTVfV1JJVEUoYXVkX2Nu dHJsX3N0MiwgdG1wKTsKIAorCS8qIFJlc2V0IEVMRCB3cml0ZSBhZGRyZXNzICovCiAJdG1wID0g STkxNV9SRUFEKGF1ZF9jbnRsX3N0KTsKIAl0bXAgJj0gfklCWF9FTERfQUREUkVTU19NQVNLOwog CUk5MTVfV1JJVEUoYXVkX2NudGxfc3QsIHRtcCk7CiAKLQlsZW4gPSBtaW5fdChpbnQsIGVsZFsy XSwgMjEpOwkvKiA4NCBieXRlcyBvZiBodyBFTEQgYnVmZmVyICovCi0JRFJNX0RFQlVHX0RSSVZF UigiRUxEIHNpemUgJWRcbiIsIGxlbik7CisJLyogVXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxEIGJ1 ZmZlciAqLworCWxlbiA9IG1pbl90KGludCwgZWxkWzJdLCAyMSk7CiAJZm9yIChpID0gMDsgaSA8 IGxlbjsgaSsrKQogCQlJOTE1X1dSSVRFKGhkbWl3X2hkbWllZGlkLCAqKCh1aW50MzJfdCAqKWVs ZCArIGkpKTsKIAorCS8qIEVMRCB2YWxpZCAqLwogCXRtcCA9IEk5MTVfUkVBRChhdWRfY250cmxf c3QyKTsKIAl0bXAgfD0gZWxkdjsKIAlJOTE1X1dSSVRFKGF1ZF9jbnRybF9zdDIsIHRtcCk7CisK KwkvKiBFbmFibGUgdGltZXN0YW1wcyAqLworCXRtcCA9IEk5MTVfUkVBRChhdWRfY29uZmlnKTsK Kwl0bXAgJj0gfkFVRF9DT05GSUdfTl9WQUxVRV9JTkRFWDsKKwl0bXAgJj0gfkFVRF9DT05GSUdf Tl9QUk9HX0VOQUJMRTsKKwl0bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV9NQVNL OworCWlmIChpbnRlbF9waXBlX2hhc190eXBlKGludGVsX2NydGMsIElOVEVMX09VVFBVVF9ESVNQ TEFZUE9SVCkpCisJCXRtcCB8PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CisJZWxzZQorCQl0 bXAgfD0gYXVkaW9fY29uZmlnX2hkbWlfcGl4ZWxfY2xvY2sobW9kZSk7CisJSTkxNV9XUklURShh dWRfY29uZmlnLCB0bXApOwogfQogCiAvKioKLS0gCjIuMS4xCgpfX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVs LWdmeEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9t YWlsbWFuL2xpc3RpbmZvL2ludGVsLWdmeAo=