From mboxrd@z Thu Jan 1 00:00:00 1970 From: Inki Dae Subject: Re: [PATCH 5/9] drm/exynos/crtc: fix framebuffer reference sequence Date: Fri, 12 Sep 2014 18:21:57 +0900 Message-ID: <5412BB35.7050309@samsung.com> References: <1410268573-2297-1-git-send-email-a.hajda@samsung.com> <1410268573-2297-6-git-send-email-a.hajda@samsung.com> <5412B02A.6040609@samsung.com> <20140912085710.GD4740@phenom.ffwll.local> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: In-reply-to: <20140912085710.GD4740@phenom.ffwll.local> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Andrzej Hajda , "moderated list:ARM/S5P EXYNOS AR..." , Seung-Woo Kim , open list , dri-devel@lists.freedesktop.org, Kyungmin Park , Marek Szyprowski List-Id: linux-samsung-soc@vger.kernel.org T24gMjAxNOuFhCAwOeyblCAxMuydvCAxNzo1NywgRGFuaWVsIFZldHRlciB3cm90ZToKPiBPbiBG cmksIFNlcCAxMiwgMjAxNCBhdCAwNTozNDo1MFBNICswOTAwLCBJbmtpIERhZSB3cm90ZToKPj4g SGkgQW5kcnplaiwKPj4KPj4gT24gMjAxNOuFhCAwOeyblCAwOeydvCAyMjoxNiwgQW5kcnplaiBI YWpkYSB3cm90ZToKPj4+IEFkZGluZyByZWZlcmVuY2UgdG8gZnJhbWVidWZmZXIgc2hvdWxkIGJl IGFjY29tcGFuaWVkIHdpdGggcmVtb3ZpbmcKPj4+IHJlZmVyZW5jZSB0byBvbGQgZnJhbWVidWZm ZXIgYXNzaWduZWQgdG8gdGhlIHBsYW5lLgo+Pj4gVGhpcyBwYXRjaCByZW1vdmVzIGZvbGxvd2lu ZyB3YXJuaW5nOgo+Pj4KPj4+IFsgICA5NS4wMzgwMTddIFdBUk5JTkc6IENQVTogMSBQSUQ6IDMw NjcgYXQgZHJpdmVycy9ncHUvZHJtL2RybV9jcnRjLmM6NTExNSBkcm1fbW9kZV9jb25maWdfY2xl YW51cCsweDI1OC8weDI2OCgpCj4+PiBbICAgOTUuMDQ4MDg2XSBNb2R1bGVzIGxpbmtlZCBpbjoK Pj4+IFsgICA5NS4wNTE0MzBdIENQVTogMSBQSUQ6IDMwNjcgQ29tbTogYmFzaCBUYWludGVkOiBH ICAgICAgICBXICAgICAgMy4xNi4wLTExMzU1LWc3YTZlY2E1LWRpcnR5ICMzMDE1Cj4+PiBbICAg OTUuMDYwMDU4XSBbPGMwMDEzZTkwPl0gKHVud2luZF9iYWNrdHJhY2UpIGZyb20gWzxjMDAxMTEy OD5dIChzaG93X3N0YWNrKzB4MTAvMHgxNCkKPj4+IFsgICA5NS4wNjc3NjZdIFs8YzAwMTExMjg+ XSAoc2hvd19zdGFjaykgZnJvbSBbPGMwNGE1ZGM0Pl0gKGR1bXBfc3RhY2srMHg3MC8weGJjKQo+ Pj4gWyAgIDk1LjA3NDk1M10gWzxjMDRhNWRjND5dIChkdW1wX3N0YWNrKSBmcm9tIFs8YzAwMjE3 ODQ+XSAod2Fybl9zbG93cGF0aF9jb21tb24rMHg2NC8weDg4KQo+Pj4gWyAgIDk1LjA4MzAwNV0g WzxjMDAyMTc4ND5dICh3YXJuX3Nsb3dwYXRoX2NvbW1vbikgZnJvbSBbPGMwMDIxN2M0Pl0gKHdh cm5fc2xvd3BhdGhfbnVsbCsweDFjLzB4MjQpCj4+PiBbICAgOTUuMDkxNzgwXSBbPGMwMDIxN2M0 Pl0gKHdhcm5fc2xvd3BhdGhfbnVsbCkgZnJvbSBbPGMwMjc1ZmEwPl0gKGRybV9tb2RlX2NvbmZp Z19jbGVhbnVwKzB4MjU4LzB4MjY4KQo+Pj4gWyAgIDk1LjEwMDk4M10gWzxjMDI3NWZhMD5dIChk cm1fbW9kZV9jb25maWdfY2xlYW51cCkgZnJvbSBbPGMwMjgxNzI0Pl0gKGV4eW5vc19kcm1fdW5s b2FkKzB4MzgvMHg1MCkKPj4+IFsgICA5NS4xMDk5MTVdIFs8YzAyODE3MjQ+XSAoZXh5bm9zX2Ry bV91bmxvYWQpIGZyb20gWzxjMDI2ZTI0OD5dIChkcm1fZGV2X3VucmVnaXN0ZXIrMHgyNC8weDk4 KQo+Pj4gWyAgIDk1LjExODQxNF0gWzxjMDI2ZTI0OD5dIChkcm1fZGV2X3VucmVnaXN0ZXIpIGZy b20gWzxjMDI2ZWNiMD5dIChkcm1fcHV0X2RldisweDI4LzB4NjQpCj4+PiBbICAgOTUuMTI2NDEy XSBbPGMwMjZlY2IwPl0gKGRybV9wdXRfZGV2KSBmcm9tIFs8YzAyOTQ3YzQ+XSAodGFrZV9kb3du X21hc3RlcisweDI0LzB4NDQpCj4+PiBbICAgOTUuMTM0MjE4XSBbPGMwMjk0N2M0Pl0gKHRha2Vf ZG93bl9tYXN0ZXIpIGZyb20gWzxjMDI5NDg3MD5dIChjb21wb25lbnRfZGVsKzB4OGMvMHhjOCkK Pj4+IFsgICA5NS4xNDIyMDFdIFs8YzAyOTQ4NzA+XSAoY29tcG9uZW50X2RlbCkgZnJvbSBbPGMw Mjg2YzEwPl0gKGV4eW5vc19kc2lfcmVtb3ZlKzB4MTgvMHgyYykKPj4+IFsgICA5NS4xNTAyOTRd IFs8YzAyODZjMTA+XSAoZXh5bm9zX2RzaV9yZW1vdmUpIGZyb20gWzxjMDI5OWUwND5dIChwbGF0 Zm9ybV9kcnZfcmVtb3ZlKzB4MTgvMHgxYykKPj4+IFsgICA5NS4xNTg4NzJdIFs8YzAyOTllMDQ+ XSAocGxhdGZvcm1fZHJ2X3JlbW92ZSkgZnJvbSBbPGMwMjk4N2E0Pl0gKF9fZGV2aWNlX3JlbGVh c2VfZHJpdmVyKzB4NzAvMHhjNCkKPj4+IFsgICA5NS4xNjc5ODFdIFs8YzAyOTg3YTQ+XSAoX19k ZXZpY2VfcmVsZWFzZV9kcml2ZXIpIGZyb20gWzxjMDI5ODgxOD5dIChkZXZpY2VfcmVsZWFzZV9k cml2ZXIrMHgyMC8weDJjKQo+Pj4gWyAgIDk1LjE3NzI2OF0gWzxjMDI5ODgxOD5dIChkZXZpY2Vf cmVsZWFzZV9kcml2ZXIpIGZyb20gWzxjMDI5NzlkMD5dICh1bmJpbmRfc3RvcmUrMHg1Yy8weDk0 KQo+Pj4gWyAgIDk1LjE4NTU5N10gWzxjMDI5NzlkMD5dICh1bmJpbmRfc3RvcmUpIGZyb20gWzxj MDI5NzI3OD5dIChkcnZfYXR0cl9zdG9yZSsweDIwLzB4MmMpCj4+PiBbICAgOTUuMTkzMzIzXSBb PGMwMjk3Mjc4Pl0gKGRydl9hdHRyX3N0b3JlKSBmcm9tIFs8YzAxMmFhOTA+XSAoc3lzZnNfa2Zf d3JpdGUrMHg0Yy8weDUwKQo+Pj4gWyAgIDk1LjIwMTIyNF0gWzxjMDEyYWE5MD5dIChzeXNmc19r Zl93cml0ZSkgZnJvbSBbPGMwMTI5ZTk0Pl0gKGtlcm5mc19mb3Bfd3JpdGUrMHhjNC8weDE4NCkK Pj4+IFsgICA5NS4yMDkzOTNdIFs8YzAxMjllOTQ+XSAoa2VybmZzX2ZvcF93cml0ZSkgZnJvbSBb PGMwMGQwM2VjPl0gKHZmc193cml0ZSsweGEwLzB4MWE4KQo+Pj4gWyAgIDk1LjIxNzExMV0gWzxj MDBkMDNlYz5dICh2ZnNfd3JpdGUpIGZyb20gWzxjMDBkMDdmOD5dIChTeVNfd3JpdGUrMHg0MC8w eDhjKQo+Pj4gWyAgIDk1LjIyNDE0Nl0gWzxjMDBkMDdmOD5dIChTeVNfd3JpdGUpIGZyb20gWzxj MDAwZTY2MD5dIChyZXRfZmFzdF9zeXNjYWxsKzB4MC8weDQ4KQo+Pj4KPj4+IFNpZ25lZC1vZmYt Ynk6IEFuZHJ6ZWogSGFqZGEgPGEuaGFqZGFAc2Ftc3VuZy5jb20+Cj4+PiAtLS0KPj4+ICBkcml2 ZXJzL2dwdS9kcm0vZXh5bm9zL2V4eW5vc19kcm1fY3J0Yy5jIHwgNiArKysrKysKPj4+ICAxIGZp bGUgY2hhbmdlZCwgNiBpbnNlcnRpb25zKCspCj4+Pgo+Pj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMv Z3B1L2RybS9leHlub3MvZXh5bm9zX2RybV9jcnRjLmMgYi9kcml2ZXJzL2dwdS9kcm0vZXh5bm9z L2V4eW5vc19kcm1fY3J0Yy5jCj4+PiBpbmRleCBiNjhlNThmLi5iZGUxOWY0IDEwMDY0NAo+Pj4g LS0tIGEvZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYwo+Pj4gKysrIGIv ZHJpdmVycy9ncHUvZHJtL2V4eW5vcy9leHlub3NfZHJtX2NydGMuYwo+Pj4gQEAgLTE0NSwxMCAr MTQ1LDE2IEBAIGV4eW5vc19kcm1fY3J0Y19tb2RlX3NldChzdHJ1Y3QgZHJtX2NydGMgKmNydGMs IHN0cnVjdCBkcm1fZGlzcGxheV9tb2RlICptb2RlLAo+Pj4gIAlpZiAocmV0KQo+Pj4gIAkJcmV0 dXJuIHJldDsKPj4+ICAKPj4+ICsJLyogd2UgbmVlZCB0byB1bnJlZmVyZW5jZSBjdXJyZW50IGZi IGFmdGVyIHJlcGxhY2luZyBpdCB3aXRoIG5ldyBvbmUgKi8KPj4+ICsJb2xkX2ZiID0gcGxhbmUt PmZiOwo+Pj4gKwo+Pj4gIAlwbGFuZS0+Y3J0YyA9IGNydGM7Cj4+PiAgCXBsYW5lLT5mYiA9IGNy dGMtPnByaW1hcnktPmZiOwo+Pj4gIAlkcm1fZnJhbWVidWZmZXJfcmVmZXJlbmNlKHBsYW5lLT5m Yik7Cj4+PiAgCj4+PiArCWlmIChvbGRfZmIpCj4+PiArCQlkcm1fZnJhbWVidWZmZXJfdW5yZWZl cmVuY2Uob2xkX2ZiKTsKPj4KPj4gVGhpcyB0aW1lIHdvdWxkIGJlIGEgZ29vZCBjaGFuY2UgdGhh dCB3ZSBjYW4gY29uc2lkZXIgZHJtIGZsaXAgcXVldWUgdG8KPj4gbWFrZSBzdXJlIHRoYXQgd2hv bGUgbWVtb3J5IHJlZ2lvbiB0byBvbGRfZmIgaXMgc2Nhbm5lZCBvdXQgY29tcGxldGVseQo+PiBi ZWZvcmUgZHJvcHBpbmcgYSByZWZlcmVuY2Ugb2Ygb2xkX2ZiLiB0aGUgcmVmZXJlbmNlIG9mIG9s ZF9mYiBzaG91bGQgYmUKPj4gZHJvcHBlZCBhdCBpcnEgaGFuZGxlciBvZiBlYWNoIGNydGMgZGV2 aWNlcywgZmltZCBhbmQgbWl4ZXIuCj4gCj4gR2VuZXJhbGx5IGl0J3Mgbm90IGEgZ29vZCBpZGVh IHRvIGRyb3AgZmIgcmVmZXJlbmNlcyBmcm9tIGlycSBjb250ZXh0LAo+IHNpbmNlIGlmIHlvdSBh Y3R1YWxseSBkcm9wIHRoZSBsYXN0IHJlZmVyZW5jZSBpdCdsbCBibG93IHVwOiBmYiBjbGVhbnVw Cj4gbmVlZHMgYSBidW5jaCBvZiBtdXRleGVzLgoKQWN0dWFsbHksIGRybV9mbGlwX3dvcmtfY29t bWl0IGZ1bmN0aW9uIHdpbGwgYmUgY2FsbGVkIGF0IGlycSBjb250ZXh0IHNvCnRoZSByZWZlcmVu Y2Ugd2lsbCBiZSBkcm9wcGVkIGJ5IHdvcmsgcXVldWUgaGFuZGxlciBzbyBtdXRleCBsb2NrIHdv dWxkCmJlIHJlcXVpcmVkIGJlZm9yZSBkcm9wcGluZyB0aGUgcmVmZXJlbmNlLiBNeSBjb25jZXJu IHdhcyB0aGF0IGdlbQptZW1vcnkgbWF5IGJlIGZyZWVkIGJlZm9yZSB0aGUgbWVtb3J5IHJlZ2lv biBpcyBzY2FubmVkIG91dCBjb21wbGV0ZWx5CnNvIEkgdGhvdWdodCB3ZSBuZWVkIHRvIG1ha2Ug c3VyZSB0byBzY2FuIG91dCBjb21wbGV0ZWx5IHNvbWVob3cuCgo+IAo+IEFsc28gdGhlIGRybSBj b3JlIHJlYWxseSBzaG91bGQgYmUgdGFraW5nIGNhcmUgb2YgdGhpcyBmb3IgeW91LCB5b3Ugb25s eQo+IG5lZWQgdG8gZ3JhYiByZWZlcmVuY2VzIHlvdXJzZWxmIGZvciBhc3luYyBmbGlwcyBpZiB5 b3Ugd2FudCB0aGUgYnVmZmVyIHRvCj4gc3Vydml2ZSBhIGJpdC4gY3J0Y19tb2RlX3NldCBoYXMg bm90IG5lZWQgZm9yIHRoaXMuIEkgZXhwZWN0IHRoYXQgdGhlCj4gcmVmY291bnRpbmcgYnVnIGlz IHNvbWV3aGVyZSBlbHNlLCBhdCBsZWFzdCBmcm9tIG15IGV4cGVyaWVuY2UgY2hhc2luZwo+IHN1 Y2ggaXNzdWVzIGluIGk5MTUgOy0pCgpUaGFua3MgZm9yIGNvbW1lbnRzLiBZZXMsIHRoZXJlIG1h eSBiZSByZWZjb3VudGluZyBidWcgc29tZXdoZXJlIGVsc2UgaWYKZHJtIGNvcmUgbWFrZXMgc3Vy ZSB0byB0YWtlIGNhcmUgb2YgdGhpcy4gSXQgc2VlbXMgdG8gbmVlZCBtb3JlIGNoZWNraW5nLgoK VGhhbmtzLApJbmtpIERhZQoKPiAtRGFuaWVsCj4gCgpfX19fX19fX19fX19fX19fX19fX19fX19f X19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwgbWFpbGluZyBsaXN0CmRyaS1kZXZlbEBs aXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cDovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFu L2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1753694AbaILJWJ (ORCPT ); Fri, 12 Sep 2014 05:22:09 -0400 Received: from mailout4.samsung.com ([203.254.224.34]:9895 "EHLO mailout4.samsung.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1753261AbaILJWB (ORCPT ); Fri, 12 Sep 2014 05:22:01 -0400 MIME-version: 1.0 Content-type: text/plain; charset=UTF-8 X-AuditID: cbfee690-f79ce6d00000115a-48-5412bb367fe4 Content-transfer-encoding: 8BIT Message-id: <5412BB35.7050309@samsung.com> Date: Fri, 12 Sep 2014 18:21:57 +0900 From: Inki Dae User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/20130803 Thunderbird/17.0.8 To: Andrzej Hajda , "moderated list:ARM/S5P EXYNOS AR..." , Seung-Woo Kim , open list , dri-devel@lists.freedesktop.org, Kyungmin Park , Marek Szyprowski Subject: Re: [PATCH 5/9] drm/exynos/crtc: fix framebuffer reference sequence References: <1410268573-2297-1-git-send-email-a.hajda@samsung.com> <1410268573-2297-6-git-send-email-a.hajda@samsung.com> <5412B02A.6040609@samsung.com> <20140912085710.GD4740@phenom.ffwll.local> In-reply-to: <20140912085710.GD4740@phenom.ffwll.local> X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFuphkeLIzCtJLcpLzFFi42JZI2JSomu2WyjEYONHDotb686xWlz5+p7N 4mzTG3aLy7vmsFnMOL+PyWLtkbvsFjMmv2RzYPe4332cyaNvyypGj8+b5AKYo7hsUlJzMstS i/TtErgylsx8z1awRq2ic6FEA+NyhS5GTg4JAROJ702L2SBsMYkL99YD2VwcQgJLGSXO77/F ClN0/PYKqMR0RomLm1+xgCR4BQQlfky+B2RzcDALyEscuZQNEmYWUJeYNG8RM0T9K0aJxmWt UPVaEg+uLwcbyiKgKnF98wowmw3InrjiPtgVogJhEi9e7QJrFhE4ziSx+9x1sGZhAR+JA1d3 skNMPc4o0Xy/lRVkM6eAucSt9TEgcQmBdewS/x/fZIPYICDxbfIhsOskBGQlNh1ghvhGUuLg ihssExhFZyH5YRbCD7OQ/LCAkXkVo2hqQXJBcVJ6kYlecWJucWleul5yfu4mRmAknf73bMIO xnsHrA8xCnAwKvHwVrAIhgixJpYVV+YeYjQFOmIis5Rocj4wXvNK4g2NzYwsTE1MjY3MLc2U xHlfS/0MFhJITyxJzU5NLUgtii8qzUktPsTIxMEp1cAoP/0LQ/pWTQtn19dvDJ1M/I5X77jk dGNy6t5HUQ+2nDqwS3TWzPfrLn1WPzCTIcchIv3TxqsvFsySkirqLtvy5qB147s721cfn3mC LW/bndZrC68s33JuTlxlVXnSN9lvX7nelv5j8FMQFdnOsfncxrlP3t+6/oorTvF67cr6ZzI6 mlZ3gswNHJRYijMSDbWYi4oTAefGzLOfAgAA X-Brightmail-Tracker: H4sIAAAAAAAAA+NgFrrKIsWRmVeSWpSXmKPExsVy+t9jQV2z3UIhBjMsLG6tO8dqceXrezaL s01v2C0u75rDZjHj/D4mi7VH7rJbzJj8ks2B3eN+93Emj74tqxg9Pm+SC2COamC0yUhNTEkt UkjNS85PycxLt1XyDo53jjc1MzDUNbS0MFdSyEvMTbVVcvEJ0HXLzAFarqRQlphTChQKSCwu VtK3wzQhNMRN1wKmMULXNyQIrsfIAA0krGHMWDLzPVvBGrWKzoUSDYzLFboYOTkkBEwkjt9e wQZhi0lcuLceyObiEBKYzihxcfMrFpAEr4CgxI/J94BsDg5mAXmJI5eyQcLMAuoSk+YtYoao f8Uo0bisFapeS+LB9eWsIDaLgKrE9c0rwGw2IHviivtgy0QFwiRevNoF1iwicJxJYve562DN wgI+Egeu7mSHmHqcUaL5fisryGZOAXOJW+tjJjDyz0Jy0yyEm2YhuWkBI/MqRtHUguSC4qT0 XCO94sTc4tK8dL3k/NxNjOAofSa9g3FVg8UhRgEORiUe3koWwRAh1sSy4srcQ4wSHMxKIrw/ twmFCPGmJFZWpRblxxeV5qQWH2I0BfpoIrOUaHI+MIHklcQbGpuYGVkamRtaGBmbK4nzHmy1 DhQSSE8sSc1OTS1ILYLpY+LglGpgzHS5vyFNpF1qwgu+9e1Jb7Nv3A7dsvbWHM2PIY+k15d1 n+Dr4leIbN+z98wHE3HjpqBJd+Y+u7ZsD8u/rac5WKo97ptZbt0SNrlUhkdP6ey2gOKzn7Y9 SXecIMHpXpjx4dRePuWAXO7+tcXXP9WdcFzCMX3ebs/fablLmuZUJPOWuTiV3hSPUmIpzkg0 1GIuKk4EALwZGLroAgAA DLP-Filter: Pass X-MTR: 20000000000000000@CPGS X-CFilter-Loop: Reflected Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On 2014년 09월 12일 17:57, Daniel Vetter wrote: > On Fri, Sep 12, 2014 at 05:34:50PM +0900, Inki Dae wrote: >> Hi Andrzej, >> >> On 2014년 09월 09일 22:16, Andrzej Hajda wrote: >>> Adding reference to framebuffer should be accompanied with removing >>> reference to old framebuffer assigned to the plane. >>> This patch removes following warning: >>> >>> [ 95.038017] WARNING: CPU: 1 PID: 3067 at drivers/gpu/drm/drm_crtc.c:5115 drm_mode_config_cleanup+0x258/0x268() >>> [ 95.048086] Modules linked in: >>> [ 95.051430] CPU: 1 PID: 3067 Comm: bash Tainted: G W 3.16.0-11355-g7a6eca5-dirty #3015 >>> [ 95.060058] [] (unwind_backtrace) from [] (show_stack+0x10/0x14) >>> [ 95.067766] [] (show_stack) from [] (dump_stack+0x70/0xbc) >>> [ 95.074953] [] (dump_stack) from [] (warn_slowpath_common+0x64/0x88) >>> [ 95.083005] [] (warn_slowpath_common) from [] (warn_slowpath_null+0x1c/0x24) >>> [ 95.091780] [] (warn_slowpath_null) from [] (drm_mode_config_cleanup+0x258/0x268) >>> [ 95.100983] [] (drm_mode_config_cleanup) from [] (exynos_drm_unload+0x38/0x50) >>> [ 95.109915] [] (exynos_drm_unload) from [] (drm_dev_unregister+0x24/0x98) >>> [ 95.118414] [] (drm_dev_unregister) from [] (drm_put_dev+0x28/0x64) >>> [ 95.126412] [] (drm_put_dev) from [] (take_down_master+0x24/0x44) >>> [ 95.134218] [] (take_down_master) from [] (component_del+0x8c/0xc8) >>> [ 95.142201] [] (component_del) from [] (exynos_dsi_remove+0x18/0x2c) >>> [ 95.150294] [] (exynos_dsi_remove) from [] (platform_drv_remove+0x18/0x1c) >>> [ 95.158872] [] (platform_drv_remove) from [] (__device_release_driver+0x70/0xc4) >>> [ 95.167981] [] (__device_release_driver) from [] (device_release_driver+0x20/0x2c) >>> [ 95.177268] [] (device_release_driver) from [] (unbind_store+0x5c/0x94) >>> [ 95.185597] [] (unbind_store) from [] (drv_attr_store+0x20/0x2c) >>> [ 95.193323] [] (drv_attr_store) from [] (sysfs_kf_write+0x4c/0x50) >>> [ 95.201224] [] (sysfs_kf_write) from [] (kernfs_fop_write+0xc4/0x184) >>> [ 95.209393] [] (kernfs_fop_write) from [] (vfs_write+0xa0/0x1a8) >>> [ 95.217111] [] (vfs_write) from [] (SyS_write+0x40/0x8c) >>> [ 95.224146] [] (SyS_write) from [] (ret_fast_syscall+0x0/0x48) >>> >>> Signed-off-by: Andrzej Hajda >>> --- >>> drivers/gpu/drm/exynos/exynos_drm_crtc.c | 6 ++++++ >>> 1 file changed, 6 insertions(+) >>> >>> diff --git a/drivers/gpu/drm/exynos/exynos_drm_crtc.c b/drivers/gpu/drm/exynos/exynos_drm_crtc.c >>> index b68e58f..bde19f4 100644 >>> --- a/drivers/gpu/drm/exynos/exynos_drm_crtc.c >>> +++ b/drivers/gpu/drm/exynos/exynos_drm_crtc.c >>> @@ -145,10 +145,16 @@ exynos_drm_crtc_mode_set(struct drm_crtc *crtc, struct drm_display_mode *mode, >>> if (ret) >>> return ret; >>> >>> + /* we need to unreference current fb after replacing it with new one */ >>> + old_fb = plane->fb; >>> + >>> plane->crtc = crtc; >>> plane->fb = crtc->primary->fb; >>> drm_framebuffer_reference(plane->fb); >>> >>> + if (old_fb) >>> + drm_framebuffer_unreference(old_fb); >> >> This time would be a good chance that we can consider drm flip queue to >> make sure that whole memory region to old_fb is scanned out completely >> before dropping a reference of old_fb. the reference of old_fb should be >> dropped at irq handler of each crtc devices, fimd and mixer. > > Generally it's not a good idea to drop fb references from irq context, > since if you actually drop the last reference it'll blow up: fb cleanup > needs a bunch of mutexes. Actually, drm_flip_work_commit function will be called at irq context so the reference will be dropped by work queue handler so mutex lock would be required before dropping the reference. My concern was that gem memory may be freed before the memory region is scanned out completely so I thought we need to make sure to scan out completely somehow. > > Also the drm core really should be taking care of this for you, you only > need to grab references yourself for async flips if you want the buffer to > survive a bit. crtc_mode_set has not need for this. I expect that the > refcounting bug is somewhere else, at least from my experience chasing > such issues in i915 ;-) Thanks for comments. Yes, there may be refcounting bug somewhere else if drm core makes sure to take care of this. It seems to need more checking. Thanks, Inki Dae > -Daniel >