From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: [PATCH v4] drm/i915: rewrite hsw/bdw audio codec enable/disable sequences Date: Tue, 4 Nov 2014 10:30:23 +0200 Message-ID: <1415089823-2461-1-git-send-email-jani.nikula@intel.com> References: <20141103120902.GS26941@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from mga01.intel.com (mga01.intel.com [192.55.52.88]) by gabe.freedesktop.org (Postfix) with ESMTP id 984416E4CC for ; Tue, 4 Nov 2014 00:32:20 -0800 (PST) In-Reply-To: <20141103120902.GS26941@phenom.ffwll.local> 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, Rodrigo Vivi , daniel@ffwll.ch Cc: jani.nikula@intel.com List-Id: intel-gfx@lists.freedesktop.org VGhlcmUncyBzb21lIHNlcmlvdXMgY29uZnVzaW9uIHJlZ2FyZGluZyBFTEQgdmFsaWQgYml0IHRo YXQgZ2V0cyBzZXQgYW5kCmNsZWFyZWQgYmFjayBhbmQgZm9ydGggZXRjLiBSZXdyaXRlIGl0IGFs bCBiYXNlZCBvbiB0aGUgZG9jdW1lbnRlZCBhdWRpbwpjb2RlYyBlbmFibGUvZGlzYWJsZSBzZXF1 ZW5jZXMuCgp2MzogcmVwbGFjZSB2Ymxhbmsgd2FpdCB3aXRoIGEgY29tbWVudAoKdjQ6IGV4cGFu ZCB0aGUgY29tbWVudCBvbiB3aGF0IHNob3VsZCBiZSBkb25lIHdpdGggdGhlIHZibGFuayB3YWl0 CgpTaWduZWQtb2ZmLWJ5OiBKYW5pIE5pa3VsYSA8amFuaS5uaWt1bGFAaW50ZWwuY29tPgotLS0K IGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMgfCAxMTUgKysrKysrKysrKysrKysr Ky0tLS0tLS0tLS0tLS0tLS0tLS0tLQogMSBmaWxlIGNoYW5nZWQsIDUxIGluc2VydGlvbnMoKyks IDY0IGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVs X2F1ZGlvLmMgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCmluZGV4IDgyMTUx NGM5NTIyOS4uNGRjZmM0NmQ1NzI1IDEwMDY0NAotLS0gYS9kcml2ZXJzL2dwdS9kcm0vaTkxNS9p bnRlbF9hdWRpby5jCisrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKQEAg LTEzMiwxNCArMTMyLDI2IEBAIHN0YXRpYyB2b2lkIGc0eF9hdWRpb19jb2RlY19lbmFibGUoc3Ry dWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIAogc3RhdGljIHZvaWQgaHN3X2F1ZGlvX2Nv ZGVjX2Rpc2FibGUoc3RydWN0IGludGVsX2VuY29kZXIgKmVuY29kZXIpCiB7Ci0Jc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9IGVuY29kZXItPmJhc2UuZGV2OwotCXN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdiA9IGRldi0+ZGV2X3ByaXZhdGU7Ci0Jc3RydWN0IGRybV9jcnRjICpjcnRj ID0gZW5jb2Rlci0+YmFzZS5jcnRjOwotCWVudW0gcGlwZSBwaXBlID0gdG9faW50ZWxfY3J0Yyhj cnRjKS0+cGlwZTsKKwlzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYgPSBlbmNvZGVy LT5iYXNlLmRldi0+ZGV2X3ByaXZhdGU7CisJc3RydWN0IGludGVsX2NydGMgKmludGVsX2NydGMg PSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7CisJZW51bSBwaXBlIHBpcGUgPSBp bnRlbF9jcnRjLT5waXBlOwogCXVpbnQzMl90IHRtcDsKIAorCURSTV9ERUJVR19LTVMoIkRpc2Fi bGUgYXVkaW8gY29kZWMgb24gcGlwZSAlY1xuIiwgcGlwZV9uYW1lKHBpcGUpKTsKKworCS8qIERp c2FibGUgdGltZXN0YW1wcyAqLworCXRtcCA9IEk5MTVfUkVBRChIU1dfQVVEX0NGRyhwaXBlKSk7 CisJdG1wICY9IH5BVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CisJdG1wIHw9IEFVRF9DT05GSUdf Tl9QUk9HX0VOQUJMRTsKKwl0bXAgJj0gfkFVRF9DT05GSUdfVVBQRVJfTl9NQVNLOworCXRtcCAm PSB+QVVEX0NPTkZJR19MT1dFUl9OX01BU0s7CisJaWYgKGludGVsX3BpcGVfaGFzX3R5cGUoaW50 ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSkKKwkJdG1wIHw9IEFVRF9DT05GSUdf Tl9WQUxVRV9JTkRFWDsKKwlJOTE1X1dSSVRFKEhTV19BVURfQ0ZHKHBpcGUpLCB0bXApOworCisJ LyogSW52YWxpZGF0ZSBFTEQgKi8KIAl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9QSU5fRUxEX0NQ X1ZMRCk7Ci0JdG1wICY9IH4oKEFVRElPX09VVFBVVF9FTkFCTEVfQSB8IEFVRElPX0VMRF9WQUxJ RF9BKSA8PCAocGlwZSAqIDQpKTsKKwl0bXAgJj0gfihBVURJT19FTERfVkFMSURfQSA8PCAocGlw ZSAqIDQpKTsKIAlJOTE1X1dSSVRFKEhTV19BVURfUElOX0VMRF9DUF9WTEQsIHRtcCk7CiB9CiAK QEAgLTE0OSw3NyArMTYxLDUyIEBAIHN0YXRpYyB2b2lkIGhzd19hdWRpb19jb2RlY19lbmFibGUo c3RydWN0IGRybV9jb25uZWN0b3IgKmNvbm5lY3RvciwKIHsKIAlzdHJ1Y3QgZHJtX2k5MTVfcHJp dmF0ZSAqZGV2X3ByaXYgPSBjb25uZWN0b3ItPmRldi0+ZGV2X3ByaXZhdGU7CiAJc3RydWN0IGlu dGVsX2NydGMgKmludGVsX2NydGMgPSB0b19pbnRlbF9jcnRjKGVuY29kZXItPmJhc2UuY3J0Yyk7 Ci0JdWludDhfdCAqZWxkID0gY29ubmVjdG9yLT5lbGQ7Ci0JdWludDMyX3QgZWxkdjsKKwllbnVt IHBpcGUgcGlwZSA9IGludGVsX2NydGMtPnBpcGU7CisJY29uc3QgdWludDhfdCAqZWxkID0gY29u bmVjdG9yLT5lbGQ7CiAJdWludDMyX3QgdG1wOwogCWludCBsZW4sIGk7Ci0JZW51bSBwaXBlIHBp cGUgPSBpbnRlbF9jcnRjLT5waXBlOwotCWVudW0gcG9ydCBwb3J0OwotCWludCBoZG1pd19oZG1p ZWRpZCA9IEhTV19BVURfRURJRF9EQVRBKHBpcGUpOwotCWludCBhdWRfY250bF9zdCA9IEhTV19B VURfRElQX0VMRF9DVFJMKHBpcGUpOwotCWludCBhdWRfY29uZmlnID0gSFNXX0FVRF9DRkcocGlw ZSk7Ci0JaW50IGF1ZF9jbnRybF9zdDIgPSBIU1dfQVVEX1BJTl9FTERfQ1BfVkxEOwogCi0JLyog QXVkaW8gb3V0cHV0IGVuYWJsZSAqLwotCURSTV9ERUJVR19EUklWRVIoIkhETUkgYXVkaW86IGVu YWJsZSBjb2RlY1xuIik7Ci0JdG1wID0gSTkxNV9SRUFEKGF1ZF9jbnRybF9zdDIpOwotCXRtcCB8 PSAoQVVESU9fT1VUUFVUX0VOQUJMRV9BIDw8IChwaXBlICogNCkpOwotCUk5MTVfV1JJVEUoYXVk X2NudHJsX3N0MiwgdG1wKTsKLQlQT1NUSU5HX1JFQUQoYXVkX2NudHJsX3N0Mik7Ci0KLQkvKiBT ZXQgRUxEIHZhbGlkIHN0YXRlICovCi0JdG1wID0gSTkxNV9SRUFEKGF1ZF9jbnRybF9zdDIpOwot CURSTV9ERUJVR19EUklWRVIoIkhETUkgYXVkaW86IHBpbiBlbGQgdmxkIHN0YXR1cz0weCUwOHhc biIsIHRtcCk7Ci0JdG1wIHw9IChBVURJT19FTERfVkFMSURfQSA8PCAocGlwZSAqIDQpKTsKLQlJ OTE1X1dSSVRFKGF1ZF9jbnRybF9zdDIsIHRtcCk7Ci0JdG1wID0gSTkxNV9SRUFEKGF1ZF9jbnRy bF9zdDIpOwotCURSTV9ERUJVR19EUklWRVIoIkhETUkgYXVkaW86IGVsZCB2bGQgc3RhdHVzPTB4 JTA4eFxuIiwgdG1wKTsKLQotCS8qIEVuYWJsZSBIRE1JIG1vZGUgKi8KLQl0bXAgPSBJOTE1X1JF QUQoYXVkX2NvbmZpZyk7Ci0JRFJNX0RFQlVHX0RSSVZFUigiSERNSSBhdWRpbzogYXVkaW8gY29u ZjogMHglMDh4XG4iLCB0bXApOwotCS8qIGNsZWFyIE5fcHJvZ3JhbWluZ19lbmFibGUgYW5kIE5f dmFsdWVfaW5kZXggKi8KLQl0bXAgJj0gfihBVURfQ09ORklHX05fVkFMVUVfSU5ERVggfCBBVURf Q09ORklHX05fUFJPR19FTkFCTEUpOwotCUk5MTVfV1JJVEUoYXVkX2NvbmZpZywgdG1wKTsKKwlE Uk1fREVCVUdfS01TKCJFbmFibGUgYXVkaW8gY29kZWMgb24gcGlwZSAlYywgJXUgYnl0ZXMgRUxE XG4iLAorCQkgICAgICBwaXBlX25hbWUocGlwZSksIGVsZFsyXSk7CiAKLQlEUk1fREVCVUdfRFJJ VkVSKCJFTEQgb24gcGlwZSAlY1xuIiwgcGlwZV9uYW1lKHBpcGUpKTsKLQotCWVsZHYgPSBBVURJ T19FTERfVkFMSURfQSA8PCAocGlwZSAqIDQpOwotCi0JaWYgKGludGVsX3BpcGVfaGFzX3R5cGUo aW50ZWxfY3J0YywgSU5URUxfT1VUUFVUX0RJU1BMQVlQT1JUKSkKLQkJSTkxNV9XUklURShhdWRf Y29uZmlnLCBBVURfQ09ORklHX05fVkFMVUVfSU5ERVgpOyAvKiAweDEgPSBEUCAqLwotCWVsc2UK LQkJSTkxNV9XUklURShhdWRfY29uZmlnLCBhdWRpb19jb25maWdfaGRtaV9waXhlbF9jbG9jayht b2RlKSk7Ci0KLQlpZiAoaW50ZWxfZWxkX3VwdG9kYXRlKGNvbm5lY3RvciwKLQkJCSAgICAgICBh dWRfY250cmxfc3QyLCBlbGR2LAotCQkJICAgICAgIGF1ZF9jbnRsX3N0LCBJQlhfRUxEX0FERFJF U1NfTUFTSywKLQkJCSAgICAgICBoZG1pd19oZG1pZWRpZCkpCi0JCXJldHVybjsKKwkvKiBFbmFi bGUgYXVkaW8gcHJlc2VuY2UgZGV0ZWN0LCBpbnZhbGlkYXRlIEVMRCAqLworCXRtcCA9IEk5MTVf UkVBRChIU1dfQVVEX1BJTl9FTERfQ1BfVkxEKTsKKwl0bXAgfD0gQVVESU9fT1VUUFVUX0VOQUJM RV9BIDw8IChwaXBlICogNCk7CisJdG1wICY9IH4oQVVESU9fRUxEX1ZBTElEX0EgPDwgKHBpcGUg KiA0KSk7CisJSTkxNV9XUklURShIU1dfQVVEX1BJTl9FTERfQ1BfVkxELCB0bXApOwogCi0JdG1w ID0gSTkxNV9SRUFEKGF1ZF9jbnRybF9zdDIpOwotCXRtcCAmPSB+ZWxkdjsKLQlJOTE1X1dSSVRF KGF1ZF9jbnRybF9zdDIsIHRtcCk7CisJLyoKKwkgKiBGSVhNRTogV2UncmUgc3VwcG9zZWQgdG8g d2FpdCBmb3IgdmJsYW5rIGhlcmUsIGJ1dCB3ZSBoYXZlIHZibGFua3MKKwkgKiBkaXNhYmxlZCBk dXJpbmcgdGhlIG1vZGUgc2V0LiBUaGUgcHJvcGVyIGZpeCB3b3VsZCBiZSB0byBwdXNoIHRoZQor CSAqIHJlc3Qgb2YgdGhlIHNldHVwIGludG8gYSB2Ymxhbmsgd29yayBpdGVtLCBxdWV1ZWQgaGVy ZSwgYnV0IHRoZQorCSAqIGluZnJhc3RydWN0dXJlIGlzIG5vdCB0aGVyZSB5ZXQuCisJICovCiAK LQl0bXAgPSBJOTE1X1JFQUQoYXVkX2NudGxfc3QpOworCS8qIFJlc2V0IEVMRCB3cml0ZSBhZGRy ZXNzICovCisJdG1wID0gSTkxNV9SRUFEKEhTV19BVURfRElQX0VMRF9DVFJMKHBpcGUpKTsKIAl0 bXAgJj0gfklCWF9FTERfQUREUkVTU19NQVNLOwotCUk5MTVfV1JJVEUoYXVkX2NudGxfc3QsIHRt cCk7Ci0JcG9ydCA9ICh0bXAgPj4gMjkpICYgRElQX1BPUlRfU0VMX01BU0s7CQkvKiBESVBfUG9y dF9TZWxlY3QsIDB4MSA9IFBvcnRCICovCi0JRFJNX0RFQlVHX0RSSVZFUigicG9ydCBudW06JWRc biIsIHBvcnQpOworCUk5MTVfV1JJVEUoSFNXX0FVRF9ESVBfRUxEX0NUUkwocGlwZSksIHRtcCk7 CiAKLQlsZW4gPSBtaW5fdChpbnQsIGVsZFsyXSwgMjEpOwkvKiA4NCBieXRlcyBvZiBodyBFTEQg YnVmZmVyICovCi0JRFJNX0RFQlVHX0RSSVZFUigiRUxEIHNpemUgJWRcbiIsIGxlbik7CisJLyog VXAgdG8gODQgYnl0ZXMgb2YgaHcgRUxEIGJ1ZmZlciAqLworCWxlbiA9IG1pbl90KGludCwgZWxk WzJdLCAyMSk7CiAJZm9yIChpID0gMDsgaSA8IGxlbjsgaSsrKQotCQlJOTE1X1dSSVRFKGhkbWl3 X2hkbWllZGlkLCAqKCh1aW50MzJfdCAqKWVsZCArIGkpKTsKLQotCXRtcCA9IEk5MTVfUkVBRChh dWRfY250cmxfc3QyKTsKLQl0bXAgfD0gZWxkdjsKLQlJOTE1X1dSSVRFKGF1ZF9jbnRybF9zdDIs IHRtcCk7CisJCUk5MTVfV1JJVEUoSFNXX0FVRF9FRElEX0RBVEEocGlwZSksICooKHVpbnQzMl90 ICopZWxkICsgaSkpOwogCi0JLyogWFhYOiBUcmFuc2l0aW9uYWwgKi8KKwkvKiBFTEQgdmFsaWQg Ki8KIAl0bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCk7Ci0JdG1wIHw9ICgo QVVESU9fT1VUUFVUX0VOQUJMRV9BIHwgQVVESU9fRUxEX1ZBTElEX0EpIDw8IChwaXBlICogNCkp OworCXRtcCB8PSBBVURJT19FTERfVkFMSURfQSA8PCAocGlwZSAqIDQpOwogCUk5MTVfV1JJVEUo SFNXX0FVRF9QSU5fRUxEX0NQX1ZMRCwgdG1wKTsKKworCS8qIEVuYWJsZSB0aW1lc3RhbXBzICov CisJdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKHBpcGUpKTsKKwl0bXAgJj0gfkFVRF9DT05G SUdfTl9WQUxVRV9JTkRFWDsKKwl0bXAgJj0gfkFVRF9DT05GSUdfTl9QUk9HX0VOQUJMRTsKKwl0 bXAgJj0gfkFVRF9DT05GSUdfUElYRUxfQ0xPQ0tfSERNSV9NQVNLOworCWlmIChpbnRlbF9waXBl X2hhc190eXBlKGludGVsX2NydGMsIElOVEVMX09VVFBVVF9ESVNQTEFZUE9SVCkpCisJCXRtcCB8 PSBBVURfQ09ORklHX05fVkFMVUVfSU5ERVg7CisJZWxzZQorCQl0bXAgfD0gYXVkaW9fY29uZmln X2hkbWlfcGl4ZWxfY2xvY2sobW9kZSk7CisJSTkxNV9XUklURShIU1dfQVVEX0NGRyhwaXBlKSwg dG1wKTsKIH0KIAogc3RhdGljIHZvaWQgaWxrX2F1ZGlvX2NvZGVjX2VuYWJsZShzdHJ1Y3QgZHJt X2Nvbm5lY3RvciAqY29ubmVjdG9yLAotLSAKMi4xLjEKCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4 QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxt YW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==