Re: [PATCH v5 3/8] gpu: nova-core: add TLV parser for firmware files

Timur Tabi <[email protected]> Wed, 29 Jul 2026 16:37:57 +0000
Newsgroups dev.linux.lists.nova-gpu,dev.linux.lists.driver-core,org.kernel.vger.rust-for-linux
Message-ID <[email protected]>
T24gTW9uLCAyMDI2LTA3LTI3IGF0IDIwOjMxICswOTAwLCBBbGV4YW5kcmUgQ291cmJvdCB3cm90
ZToNCj4gDQo+ID4gK1RhZ3MgYW5kIExlbmd0aA0KPiA+ICs9PT09PT09PT09PT09PT0NCj4gPiAr
VExWIHRhZ3MgYXJlIGFsd2F5cyBmb3VyLWNoYXJhY3RlciB3b3Jkcywgd2l0aCBhbGwgbGV0dGVy
cyBiZWluZyB1cHBlciBjYXNlLg0KPiA+ICtEdXBsaWNhdGUgdGFncyBhcmUgbm90IGFsbG93ZWQu
DQo+ID4gKw0KPiA+ICtMZW5ndGhzIG9mIHplcm8gYXJlIGFsbG93ZWQgYW5kIGluZGljYXRlIHRo
YXQgdGhlIHRhZyBpcyBhIGJvb2xlYW4uwqAgVGhhdCBpcywNCj4gDQo+IExldCdzIG1lbnRpb24g
IlBheWxvYWRzIG9mIGxlbmd0aCB6ZXJvIiB0byBiZSBwcmVjaXNlIHdoYXQgbGVuZ3RoIHRoaXMN
Cj4gaXMgYWJvdXQuDQoNCkknbSBnb2luZyB0byByZW1vdmUgdGhlIHN0dWZmIGFib3V0IGJvb2xl
YW5zLiAgV2UgZG9uJ3QgdXNlIHRoZW0gaW4gTm92YSwgYW5kIHdoZW4gSSB0cmllZCB0bw0KYWRk
IHN1cHBvcnQgZm9yIHRoZW0gaXQgd2FzIGp1c3QgbWVzc3kuICBKdXN0IGJlY2F1c2UgYSB0YWcg
aXMgbWlzc2luZywgdGhhdCBkb2Vzbid0IG1lYW4gdGhhdA0KaXQncyBmYWxzZS4gIEl0IGNvdWxk
IGJlIGp1c3QgbWlzc2luZywgd2hpY2ggd291bGQgYmUgc29tZXRoaW5nIHRvIGNoZWNrIGZvci4N
Cg0KVGhlIHVwY29taW5nIG52b2Mgc3R1ZmYgZG9lcyBoYXZlIGEgYm9vbGVhbiB0YWcsIGJ1dCBp
dCdzIG5vdCBpbiB0aGUgVExWIHlldC4gIEkgZG9uJ3QgaGF2ZSBhDQpyZWFsIEVUQSBmb3IgaXQs
IHNvIHRoZXJlIHdpbGwgYmUgYSB0aW1lIHBlcmlvZCB3aGVyZSB3ZSBzdXBwb3J0IHI2MTUgYnV0
IHNvbWUgdGFncyB3aWxsIGFwcGVhcg0KbGF0ZXIuICBTbyB3ZSBuZWVkIHRvIGJlIGFibGUgdG8g
Y2hlY2sgZm9yIGEgbWlzc2luZyB0YWcgdnMgdGFnPT1mYWxzZS4NCg0KPiA+ICsNCj4gPiArR1NQ
IEZpcm13YXJlIFRhZ3MNCj4gPiArPT09PT09PT09PT09PT09PT0NCj4gPiArYGBTSUdOYGAgKGJ5
dGVzKQ0KPiA+ICvCoMKgwqAgQ3J5cHRvZ3JhcGhpYyBzaWduYXR1cmUgZm9yIHRoZSBHU1AgZmly
bXdhcmUuDQo+ID4gKw0KPiA+ICtgYEJMSURgYCAoYnl0ZXMpDQo+ID4gK8KgwqDCoCBUaGUgYnVp
bGQgSUQsIGV4dHJhY3RlZCBmcm9tIHRoZSAiLm5vdGUuZ251LmJ1aWxkLWlkIiBzZWN0aW9uLg0K
PiANCj4gU2hvdWxkIHRoaXMgYmUgYSBzdHJpbmcgYnkgYW55IGNoYW5jZT8NCg0KWWVzLCB0aGFu
a3MuDQoNCj4gDQo+ID4gKw0KPiA+ICtCb290ZXIgRmlybXdhcmUgVGFncw0KPiA+ICs9PT09PT09
PT09PT09PT09PT09PQ0KPiA+IA0KLi4uDQo+ID4gKw0KPiA+ICtgYE5TSUdgYCAodTMyKSAtIGBg
bnVtX3NpZ3NgYA0KPiA+ICvCoMKgwqAgTnVtYmVyIG9mIHNpZ25hdHVyZXMgaW5jbHVkZWQgaW4g
dGhlIGBgU0lHTmBgIHRhZy7CoCBBIHZhbHVlIG9mIDAgaW5kaWNhdGVzDQo+ID4gK8KgwqDCoCB1
bnNpZ25lZCBmaXJtd2FyZSBhbmQgdGhhdCB0aGVyZSBpcyBubyBgYFNJR05gYCB0YWcuDQo+IA0K
PiBJbiBwYXRjaCA0IGBib290ZXIucnNgIHNheXMgIkJvb3RlciBpcyBhbHdheXMgc2lnbmVkIiwg
d2hpY2ggY29udHJhZGljdHMNCj4gdGhpcyBkZWZpbml0aW9uLiBXZSBoYWQgYSBub24tc2lnbmVk
IHBhdGggaW4gdGhlIG9yaWdpbmFsIGNvZGU7IHdoeSBub3QNCj4gcHJlc2VydmUgaXQ/IFRoZSBj
dXJyZW50IGZpcm13YXJlIGZpbGVzIGRvIG5vdCBtYWtlIHVzZSBvZiBpdCwgYnV0IHRoZQ0KPiBw
b2ludCBvZiBzcGVjaWZ5aW5nIHRoaW5ncyBoZXJlIGlzIHRvIG1ha2UgdGhlIGNvZGUgZnV0dXJl
LXByb29mIGluIGNhc2UNCj4gd2UgaW50cm9kdWNlIG9yIGVuYWJsZSB1bnNpZ25lZCBmaXJtd2Fy
ZXMgaW4gdGhlIGZ1dHVyZTsgc28gbGV0J3MgbWFrZQ0KPiB0aGUgY29kZSByZWxpZ2lvdXNseSBm
b2xsb3cgdGhlIHNwZWMuDQoNCldlbGwsIGJvb3RlciAoYm90aCBsb2FkIGFuZCB1bmxvYWQpIGFs
d2F5cyBpcyBzaWduZWQuICBUaGUgc2NyaXB0IGV2ZW4gZW5mb3JjZXMgdGhhdC4gwqBUaGUNCmN1
cnJlbnQgdW5zaWduZWQgY29kZSBpbiBib290ZXIucnMgaGFzIG5ldmVyIGJlZW4gZXhlcmNpc2Vk
LCBzbyB3ZSBjYW4ndCByZWFsbHkgc2F5IGl0J3MNCmNvcnJlY3QuDQoNCkkgY2FuIGNoYW5nZSB0
aGUgZG9jdW1lbnRhdGlvbiBoZXJlIHRvIG5vdCBtZW50aW9uIE5TSUc9PTAgYXMgYSBwb3NzaWJp
bGl0eS4gIFdoZW4gSSB3cm90ZSB0aGlzDQp0ZXh0LCBJIGhhZG4ndCBub3RpY2VkIHRoYXQgTlNJ
RyBpcyBuZXZlciAwLg0KDQpXZSBhcmUgbmV2ZXIgZ29pbmcgdG8gaW50cm9kdWNlIHVuc2lnbmVk
IGJvb3RlciBmaXJtd2FyZS4gIEZvciBvbmUgdGhpbmcsIEhvcHBlciBhbmQgbGF0ZXIgaGF2ZQ0K
YWxyZWFkeSByZXBsYWNlZCBib290ZXIgd2l0aCBmbWMsIHNvIHRoaXMgY29kZSBpcyBhbHJlYWR5
IGxlZ2FjeS4NCg0KSWYgaXQgdHVybnMgb3V0IHRoYXQgc29tZSBmdXR1cmUgdmVyc2lvbiBvZiBH
U1AtUk0gZG9lcyBhZGQgYW4gdW5zaWduZWQgYm9vdGVyLCB3ZSB3b3VsZCBuZWVkIHRvDQpjaGFu
Z2UgdGhlIHNjcmlwdCBhbmQgcHJvYmFibHkgZG8gbW9yZSB0aGFuIGp1c3QgY2FsbCBub19wYXRj
aF9zaWduYXR1cmUoKS4NCg0KPiA+ICvCoMKgwqAgLy8vIFJldHVybiBhIHN0cmluZyB2YWx1ZS4N
Cj4gPiArwqDCoMKgIHB1YihjcmF0ZSkgZm4gZ2V0X3N0cmluZygmc2VsZiwgdGFnOiAmW3U4OyA0
XSkgLT4gUmVzdWx0PCYnYSBzdHI+IHsNCj4gPiArwqDCoMKgwqDCoMKgwqAgbGV0IHRsdiA9IHNl
bGYuZmluZCh0YWcpPzsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgIGxldCBieXRlcyA9IHRs
di52YWx1ZTsNCj4gPiArDQo+ID4gK8KgwqDCoMKgwqDCoMKgIC8vIFRvIG1ha2Ugc3VyZSB0aGUg
dmFsdWUgYWN0dWFsbHkgaXMgYSBzdHJpbmcsIGVuc3VyZSBpdCdzIGFsbCBBU0NJSS4NCj4gPiAr
wqDCoMKgwqDCoMKgwqAgaWYgIWJ5dGVzLmlzX2FzY2lpKCkgew0KPiA+ICvCoMKgwqDCoMKgwqDC
oMKgwqDCoMKgIHJldHVybiBFcnIoRUlOVkFMKTsNCj4gPiArwqDCoMKgwqDCoMKgwqAgfQ0KPiAN
Cj4gVGhlIHNwZWMgYWxzbyBzYXlzIHRoYXQgTlVMTCBjaGFyYWN0ZXJzIGFyZSBpbnZhbGlkOyB3
ZSBzaG91bGQgdGVzdCBmb3INCj4gYHx8IGJ5dGVzLmNvbnRhaW5zKCYwKWAgYXMgd2VsbCBoZXJl
Lg0KDQpIbW1tLi4uIEkgd29uZGVyIGlmIEkgc2hvdWxkIGV4cGFuZCB0aGUgZGVmaW5pdGlvbiB0
byBleGNsdWRlIGFsbCBjaGFyYWN0ZXJzIGxlc3MgdGhhbiBBU0NJSSAzMj8NCg0KSSB3YXMgZGVi
YXRpbmcgaXNfYXNjaWlfZ3JhcGhpYygpIGJ1dCB0aGF0IGFsc28gZXhjbHVkZXMgYmxhbmsgc3Bh
Y2VzLiAgVGhlcmUgaXMgdmFsdWUgaW4NCmluc2lzdGluZyB0aGF0IHRoZSB0YWcgaXMgY2xlYXJs
eSBwcmludGFibGUuDQoNClRob3VnaHRzPw0KDQo+IA0K