From mboxrd@z Thu Jan 1 00:00:00 1970 From: Tobias Klausmann Subject: Re: [Nouveau] [RFC] mesa/st: Avoid passing a NULL buffer to the drivers Date: Mon, 12 Jan 2015 02:11:01 +0100 Message-ID: <54B31F25.3070104@mni.thm.de> References: <1420656766-7342-1-git-send-email-tobias.johannes.klausmann@mni.thm.de> <54B3189F.4010100@mni.thm.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8"; Format="flowed" Content-Transfer-Encoding: base64 Return-path: in-reply-to: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: mesa-dev-bounces@lists.freedesktop.org Sender: "mesa-dev" To: Ilia Mirkin Cc: "mesa-dev@lists.freedesktop.org" , "nouveau@lists.freedesktop.org" List-Id: nouveau.vger.kernel.org CgpPbiAxMi4wMS4yMDE1IDAxOjU3LCBJbGlhIE1pcmtpbiB3cm90ZToKPiBPbiBTdW4sIEphbiAx MSwgMjAxNSBhdCA3OjQzIFBNLCBUb2JpYXMgS2xhdXNtYW5uCj4gPHRvYmlhcy5qb2hhbm5lcy5r bGF1c21hbm5AbW5pLnRobS5kZT4gd3JvdGU6Cj4+Cj4+IE9uIDExLjAxLjIwMTUgMDY6MDUsIEls aWEgTWlya2luIHdyb3RlOgo+Pj4gQ2FuIHlvdSBlbGFib3JhdGUgYSBiaXQgYXMgdG8gd2h5IHRo YXQncyB0aGUgcmlnaHQgdGhpbmcgdG8gZG8/Cj4+Pgo+Pj4gT24gV2VkLCBKYW4gNywgMjAxNSBh dCAxOjUyIFBNLCBUb2JpYXMgS2xhdXNtYW5uCj4+PiA8dG9iaWFzLmpvaGFubmVzLmtsYXVzbWFu bkBtbmkudGhtLmRlPiB3cm90ZToKPj4+PiBJZiB3ZSBjYXB0dXJlIHRyYW5zZm9ybSBmZWVkYmFj ayBmcm9tIG4gc3RyZWFtIGluIChuLTEpIGJ1ZmZlcnMgd2UgZmFjZSBhCj4+Pj4gTlVMTCBidWZm ZXIsIHVzZSB0aGUgYnVmZmVyIChuLTEpIHRvIGNhcHR1cmUgdGhlIG91dHB1dCBvZiBzdHJlYW0g bi4KPj4+Pgo+Pj4+IFRoaXMgZml4ZXMgb25lIHBpZ2xpdCB0ZXN0IHdpdGggbnZjMDoKPj4+PiAg ICAgIGFyYl9ncHVfc2hhZGVyNS14ZmItc3RyZWFtcy13aXRob3V0LWludm9jYXRpb25zCj4+Pj4K Pj4+PiBTaWduZWQtb2ZmLWJ5OiBUb2JpYXMgS2xhdXNtYW5uIDx0b2JpYXMuam9oYW5uZXMua2xh dXNtYW5uQG1uaS50aG0uZGU+Cj4+Pj4gLS0tCj4+Pj4gICAgc3JjL21lc2Evc3RhdGVfdHJhY2tl ci9zdF9jYl94Zm9ybWZiLmMgfCA1ICsrKysrCj4+Pj4gICAgMSBmaWxlIGNoYW5nZWQsIDUgaW5z ZXJ0aW9ucygrKQo+Pj4+Cj4+Pj4gZGlmZiAtLWdpdCBhL3NyYy9tZXNhL3N0YXRlX3RyYWNrZXIv c3RfY2JfeGZvcm1mYi5jCj4+Pj4gYi9zcmMvbWVzYS9zdGF0ZV90cmFja2VyL3N0X2NiX3hmb3Jt ZmIuYwo+Pj4+IGluZGV4IDhmNzVlZGEuLjVhMTJkYTQgMTAwNjQ0Cj4+Pj4gLS0tIGEvc3JjL21l c2Evc3RhdGVfdHJhY2tlci9zdF9jYl94Zm9ybWZiLmMKPj4+PiArKysgYi9zcmMvbWVzYS9zdGF0 ZV90cmFja2VyL3N0X2NiX3hmb3JtZmIuYwo+Pj4+IEBAIC0xMjMsNiArMTIzLDExIEBAIHN0X2Jl Z2luX3RyYW5zZm9ybV9mZWVkYmFjayhzdHJ1Y3QgZ2xfY29udGV4dCAqY3R4LAo+Pj4+IEdMZW51 bSBtb2RlLAo+Pj4+ICAgICAgICAgIHN0cnVjdCBzdF9idWZmZXJfb2JqZWN0ICpibyA9Cj4+Pj4g c3RfYnVmZmVyX29iamVjdChzb2JqLT5iYXNlLkJ1ZmZlcnNbaV0pOwo+Pj4+Cj4+Pj4gICAgICAg ICAgaWYgKGJvKSB7Cj4+Pj4gKyAgICAgICAgIGlmICghYm8tPmJ1ZmZlcikKPj4+PiArICAgICAg ICAgICAgLyogSWYgd2UgY2FwdHVyZSB0cmFuc2Zvcm0gZmVlZGJhY2sgZnJvbSBuIHN0cmVhbXMg aW50bwo+Pj4+IChuLTEpCj4+Pj4gKyAgICAgICAgICAgICAqIGJ1ZmZlcnMgd2UgaGF2ZSB0byB3 cml0ZSB0byBidWZmZXIgKG4tMSkgZm9yIHN0cmVhbSBuLgo+Pj4+ICsgICAgICAgICAgICAgKi8K Pj4+PiArICAgICAgICAgICAgYm8gPSBzdF9idWZmZXJfb2JqZWN0KHNvYmotPmJhc2UuQnVmZmVy c1tpLTFdKTsKPj4+PiAgICAgICAgICAgICAvKiBDaGVjayB3aGV0aGVyIHdlIG5lZWQgdG8gcmVj cmVhdGUgdGhlIHRhcmdldC4gKi8KPj4+PiAgICAgICAgICAgICBpZiAoIXNvYmotPnRhcmdldHNb aV0gfHwKPj4+PiAgICAgICAgICAgICAgICAgc29iai0+dGFyZ2V0c1tpXSA9PSBzb2JqLT5kcmF3 X2NvdW50IHx8Cj4+Pj4gLS0KPj4+PiAyLjIuMQo+PiBRdW90ZWQgZnJvbSBJbGlhIE1pcmtpbiwg dG8gc3BlY2lmeSB3aGF0IHNoYWxsIGJlIGVsYWJvcmF0ZWQ6Cj4+ICJDYW4geW91IGV4cGxhaW4g KG9uLWxpc3QpIHdoeSB1c2luZyBidWZmZXIgbiAtIDEgaXMgdGhlIHJpZ2h0IHRoaW5nIHRvCj4+ IGRvIHRvIGNhcHR1cmUgb3V0cHV0IG9mIHN0cmVhbSBuPyBJIHdvdWxkIGhhdmUgdGhvdWdodCB0 aGF0IHRoZSBvdXRwdXQKPj4gZm9yIHRoYXQgc3RyZWFtIHNob3VsZCBiZSBkaXNjYXJkZWQgb3Ig c29tZXRoaW5nLgo+Pgo+PiBMaWtlIHdpdGggYSBzcGVjIHF1b3RhdGlvbiBvciBzb21lIG90aGVy IGp1c3RpZmljYXRpb24uIGkuZS4gd2h5IGlzCj4+IHRoZSBjb2RlIHlvdSB3cm90ZSBjb3JyZWN0 PyBXaHkgaXMgaXQgYmV0dGVyIHRoYW4sIHNheSwgYm8gPQo+PiBidWZmZXJzWzBdLCBvciBzb21l IG90aGVyIHRoaW5nIGVudGlyZWx5PyIKPj4KPj4gWWVhaCB0aGF0cyB0aGUgbW9zdCBjb25jZXJu aW5nIHBvaW50IGkgc2VlIGFzIHdlbGwuIFRoZSBwcm9ibGVtIGlzIHRoYXQKPj4gdGhlcmUgaXMg YSBpbnRlcmFjdGlvbiBiZXR3ZWVuIGFyYl9ncHVfc2hhZGVyNSBhbmQgYXJiX3RyYW5zZm9ybV9m ZWVkYmFjazMsCj4+IGJ1dCBhZnRlciBhIGJpdCBvZiByZWFkaW5nIGkgdGhpbmsgdGhlIHBhdGNo IGlzIGFjdHVhbGx5IHdoYXQgd2Ugc2hvdWxkIGRvOgo+Pgo+PiAgRnJvbSB0aGUgYXJiX3RyYW5z ZnJvbV9mZWVkYmFjazMgc3BlYzoKPj4gIgo+PiAoMykgSG93IG1pZ2h0IHlvdSB1c2UgdHJhbnNm b3JtIGZlZWRiYWNrIHdpdGggZ2VvbWV0cnkgc2hhZGVycyBhbmQKPj4gICAgICAgICAgbXVsdGlw bGUgdmVydGV4IHN0cmVhbXM/Cj4+Cj4+ICAgICAgICBSRVNPTFZFRDogIEFzIGEgc2ltcGxlIGV4 YW1wbGUsIGxldCdzIHNheSB5b3UgYXJlIHByb2Nlc3NpbmcgdHJpYW5nbGVzCj4+ICAgICAgICBh bmQgY2FwdHVyZSBib3RoIHByb2Nlc3NlZCB0cmlhbmdsZSB2ZXJ0aWNlcyBhbmQgc29tZSB2YWx1 ZXMgdGhhdCBhcmUKPj4gICAgICAgIGNvbXB1dGVkIHBlci1wcmltaXRpdmUgKGUuZy4sIGZhY2V0 IG5vcm1hbCkuICBUaGUgZ2VvbWV0cnkgc2hhZGVyCj4+ICAgICAgICBtaWdodCBkZWNsYXJlIGl0 cyBvdXRwdXRzIGxpa2UgdGhlIGZvbGxvd2luZzoKPj4KPj4gICAgICAgICAgbGF5b3V0KHN0cmVh bSA9IDApIG91dCB2ZWM0IHBvc2l0aW9uOwo+PiAgICAgICAgICBsYXlvdXQoc3RyZWFtID0gMCkg b3V0IHZlYzQgdGV4Y29vcmQ7Cj4+ICAgICAgICAgIGxheW91dChzdHJlYW0gPSAxKSBvdXQgdmVj NCBub3JtYWw7Cj4+Cj4+ICAgICAgICAicG9zaXRpb24iIGFuZCAidGV4Y29vcmQiIHdvdWxkIGJl IHBlci12ZXJ0ZXggYXR0cmlidXRlcyB3cml0dGVuIHRvCj4+ICAgICAgICB2ZXJ0ZXggc3RyZWFt IDA7ICJub3JtYWwiIHdvdWxkIGJlIGEgcGVyLXRyaWFuZ2xlIGZhY2V0IG5vcm1hbC4gIFRoZQo+ PiAgICAgICAgZ2VvbWV0cnkgc2hhZGVyIHdvdWxkIGVtaXQgdGhyZWUgdmVydGljZXMgdG8gc3Ry ZWFtIHplcm8gKHRoZQo+PiBwcm9jZXNzZWQKPj4gICAgICAgIGlucHV0IHZlcnRpY2VzKSBhbmQg YSBzaW5nbGUgdmVydGV4IHRvIHN0cmVhbSBvbmUgKHRoZSBwZXItdHJpYW5nbGUKPj4gICAgICAg IGRhdGEpLiAgVGhlIHRyYW5zZm9ybSBmZWVkYmFjayBBUEkgdXNhZ2UgZm9yIHRoaXMgY2FzZSB3 b3VsZCBiZQo+PiAgICAgICAgc29tZXRoaW5nIGxpa2U6Cj4+Cj4+ICAgICAgICAgIC8vIFNldCB1 cCBidWZmZXIgb2JqZWN0cyAyMSBhbmQgMjIgdG8gY2FwdHVyZSBkYXRhIGZvciBwZXItdmVydGV4 Cj4+IGFuZAo+PiAgICAgICAgICAvLyBwZXIgcHJpbWl0aXZlIHZhbHVlcy4KPj4gICAgICAgICAg Z2xCaW5kQnVmZmVyQmFzZShHTF9UUkFOU0ZPUk1fRkVFREJBQ0tfQlVGRkVSLCAwLCAyMSk7Cj4+ ICAgICAgICAgIGdsQmluZEJ1ZmZlckJhc2UoR0xfVFJBTlNGT1JNX0ZFRURCQUNLX0JVRkZFUiwg MSwgMjIpOwo+Pgo+PiAgICAgICAgICAvLyBTZXQgdXAgWEZCIHRvIGNhcHR1cmUgcG9zaXRpb24g YW5kIHRleGNvb3JkIHRvIGJ1ZmZlciBiaW5kaW5nCj4+ICAgICAgICAgIC8vIHBvaW50IDAgKGJ1 ZmZlciAyMSBib3VuZCksIGFuZCBub3JtYWwgdG8gYmluZGluZyBwb2ludCAxIChidWZmZXIKPj4g ICAgICAgICAgLy8gMjIgYm91bmQpLgo+PiAgICAgICAgICBjaGFyICpzdHJpbmdzW10gPSB7ICJw b3NpdGlvbiIsICJ0ZXhjb29yZCIsICJnbF9OZXh0QnVmZmVyIiwKPj4gICAgICAgICAgICAgICAg ICAgICAgICAgICAgICAibm9ybWFsIiB9Owo+PiAiCj4+Cj4+IC0+IEVzcGVjaWFsbHkgdGhlIGNv bW1lbnRzIGFyZSBlbmxpZ2h0ZW5pbmcgYXMgdG8gd2hlcmUgdGhlIG91dHB1dHMgc2hvdWxkCj4+ IGdvLiBUaGF0cyB3aGF0IGhhcHBlbnMgd2l0aCB0aGUKPj4gImFyYl9ncHVfc2hhZGVyNS14ZmIt c3RyZWFtcy13aXRob3V0LWludm9jYXRpb25zIiB0ZXN0LCB3aGVyZSB0d28KPj4gc3RyZWFtKG91 dHB1dHMpIGFyZSBjYXB0dXJlZCBpbnRvIG9uZSBidWZmZXIuCj4+Cj4+IE9uZSBtaWdodCBhcmd1 ZSBub3cgaWYgd2UgaGF2ZSB0byBjb3VudCAuQnVmZmVyc1tpLTFdIGZvciBhbGwgYnVmZmVycyBh ZnRlcgo+PiB0aGlzLi4uCj4+Cj4+IENvbW1lbnRzIGFuZCBhZGRpdGlvbmFsIGZlZWRiYWNrIGlz IGFsd2F5cyBhcHByZWNpYXRlZCEKPiBUaGUgdGhpbmcgeW91J3JlIHF1b3RpbmcgaXMgdGFsa2lu ZyBhYm91dCB0aGUgY2FzZSB3aGVyZSBldmVyeXRoaW5nJ3MKPiBzdXBwb3NlZCB0byB3b3JrLiBJ IGhhdmVuJ3QgaW52ZXN0aWdhdGVkLCBidXQgSSdtIGd1ZXNzaW5nIHRoYXQgdGhlCj4gdGVzdCBo YXMgYSBsYXlvdXQoc3RyZWFtPTEpIGJ1dCBubyBidWZmZXIgaXMgYm91bmQgYXQgaW5kZXggMS4K CkFjdHVhbGx5IG5vLCB0aGUgbGF5b3V0IHJlYWRzIGxpa2UgdGhpczoKICAgICBsYXlvdXQoc3Ry ZWFtID0gMCkgb3V0IGZsb2F0IHN0cmVhbTBfMF9vdXQ7CiAgICAgbGF5b3V0KHN0cmVhbSA9IDEp IG91dCB2ZWMyIHN0cmVhbTFfMF9vdXQ7CiAgICAgbGF5b3V0KHN0cmVhbSA9IDIpIG91dCBmbG9h dCBzdHJlYW0yXzBfb3V0OwogICAgIGxheW91dChzdHJlYW0gPSAyKSBvdXQgdmVjNCBzdHJlYW0y XzFfb3V0Owp3aGVyZSBubyBidWZmZXIgaXMgYm91bmQgdG8gc3RyZWFtMl8xX291dC4KCj4gICBJ cyB0aGF0IHJpZ2h0PyBJbiB0aGF0IGNhc2UsIEkgd291bGQgaW1hZ2luZSB0aGF0IHRoZSBURiBv dXRwdXQgc2hvdWxkCj4gYWN0dWFsbHkganVzdCBnZXQgZHJvcHBlZCBvbiB0aGUgZmxvb3IuIEkg d291bGQgYXNzdW1lIHRoYXQgdGhpcyBpcyBpbgo+IHRoZSBBUkJfdGYzIHNwZWMsIGJ1dCBJIGRv bid0IGhhdmUgdGltZSB0byBnbyBkaWdnaW5nIHJpZ2h0IG5vdy4KCkFzIHRoZSBsYXlvdXQgcmVh ZCBtb3JlIGxpa2UgdGhlIG9uZSBmcm9tIHRoZSBzcGVjcywgaSdkIHN0aWxsIGdvIHdpdGggCltu LTFdIGFuZCBob25lc3RseSAobm90IHByb3ZlbiBjb3JyZWN0KSBpIGFzc3VtZSB0aGF0IGEgc3Ry ZWFtIHdpdGhvdXQgCmFuIG91dHB1dCBpcyBqdXN0IHdyb25nIGFuZCBzaG91bGQgbm90IGV2ZW4g Z2V0IHRocm91Z2ggdGhlIGxpbmtlci4uLgoKVG9iaWFzCl9fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fCm1lc2EtZGV2IG1haWxpbmcgbGlzdAptZXNhLWRldkBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL21lc2EtZGV2Cg==