From mboxrd@z Thu Jan 1 00:00:00 1970 From: "Anand, Jerome" Subject: Re: [PATCH 1/7] drm/i915: setup bridge for HDMI LPE audio driver Date: Thu, 15 Dec 2016 06:06:03 +0000 Message-ID: References: <20161212181043.12512-1-jerome.anand@intel.com> <20161212181043.12512-2-jerome.anand@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: Content-Language: en-US List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: Takashi Iwai Cc: "alsa-devel@alsa-project.org" , "intel-gfx@lists.freedesktop.org" , "broonie@kernel.org" , "Ughreja, Rakesh A" List-Id: alsa-devel@alsa-project.org Cgo+IC0tLS0tT3JpZ2luYWwgTWVzc2FnZS0tLS0tCj4gRnJvbTogVGFrYXNoaSBJd2FpIFttYWls dG86dGl3YWlAc3VzZS5kZV0KPiBTZW50OiBXZWRuZXNkYXksIERlY2VtYmVyIDE0LCAyMDE2IDU6 MTMgUE0KPiBUbzogQW5hbmQsIEplcm9tZSA8amVyb21lLmFuYW5kQGludGVsLmNvbT4KPiBDYzog aW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZzsgYWxzYS1kZXZlbEBhbHNhLXByb2plY3Qu b3JnOwo+IHZpbGxlLnN5cmphbGFAbGludXguaW50ZWwuY29tOyBicm9vbmllQGtlcm5lbC5vcmc7 IHBpZXJyZS0KPiBsb3Vpcy5ib3NzYXJ0QGxpbnV4LmludGVsLmNvbTsgVWdocmVqYSwgUmFrZXNo IEEKPiA8cmFrZXNoLmEudWdocmVqYUBpbnRlbC5jb20+Cj4gU3ViamVjdDogUmU6IFtQQVRDSCAx LzddIGRybS9pOTE1OiBzZXR1cCBicmlkZ2UgZm9yIEhETUkgTFBFIGF1ZGlvIGRyaXZlcgo+IAo+ IE9uIE1vbiwgMTIgRGVjIDIwMTYgMTk6MTA6MzcgKzAxMDAsCj4gSmVyb21lIEFuYW5kIHdyb3Rl Ogo+ID4KPiA+IC0tLSAvZGV2L251bGwKPiA+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9pOTE1L2lu dGVsX2xwZV9hdWRpby5jCj4gKHNuaXApCj4gPiArc3RhdGljIHN0cnVjdCBwbGF0Zm9ybV9kZXZp Y2UqCj4gCj4gTWlzc2luZyBzcGFjZS4KPiAKCk9LCgo+ID4gK2xwZV9hdWRpb19wbGF0ZGV2X2Ny ZWF0ZShzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAqZGV2X3ByaXYpIHsKPiA+ICsJc3RydWN0IGRy bV9kZXZpY2UgKmRldiA9ICZkZXZfcHJpdi0+ZHJtOwo+ID4gKwlpbnQgcmV0Owo+ID4gKwlzdHJ1 Y3QgcmVzb3VyY2UgcnNjWzJdID0ge307Cj4gPiArCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBs YXRkZXY7Cj4gPiArCXU2NCAqZG1hX21hc2s7Cj4gPiArCXN0cnVjdCBpbnRlbF9oZG1pX2xwZV9h dWRpb19wZGF0YSAqcGRhdGE7Cj4gPiArCj4gPiArCWlmIChkZXZfcHJpdi0+bHBlX2F1ZGlvLmly cSA8IDApCj4gPiArCQlyZXR1cm4gRVJSX1BUUigtRUlOVkFMKTsKPiAKPiBUaGlzIHdhcyBhbHJl YWR5IHRlc3RlZCwgbm8/Cj4gCgpPSyAtIGNhbiBiZSByZW1vdmVkCgo+ID4gKwo+ID4gKwlwbGF0 ZGV2ID0gcGxhdGZvcm1fZGV2aWNlX2FsbG9jKCJoZG1pLWxwZS1hdWRpbyIsIC0xKTsKPiA+ICsJ aWYgKCFwbGF0ZGV2KSB7Cj4gPiArCQlyZXQgPSAtRU5PTUVNOwo+ID4gKwkJRFJNX0VSUk9SKCJG YWlsZWQgdG8gYWxsb2NhdGUgTFBFIGF1ZGlvIHBsYXRmb3JtCj4gZGV2aWNlXG4iKTsKPiA+ICsJ CWdvdG8gZXJyOwo+ID4gKwl9Cj4gPiArCj4gPiArCS8qIHRvIHdvcmstYXJvdW5kIGNoZWNrX2Fk ZHIgaW4gbm9tbXVfbWFwX3NnKCkgKi8KPiA+ICsJZG1hX21hc2sgPSBrbWFsbG9jKHNpemVvZigq cGxhdGRldi0+ZGV2LmRtYV9tYXNrKSwKPiBHRlBfS0VSTkVMKTsKPiA+ICsJaWYgKCFkbWFfbWFz aykgewo+ID4gKwkJcmV0ID0gLUVOT01FTTsKPiA+ICsJCURSTV9FUlJPUigiRmFpbGVkIHRvIGFs bG9jYXRlIGRtYV9tYXNrXG4iKTsKPiA+ICsJCWdvdG8gZXJyX3B1dF9kZXY7Cj4gPiArCX0KPiA+ ICsJKmRtYV9tYXNrID0gRE1BX0JJVF9NQVNLKDMyKTsKPiA+ICsJcGxhdGRldi0+ZGV2LmRtYV9t YXNrID0gZG1hX21hc2s7Cj4gPiArCXBsYXRkZXYtPmRldi5jb2hlcmVudF9kbWFfbWFzayA9ICpk bWFfbWFzazsKPiA+ICsKPiA+ICsJcnNjWzBdLnN0YXJ0ICAgID0gcnNjWzBdLmVuZCA9IGRldl9w cml2LT5scGVfYXVkaW8uaXJxOwo+ID4gKwlyc2NbMF0uZmxhZ3MgICAgPSBJT1JFU09VUkNFX0lS UTsKPiA+ICsJcnNjWzBdLm5hbWUgICAgID0gImhkbWktbHBlLWF1ZGlvLWlycSI7Cj4gPiArCj4g PiArCXJzY1sxXS5zdGFydCAgICA9IHBjaV9yZXNvdXJjZV9zdGFydChkZXYtPnBkZXYsIDApICsK PiA+ICsJCUk5MTVfSERNSV9MUEVfQVVESU9fQkFTRTsKPiA+ICsJcnNjWzFdLmVuZCAgICAgID0g cGNpX3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCkgKwo+ID4gKwkJSTkxNV9IRE1JX0xQRV9B VURJT19CQVNFICsKPiBJOTE1X0hETUlfTFBFX0FVRElPX1NJWkUgLSAxOwo+ID4gKwlyc2NbMV0u ZmxhZ3MgICAgPSBJT1JFU09VUkNFX01FTTsKPiA+ICsJcnNjWzFdLm5hbWUgICAgID0gImhkbWkt bHBlLWF1ZGlvLW1taW8iOwo+ID4gKwo+ID4gKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2VfYWRkX3Jl c291cmNlcyhwbGF0ZGV2LCByc2MsIDIpOwo+ID4gKwlpZiAocmV0KSB7Cj4gPiArCQlEUk1fRVJS T1IoIkZhaWxlZCB0byBhZGQgcmVzb3VyY2UgZm9yIHBsYXRmb3JtIGRldmljZToKPiAlZFxuIiwK PiA+ICsJCQlyZXQpOwo+ID4gKwkJZ290byBlcnJfcHV0X2RldjsKPiA+ICsJfQo+ID4gKwo+ID4g KwlwZGF0YSA9IGt6YWxsb2Moc2l6ZW9mKCpwZGF0YSksIEdGUF9LRVJORUwpOwo+ID4gKwo+ID4g KwlpZiAocGRhdGEgPT0gTlVMTCkgewo+ID4gKwkJcmV0ID0gLUVOT01FTTsKPiA+ICsJCWdvdG8g ZXJyX3B1dF9kZXY7Cj4gPiArCX0KPiA+ICsJcGxhdGRldi0+ZGV2LnBsYXRmb3JtX2RhdGEgPSBw ZGF0YTsKPiA+ICsJc3Bpbl9sb2NrX2luaXQoJnBkYXRhLT5scGVfYXVkaW9fc2xvY2spOwo+ID4g Kwo+ID4gKwkvKiBmb3IgTFBFIGF1ZGlvIGRyaXZlcidzIHJ1bnRpbWUtUE0gKi8KPiA+ICsJcGxh dGRldi0+ZGV2LnBhcmVudCA9IGRldi0+ZGV2Owo+ID4gKwlyZXQgPSBwbGF0Zm9ybV9kZXZpY2Vf YWRkKHBsYXRkZXYpOwo+ID4gKwlpZiAocmV0KSB7Cj4gPiArCQlEUk1fRVJST1IoIkZhaWxlZCB0 byBhZGQgTFBFIGF1ZGlvIHBsYXRmb3JtIGRldmljZToKPiAlZFxuIiwKPiA+ICsJCQlyZXQpOwo+ ID4gKwkJZ290byBlcnJfcHV0X2RldjsKPiA+ICsJfQo+ID4gKwo+ID4gKwlyZXR1cm4gcGxhdGRl djsKPiAKPiBJIGd1ZXNzIHVzaW5nIHBsYXRmb3JtX2RldmljZV9yZWdpc3Rlcl9mdWxsKCkgbWFr ZXMgdGhlIGNvZGUgYSBiaXQgc2ltcGxlci4KPiAKCk9LIC0gYWdyZWVkLCBidXQgd2lsbCBrZWVw IGl0IHNpbmNlIGl0cyBhY2tlZCBieSBEYW5pZWwuCgo+IHN0YXRpYyBzdHJ1Y3QgcGxhdGZvcm1f ZGV2aWNlICoKPiBscGVfYXVkaW9fcGxhdGRldl9jcmVhdGUoc3RydWN0IGRybV9pOTE1X3ByaXZh dGUgKmRldl9wcml2KSB7Cj4gCXN0cnVjdCBkcm1fZGV2aWNlICpkZXYgPSAmZGV2X3ByaXYtPmRy bTsKPiAJc3RydWN0IHBsYXRmb3JtX2RldmljZV9pbmZvIHBpbmZvID0ge307Cj4gCXN0cnVjdCBy ZXNvdXJjZSByc2NbMl07Cj4gCXN0cnVjdCBwbGF0Zm9ybV9kZXZpY2UgKnBsYXRkZXY7Cj4gCXN0 cnVjdCBpbnRlbF9oZG1pX2xwZV9hdWRpb19wZGF0YSAqcGRhdGE7Cj4gCj4gCXBkYXRhID0ga3ph bGxvYyhzaXplb2YoKnBkYXRhKSwgR0ZQX0tFUk5FTCk7Cj4gCWlmICghcGRhdGEpCj4gCQlyZXR1 cm4gRVJSX1BUUigtRU5PTUVNKTsKPiAJc3Bpbl9sb2NrX2luaXQoJnBkYXRhLT5scGVfYXVkaW9f c2xvY2spOwo+IAo+IAlyc2NbMF0uc3RhcnQgICAgPSByc2NbMF0uZW5kID0gZGV2X3ByaXYtPmxw ZV9hdWRpby5pcnE7Cj4gCXJzY1swXS5mbGFncyAgICA9IElPUkVTT1VSQ0VfSVJROwo+IAlyc2Nb MF0ubmFtZSAgICAgPSAiaGRtaS1scGUtYXVkaW8taXJxIjsKPiAKPiAJcnNjWzFdLnN0YXJ0ICAg ID0gcGNpX3Jlc291cmNlX3N0YXJ0KGRldi0+cGRldiwgMCkgKwo+IAkJSTkxNV9IRE1JX0xQRV9B VURJT19CQVNFOwo+IAlyc2NbMV0uZW5kICAgICAgPSBwY2lfcmVzb3VyY2Vfc3RhcnQoZGV2LT5w ZGV2LCAwKSArCj4gCQlJOTE1X0hETUlfTFBFX0FVRElPX0JBU0UgKwo+IEk5MTVfSERNSV9MUEVf QVVESU9fU0laRSAtIDE7Cj4gCXJzY1sxXS5mbGFncyAgICA9IElPUkVTT1VSQ0VfTUVNOwo+IAly c2NbMV0ubmFtZSAgICAgPSAiaGRtaS1scGUtYXVkaW8tbW1pbyI7Cj4gCj4gCXBpbmZvLnBhcmVu dCA9IGRldi0+ZGV2Owo+IAlwaW5mby5uYW1lID0gImhkbWktbHBlLWF1ZGlvIjsKPiAJcGluZm8u aWQgPSAtMTsKPiAJcGluZm8ucmVzID0gcmVzOwo+IAlwaW5mby5udW1fcmVzID0gMjsKPiAJcGlu Zm8uZGF0YSA9IHBkYXRhOwo+IAlwaW5mby5zaXplX2RhdGEgPSBzaXplb2YoKnBkYXRhKTsKPiAJ cGluZm8uZG1hX21hc2sgPSBETUFfQklUX01BU0soMzIpOwo+IAo+IAlwbGF0ZGV2ID0gcGxhdGZv cm1fZGV2aWNlX3JlZ2lzdGVyX2Z1bGwoJnBpbmZvKTsKPiAJaWYgKElTX0VSUihwbGF0ZGV2KSkg ewo+IAkJcmV0ID0gUFRSX0VSUihwbGF0ZGV2KTsKPiAJCURSTV9FUlJPUigiRmFpbGVkIHRvIGFs bG9jYXRlIExQRSBhdWRpbyBwbGF0Zm9ybQo+IGRldmljZVxuIik7Cj4gCQlnb3RvIGVycjsKPiAJ fQo+IAo+IAlyZXR1cm4gcGxhdGRldjsKPiAKPiAgICBlcnI6Cj4gCWtmcmVlKHBkYXRhKTsKPiAJ cmV0dXJuIEVSUl9QVFIocmV0KTsKPiB9Cj4gCj4gCj4gPiArLyoqCj4gPiArICogaW50ZWxfbHBl X2F1ZGlvX2lycV9oYW5kbGVyKCkgLSBmb3J3YXJkcyB0aGUgTFBFIGF1ZGlvIGlycQo+ID4gKyAq IEBkZXZfcHJpdjogdGhlIGk5MTUgZHJtIGRldmljZSBwcml2YXRlIGRhdGEKPiA+ICsgKgo+ID4g KyAqIHRoZSBMUEUgQXVkaW8gaXJxIGlzIGZvcndhcmRlZCB0byB0aGUgaXJxIGhhbmRsZXIgcmVn aXN0ZXJlZCBieQo+ID4gK0xQRSBhdWRpbwo+ID4gKyAqIGRyaXZlci4KPiA+ICsgKi8KPiA+ICt2 b2lkIGludGVsX2xwZV9hdWRpb19pcnFfaGFuZGxlcihzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpIHsKPiA+ICsJaW50IHJldDsKPiA+ICsKPiA+ICsJcmV0ID0gZ2VuZXJpY19oYW5k bGVfaXJxKGRldl9wcml2LT5scGVfYXVkaW8uaXJxKTsKPiA+ICsJaWYgKHJldCkKPiA+ICsJCURS TV9FUlJPUl9SQVRFTElNSVRFRCgiZXJyb3IgaGFuZGxpbmcgTFBFIGF1ZGlvIGlycToKPiAlZFxu IiwKPiA+ICsJCQkJcmV0KTsKPiAKPiBUaGlzIGZ1bmN0aW9uIG1heSBiZSBjYWxsZWQgZXZlbiB3 aXRob3V0IExQRSByZWdpc3RlcmVkLCBzbyBzYWZlciB0byBoYXZlCj4gSEFTX0xQRV9BVURJTygp IGNoZWNrLgo+IAoKT0sKCj4gCj4gPiArfQo+ID4gKwo+ID4gKy8qKgo+ID4gKyAqIGludGVsX2xw ZV9hdWRpb19kZXRlY3QoKSAtIGNoZWNrICYgc2V0dXAgbHBlIGF1ZGlvIGlmIHByZXNlbnQKPiA+ ICsgKiBAZGV2X3ByaXY6IHRoZSBpOTE1IGRybSBkZXZpY2UgcHJpdmF0ZSBkYXRhCj4gPiArICoK PiA+ICsgKiBEZXRlY3QgaWYgbHBlIGF1ZGlvIGlzIHByZXNlbnQKPiA+ICsgKgo+ID4gKyAqIFJl dHVybjogdHJ1ZSBpZiBscGUgYXVkaW8gcHJlc2VudCBlbHNlIFJldHVybiA9IGZhbHNlICAqLyBi b29sCj4gPiAraW50ZWxfbHBlX2F1ZGlvX2RldGVjdChzdHJ1Y3QgZHJtX2k5MTVfcHJpdmF0ZSAq ZGV2X3ByaXYpIHsKPiA+ICsJaW50IGxwZV9wcmVzZW50ID0gZmFsc2U7Cj4gPiArCj4gPiArCWlm IChJU19WQUxMRVlWSUVXKGRldl9wcml2KSB8fCBJU19DSEVSUllWSUVXKGRldl9wcml2KSkgewo+ ID4gKwkJc3RhdGljIGNvbnN0IHN0cnVjdCBwY2lfZGV2aWNlX2lkIGF0b21faGRhdWRpb19pZHNb XSA9IHsKPiA+ICsJCQkvKiBCYXl0cmFpbCAqLwo+ID4gKwkJCXtQQ0lfREVWSUNFKFBDSV9WRU5E T1JfSURfSU5URUwsIDB4MGYwNCl9LAo+ID4gKwkJCS8qIEJyYXN3ZWxsICovCj4gPiArCQkJe1BD SV9ERVZJQ0UoUENJX1ZFTkRPUl9JRF9JTlRFTCwgMHgyMjg0KX0sCj4gPiArCQkJe30KPiA+ICsJ CX07Cj4gPiArCj4gPiArCQlpZiAoIXBjaV9kZXZfcHJlc2VudChhdG9tX2hkYXVkaW9faWRzKSkg ewo+ID4gKwkJCURSTV9JTkZPKCIlcyVzXG4iLCAiSERhdWRpbyBjb250cm9sbGVyIG5vdAo+IGRl dGVjdGVkLCIsCj4gPiArCQkJCSJ1c2luZyBMUEUgYXVkaW8gaW5zdGVhZFxuIik7Cj4gCj4gV2h5 ICVzJXM/ICBKdXN0IGtlZXAgb25lIGxpbmUgd2l0aG91dCBsaW5lIGJyZWFrYWdlLgo+IFRoZSA4 MCBjaGFycyBydWxlIGlzIGp1c3QgYSBzdWdnZXN0aW9uLCBubyBzdHJpY3QgcnVsZSBhdCBhbGwu Cj4gCgpPSyAKCj4gPiArLyoqCj4gPiArICogaW50ZWxfbHBlX2F1ZGlvX3RlYXJkb3duKCkgLSBk ZXN0cm95IHRoZSBicmlkZ2UgYmV0d2VlbiBIRE1JIExQRQo+ID4gKyAqIGF1ZGlvIGRyaXZlciBh bmQgaTkxNQo+ID4gKyAqIEBkZXZfcHJpdjogdGhlIGk5MTUgZHJtIGRldmljZSBwcml2YXRlIGRh dGEKPiA+ICsgKgo+ID4gKyAqIHJlbGVhc2UgYWxsIHRoZSByZXNvdXJjZXMgZm9yIExQRSBhdWRp byA8LT4gaTkxNSBicmlkZ2UuCj4gPiArICovCj4gPiArdm9pZCBpbnRlbF9scGVfYXVkaW9fdGVh cmRvd24oc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2KSB7Cj4gPiArCXVuc2lnbmVk IGxvbmcgaXJxZmxhZ3M7Cj4gPiArCXN0cnVjdCBpcnFfZGVzYyAqZGVzYzsKPiA+ICsKPiA+ICsJ aWYgKCFIQVNfTFBFX0FVRElPKGRldl9wcml2KSkKPiA+ICsJCXJldHVybjsKPiA+ICsKPiA+ICsJ ZGVzYyA9IGlycV90b19kZXNjKGRldl9wcml2LT5scGVfYXVkaW8uaXJxKTsKPiA+ICsKPiA+ICsJ LyoqCj4gPiArCSAqIG1hc2sgTFBFIGF1ZGlvIGlycSBiZWZvcmUgZGVzdHJveWluZwo+ID4gKwkg Ki8KPiAKPiBObyBuZWVkIGZvciBrZXJuZWwtZG9jIGNvbW1lbnQgaGVyZS4KPiAKCk9LCgo+ID4g KwlscGVfYXVkaW9faXJxX21hc2soJmRlc2MtPmlycV9kYXRhKTsKPiA+ICsKPiA+ICsJc3Bpbl9s b2NrX2lycXNhdmUoJmRldl9wcml2LT5pcnFfbG9jaywgaXJxZmxhZ3MpOwo+ID4gKwo+ID4gKwls cGVfYXVkaW9fcGxhdGRldl9kZXN0cm95KGRldl9wcml2KTsKPiA+ICsKPiA+ICsJaXJxX2ZyZWVf ZGVzYyhkZXZfcHJpdi0+bHBlX2F1ZGlvLmlycSk7Cj4gPiArCj4gPiArCXNwaW5fdW5sb2NrX2ly cXJlc3RvcmUoJmRldl9wcml2LT5pcnFfbG9jaywgaXJxZmxhZ3MpOwo+IAo+IFdoYXQncyB0aGUg cmVhc29uIG9mIHRoaXMgc3BpbmxvY2s/Cj4gCgpKSUMgLSBwcm9iYWJseSBub3QgbmVlZGVkIG5v dwoKPiAKPiB0aGFua3MsCj4gCj4gVGFrYXNoaQpfX19fX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fXwpJbnRlbC1nZnggbWFpbGluZyBsaXN0CkludGVsLWdmeEBsaXN0 cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9s aXN0aW5mby9pbnRlbC1nZngK