From mboxrd@z Thu Jan 1 00:00:00 1970 From: ville.syrjala@linux.intel.com Subject: [PATCH 11/11] ALSA: x86: Register multiple PCM devices for the LPE audio card Date: Tue, 25 Apr 2017 23:27:30 +0300 Message-ID: <20170425202730.1384-12-ville.syrjala@linux.intel.com> References: <20170425202730.1384-1-ville.syrjala@linux.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20170425202730.1384-1-ville.syrjala@linux.intel.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 Cc: Takashi Iwai , alsa-devel@alsa-project.org List-Id: alsa-devel@alsa-project.org RnJvbTogVmlsbGUgU3lyasOkbMOkIDx2aWxsZS5zeXJqYWxhQGxpbnV4LmludGVsLmNvbT4KCk5v dyB0aGF0IGV2ZXJ5dGhpbmcgaXMgaW4gcGxhY2UgbGV0J3MgcmVnaXN0ZXIgYSBQQ00gZGV2aWNl IGZvcgplYWNoIHBpcGUgb2YgdGhlIGRpc3BsYXkgZW5naW5lLiBUaGlzIHdpbGwgbWFrZSBpdCBw b3NzaWJsZSB0bwphY3R1YWxseSBvdXRwdXQgYXVkaW8gdG8gbXVsdGlwbGUgZGlzcGxheXMgYXQg dGhlIHNhbWUgdGltZS4gQW5kCml0IGF2b2lkcyBtb2Rlc2V0cyBvbiB1bnJlbGF0ZWQgZGlzcGxh eXMgZnJvbSBjbG9iYmVyaW5nIHVwIHRoZQpFTEQgYW5kIHdoYXRub3QgZm9yIHRoZSBkaXNwbGF5 IGN1cnJlbnRseSBkb2luZyB0aGUgcGxheWJhY2suCgpUaGUgYWx0ZXJuYXRpdmUgd291bGQgYmUg dG8gaGF2ZSBhIFBDTSBkZXZpY2UgcGVyIHBvcnQsIGJ1dCBwZXItcGlwZQppcyBlYXNpZXIgc2lu Y2UgdGhlIGhhcmR3YXJlIGFjdHVhbGx5IHdvcmtzIHRoYXQgd2F5LgoKQ2M6IFRha2FzaGkgSXdh aSA8dGl3YWlAc3VzZS5kZT4KQ2M6IFBpZXJyZS1Mb3VpcyBCb3NzYXJ0IDxwaWVycmUtbG91aXMu Ym9zc2FydEBsaW51eC5pbnRlbC5jb20+ClNpZ25lZC1vZmYtYnk6IFZpbGxlIFN5cmrDpGzDpCA8 dmlsbGUuc3lyamFsYUBsaW51eC5pbnRlbC5jb20+Ci0tLQogZHJpdmVycy9ncHUvZHJtL2k5MTUv aW50ZWxfbHBlX2F1ZGlvLmMgfCAxNCArKysrLS0tLS0KIGluY2x1ZGUvZHJtL2ludGVsX2xwZV9h dWRpby5oICAgICAgICAgIHwgIDYgKystLQogc291bmQveDg2L2ludGVsX2hkbWlfYXVkaW8uYyAg ICAgICAgICAgfCA1MyArKysrKysrKysrKysrKystLS0tLS0tLS0tLS0tLS0tLS0tCiBzb3VuZC94 ODYvaW50ZWxfaGRtaV9hdWRpby5oICAgICAgICAgICB8ICAzICstCiA0IGZpbGVzIGNoYW5nZWQs IDM0IGluc2VydGlvbnMoKyksIDQyIGRlbGV0aW9ucygtKQoKZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xwZV9hdWRpby5jIGIvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50 ZWxfbHBlX2F1ZGlvLmMKaW5kZXggYTU5M2ZkZjczMTcxLi4yNzBhYTNlM2YwZTIgMTAwNjQ0Ci0t LSBhL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2xwZV9hdWRpby5jCisrKyBiL2RyaXZlcnMv Z3B1L2RybS9pOTE1L2ludGVsX2xwZV9hdWRpby5jCkBAIC0xMTEsNiArMTExLDcgQEAgbHBlX2F1 ZGlvX3BsYXRkZXZfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKIAlw aW5mby5zaXplX2RhdGEgPSBzaXplb2YoKnBkYXRhKTsKIAlwaW5mby5kbWFfbWFzayA9IERNQV9C SVRfTUFTSygzMik7CiAKKwlwZGF0YS0+bnVtX3BpcGVzID0gSU5URUxfSU5GTyhkZXZfcHJpdikt Pm51bV9waXBlczsKIAlzcGluX2xvY2tfaW5pdCgmcGRhdGEtPmxwZV9hdWRpb19zbG9jayk7CiAK IAlwbGF0ZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBpbmZvKTsKQEAgLTMx OCw3ICszMTksNyBAQCB2b2lkIGludGVsX2xwZV9hdWRpb19ub3RpZnkoc3RydWN0IGRybV9pOTE1 X3ByaXZhdGUgKmRldl9wcml2LAogCQkJICAgIGVudW0gcGlwZSBwaXBlLCBlbnVtIHBvcnQgcG9y dCwKIAkJCSAgICBjb25zdCB2b2lkICplbGQsIGludCBsc19jbG9jaywgYm9vbCBkcF9vdXRwdXQp CiB7Ci0JdW5zaWduZWQgbG9uZyBpcnFfZmxhZ3M7CisJdW5zaWduZWQgbG9uZyBpcnFmbGFnczsK IAlzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGRhdGEgKnBkYXRhOwogCXN0cnVjdCBpbnRl bF9oZG1pX2xwZV9hdWRpb19waXBlX3BkYXRhICpwcGRhdGE7CiAJdTMyIGF1ZGlvX2VuYWJsZTsK QEAgLTMyNywxNCArMzI4LDEyIEBAIHZvaWQgaW50ZWxfbHBlX2F1ZGlvX25vdGlmeShzdHJ1Y3Qg ZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJCXJldHVybjsKIAogCXBkYXRhID0gZGV2X2dl dF9wbGF0ZGF0YSgmZGV2X3ByaXYtPmxwZV9hdWRpby5wbGF0ZGV2LT5kZXYpOwotCXBwZGF0YSA9 ICZwZGF0YS0+cGlwZTsKKwlwcGRhdGEgPSAmcGRhdGEtPnBpcGVbcGlwZV07CiAKLQlzcGluX2xv Y2tfaXJxc2F2ZSgmcGRhdGEtPmxwZV9hdWRpb19zbG9jaywgaXJxX2ZsYWdzKTsKKwlzcGluX2xv Y2tfaXJxc2F2ZSgmcGRhdGEtPmxwZV9hdWRpb19zbG9jaywgaXJxZmxhZ3MpOwogCiAJYXVkaW9f ZW5hYmxlID0gSTkxNV9SRUFEKFZMVl9BVURfUE9SVF9FTl9EQkcocG9ydCkpOwogCi0JcGRhdGEt PnBpcGVfaWQgPSBwaXBlOwotCiAJaWYgKGVsZCAhPSBOVUxMKSB7CiAJCW1lbWNweShwcGRhdGEt PmVsZCwgZWxkLCBIRE1JX01BWF9FTERfQllURVMpOwogCQlwcGRhdGEtPnBvcnQgPSBwb3J0OwpA QCAtMzU2LDggKzM1NSw3IEBAIHZvaWQgaW50ZWxfbHBlX2F1ZGlvX25vdGlmeShzdHJ1Y3QgZHJt X2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYsCiAJfQogCiAJaWYgKHBkYXRhLT5ub3RpZnlfYXVkaW9f bHBlKQotCQlwZGF0YS0+bm90aWZ5X2F1ZGlvX2xwZShkZXZfcHJpdi0+bHBlX2F1ZGlvLnBsYXRk ZXYpOworCQlwZGF0YS0+bm90aWZ5X2F1ZGlvX2xwZShkZXZfcHJpdi0+bHBlX2F1ZGlvLnBsYXRk ZXYsIHBpcGUpOwogCi0Jc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGRhdGEtPmxwZV9hdWRpb19z bG9jaywKLQkJCWlycV9mbGFncyk7CisJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgmcGRhdGEtPmxw ZV9hdWRpb19zbG9jaywgaXJxZmxhZ3MpOwogfQpkaWZmIC0tZ2l0IGEvaW5jbHVkZS9kcm0vaW50 ZWxfbHBlX2F1ZGlvLmggYi9pbmNsdWRlL2RybS9pbnRlbF9scGVfYXVkaW8uaAppbmRleCAyNmU1 NjlhZDg2ODMuLmIzOTFiMjgyMjE0MCAxMDA2NDQKLS0tIGEvaW5jbHVkZS9kcm0vaW50ZWxfbHBl X2F1ZGlvLmgKKysrIGIvaW5jbHVkZS9kcm0vaW50ZWxfbHBlX2F1ZGlvLmgKQEAgLTM5LDEwICsz OSwxMCBAQCBzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGlwZV9wZGF0YSB7CiB9OwogCiBz dHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGRhdGEgewotCXN0cnVjdCBpbnRlbF9oZG1pX2xw ZV9hdWRpb19waXBlX3BkYXRhIHBpcGU7Ci0JaW50IHBpcGVfaWQ7CisJc3RydWN0IGludGVsX2hk bWlfbHBlX2F1ZGlvX3BpcGVfcGRhdGEgcGlwZVszXTsKKwlpbnQgbnVtX3BpcGVzOwogCi0Jdm9p ZCAoKm5vdGlmeV9hdWRpb19scGUpKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpOworCXZv aWQgKCpub3RpZnlfYXVkaW9fbHBlKShzdHJ1Y3QgcGxhdGZvcm1fZGV2aWNlICpwZGV2LCBpbnQg cGlwZSk7CiAJc3BpbmxvY2tfdCBscGVfYXVkaW9fc2xvY2s7CiB9OwogCmRpZmYgLS1naXQgYS9z b3VuZC94ODYvaW50ZWxfaGRtaV9hdWRpby5jIGIvc291bmQveDg2L2ludGVsX2hkbWlfYXVkaW8u YwppbmRleCA1ZTIxNDlmZTUyMTguLmU1ODYzYTZkM2FhOSAxMDA2NDQKLS0tIGEvc291bmQveDg2 L2ludGVsX2hkbWlfYXVkaW8uYworKysgYi9zb3VuZC94ODYvaW50ZWxfaGRtaV9hdWRpby5jCkBA IC0xOTUsMTIgKzE5NSwxMiBAQCBzdGF0aWMgdm9pZCBoYWRfc3Vic3RyZWFtX3B1dChzdHJ1Y3Qg c25kX2ludGVsaGFkICppbnRlbGhhZGRhdGEpCiAvKiBSZWdpc3RlciBhY2Nlc3MgZnVuY3Rpb25z ICovCiBzdGF0aWMgdTMyIGhhZF9yZWFkX3JlZ2lzdGVyX3JhdyhzdHJ1Y3Qgc25kX2ludGVsaGFk ICpjdHgsIHUzMiByZWcpCiB7Ci0JcmV0dXJuIGlvcmVhZDMyKGN0eC0+Y2FyZF9jdHgtPm1taW9f c3RhcnQgKyBjdHgtPmhhZF9jb25maWdfb2Zmc2V0ICsgcmVnKTsKKwlyZXR1cm4gaW9yZWFkMzIo Y3R4LT5tbWlvX3N0YXJ0ICsgcmVnKTsKIH0KIAogc3RhdGljIHZvaWQgaGFkX3dyaXRlX3JlZ2lz dGVyX3JhdyhzdHJ1Y3Qgc25kX2ludGVsaGFkICpjdHgsIHUzMiByZWcsIHUzMiB2YWwpCiB7Ci0J aW93cml0ZTMyKHZhbCwgY3R4LT5jYXJkX2N0eC0+bW1pb19zdGFydCArIGN0eC0+aGFkX2NvbmZp Z19vZmZzZXQgKyByZWcpOworCWlvd3JpdGUzMih2YWwsIGN0eC0+bW1pb19zdGFydCArIHJlZyk7 CiB9CiAKIHN0YXRpYyB2b2lkIGhhZF9yZWFkX3JlZ2lzdGVyKHN0cnVjdCBzbmRfaW50ZWxoYWQg KmN0eCwgdTMyIHJlZywgdTMyICp2YWwpCkBAIC0xNTUxLDE2ICsxNTUxLDEyIEBAIHN0YXRpYyBp cnFyZXR1cm5fdCBkaXNwbGF5X3BpcGVfaW50ZXJydXB0X2hhbmRsZXIoaW50IGlycSwgdm9pZCAq ZGV2X2lkKQogLyoKICAqIG1vbml0b3IgcGx1Zy91bnBsdWcgbm90aWZpY2F0aW9uIGZyb20gaTkx NTsganVzdCBraWNrIG9mZiB0aGUgd29yawogICovCi1zdGF0aWMgdm9pZCBub3RpZnlfYXVkaW9f bHBlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYpCitzdGF0aWMgdm9pZCBub3RpZnlfYXVk aW9fbHBlKHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBkZXYsIGludCBwaXBlKQogewogCXN0cnVj dCBzbmRfaW50ZWxoYWRfY2FyZCAqY2FyZF9jdHggPSBwbGF0Zm9ybV9nZXRfZHJ2ZGF0YShwZGV2 KTsKLQlpbnQgcGlwZTsKLQotCWZvcl9lYWNoX3BpcGUoY2FyZF9jdHgsIHBpcGUpIHsKLQkJc3Ry dWN0IHNuZF9pbnRlbGhhZCAqY3R4ID0gJmNhcmRfY3R4LT5wY21fY3R4W3BpcGVdOworCXN0cnVj dCBzbmRfaW50ZWxoYWQgKmN0eCA9ICZjYXJkX2N0eC0+cGNtX2N0eFtwaXBlXTsKIAotCQlzY2hl ZHVsZV93b3JrKCZjdHgtPmhkbWlfYXVkaW9fd3EpOwotCX0KKwlzY2hlZHVsZV93b3JrKCZjdHgt PmhkbWlfYXVkaW9fd3EpOwogfQogCiAvKiB0aGUgd29yayB0byBoYW5kbGUgbW9uaXRvciBob3Qg cGx1Zy91bnBsdWcgKi8KQEAgLTE1NjksNyArMTU2NSw3IEBAIHN0YXRpYyB2b2lkIGhhZF9hdWRp b193cShzdHJ1Y3Qgd29ya19zdHJ1Y3QgKndvcmspCiAJc3RydWN0IHNuZF9pbnRlbGhhZCAqY3R4 ID0KIAkJY29udGFpbmVyX29mKHdvcmssIHN0cnVjdCBzbmRfaW50ZWxoYWQsIGhkbWlfYXVkaW9f d3EpOwogCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19wZGF0YSAqcGRhdGEgPSBjdHgtPmRl di0+cGxhdGZvcm1fZGF0YTsKLQlzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGlwZV9wZGF0 YSAqcHBkYXRhID0gJnBkYXRhLT5waXBlOworCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19w aXBlX3BkYXRhICpwcGRhdGEgPSAmcGRhdGEtPnBpcGVbY3R4LT5waXBlXTsKIAogCXBtX3J1bnRp bWVfZ2V0X3N5bmMoY3R4LT5kZXYpOwogCW11dGV4X2xvY2soJmN0eC0+bXV0ZXgpOwpAQCAtMTU4 MiwyMiArMTU3OCw2IEBAIHN0YXRpYyB2b2lkIGhhZF9hdWRpb193cShzdHJ1Y3Qgd29ya19zdHJ1 Y3QgKndvcmspCiAJCWRldl9kYmcoY3R4LT5kZXYsICIlczogSEFEX05PVElGWV9FTEQgOiBwb3J0 ID0gJWQsIHRtZHMgPSAlZFxuIiwKIAkJCV9fZnVuY19fLCBwcGRhdGEtPnBvcnQsIHBwZGF0YS0+ bHNfY2xvY2spOwogCi0JCXN3aXRjaCAocGRhdGEtPnBpcGVfaWQpIHsKLQkJY2FzZSAwOgotCQkJ Y3R4LT5oYWRfY29uZmlnX29mZnNldCA9IEFVRElPX0hETUlfQ09ORklHX0E7Ci0JCQlicmVhazsK LQkJY2FzZSAxOgotCQkJY3R4LT5oYWRfY29uZmlnX29mZnNldCA9IEFVRElPX0hETUlfQ09ORklH X0I7Ci0JCQlicmVhazsKLQkJY2FzZSAyOgotCQkJY3R4LT5oYWRfY29uZmlnX29mZnNldCA9IEFV RElPX0hETUlfQ09ORklHX0M7Ci0JCQlicmVhazsKLQkJZGVmYXVsdDoKLQkJCWRldl9kYmcoY3R4 LT5kZXYsICJJbnZhbGlkIHBpcGUgJWRcbiIsCi0JCQkJcGRhdGEtPnBpcGVfaWQpOwotCQkJYnJl YWs7Ci0JCX0KLQogCQltZW1jcHkoY3R4LT5lbGQsIHBwZGF0YS0+ZWxkLCBzaXplb2YoY3R4LT5l bGQpKTsKIAogCQljdHgtPmRwX291dHB1dCA9IHBwZGF0YS0+ZHBfb3V0cHV0OwpAQCAtMTc5NCw3 ICsxNzc0LDcgQEAgc3RhdGljIGludCBoZG1pX2xwZV9hdWRpb19wcm9iZShzdHJ1Y3QgcGxhdGZv cm1fZGV2aWNlICpwZGV2KQogCiAJaW5pdF9jaGFubmVsX2FsbG9jYXRpb25zKCk7CiAKLQljYXJk X2N0eC0+bnVtX3BpcGVzID0gMTsKKwljYXJkX2N0eC0+bnVtX3BpcGVzID0gcGRhdGEtPm51bV9w aXBlczsKIAogCWZvcl9lYWNoX3BpcGUoY2FyZF9jdHgsIHBpcGUpIHsKIAkJc3RydWN0IHNuZF9p bnRlbGhhZCAqY3R4ID0gJmNhcmRfY3R4LT5wY21fY3R4W3BpcGVdOwpAQCAtMTgwNiw5ICsxNzg2 LDI0IEBAIHN0YXRpYyBpbnQgaGRtaV9scGVfYXVkaW9fcHJvYmUoc3RydWN0IHBsYXRmb3JtX2Rl dmljZSAqcGRldikKIAogCQlJTklUX1dPUksoJmN0eC0+aGRtaV9hdWRpb193cSwgaGFkX2F1ZGlv X3dxKTsKIAotCQljdHgtPmhhZF9jb25maWdfb2Zmc2V0ID0gQVVESU9fSERNSV9DT05GSUdfQTsK KwkJc3dpdGNoIChwaXBlKSB7CisJCWNhc2UgMDoKKwkJCWN0eC0+bW1pb19zdGFydCA9CisJCQkJ Y2FyZF9jdHgtPm1taW9fc3RhcnQgKyBBVURJT19IRE1JX0NPTkZJR19BOworCQkJYnJlYWs7CisJ CWNhc2UgMToKKwkJCWN0eC0+bW1pb19zdGFydCA9CisJCQkJY2FyZF9jdHgtPm1taW9fc3RhcnQg KyBBVURJT19IRE1JX0NPTkZJR19COworCQkJYnJlYWs7CisJCWNhc2UgMjoKKwkJCWN0eC0+bW1p b19zdGFydCA9CisJCQkJY2FyZF9jdHgtPm1taW9fc3RhcnQgKyBBVURJT19IRE1JX0NPTkZJR19D OworCQkJYnJlYWs7CisJCWRlZmF1bHQ6CisJCQlicmVhazsKKwkJfQogCi0JCXJldCA9IHNuZF9w Y21fbmV3KGNhcmQsIElOVEVMX0hBRCwgUENNX0lOREVYLCBNQVhfUEJfU1RSRUFNUywKKwkJcmV0 ID0gc25kX3BjbV9uZXcoY2FyZCwgSU5URUxfSEFELCBwaXBlLCBNQVhfUEJfU1RSRUFNUywKIAkJ CQkgIE1BWF9DQVBfU1RSRUFNUywgJnBjbSk7CiAJCWlmIChyZXQpCiAJCQlnb3RvIGVycjsKZGlm ZiAtLWdpdCBhL3NvdW5kL3g4Ni9pbnRlbF9oZG1pX2F1ZGlvLmggYi9zb3VuZC94ODYvaW50ZWxf aGRtaV9hdWRpby5oCmluZGV4IGEyMDkwOTZiMDNkZi4uYWIwZGU1ZDUyNWY0IDEwMDY0NAotLS0g YS9zb3VuZC94ODYvaW50ZWxfaGRtaV9hdWRpby5oCisrKyBiL3NvdW5kL3g4Ni9pbnRlbF9oZG1p X2F1ZGlvLmgKQEAgLTMyLDcgKzMyLDYgQEAKIAogI2luY2x1ZGUgImludGVsX2hkbWlfbHBlX2F1 ZGlvLmgiCiAKLSNkZWZpbmUgUENNX0lOREVYCQkwCiAjZGVmaW5lIE1BWF9QQl9TVFJFQU1TCQkx CiAjZGVmaW5lIE1BWF9DQVBfU1RSRUFNUwkJMAogI2RlZmluZSBCWVRFU19QRVJfV09SRAkJMHg0 CkBAIC0xMjQsNyArMTIzLDcgQEAgc3RydWN0IHNuZF9pbnRlbGhhZCB7CiAJdW5zaWduZWQgaW50 IHBlcmlvZF9ieXRlczsJLyogUENNIHBlcmlvZCBzaXplIGluIGJ5dGVzICovCiAKIAkvKiBpbnRl cm5hbCBzdHVmZiAqLwotCXVuc2lnbmVkIGludCBoYWRfY29uZmlnX29mZnNldDsKKwl2b2lkIF9f aW9tZW0gKm1taW9fc3RhcnQ7CiAJdW5pb24gYXVkX2NmZyBhdWRfY29uZmlnOwkvKiBBVURfQ09O RklHIHJlZyB2YWx1ZSBjYWNoZSAqLwogCXN0cnVjdCB3b3JrX3N0cnVjdCBoZG1pX2F1ZGlvX3dx OwogCXN0cnVjdCBtdXRleCBtdXRleDsgLyogZm9yIHByb3RlY3RpbmcgY2htYXAgYW5kIGVsZCAq LwotLSAKMi4xMC4yCgpfX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0cy5mcmVlZGVza3RvcC5v cmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9pbnRlbC1n ZngK