From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga11.intel.com (mga11.intel.com [192.55.52.93]) by gabe.freedesktop.org (Postfix) with ESMTPS id EAE136EF02 for ; Fri, 13 Sep 2019 09:57:06 +0000 (UTC) Date: Fri, 13 Sep 2019 11:57:04 +0200 From: Zbigniew =?utf-8?Q?Kempczy=C5=84ski?= Message-ID: <20190913095704.GA4466@zkempczy-desk.igk.intel.com> References: <20190911040051.15779-1-zbigniew.kempczynski@intel.com> <20190911040051.15779-2-zbigniew.kempczynski@intel.com> <20190912105946.zryd73mon65hed7k@ahiler-desk1.fi.intel.com> MIME-Version: 1.0 Content-Disposition: inline In-Reply-To: <20190912105946.zryd73mon65hed7k@ahiler-desk1.fi.intel.com> Subject: Re: [igt-dev] [PATCH i-g-t v7 1/3] Introduce device selection API List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: Arkadiusz Hiler Cc: igt-dev@lists.freedesktop.org, Petri Latvala , Daniel Vetter List-ID: T24gVGh1LCBTZXAgMTIsIDIwMTkgYXQgMDE6NTk6NDZQTSArMDMwMCwgQXJrYWRpdXN6IEhpbGVy IHdyb3RlOgoKPGN1dD4KCj4gPiArLyogU2Nhbm5lZCBkZXZpY2VzICovCj4gPiArc3RydWN0IGln dF9kZXZpY2VzIHsKPiA+ICsJR1B0ckFycmF5ICpkZXZzOwkJLy9hbGwgZGV2aWNlcwo+ID4gKwlH UHRyQXJyYXkgKnZpZXc7CQkvL2ZpbHRlcmVkIHZpZXcKPiAKPiB1c2UgLyogKi8KPiAKPiBvciBl dmVuIGJldHRlciwgbmFtZSB0aGVtICJhbGwiIGFuZCAiZmlsdGVyZWQiCj4KCkJlZm9yZSBJJ3Zl IGNvbW1lbnRlZCB0aGlzIHVzaW5nIC8vIEkgY2hlY2tlZCBhbHJlYWR5IApleGlzdGluZyBzb3Vy Y2VzLiBTdWNoIGNvbW1lbnRzIGV4aXN0cywgZXZlbiB0aGV5IHdlcmUgYWRkZWQgdGhpcyAKeWVh ci4gCgo+ID4gKwlnX3B0cl9hcnJheV9zb3J0KGlndF9kZXZzLmRldnMsIGRldnNfY29tcGFyZSk7 Cj4gPiArCWZvciAoaW50IGkgPSAwOyBpIDwgaWd0X2RldnMuZGV2cy0+bGVuOyBpKyspIHsKPiA+ ICsJCWdfcHRyX2FycmF5X2FkZChpZ3RfZGV2cy52aWV3LAo+ID4gKwkJCQlnX3B0cl9hcnJheV9p bmRleChpZ3RfZGV2cy5kZXZzLCBpKSk7Cj4gPiArCX0KPiA+ICt9Cj4gCj4gVGhlIG9ubHkgcGFy dCBvZiB0aGUgd2hvbGUgY29kZWJhc2UgdGhhdCBzZWVtcyB0byByZWFsbHkgYmVuZWZpdCBmcm9t Cj4gZ2xpYiBhcmUgdGhlIGhhc2h0YWJsZXMgZm9yIGRldmljZSBwb3BzIGFuZCBhdHRycy4gRXZl cnl0aGluZyBlbHNlIGNhbgo+IGp1c3QgZWFzaWx5IGJlIHdyaXR0ZW4gaW4gcGxhaW4gQyArIFtp Z3RfbGlzdF0uCj4gCj4gVGhlIGFtb3VudCBvZiBnbGliIGNvZGUgaXMgdGhlIG1haW4gcmVhc29u IHdoeSBpdCBpcyBzbyBoYXJkIHRvIGdldAo+IGFueW9uZSB0byByZXZpZXcgdGhpcy4gTW9zdCBw ZW9wbGUgd29ya2luZyBvbiBJR1Qva2VybmVsIGFyZSBub3QgdXNlZCB0bwo+IHdvcmsgd2l0aCBp dCBhbmQgaXQgaW5jcmVhc2VzIGNvZ25pdGl2ZSBzdHJhaW4gc2lnbmlmaWNhbnRseS4gSSBoYXZl Cj4gYm91bmNlZCBvZmYgbXlzZWxmIGZldyB0aW1lcyBvbiB0aGUgbW9yZSBpbnRlbnNlIGdsaWIg YWN0aW9uLgo+IAo+IEkgYmVsaWV2ZSB5b3UgaGF2ZSBiZWVuIHdhcm5lZCBhYm91dCB0aGlzIGFo ZWFkIG9mIHRpbWUuCj4gCj4gW2lndF9saXN0XTogaHR0cHM6Ly9naXRsYWIuZnJlZWRlc2t0b3Au b3JnL2RybS9pZ3QtZ3B1LXRvb2xzL2Jsb2IvbWFzdGVyL2xpYi9pZ3RfbGlzdC5oCgpUaGlzIGlz IG15IHBlcnNvbmFsIHByZWZlcmVuY2UgZHVyaW5nIGNvZGluZyB0aGlzIHBhcnQuIEkgbGlrZSBn bGliCmFycmF5cyAtIHRoZXkgYWxsb3cgYXV0byByZXNpemUgYW5kIGtlZXAgYmV0dGVyIGNhY2hl IGxvY2FsaXR5IAp0aGFuIGxpc3RzLiBNaXhpbmcgZ2xpYiBhbmQgaWd0IHN0cnVjdHVyZSB3b3Vs ZCBsb29rcyBzdHJhbmdlIElNTy4KSSB3b25kZXJlZCBhYm91dCBwdXJlIGdsaWJjIGRhdGEgc3Ry dWN0dXJlcyBidXQgaGFzaCB0YWJsZXMgCmluIGdsaWJjIGRvZXNuJ3QgaGFuZGxlIGNvbmZsaWN0 cyBzbyBJIHJlamVjdCB0aGVtLiAKCkkgc2VlIG5vIHJlYXNvbiB3aHkgc2hvdWxkIEkgY2hhbmdl IHRoaXMgaW1wbGVtZW50YXRpb24gdG8gb3RoZXIKZGF0YSBzdHJ1Y3R1cmUgZXNwZWNpYWxseSBJ J3ZlIHRlc3QgdGhpcyBjb2RlIHdpdGggdmFsZ3JpbmQgdG8KYXZvaWQgbWVtb3J5IGxlYWtzIGVz cGVjaWFsbHkgaWYgd2Ugd2lsbCBuZWVkIGNhbGwgZGV2aWNlCnNjYW5uaW5nIGZ1bmN0aW9uIGFn YWluLgoKPGN1dD4KCj4gPiArCj4gPiArc3RydWN0IGZpbHRlcl9mdW5jIHsKPiAKPiB0aGlzIGlz IGEgYml0IG1vcmUgdGhhbiBhIGZpbHRlciBmdW5jdGlvbiwgZmlsdGVyX2RlZmluaXRvbj8KPiAK PiA+ICsJR1B0ckFycmF5ICooKmZpbHRlcl9mdW5jdGlvbikoc3RydWN0IGZpbHRlcl9zcGVjICpm c3BlYywKPiA+ICsJCQkJICAgICAgc3RydWN0IGZpbHRlcl9mdW5jICpmZnVuYyk7Cj4gPiArCWNv bnN0IGNoYXIgKmhlbHA7Cj4gPiArCWNvbnN0IGNoYXIgKmRldGFpbDsKPiA+ICsKPiA+ICsJY29u c3QgY2hhciAqcHJvcGVydHk7Cj4gPiArCWNvbnN0IGNoYXIgKnZhbHVlOwo+ID4gK307CgpPayB0 aGlzIHNlZW1zIGJldHRlciB0aGFuIGZpbHRlcl9mdW5jLiBJJ2xsIHB1c2ggaXQgdG8gdjguCgo8 Y3V0PgoKPiA+ICtzdGF0aWMgR1B0ckFycmF5ICpmaWx0ZXJfc3lzKHN0cnVjdCBmaWx0ZXJfc3Bl YyAqZnNwZWMsCj4gPiArCQkJICAgICBzdHJ1Y3QgZmlsdGVyX2Z1bmMgKmZmdW5jKQo+ID4gK3sK PiA+ICsJKHZvaWQpIGZmdW5jOwo+ID4gKwo+ID4gKwlEQkcoImZpbHRlciBzeXNcbiIpOwo+ID4g KwlpZiAoIXN0cmxlbihmc3BlYy0+ZGF0YSkpCj4gPiArCQlyZXR1cm4gaWd0X2RldnMudmlldzsK PiA+ICsKPiA+ICsJZm9yIChpbnQgaSA9IDA7IGkgPCBpZ3RfZGV2cy5kZXZzLT5sZW47IGkrKykg ewo+ID4gKwkJc3RydWN0IGlndF9kZXZpY2UgKmRldiA9IGdfcHRyX2FycmF5X2luZGV4KGlndF9k ZXZzLmRldnMsIGkpOwo+ID4gKwo+ID4gKwkJaWYgKHN0cmVxdWFsKGRldi0+c3Vic3lzdGVtLCBm c3BlYy0+bmFtZSkgJiYKPiA+ICsJCQlzdHJlcXVhbChkZXYtPnN5c3BhdGgsIGZzcGVjLT5kYXRh KSkgewo+ID4gKwkJCWdfcHRyX2FycmF5X2FkZChpZ3RfZGV2cy52aWV3LCBkZXYpOwo+ID4gKwkJ CWJyZWFrOwo+ID4gKwkJfQo+ID4gKwl9Cj4gCj4gdGhpcyBsb29rcyBzdXNwaWNpb3VzbHkgc2lt aWxhciB0byBpZ3RfZGV2aWNlX2ZpbmQgYW5kIHByb2JhYmx5IGNhbiBiZQo+IGJhc2VkIG9uIGl0 Cj4gCj4gPiArCj4gPiArCURCRygiRmlsdGVyIHN5cyB2aWV3IHNpemU6ICVkXG4iLCBpZ3RfZGV2 cy52aWV3LT5sZW4pOwo+ID4gKwo+ID4gKwlyZXR1cm4gaWd0X2RldnMudmlldzsKPiA+ICt9CgpZ b3UncmUgcmlnaHQuIEknbGwgcmV1c2UgdGhpcyBmdW5jdGlvbi4KCjxjdXQ+IAoKPiA+ICsKPiA+ ICsJLyogQ2xlYW4gdmlldyAqLwo+ID4gKwlnX3B0cl9hcnJheV9yZW1vdmVfcmFuZ2UoaWd0X2Rl dnMudmlldywgMCwgaWd0X2RldnMudmlldy0+bGVuKTsKPiA+ICsKPiA+ICsJLyogSWYgZnNwZWMu ZGF0YSBjb250YWlucyAiL3N5cyIgdXNlIGRpcmVjdCBwYXRoIGluc3RlYWQKPiA+ICsJICogY29u dGV4dHVhbCBmaWx0ZXIuCj4gPiArCSAqLwo+ID4gKwlpZiAoIXN0cm5jbXAoZnNwZWMuZGF0YSwg Ii9zeXMiLCA0KSkKPiA+ICsJCWZpbHRlcl9zeXMoJmZzcGVjLCBOVUxMKTsKPiAKPiBJIGRvbid0 IGxpa2UgdGhhdCB3ZSBoYXZlIHNwZWNpYWwgY2FzZSBmb3IgKjovc3lzIGhlcmUgYW5kIGluCj4g aXNfZmlsdGVyX3ZhbGlkKCkuCj4gCj4gSG93IGFib3V0IGluc3RlYWQgb2YgdXNpbmcgaGFzaCB0 YWJsZSBmb3IgbWF0Y2hpbmcgZnNwZWMubmFtZSBkb2luZwo+IHNvbWV0aGluZyBsaWtlIHRoYXQ6 Cj4gCj4gZXh0ZW5kIGZpbHRlcl9kZWZpbml0aW9uIGFrYSAoZmlsdGVyX2Z1bmMpIHdpdGg6Cj4g ICAgIGJvb2wgKCppc190aGVfcmlnaHRfZmlsdGVyKShzdHJ1Y3QgZmlsdGVyX3NwZWMgKmZzcGVj KTsKPiAgICAgY2hhciAqbmFtZTsKPiAgICAgYm9vbCAoKmlzX3ZhbGlkKShzdHJ1Y3QgZmlsdGVy X3NwZWMgKmZzcGVjLCBzdHJ1Y3QgZmlsdGVyX2RlZmluaXRpb24gKmZkZWYpOwo+IAo+IEluc3Rl YWQgb2YgaGFzaHRhYmxlIHlvdSBjYW4ga2VlcCB0aGVtIGluIGFycmF5IChvcmRlciBtYXR0ZXJz KSwgYW5kOgo+IAo+IGlzX3RoZV9yaWdodF9maWx0ZXIgZm9yIHN5cyB3b3VsZCBiZToKPiAJcmV0 dXJuICFzdHJuY21wKGZzcGVjLmRhdGEsICIvc3lzIiwgNCkpCj4gCj4gYW5kIHRoZSBhIHNpbmds ZSBmdW5jdGlvbiB0aGF0IG1hdGNoZXMgbmFtZSBmb3IgdGhlIG90aGVycwo+IAo+IGZpbHRlcl9k ZWZpbml0aW9uICpnZXRfZmlsdGVyX2Zvcl9zcGVjKCpmc3BlYykgewo+IAlmb3IgKGRlZiBpbiBm aWx0ZXJfZGVmaW5pdGlvbnMpIHsKPiAJCWlmIChkZWYtPmlzX3RoZV9yaWdodF9maWx0ZXIgJiYg ZGVmLT5pc190aGVfcmlnaHRfZmlsdGVyKGZzcGVjKSkKPiAJCQlyZXR1cm4gZGVmOwo+IAl9Cj4g Cj4gCXJldHVybiBOVUxMOwo+IH0KPiAKPiBBbmQgdGhlbjoKPiAKPiBib29sIGlzX2ZpbHRlcl92 YWxpZCgqZnNwZWMpIHsKPiAJc3RydWN0IGZpbHRlcl9kZWZpbnRpb24gZGVmID0gTlVMTDsKPiAJ ZGVmID0gZ2V0X2ZpbHRlcl9mb3Jfc3BlYyhmc3BlYyk7Cj4gCj4gCWlmIChkZWYgIT0gTlVMTCAm JiBkZWYtPmlzX3ZhbGlkICE9IE5VTEwpCj4gCQlyZXR1cm4gZGVmLT5pc192YWxpZChmc3BlYyk7 Cj4gCj4gCXJldHJ1biBmYWxzZTsKPiB9Cj4gCj4gdGhpcyBsaW1pdHMgdGhlIG5lZWQgZm9yIGds aWIgbWFnaWMgKGh0LCBncG9pbnRlcnMpIGFuZCBtYWtlcyB0aGUgbWFnaWMKPiBjaGVja3MgbW9y ZSBsb2NhbGl6ZWQgdG8gdGhlIGZpbHRlciBkZWZpbml0aW9uLgoKV2UncmUgZG9pbmcgYmlzZWN0 IGluIG1vZHByb2JlIHN0dWZmIHdpdGggZmV3IGVsZW1lbnRzIHNvIEkndmUgY2hvb3NlbgpoYXNo IHRhYmxlcyBhbmQgcHRyIGFycmF5IGRvIGtlZXAgaW50ZXJuYWwgaW1wbGVtZW50YXRpb24gZmFz dC4gQXBhcnQKb2Ygc2luZ2xlIGV4Y2VwdGlvbiB3aXRoICcvc3lzJyB3aGVyZSBJIGFzc3VtZSB1 c2VyIHdhbnQgdG8gc2VsZWN0IApleGFjdCBjYXJkLiBTbyBJIGNhbid0IGd1ZXNzIHN1YnN5c3Rl bSBpbiBzdWJzeXN0ZW06L3N5cy8uLi4gcGF0aAphbmQgbWFrZSBhcHByb3ByaWF0ZSBoYXNoIHRh YmxlIGVudHJ5LgoKVGhpcyBtYWtlcyBjb25mdXNpb24gb24gbWUuIElHVCB1c2VzIGdsaWIgZm9y IHBhcnNpbmcgLmlndHJjIGJ1dApkZXZlbG9wZXJzIHJlc2lzdHMgdG8gYW55IGdsaWIgZGF0YSBz dHJ1Y3R1cmVzLgoKPiAKPiA+ICsJZWxzZSB7Cj4gPiArCQlzdHJ1Y3QgZmlsdGVyX2Z1bmMgKmZm dW5jOwo+ID4gKwo+ID4gKwkJZmZ1bmMgPSBnX2hhc2hfdGFibGVfbG9va3VwKGZpbHRlcl9kZWZp bml0aW9uX2h0LCBmc3BlYy5uYW1lKTsKPiA+ICsJCWlmICghZmZ1bmMpIHsKPiA+ICsJCQlpZ3Rf d2FybigiTm8gZmlsdGVyIHdpdGggbmFtZSBbJXNdXG4iLCBmc3BlYy5uYW1lKTsKPiA+ICsJCQly ZXR1cm4gZmFsc2U7Cj4gPiArCQl9Cj4gPiArCQlmZnVuYy0+ZmlsdGVyX2Z1bmN0aW9uKCZmc3Bl YywgZmZ1bmMpOwo+ID4gKwl9Cj4gPiArCj4gPiArCXJldHVybiB0cnVlOwo+ID4gK30KPiA+ICsK PiA+ICsjZGVmaW5lIHNhZmVfc3RybmNweShkc3QsIHNyYywgc2l6ZSkgZG8geyBcCj4gPiArCWlm ICgoZHN0KSAmJiAoc3JjKSkgXAo+ID4gKwkJc3RybmNweSgoZHN0KSwgKHNyYyksIChzaXplKSk7 IFwKPiA+ICsJfSB3aGlsZSAoMCkKPiAKPiBJIHdvdWxkIGdvIHdpdGggaWYgKHNyYyAhPSBOVUxM KSBmb3IgdGhlIHRocmVlIHVzZXMgZG93biB0aGVyZSAod2UKPiBhbHJlYWR5IG1ha2Ugc3VyZSB0 aGF0IChjYXJkICE9IE5VTEwpLCBzbyBkc3QgaXMgb2spLgoKSSB0aGluayBib3RoIGFyZ3VtZW50 cyBzaG91bGQgYmUgY2hlY2tlZCBiZWZvcmUgc3RyY3B5LgoKPiAKPiAKPiA+ICsvKioKPiA+ICsg KiBpZ3RfZGV2aWNlX2NhcmRfbWF0Y2gKPiA+ICsgKiBAZmlsdGVyOiBmaWx0ZXIgc3RyaW5nCj4g PiArICogQGNhcmQ6IHBvaW50ZXIgdG8gaWd0X2RldmljZV9jYXJkIHN0cnVjdAo+ID4gKyAqCj4g PiArICogRnVuY3Rpb24gYXBwbGllcyBmaWx0ZXIgdG8gbWF0Y2ggZGV2aWNlIGZyb20gZGV2aWNl IGFycmF5Lgo+ID4gKyAqCj4gPiArICogUmV0dXJuczoKPiA+ICsgKiBmYWxzZSAtIG5vIGNhcmQg cG9pbnRlciB3YXMgcGFzc2VkIG9yIGNhcmQgd2Fzbid0IG1hdGNoZWQsCj4gPiArICogdHJ1ZSAt IGNhcmQgbWF0Y2hlZCBhbmQgcmV0dXJuZWQuCj4gPiArICovCj4gPiArYm9vbCBpZ3RfZGV2aWNl X2NhcmRfbWF0Y2goY29uc3QgY2hhciAqZmlsdGVyLCBzdHJ1Y3QgaWd0X2RldmljZV9jYXJkICpj YXJkKQo+ID4gK3sKPiA+ICsJc3RydWN0IGlndF9kZXZpY2UgKmRldiA9IE5VTEw7Cj4gPiArCj4g PiArCWlmICghY2FyZCkKPiA+ICsJCXJldHVybiBmYWxzZTsKPiA+ICsJbWVtc2V0KGNhcmQsIDAs IHNpemVvZigqY2FyZCkpOwo+ID4gKwo+ID4gKwlpZ3RfZGV2aWNlc19zY2FuKGZhbHNlKTsKPiA+ ICsKPiA+ICsJaWYgKGlndF9kZXZpY2VfZmlsdGVyX2FwcGx5KGZpbHRlcikgPT0gZmFsc2UpCj4g PiArCQlyZXR1cm4gZmFsc2U7Cj4gPiArCj4gPiArCWlmICghaWd0X2RldnMudmlldy0+bGVuKQo+ ID4gKwkJcmV0dXJuIGZhbHNlOwo+ID4gKwo+ID4gKwkvKiBXZSB0YWtlIGZpcnN0IG9uZSBpZiBt b3JlIHRoYW4gb25lIGNhcmQgbWF0Y2hlcyBmaWx0ZXIgKi8KPiA+ICsJZGV2ID0gZ19wdHJfYXJy YXlfaW5kZXgoaWd0X2RldnMudmlldywgMCk7Cj4gPiArCWNhcmQtPmNoaXBzZXQgPSBEUklWRVJf QU5ZOwo+ID4gKwlpZiAoZGV2LT52cykKPiA+ICsJCWNhcmQtPmNoaXBzZXQgPSBkZXYtPnZzLT5j aGlwc2V0Owo+ID4gKwo+ID4gKwlzYWZlX3N0cm5jcHkoY2FyZC0+c3Vic3lzdGVtLCBkZXYtPnN1 YnN5c3RlbSwgTkFNRV9NQVgpOwo+ID4gKwlzYWZlX3N0cm5jcHkoY2FyZC0+Y2FyZCwgZGV2LT5k cm1fY2FyZCwgTkFNRV9NQVgpOwo+ID4gKwlzYWZlX3N0cm5jcHkoY2FyZC0+cmVuZGVyLCBkZXYt PmRybV9yZW5kZXIsIE5BTUVfTUFYKTsKPiAKPiBBIGJldHRlciBvcHRpb24gd291bGQgYmUgdG8g dXNlIHNpemVvZihjYXJkLT5zdWJzeXN0ZW0pLCBldGMuCgpBZ3JlZS4KClpiaWduaWV3Cl9fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmlndC1kZXYgbWFpbGlu ZyBsaXN0CmlndC1kZXZAbGlzdHMuZnJlZWRlc2t0b3Aub3JnCmh0dHBzOi8vbGlzdHMuZnJlZWRl c2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vaWd0LWRldg==