From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mga12.intel.com (mga12.intel.com [192.55.52.136]) by gabe.freedesktop.org (Postfix) with ESMTPS id DDC0A10E5A2 for ; Thu, 20 Apr 2023 19:15:29 +0000 (UTC) From: Anna Karas Date: Thu, 20 Apr 2023 21:14:53 +0200 Message-Id: <20230420191454.497237-2-anna.karas@intel.com> In-Reply-To: <20230420191454.497237-1-anna.karas@intel.com> References: <20230420191454.497237-1-anna.karas@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Subject: [igt-dev] [RFC 1/2] lib/xe_gpu: Introduce xe_gpu library List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: igt-dev-bounces@lists.freedesktop.org Sender: "igt-dev" To: igt-dev@lists.freedesktop.org Cc: Joonas Lahtinen , Maarten Lankhorst List-ID: QWRkIGhlbHBlcnMgZm9yIHJlcXVpcmluZyB0aGUgWEUgZHJpdmVyLCByZW9wZW5pbmcgZHJtIGZk IGFuZCByZXN0b3JpbmcKZW5naW5lIHByb3BlcnRpZXMgYmV0d2VlbiB0ZXN0cy4KVGhpcyBsaWIg aXMgYSBkaXJlY3QgcG9ydCBvZiBnZW0uYyBmcm9tIGk5MTUuCgpSZWZlcmVuY2U6IEppcmEgVkxL LTQ2MjM1ClNpZ25lZC1vZmYtYnk6IEFubmEgS2FyYXMgPGFubmEua2FyYXNAaW50ZWwuY29tPgot LS0KIGxpYi9tZXNvbi5idWlsZCB8ICAgMSArCiBsaWIveGUveGVfZ3B1LmMgfCAxMzYgKysrKysr KysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrKysrCiBsaWIveGUveGVfZ3B1 LmggfCAgMTkgKysrKysrKwogMyBmaWxlcyBjaGFuZ2VkLCAxNTYgaW5zZXJ0aW9ucygrKQogY3Jl YXRlIG1vZGUgMTAwNjQ0IGxpYi94ZS94ZV9ncHUuYwogY3JlYXRlIG1vZGUgMTAwNjQ0IGxpYi94 ZS94ZV9ncHUuaAoKZGlmZiAtLWdpdCBhL2xpYi9tZXNvbi5idWlsZCBiL2xpYi9tZXNvbi5idWls ZAppbmRleCBiMjFjMjUyYi4uYjMzZjhhZTYgMTAwNjQ0Ci0tLSBhL2xpYi9tZXNvbi5idWlsZAor KysgYi9saWIvbWVzb24uYnVpbGQKQEAgLTEwMCw2ICsxMDAsNyBAQCBsaWJfc291cmNlcyA9IFsK IAknaWd0X21zbS5jJywKIAknaWd0X2RzYy5jJywKIAkneGUveGVfY29tcHV0ZS5jJywKKwkneGUv eGVfZ3B1LmMnLAogCSd4ZS94ZV9jb21wdXRlX3NxdWFyZV9rZXJuZWxzLmMnLAogCSd4ZS94ZV9p b2N0bC5jJywKIAkneGUveGVfcXVlcnkuYycsCmRpZmYgLS1naXQgYS9saWIveGUveGVfZ3B1LmMg Yi9saWIveGUveGVfZ3B1LmMKbmV3IGZpbGUgbW9kZSAxMDA2NDQKaW5kZXggMDAwMDAwMDAuLjdh YmQ4MDU3Ci0tLSAvZGV2L251bGwKKysrIGIvbGliL3hlL3hlX2dwdS5jCkBAIC0wLDAgKzEsMTM2 IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICovCisvKgorICogQ29weXJpZ2h0 IMKpIDIwMjMgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBBdXRob3JzOgorICogICAgQW5uYSBL YXJhcyA8YW5uYS5rYXJhc0BpbnRlbC5jb20+CisgKi8KKworI2luY2x1ZGUgPGRpcmVudC5oPgor I2luY2x1ZGUgPGZjbnRsLmg+CisjaW5jbHVkZSA8c3lzL2lvY3RsLmg+CisKKyNpbmNsdWRlICJ4 ZS94ZV9ncHUuaCIKKyNpbmNsdWRlICJpZ3Rfc3lzZnMuaCIKKyNpbmNsdWRlICJpZ3QuaCIKKwor CisvKgorICogUmVzZXRzIGFsbCBlbmdpbmUgcHJvcGVydGllcyB0byBkZWZhdWx0cyBwcmlvciB0 byB0aGUgc3RhcnQgb2YgYSB0ZXN0LgorICovCitzdGF0aWMgdm9pZCBfX3Jlc3RvcmVfZGVmYXVs dHMoaW50IGVuZ2luZSkKK3sKKwlzdHJ1Y3QgZGlyZW50ICpkZTsKKwlpbnQgZGVmYXVsdHM7CisJ RElSICpkaXI7CisKKwlkZWZhdWx0cyA9IG9wZW5hdChlbmdpbmUsICIuZGVmYXVsdHMiLCBPX1JE T05MWSk7CisJaWYgKGRlZmF1bHRzIDwgMCkKKwkJcmV0dXJuOworCisJZGlyID0gZmRvcGVuZGly KGRlZmF1bHRzKTsKKwlpZiAoIWRpcikgeworCQljbG9zZShkZWZhdWx0cyk7CisJCXJldHVybjsK Kwl9CisKKwl3aGlsZSAoKGRlID0gcmVhZGRpcihkaXIpKSkgeworCQljaGFyIGJ1ZlsyNTZdOwor CQlpbnQgZmQsIGxlbjsKKworCQlpZiAoKmRlLT5kX25hbWUgPT0gJy4nKQorCQkJY29udGludWU7 CisKKwkJZmQgPSBvcGVuYXQoZGVmYXVsdHMsIGRlLT5kX25hbWUsIE9fUkRPTkxZKTsKKwkJaWYg KGZkIDwgMCkKKwkJCWNvbnRpbnVlOworCisJCWxlbiA9IHJlYWQoZmQsIGJ1Ziwgc2l6ZW9mKGJ1 ZikpOworCQljbG9zZShmZCk7CisJCWlmIChsZW4gPCAwKQorCQkJY29udGludWU7CisKKwkJZmQg PSBvcGVuYXQoZW5naW5lLCBkZS0+ZF9uYW1lLCBPX1dST05MWSk7CisJCWlmIChmZCA8IDApCisJ CQljb250aW51ZTsKKworCQl3cml0ZShmZCwgYnVmLCBsZW4pOworCQljbG9zZShmZCk7CisJfQor CisJY2xvc2VkaXIoZGlyKTsKK30KKworc3RhdGljIHZvaWQgcmVzdG9yZV9kZWZhdWx0cyhpbnQg ZmQpCit7CisJc3RydWN0IGRpcmVudCAqZGU7CisJaW50IGVuZ2luZXM7CisJRElSICpkaXI7CisJ aW50IHN5czsKKworCXN5cyA9IGlndF9zeXNmc19vcGVuKGZkKTsKKwlpZiAoc3lzIDwgMCkKKwkJ cmV0dXJuOworCisJZW5naW5lcyA9IG9wZW5hdChzeXMsICJlbmdpbmUiLCBPX1JET05MWSk7CisJ aWYgKGVuZ2luZXMgPCAwKQorCQlnb3RvIGNsb3NlX3N5czsKKworCWRpciA9IGZkb3BlbmRpcihl bmdpbmVzKTsKKwlpZiAoIWRpcikgeworCQljbG9zZShlbmdpbmVzKTsKKwkJZ290byBjbG9zZV9z eXM7CisJfQorCisJd2hpbGUgKChkZSA9IHJlYWRkaXIoZGlyKSkpIHsKKwkJaW50IGVuZ2luZTsK KworCQlpZiAoKmRlLT5kX25hbWUgPT0gJy4nKQorCQkJY29udGludWU7CisKKwkJZW5naW5lID0g b3BlbmF0KGVuZ2luZXMsIGRlLT5kX25hbWUsIE9fUkRPTkxZKTsKKwkJaWYgKGVuZ2luZSA8IDAp CisJCQljb250aW51ZTsKKworCQlfX3Jlc3RvcmVfZGVmYXVsdHMoZW5naW5lKTsKKwkJY2xvc2Uo ZW5naW5lKTsKKwl9CisKKwljbG9zZWRpcihkaXIpOworCitjbG9zZV9zeXM6CisJY2xvc2Uoc3lz KTsKK30KKworLyoqCisgKiB4ZV9yZW9wZW5fZHJpdmVyOgorICogQGZkOiByZS1vcGVuIHRoZSB4 ZSBkcm0gZmlsZSBkZXNjcmlwdG9yCisgKgorICogUmUtb3BlbnMgdGhlIGRybSBmZCB3aGljaCBp cyB1c2VmdWwgaW4gaW5zdGFuY2VzIHdoZXJlIGEgY2xlYW4gZGVmYXVsdAorICogY29udGV4dCBp cyBuZWVkZWQuCisgKi8KK2ludCB4ZV9yZW9wZW5fZHJpdmVyKGludCBmZCkKK3sKKwljaGFyIHBh dGhbMjU2XTsKKworCXNucHJpbnRmKHBhdGgsIHNpemVvZihwYXRoKSwgIi9wcm9jL3NlbGYvZmQv JWQiLCBmZCk7CisJZmQgPSBvcGVuKHBhdGgsIE9fUkRXUik7CisJaWd0X2Fzc2VydF9mZChmZCk7 CisKKwlyZXR1cm4gZmQ7Cit9CisKKy8qKgorICogeGVfcmVxdWlyZV9ncHU6CisgKiBAZmQ6IHRo ZSB4ZSBkcm0gZmlsZSBkZXNjcmlwdG9yCisgKgorICogSGVscGVyIHRvIGJlIHVzZWQgcHJpb3Ig dG8gdGhlIHN0YXJ0IG9mIGEgdGVzdHMsIHVzZWZ1bCBpbiBpbnN0YW5jZXMKKyAqIHdoZXJlIGEg Y2xlYW4gZGVmYXVsdCBjb250ZXh0IGlzIG5lZWRlZC4KKyAqLwordm9pZCB4ZV9yZXF1aXJlX2dw dShpbnQgZmQpCit7CisJaWd0X3JlcXVpcmVfeGUoZmQpOworCWZkID0geGVfcmVvcGVuX2RyaXZl cihmZCk7CisJcmVzdG9yZV9kZWZhdWx0cyhmZCk7CisJY2xvc2UoZmQpOworfQpkaWZmIC0tZ2l0 IGEvbGliL3hlL3hlX2dwdS5oIGIvbGliL3hlL3hlX2dwdS5oCm5ldyBmaWxlIG1vZGUgMTAwNjQ0 CmluZGV4IDAwMDAwMDAwLi4wMjAwNDBhYwotLS0gL2Rldi9udWxsCisrKyBiL2xpYi94ZS94ZV9n cHUuaApAQCAtMCwwICsxLDE5IEBACisvKiBTUERYLUxpY2Vuc2UtSWRlbnRpZmllcjogTUlUICov CisvKgorICogQ29weXJpZ2h0IMKpIDIwMjMgSW50ZWwgQ29ycG9yYXRpb24KKyAqCisgKiBBdXRo b3JzOgorICogICAgQW5uYSBLYXJhcyA8YW5uYS5rYXJhc0BpbnRlbC5jb20+CisgKi8KKworI2lm bmRlZiBYRV9HUFVfSAorI2RlZmluZSBYRV9HUFVfSAorCisjaW5jbHVkZSA8c3RkaW50Lmg+Cisj aW5jbHVkZSA8eGVfZHJtLmg+CisKK2ludCB4ZV9yZW9wZW5fZHJpdmVyKGludCBmZCk7Cit2b2lk IHhlX3JlcXVpcmVfZ3B1KGludCBmZCk7CisKKyNlbmRpZgkvKiBYRV9HUFVfSCAqLworCi0tIAoy LjI1LjEKCi0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0t LS0tLS0tLS0tLS0tLS0tLS0tLQpJbnRlbCBUZWNobm9sb2d5IFBvbGFuZCBzcC4geiBvLm8uCnVs LiBTbG93YWNraWVnbyAxNzMgfCA4MC0yOTggR2RhbnNrIHwgU2FkIFJlam9ub3d5IEdkYW5zayBQ b2xub2MgfCBWSUkgV3lkemlhbCBHb3Nwb2RhcmN6eSBLcmFqb3dlZ28gUmVqZXN0cnUgU2Fkb3dl Z28gLSBLUlMgMTAxODgyIHwgTklQIDk1Ny0wNy01Mi0zMTYgfCBLYXBpdGFsIHpha2xhZG93eSAy MDAuMDAwIFBMTi4KU3BvbGthIG9zd2lhZGN6YSwgemUgcG9zaWFkYSBzdGF0dXMgZHV6ZWdvIHBy emVkc2llYmlvcmN5IHcgcm96dW1pZW5pdSB1c3Rhd3kgeiBkbmlhIDggbWFyY2EgMjAxMyByLiBv IHByemVjaXdkemlhbGFuaXUgbmFkbWllcm55bSBvcG96bmllbmlvbSB3IHRyYW5zYWtjamFjaCBo YW5kbG93eWNoLgoKVGEgd2lhZG9tb3NjIHdyYXogeiB6YWxhY3puaWthbWkgamVzdCBwcnplem5h Y3pvbmEgZGxhIG9rcmVzbG9uZWdvIGFkcmVzYXRhIGkgbW96ZSB6YXdpZXJhYyBpbmZvcm1hY2pl IHBvdWZuZS4gVyByYXppZSBwcnp5cGFka293ZWdvIG90cnp5bWFuaWEgdGVqIHdpYWRvbW9zY2ks IHByb3NpbXkgbyBwb3dpYWRvbWllbmllIG5hZGF3Y3kgb3JheiB0cndhbGUgamVqIHVzdW5pZWNp ZTsgamFraWVrb2x3aWVrIHByemVnbGFkYW5pZSBsdWIgcm96cG93c3plY2huaWFuaWUgamVzdCB6 YWJyb25pb25lLgpUaGlzIGUtbWFpbCBhbmQgYW55IGF0dGFjaG1lbnRzIG1heSBjb250YWluIGNv bmZpZGVudGlhbCBtYXRlcmlhbCBmb3IgdGhlIHNvbGUgdXNlIG9mIHRoZSBpbnRlbmRlZCByZWNp cGllbnQocykuIElmIHlvdSBhcmUgbm90IHRoZSBpbnRlbmRlZCByZWNpcGllbnQsIHBsZWFzZSBj b250YWN0IHRoZSBzZW5kZXIgYW5kIGRlbGV0ZSBhbGwgY29waWVzOyBhbnkgcmV2aWV3IG9yIGRp c3RyaWJ1dGlvbiBieSBvdGhlcnMgaXMgc3RyaWN0bHkgcHJvaGliaXRlZC4K