From mboxrd@z Thu Jan 1 00:00:00 1970 From: Jani Nikula Subject: Re: [PATCH v3 2/4] drm/i915: implement sync_audio_rate callback Date: Tue, 18 Aug 2015 09:53:00 +0300 Message-ID: <87twrxm6k3.fsf@intel.com> References: <1439808001-132727-1-git-send-email-libin.yang@intel.com> <1439808001-132727-2-git-send-email-libin.yang@intel.com> <87a8tqnm21.fsf@intel.com> <96A12704CE18D347B625EE2D4A099D196F2187@SHSMSX103.ccr.corp.intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-Reply-To: <96A12704CE18D347B625EE2D4A099D196F2187@SHSMSX103.ccr.corp.intel.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: intel-gfx-bounces@lists.freedesktop.org Sender: "Intel-gfx" To: "Yang, Libin" , "alsa-devel@alsa-project.org" , "tiwai@suse.de" , "intel-gfx@lists.freedesktop.org" , "daniel.vetter@ffwll.ch" List-Id: alsa-devel@alsa-project.org T24gTW9uLCAxNyBBdWcgMjAxNSwgIllhbmcsIExpYmluIiA8bGliaW4ueWFuZ0BpbnRlbC5jb20+ IHdyb3RlOgo+IEhpIEphbmkKPgo+PiAtLS0tLU9yaWdpbmFsIE1lc3NhZ2UtLS0tLQo+PiBGcm9t OiBKYW5pIE5pa3VsYSBbbWFpbHRvOmphbmkubmlrdWxhQGxpbnV4LmludGVsLmNvbV0KPj4gU2Vu dDogTW9uZGF5LCBBdWd1c3QgMTcsIDIwMTUgODoyMSBQTQo+PiBUbzogWWFuZywgTGliaW47IGFs c2EtZGV2ZWxAYWxzYS1wcm9qZWN0Lm9yZzsgdGl3YWlAc3VzZS5kZTsgaW50ZWwtCj4+IGdmeEBs aXN0cy5mcmVlZGVza3RvcC5vcmc7IGRhbmllbC52ZXR0ZXJAZmZ3bGwuY2gKPj4gQ2M6IFlhbmcs IExpYmluCj4+IFN1YmplY3Q6IFJlOiBbUEFUQ0ggdjMgMi80XSBkcm0vaTkxNTogaW1wbGVtZW50 IHN5bmNfYXVkaW9fcmF0ZQo+PiBjYWxsYmFjawo+PiAKPj4gT24gTW9uLCAxNyBBdWcgMjAxNSwg bGliaW4ueWFuZ0BpbnRlbC5jb20gd3JvdGU6Cj4+ID4gRnJvbTogTGliaW4gWWFuZyA8bGliaW4u eWFuZ0BpbnRlbC5jb20+Cj4+ID4KPj4gPiBIRE1JIGF1ZGlvIG1heSBub3Qgd29yayBhdCBzb21l IGZyZXF1ZW5jaWVzCj4+ID4gd2l0aCB0aGUgSFcgcHJvdmlkZWQgTi9DVFMuCj4+ID4KPj4gPiBU aGlzIHBhdGNoIHNldHMgdGhlIHByb3BlciBOIHZhbHVlIGZvciB0aGUKPj4gPiBnaXZlbiBhdWRp byBzYW1wbGUgcmF0ZSBhdCB0aGUgaW1wYWN0ZWQgZnJlcXVlbmNpZXMuCj4+ID4gQXQgb3RoZXIg ZnJlcXVlbmNpZXMsIGl0IHdpbGwgdXNlIHRoZSBOL0NUUyB2YWx1ZQo+PiA+IHdoaWNoIEhXIHBy b3ZpZGVzLgo+PiA+Cj4+ID4gU2lnbmVkLW9mZi1ieTogTGliaW4gWWFuZyA8bGliaW4ueWFuZ0Bp bnRlbC5jb20+Cj4+ID4gLS0tCj4+ID4gIGRyaXZlcnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlv LmMgfCAxMTcKPj4gKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKwo+PiA+ICAx IGZpbGUgY2hhbmdlZCwgMTE3IGluc2VydGlvbnMoKykKPj4gPgo+PiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vaTkxNS9pbnRlbF9hdWRpby5jCj4+IGIvZHJpdmVycy9ncHUvZHJtL2k5 MTUvaW50ZWxfYXVkaW8uYwo+PiA+IGluZGV4IGRjMzJjZjQuLjI3YWRkNmEgMTAwNjQ0Cj4+ID4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2k5MTUvaW50ZWxfYXVkaW8uYwo+PiA+ICsrKyBiL2RyaXZl cnMvZ3B1L2RybS9pOTE1L2ludGVsX2F1ZGlvLmMKPj4gPiBAQCAtNjgsNiArNjgsMzEgQEAgc3Rh dGljIGNvbnN0IHN0cnVjdCB7Cj4+ID4gIAl7IDE0ODUwMCwgQVVEX0NPTkZJR19QSVhFTF9DTE9D S19IRE1JXzE0ODUwMCB9LAo+PiA+ICB9Owo+PiA+Cj4+ID4gKy8qIEhETUkgTi9DVFMgdGFibGUg Ki8KPj4gPiArI2RlZmluZSBUTURTXzI5N00gMjk3MDAwCj4+ID4gKyNkZWZpbmUgVE1EU18yOTZN IERJVl9ST1VORF9VUCgyOTcwMDAgKiAxMDAwLCAxMDAxKQo+PiA+ICtzdGF0aWMgY29uc3Qgc3Ry dWN0IHsKPj4gPiArCWludCBzYW1wbGVfcmF0ZTsKPj4gPiArCWludCBjbG9jazsKPj4gPiArCWlu dCBuOwo+PiA+ICsJaW50IGN0czsKPj4gPiArfSBhdWRfbmN0c1tdID0gewo+PiA+ICsJeyA0NDEw MCwgVE1EU18yOTZNLCA0NDU5LCAyMzQzNzUgfSwKPj4gPiArCXsgNDQxMDAsIFRNRFNfMjk3TSwg NDcwNCwgMjQ3NTAwIH0sCj4+ID4gKwl7IDQ4MDAwLCBUTURTXzI5Nk0sIDU4MjQsIDI4MTI1MCB9 LAo+PiA+ICsJeyA0ODAwMCwgVE1EU18yOTdNLCA1MTIwLCAyNDc1MDAgfSwKPj4gPiArCXsgMzIw MDAsIFRNRFNfMjk2TSwgNTgyNCwgNDIxODc1IH0sCj4+ID4gKwl7IDMyMDAwLCBUTURTXzI5N00s IDMwNzIsIDIyMjc1MCB9LAo+PiA+ICsJeyA4ODIwMCwgVE1EU18yOTZNLCA4OTE4LCAyMzQzNzUg fSwKPj4gPiArCXsgODgyMDAsIFRNRFNfMjk3TSwgOTQwOCwgMjQ3NTAwIH0sCj4+ID4gKwl7IDk2 MDAwLCBUTURTXzI5Nk0sIDExNjQ4LCAyODEyNTAgfSwKPj4gPiArCXsgOTYwMDAsIFRNRFNfMjk3 TSwgMTAyNDAsIDI0NzUwMCB9LAo+PiA+ICsJeyAxNzY0MDAsIFRNRFNfMjk2TSwgMTc4MzYsIDIz NDM3NSB9LAo+PiA+ICsJeyAxNzY0MDAsIFRNRFNfMjk3TSwgMTg4MTYsIDI0NzUwMCB9LAo+PiA+ ICsJeyA0NDEwMCwgVE1EU18yOTZNLCAyMzI5NiwgMjgxMjUwIH0sCj4+ID4gKwl7IDQ0MTAwLCBU TURTXzI5N00sIDIwNDgwLCAyNDc1MDAgfSwKPj4gPiArfTsKPj4gPiArCj4+ID4gIC8qIGdldCBB VURfQ09ORklHX1BJWEVMX0NMT0NLX0hETUlfKiB2YWx1ZSBmb3IgbW9kZSAqLwo+PiA+ICBzdGF0 aWMgdTMyIGF1ZGlvX2NvbmZpZ19oZG1pX3BpeGVsX2Nsb2NrKHN0cnVjdCBkcm1fZGlzcGxheV9t b2RlCj4+ICptb2RlKQo+PiA+ICB7Cj4+ID4gQEAgLTkwLDYgKzExNSwzMSBAQCBzdGF0aWMgdTMy Cj4+IGF1ZGlvX2NvbmZpZ19oZG1pX3BpeGVsX2Nsb2NrKHN0cnVjdCBkcm1fZGlzcGxheV9tb2Rl ICptb2RlKQo+PiA+ICAJcmV0dXJuIGhkbWlfYXVkaW9fY2xvY2tbaV0uY29uZmlnOwo+PiA+ICB9 Cj4+ID4KPj4gPiArc3RhdGljIGludCBhdWRpb19jb25maWdfZ2V0X24oc3RydWN0IGRybV9kaXNw bGF5X21vZGUgKm1vZGUsIGludAo+PiByYXRlKQo+PiA+ICt7Cj4+ID4gKwlpbnQgaTsKPj4gPiAr Cj4+ID4gKwlmb3IgKGkgPSAwOyBpIDwgQVJSQVlfU0laRShhdWRfbmN0cyk7IGkrKykgewo+PiA+ ICsJCWlmICgocmF0ZSA9PSBhdWRfbmN0c1tpXS5zYW1wbGVfcmF0ZSkgJiYKPj4gPiArCQkJKG1v ZGUtPmNsb2NrID09IGF1ZF9uY3RzW2ldLmNsb2NrKSkgewo+PiA+ICsJCQlyZXR1cm4gYXVkX25j dHNbaV0ubjsKPj4gPiArCQl9Cj4+ID4gKwl9Cj4+ID4gKwlyZXR1cm4gMDsKPj4gPiArfQo+PiA+ ICsKPj4gPiArLyogY2hlY2sgd2hldGhlciBOL0NUUy9NIG5lZWQgYmUgc2V0IG1hbnVhbGx5ICov Cj4+ID4gK3N0YXRpYyBib29sIGF1ZGlvX3JhdGVfbmVlZF9wcm9nKHN0cnVjdCBpbnRlbF9jcnRj ICpjcnRjLAo+PiA+ICsJCQkJCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlCj4+ICptb2RlKQo+PiA+ ICt7Cj4+ID4gKwlpZiAoKChtb2RlLT5jbG9jayA9PSBUTURTXzI5N00pIHx8Cj4+ID4gKwkJICht b2RlLT5jbG9jayA9PSBUTURTXzI5Nk0pKSAmJgo+PiA+ICsJCWludGVsX3BpcGVfaGFzX3R5cGUo Y3J0YywgSU5URUxfT1VUUFVUX0hETUkpKQo+PiA+ICsJCXJldHVybiB0cnVlOwo+PiA+ICsJZWxz ZQo+PiA+ICsJCXJldHVybiBmYWxzZTsKPj4gPiArfQo+PiA+ICsKPj4gPiAgc3RhdGljIGJvb2wg aW50ZWxfZWxkX3VwdG9kYXRlKHN0cnVjdCBkcm1fY29ubmVjdG9yICpjb25uZWN0b3IsCj4+ID4g IAkJCSAgICAgICBpbnQgcmVnX2VsZHYsIHVpbnQzMl90IGJpdHNfZWxkdiwKPj4gPiAgCQkJICAg ICAgIGludCByZWdfZWxkYSwgdWludDMyX3QgYml0c19lbGRhLAo+PiA+IEBAIC01MTQsMTIgKzU2 NCw3OSBAQCBzdGF0aWMgaW50Cj4+IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9jZGNsa19mcmVx KHN0cnVjdCBkZXZpY2UgKmRldikKPj4gPiAgCXJldHVybiByZXQ7Cj4+ID4gIH0KPj4gPgo+PiA+ ICtzdGF0aWMgaW50IGk5MTVfYXVkaW9fY29tcG9uZW50X3N5bmNfYXVkaW9fcmF0ZShzdHJ1Y3Qg ZGV2aWNlCj4+ICpkZXYsCj4+ID4gKwkJCQkJCWludCBwb3J0LCBpbnQgcmF0ZSkKPj4gPiArewo+ PiA+ICsJc3RydWN0IGRybV9pOTE1X3ByaXZhdGUgKmRldl9wcml2ID0gZGV2X3RvX2k5MTUoZGV2 KTsKPj4gPiArCXN0cnVjdCBkcm1fZGV2aWNlICpkcm1fZGV2ID0gZGV2X3ByaXYtPmRldjsKPj4g PiArCXN0cnVjdCBpbnRlbF9lbmNvZGVyICppbnRlbF9lbmNvZGVyOwo+PiA+ICsJc3RydWN0IGlu dGVsX2RpZ2l0YWxfcG9ydCAqaW50ZWxfZGlnX3BvcnQ7Cj4+ID4gKwlzdHJ1Y3QgaW50ZWxfY3J0 YyAqY3J0YzsKPj4gPiArCXN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlOwo+PiA+ICsJZW51 bSBwaXBlIHBpcGUgPSAtMTsKPj4gPiArCXUzMiB0bXA7Cj4+ID4gKwlpbnQgbl9sb3csIG5fdXAs IG47Cj4+ID4gKwo+PiA+ICsJLyogMS4gZ2V0IHRoZSBwaXBlICovCj4+ID4gKwlmb3JfZWFjaF9p bnRlbF9lbmNvZGVyKGRybV9kZXYsIGludGVsX2VuY29kZXIpIHsKPj4gPiArCQlpbnRlbF9kaWdf cG9ydCA9IGVuY190b19kaWdfcG9ydCgmaW50ZWxfZW5jb2Rlci0KPj4gPmJhc2UpOwo+PiAKPj4g TW1taCwgbm90IGFsbCBlbmNvZGVycyBhcmUgZGlnaXRhbCBwb3J0cy4gZW5jX3RvX2RpZ19wb3J0 IGRvZXMgYQo+PiBjb250YWluZXJfb2YsIHNvIHlvdSBjYW4ndCBqdXN0IGNoZWNrIGZvciBOVUxM IGVpdGhlci4gSU9XLCB5b3UgbmVlZAo+PiB0bwo+PiBjaGVjayB0aGUgZW5jb2Rlci0+dHlwZSAo YW5kIHlvdSBvbmx5IGNhcmUgYWJvdXQgSERNSSBoZXJlKS4KPgo+IERvIHlvdSBtZWFuIGl0IHNo b3VsZCBiZToKPiBpZiAoIWNydGMgfHwgIWludGVsX3BpcGVfaGFzX3R5cGUoY3J0YywgSU5URUxf T1VUUFVUX0hETUkpKQoKTm8sIGp1c3QgY2hlY2sgZm9yIGludGVsX2VuY29kZXItPnR5cGUgYXMg dGhlIGZpcnN0IHRoaW5nIGluIHRoZSBsb29wLAphbmQgY29udGludWUgaWYgaXQgaXNuJ3QgSERN SS4KCglpZiAoaW50ZWxfZW5jb2Rlci0+dHlwZSAhPSBJTlRFTF9PVVRQVVRfSERNSSkKICAgICAg ICAJY29udGludWU7Cgo+Cj4gcmVnYXJkcywKPiBMaWJpbgo+Cj4+IAo+PiA+ICsJCWlmIChwb3J0 ID09IGludGVsX2RpZ19wb3J0LT5wb3J0KSB7Cj4+ID4gKwkJCWNydGMgPSB0b19pbnRlbF9jcnRj KGludGVsX2VuY29kZXItPmJhc2UuY3J0Yyk7Cj4+ID4gKwkJCWlmICghY3J0Yykgewo+PiA+ICsJ CQkJRFJNX0RFQlVHX0tNUygiJXM6IGNydGMgaXMKPj4gTlVMTFxuIiwgX19mdW5jX18pOwo+PiA+ ICsJCQkJY29udGludWU7Cj4+ID4gKwkJCX0KPj4gPiArCQkJcGlwZSA9IGNydGMtPnBpcGU7Cj4+ ID4gKwkJCWJyZWFrOwo+PiA+ICsJCX0KPj4gPiArCX0KPj4gPiArCj4+ID4gKwlpZiAocGlwZSA9 PSBJTlZBTElEX1BJUEUpIHsKPj4gPiArCQlEUk1fREVCVUdfS01TKCJubyBwaXBlIGZvciB0aGUg cG9ydCAlY1xuIiwKPj4gcG9ydF9uYW1lKHBvcnQpKTsKPj4gPiArCQlyZXR1cm4gLUVOT0RFVjsK Pj4gPiArCX0KPj4gPiArCURSTV9ERUJVR19LTVMoInBpcGUgJWMgY29ubmVjdHMgcG9ydCAlY1xu IiwKPj4gPiArCQkJCSAgcGlwZV9uYW1lKHBpcGUpLCBwb3J0X25hbWUocG9ydCkpOwo+PiA+ICsJ bW9kZSA9ICZjcnRjLT5jb25maWctPmJhc2UuYWRqdXN0ZWRfbW9kZTsKPj4gPiArCj4+ID4gKwkv KiAyLiBjaGVjayB3aGV0aGVyIHRvIHNldCB0aGUgTi9DVFMvTSBtYW51YWxseSBvciBub3QgKi8K Pj4gPiArCWlmICghYXVkaW9fcmF0ZV9uZWVkX3Byb2coY3J0YywgbW9kZSkpIHsKPj4gPiArCQl0 bXAgPSBJOTE1X1JFQUQoSFNXX0FVRF9DRkcocGlwZSkpOwo+PiA+ICsJCXRtcCAmPSB+QVVEX0NP TkZJR19OX1BST0dfRU5BQkxFOwo+PiA+ICsJCUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcocGlwZSks IHRtcCk7Cj4+ID4gKwkJcmV0dXJuIDA7Cj4+ID4gKwl9Cj4+ID4gKwo+PiA+ICsJbiA9IGF1ZGlv X2NvbmZpZ19nZXRfbihtb2RlLCByYXRlKTsKPj4gPiArCWlmIChuID09IDApIHsKPj4gPiArCQlE Uk1fREVCVUdfS01TKCJVc2luZyBhdXRvbWF0aWMgbW9kZSBmb3IgTiB2YWx1ZQo+PiBvbiBwb3J0 ICVjXG4iLAo+PiA+ICsJCQkJCSAgcG9ydF9uYW1lKHBvcnQpKTsKPj4gPiArCQl0bXAgPSBJOTE1 X1JFQUQoSFNXX0FVRF9DRkcocGlwZSkpOwo+PiA+ICsJCXRtcCAmPSB+QVVEX0NPTkZJR19OX1BS T0dfRU5BQkxFOwo+PiA+ICsJCUk5MTVfV1JJVEUoSFNXX0FVRF9DRkcocGlwZSksIHRtcCk7Cj4+ ID4gKwkJcmV0dXJuIDA7Cj4+ID4gKwl9Cj4+ID4gKwluX2xvdyA9IG4gJiAweGZmZjsKPj4gPiAr CW5fdXAgPSAobiA+PiAxMikgJiAweGZmOwo+PiA+ICsKPj4gPiArCS8qIDQuIHNldCB0aGUgTi9D VFMvTSAqLwo+PiA+ICsJdG1wID0gSTkxNV9SRUFEKEhTV19BVURfQ0ZHKHBpcGUpKTsKPj4gPiAr CXRtcCAmPSB+KEFVRF9DT05GSUdfVVBQRVJfTl9NQVNLIHwKPj4gQVVEX0NPTkZJR19MT1dFUl9O X01BU0spOwo+PiA+ICsJdG1wIHw9ICgobl91cCA8PCBBVURfQ09ORklHX1VQUEVSX05fU0hJRlQp IHwKPj4gPiArCQkJKG5fbG93IDw8IEFVRF9DT05GSUdfTE9XRVJfTl9TSElGVCkgfAo+PiA+ICsJ CQlBVURfQ09ORklHX05fUFJPR19FTkFCTEUpOwo+PiA+ICsJSTkxNV9XUklURShIU1dfQVVEX0NG RyhwaXBlKSwgdG1wKTsKPj4gPiArCj4+ID4gKwlyZXR1cm4gMDsKPj4gPiArfQo+PiA+ICsKPj4g PiAgc3RhdGljIGNvbnN0IHN0cnVjdCBpOTE1X2F1ZGlvX2NvbXBvbmVudF9vcHMKPj4gaTkxNV9h dWRpb19jb21wb25lbnRfb3BzID0gewo+PiA+ICAJLm93bmVyCQk9IFRISVNfTU9EVUxFLAo+PiA+ ICAJLmdldF9wb3dlcgk9IGk5MTVfYXVkaW9fY29tcG9uZW50X2dldF9wb3dlciwKPj4gPiAgCS5w dXRfcG93ZXIJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9wdXRfcG93ZXIsCj4+ID4gIAkuY29kZWNf d2FrZV9vdmVycmlkZSA9Cj4+IGk5MTVfYXVkaW9fY29tcG9uZW50X2NvZGVjX3dha2Vfb3ZlcnJp ZGUsCj4+ID4gIAkuZ2V0X2NkY2xrX2ZyZXEJPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9nZXRfY2Rj bGtfZnJlcSwKPj4gPiArCS5zeW5jX2F1ZGlvX3JhdGUgPSBpOTE1X2F1ZGlvX2NvbXBvbmVudF9z eW5jX2F1ZGlvX3JhdGUsCj4+ID4gIH07Cj4+ID4KPj4gPiAgc3RhdGljIGludCBpOTE1X2F1ZGlv X2NvbXBvbmVudF9iaW5kKHN0cnVjdCBkZXZpY2UgKmk5MTVfZGV2LAo+PiA+IC0tCj4+ID4gMS45 LjEKPj4gPgo+PiAKPj4gLS0KPj4gSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hu b2xvZ3kgQ2VudGVyCgotLSAKSmFuaSBOaWt1bGEsIEludGVsIE9wZW4gU291cmNlIFRlY2hub2xv Z3kgQ2VudGVyCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CkludGVsLWdmeCBtYWlsaW5nIGxpc3QKSW50ZWwtZ2Z4QGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaW50ZWwtZ2Z4Cg==