From mboxrd@z Thu Jan 1 00:00:00 1970 From: Takashi Iwai Subject: Re: [PATCH 1/7] drm/i915: setup bridge for HDMI LPE audio driver Date: Wed, 14 Dec 2016 12:43:18 +0100 Message-ID: References: <20161212181043.12512-1-jerome.anand@intel.com> <20161212181043.12512-2-jerome.anand@intel.com> Mime-Version: 1.0 (generated by SEMI 1.14.6 - "Maruoka") Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <20161212181043.12512-2-jerome.anand@intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Jerome Anand Cc: alsa-devel@alsa-project.org, intel-gfx@lists.freedesktop.org, broonie@kernel.org, rakesh.a.ughreja@intel.com List-Id: alsa-devel@alsa-project.org T24gTW9uLCAxMiBEZWMgMjAxNiAxOToxMDozNyArMDEwMCwKSmVyb21lIEFuYW5kIHdyb3RlOgo+ IAo+IC0tLSAvZGV2L251bGwKPiArKysgYi9kcml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9scGVf YXVkaW8uYwooc25pcCkKPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UqCgpNaXNzaW5n IHNwYWNlLgoKPiArbHBlX2F1ZGlvX3BsYXRkZXZfY3JlYXRlKHN0cnVjdCBkcm1faTkxNV9wcml2 YXRlICpkZXZfcHJpdikKPiArewo+ICsJc3RydWN0IGRybV9kZXZpY2UgKmRldiA9ICZkZXZfcHJp di0+ZHJtOwo+ICsJaW50IHJldDsKPiArCXN0cnVjdCByZXNvdXJjZSByc2NbMl0gPSB7fTsKPiAr CXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXY7Cj4gKwl1NjQgKmRtYV9tYXNrOwo+ICsJ c3RydWN0IGludGVsX2hkbWlfbHBlX2F1ZGlvX3BkYXRhICpwZGF0YTsKPiArCj4gKwlpZiAoZGV2 X3ByaXYtPmxwZV9hdWRpby5pcnEgPCAwKQo+ICsJCXJldHVybiBFUlJfUFRSKC1FSU5WQUwpOwoK VGhpcyB3YXMgYWxyZWFkeSB0ZXN0ZWQsIG5vPwoKPiArCj4gKwlwbGF0ZGV2ID0gcGxhdGZvcm1f ZGV2aWNlX2FsbG9jKCJoZG1pLWxwZS1hdWRpbyIsIC0xKTsKPiArCWlmICghcGxhdGRldikgewo+ ICsJCXJldCA9IC1FTk9NRU07Cj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWxsb2NhdGUgTFBF IGF1ZGlvIHBsYXRmb3JtIGRldmljZVxuIik7Cj4gKwkJZ290byBlcnI7Cj4gKwl9Cj4gKwo+ICsJ LyogdG8gd29yay1hcm91bmQgY2hlY2tfYWRkciBpbiBub21tdV9tYXBfc2coKSAqLwo+ICsJZG1h X21hc2sgPSBrbWFsbG9jKHNpemVvZigqcGxhdGRldi0+ZGV2LmRtYV9tYXNrKSwgR0ZQX0tFUk5F TCk7Cj4gKwlpZiAoIWRtYV9tYXNrKSB7Cj4gKwkJcmV0ID0gLUVOT01FTTsKPiArCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBhbGxvY2F0ZSBkbWFfbWFza1xuIik7Cj4gKwkJZ290byBlcnJfcHV0X2Rl djsKPiArCX0KPiArCSpkbWFfbWFzayA9IERNQV9CSVRfTUFTSygzMik7Cj4gKwlwbGF0ZGV2LT5k ZXYuZG1hX21hc2sgPSBkbWFfbWFzazsKPiArCXBsYXRkZXYtPmRldi5jb2hlcmVudF9kbWFfbWFz ayA9ICpkbWFfbWFzazsKPiArCj4gKwlyc2NbMF0uc3RhcnQgICAgPSByc2NbMF0uZW5kID0gZGV2 X3ByaXYtPmxwZV9hdWRpby5pcnE7Cj4gKwlyc2NbMF0uZmxhZ3MgICAgPSBJT1JFU09VUkNFX0lS UTsKPiArCXJzY1swXS5uYW1lICAgICA9ICJoZG1pLWxwZS1hdWRpby1pcnEiOwo+ICsKPiArCXJz Y1sxXS5zdGFydCAgICA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApICsKPiArCQlJ OTE1X0hETUlfTFBFX0FVRElPX0JBU0U7Cj4gKwlyc2NbMV0uZW5kICAgICAgPSBwY2lfcmVzb3Vy Y2Vfc3RhcnQoZGV2LT5wZGV2LCAwKSArCj4gKwkJSTkxNV9IRE1JX0xQRV9BVURJT19CQVNFICsg STkxNV9IRE1JX0xQRV9BVURJT19TSVpFIC0gMTsKPiArCXJzY1sxXS5mbGFncyAgICA9IElPUkVT T1VSQ0VfTUVNOwo+ICsJcnNjWzFdLm5hbWUgICAgID0gImhkbWktbHBlLWF1ZGlvLW1taW8iOwo+ ICsKPiArCXJldCA9IHBsYXRmb3JtX2RldmljZV9hZGRfcmVzb3VyY2VzKHBsYXRkZXYsIHJzYywg Mik7Cj4gKwlpZiAocmV0KSB7Cj4gKwkJRFJNX0VSUk9SKCJGYWlsZWQgdG8gYWRkIHJlc291cmNl IGZvciBwbGF0Zm9ybSBkZXZpY2U6ICVkXG4iLAo+ICsJCQlyZXQpOwo+ICsJCWdvdG8gZXJyX3B1 dF9kZXY7Cj4gKwl9Cj4gKwo+ICsJcGRhdGEgPSBremFsbG9jKHNpemVvZigqcGRhdGEpLCBHRlBf S0VSTkVMKTsKPiArCj4gKwlpZiAocGRhdGEgPT0gTlVMTCkgewo+ICsJCXJldCA9IC1FTk9NRU07 Cj4gKwkJZ290byBlcnJfcHV0X2RldjsKPiArCX0KPiArCXBsYXRkZXYtPmRldi5wbGF0Zm9ybV9k YXRhID0gcGRhdGE7Cj4gKwlzcGluX2xvY2tfaW5pdCgmcGRhdGEtPmxwZV9hdWRpb19zbG9jayk7 Cj4gKwo+ICsJLyogZm9yIExQRSBhdWRpbyBkcml2ZXIncyBydW50aW1lLVBNICovCj4gKwlwbGF0 ZGV2LT5kZXYucGFyZW50ID0gZGV2LT5kZXY7Cj4gKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRk KHBsYXRkZXYpOwo+ICsJaWYgKHJldCkgewo+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRvIGFkZCBM UEUgYXVkaW8gcGxhdGZvcm0gZGV2aWNlOiAlZFxuIiwKPiArCQkJcmV0KTsKPiArCQlnb3RvIGVy cl9wdXRfZGV2Owo+ICsJfQo+ICsKPiArCXJldHVybiBwbGF0ZGV2OwoKSSBndWVzcyB1c2luZyBw bGF0Zm9ybV9kZXZpY2VfcmVnaXN0ZXJfZnVsbCgpIG1ha2VzIHRoZSBjb2RlIGEgYml0CnNpbXBs ZXIuCgpzdGF0aWMgc3RydWN0IHBsYXRmb3JtX2RldmljZSAqCmxwZV9hdWRpb19wbGF0ZGV2X2Ny ZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCnsKCXN0cnVjdCBkcm1fZGV2 aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRybTsKCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2VfaW5mbyBw aW5mbyA9IHt9OwoJc3RydWN0IHJlc291cmNlIHJzY1syXTsKCXN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UgKnBsYXRkZXY7CglzdHJ1Y3QgaW50ZWxfaGRtaV9scGVfYXVkaW9fcGRhdGEgKnBkYXRhOwoK CXBkYXRhID0ga3phbGxvYyhzaXplb2YoKnBkYXRhKSwgR0ZQX0tFUk5FTCk7CglpZiAoIXBkYXRh KQoJCXJldHVybiBFUlJfUFRSKC1FTk9NRU0pOwoJc3Bpbl9sb2NrX2luaXQoJnBkYXRhLT5scGVf YXVkaW9fc2xvY2spOwoKCXJzY1swXS5zdGFydCAgICA9IHJzY1swXS5lbmQgPSBkZXZfcHJpdi0+ bHBlX2F1ZGlvLmlycTsKCXJzY1swXS5mbGFncyAgICA9IElPUkVTT1VSQ0VfSVJROwoJcnNjWzBd Lm5hbWUgICAgID0gImhkbWktbHBlLWF1ZGlvLWlycSI7CgoJcnNjWzFdLnN0YXJ0ICAgID0gcGNp X3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCkgKwoJCUk5MTVfSERNSV9MUEVfQVVESU9fQkFT RTsKCXJzY1sxXS5lbmQgICAgICA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApICsK CQlJOTE1X0hETUlfTFBFX0FVRElPX0JBU0UgKyBJOTE1X0hETUlfTFBFX0FVRElPX1NJWkUgLSAx OwoJcnNjWzFdLmZsYWdzICAgID0gSU9SRVNPVVJDRV9NRU07Cglyc2NbMV0ubmFtZSAgICAgPSAi aGRtaS1scGUtYXVkaW8tbW1pbyI7CgoJcGluZm8ucGFyZW50ID0gZGV2LT5kZXY7CglwaW5mby5u YW1lID0gImhkbWktbHBlLWF1ZGlvIjsKCXBpbmZvLmlkID0gLTE7CglwaW5mby5yZXMgPSByZXM7 CglwaW5mby5udW1fcmVzID0gMjsKCXBpbmZvLmRhdGEgPSBwZGF0YTsKCXBpbmZvLnNpemVfZGF0 YSA9IHNpemVvZigqcGRhdGEpOwoJcGluZm8uZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOwoJ CglwbGF0ZGV2ID0gcGxhdGZvcm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBpbmZvKTsKCWlmIChJ U19FUlIocGxhdGRldikpIHsKCQlyZXQgPSBQVFJfRVJSKHBsYXRkZXYpOwoJCURSTV9FUlJPUigi RmFpbGVkIHRvIGFsbG9jYXRlIExQRSBhdWRpbyBwbGF0Zm9ybSBkZXZpY2VcbiIpOwoJCWdvdG8g ZXJyOwoJfQoKCXJldHVybiBwbGF0ZGV2OwoKICAgZXJyOgoJa2ZyZWUocGRhdGEpOwoJcmV0dXJu IEVSUl9QVFIocmV0KTsKfQoKCj4gKy8qKgo+ICsgKiBpbnRlbF9scGVfYXVkaW9faXJxX2hhbmRs ZXIoKSAtIGZvcndhcmRzIHRoZSBMUEUgYXVkaW8gaXJxCj4gKyAqIEBkZXZfcHJpdjogdGhlIGk5 MTUgZHJtIGRldmljZSBwcml2YXRlIGRhdGEKPiArICoKPiArICogdGhlIExQRSBBdWRpbyBpcnEg aXMgZm9yd2FyZGVkIHRvIHRoZSBpcnEgaGFuZGxlciByZWdpc3RlcmVkIGJ5IExQRSBhdWRpbwo+ ICsgKiBkcml2ZXIuCj4gKyAqLwo+ICt2b2lkIGludGVsX2xwZV9hdWRpb19pcnFfaGFuZGxlcihz dHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCWludCByZXQ7Cj4gKwo+ ICsJcmV0ID0gZ2VuZXJpY19oYW5kbGVfaXJxKGRldl9wcml2LT5scGVfYXVkaW8uaXJxKTsKPiAr CWlmIChyZXQpCj4gKwkJRFJNX0VSUk9SX1JBVEVMSU1JVEVEKCJlcnJvciBoYW5kbGluZyBMUEUg YXVkaW8gaXJxOiAlZFxuIiwKPiArCQkJCXJldCk7CgpUaGlzIGZ1bmN0aW9uIG1heSBiZSBjYWxs ZWQgZXZlbiB3aXRob3V0IExQRSByZWdpc3RlcmVkLCBzbyBzYWZlciB0bwpoYXZlIEhBU19MUEVf QVVESU8oKSBjaGVjay4KCgo+ICt9Cj4gKwo+ICsvKioKPiArICogaW50ZWxfbHBlX2F1ZGlvX2Rl dGVjdCgpIC0gY2hlY2sgJiBzZXR1cCBscGUgYXVkaW8gaWYgcHJlc2VudAo+ICsgKiBAZGV2X3By aXY6IHRoZSBpOTE1IGRybSBkZXZpY2UgcHJpdmF0ZSBkYXRhCj4gKyAqCj4gKyAqIERldGVjdCBp ZiBscGUgYXVkaW8gaXMgcHJlc2VudAo+ICsgKgo+ICsgKiBSZXR1cm46IHRydWUgaWYgbHBlIGF1 ZGlvIHByZXNlbnQgZWxzZSBSZXR1cm4gPSBmYWxzZQo+ICsgKi8KPiArYm9vbCBpbnRlbF9scGVf YXVkaW9fZGV0ZWN0KHN0cnVjdCBkcm1faTkxNV9wcml2YXRlICpkZXZfcHJpdikKPiArewo+ICsJ aW50IGxwZV9wcmVzZW50ID0gZmFsc2U7Cj4gKwo+ICsJaWYgKElTX1ZBTExFWVZJRVcoZGV2X3By aXYpIHx8IElTX0NIRVJSWVZJRVcoZGV2X3ByaXYpKSB7Cj4gKwkJc3RhdGljIGNvbnN0IHN0cnVj dCBwY2lfZGV2aWNlX2lkIGF0b21faGRhdWRpb19pZHNbXSA9IHsKPiArCQkJLyogQmF5dHJhaWwg Ki8KPiArCQkJe1BDSV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgMHgwZjA0KX0sCj4gKwkJ CS8qIEJyYXN3ZWxsICovCj4gKwkJCXtQQ0lfREVWSUNFKFBDSV9WRU5ET1JfSURfSU5URUwsIDB4 MjI4NCl9LAo+ICsJCQl7fQo+ICsJCX07Cj4gKwo+ICsJCWlmICghcGNpX2Rldl9wcmVzZW50KGF0 b21faGRhdWRpb19pZHMpKSB7Cj4gKwkJCURSTV9JTkZPKCIlcyVzXG4iLCAiSERhdWRpbyBjb250 cm9sbGVyIG5vdCBkZXRlY3RlZCwiLAo+ICsJCQkJInVzaW5nIExQRSBhdWRpbyBpbnN0ZWFkXG4i KTsKCldoeSAlcyVzPyAgSnVzdCBrZWVwIG9uZSBsaW5lIHdpdGhvdXQgbGluZSBicmVha2FnZS4K VGhlIDgwIGNoYXJzIHJ1bGUgaXMganVzdCBhIHN1Z2dlc3Rpb24sIG5vIHN0cmljdCBydWxlIGF0 IGFsbC4KCj4gKy8qKgo+ICsgKiBpbnRlbF9scGVfYXVkaW9fdGVhcmRvd24oKSAtIGRlc3Ryb3kg dGhlIGJyaWRnZSBiZXR3ZWVuIEhETUkgTFBFCj4gKyAqIGF1ZGlvIGRyaXZlciBhbmQgaTkxNQo+ ICsgKiBAZGV2X3ByaXY6IHRoZSBpOTE1IGRybSBkZXZpY2UgcHJpdmF0ZSBkYXRhCj4gKyAqCj4g KyAqIHJlbGVhc2UgYWxsIHRoZSByZXNvdXJjZXMgZm9yIExQRSBhdWRpbyA8LT4gaTkxNSBicmlk Z2UuCj4gKyAqLwo+ICt2b2lkIGludGVsX2xwZV9hdWRpb190ZWFyZG93bihzdHJ1Y3QgZHJtX2k5 MTVfcHJpdmF0ZSAqZGV2X3ByaXYpCj4gK3sKPiArCXVuc2lnbmVkIGxvbmcgaXJxZmxhZ3M7Cj4g KwlzdHJ1Y3QgaXJxX2Rlc2MgKmRlc2M7Cj4gKwo+ICsJaWYgKCFIQVNfTFBFX0FVRElPKGRldl9w cml2KSkKPiArCQlyZXR1cm47Cj4gKwo+ICsJZGVzYyA9IGlycV90b19kZXNjKGRldl9wcml2LT5s cGVfYXVkaW8uaXJxKTsKPiArCj4gKwkvKioKPiArCSAqIG1hc2sgTFBFIGF1ZGlvIGlycSBiZWZv cmUgZGVzdHJveWluZwo+ICsJICovCgpObyBuZWVkIGZvciBrZXJuZWwtZG9jIGNvbW1lbnQgaGVy ZS4KCj4gKwlscGVfYXVkaW9faXJxX21hc2soJmRlc2MtPmlycV9kYXRhKTsKPiArCj4gKwlzcGlu X2xvY2tfaXJxc2F2ZSgmZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFmbGFncyk7Cj4gKwo+ICsJbHBl X2F1ZGlvX3BsYXRkZXZfZGVzdHJveShkZXZfcHJpdik7Cj4gKwo+ICsJaXJxX2ZyZWVfZGVzYyhk ZXZfcHJpdi0+bHBlX2F1ZGlvLmlycSk7Cj4gKwo+ICsJc3Bpbl91bmxvY2tfaXJxcmVzdG9yZSgm ZGV2X3ByaXYtPmlycV9sb2NrLCBpcnFmbGFncyk7CgpXaGF0J3MgdGhlIHJlYXNvbiBvZiB0aGlz IHNwaW5sb2NrPwoKCnRoYW5rcywKClRha2FzaGkKX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX18KSW50ZWwtZ2Z4IG1haWxpbmcgbGlzdApJbnRlbC1nZnhAbGlz dHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4v bGlzdGluZm8vaW50ZWwtZ2Z4Cg==