From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru-Cosmin Gheorghe Subject: Re: [PATCH 01/10] drm/atomic: Add __drm_atomic_helper_plane_reset Date: Tue, 24 Jul 2018 09:14:02 +0100 Message-ID: <20180724081402.GB22689@e114479-lin.cambridge.arm.com> References: <20180713161407.GQ20303@art_vandelay> <20180720211509.23605-1-alexandru-cosmin.gheorghe@arm.com> <20180720211509.23605-2-alexandru-cosmin.gheorghe@arm.com> <1532418533.4078.2.camel@pengutronix.de> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <1532418533.4078.2.camel@pengutronix.de> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: Philipp Zabel Cc: alexandre.belloni@bootlin.com, airlied@linux.ie, liviu.dudau@arm.com, dri-devel@lists.freedesktop.org, laurent.pinchart@ideasonboard.com, thellstrom@vmware.com, krzk@kernel.org, maxime.ripard@bootlin.com, wens@csie.org, kgene@kernel.org, malidp@foss.arm.com, linux-graphics-maintainer@vmware.com, sunpeng.li@amd.com, boris.brezillon@bootlin.com, linux-samsung-soc@vger.kernel.org, nd@arm.com, Tony.Cheng@amd.com, linux-arm-kernel@lists.infradead.org, sw0312.kim@samsung.com, nicolas.ferre@microchip.com, shirish.s@amd.com, kyungmin.park@samsung.com, alexander.deucher@amd.com, christian.koenig@amd.com List-Id: linux-samsung-soc@vger.kernel.org T24gVHVlLCBKdWwgMjQsIDIwMTggYXQgMDk6NDg6NTNBTSArMDIwMCwgUGhpbGlwcCBaYWJlbCB3 cm90ZToKPiBIaSBBbGV4YW5kcnUsCj4gCj4gT24gRnJpLCAyMDE4LTA3LTIwIGF0IDIyOjE1ICsw MTAwLCBBbGV4YW5kcnUgR2hlb3JnaGUgd3JvdGU6Cj4gPiBUaGVyZSBhcmUgYSBsb3Qgb2YgZHJp dmVycyB0aGF0IHN1YmNsYXNzIGRybV9wbGFuZV9zdGF0ZSwgYWxsIG9mIHRoZW0KPiA+IGR1cGxp Y2F0ZSB0aGUgY29kZSB0aGF0IGxpbmtzIHRvZ2hldGhlciB0aGUgcGxhbmUgd2l0aCBwbGFuZV9z dGF0ZS4KPiA+IAo+ID4gT24gdG9wIG9mIHRoYXQsIGRyaXZlcnMgdGhhdCBlbmFibGUgY29yZSBw cm9wZXJ0aWVzIGFsc28gaGF2ZSB0bwo+ID4gZHVwbGljYXRlIHRoZSBjb2RlIGZvciBpbml0aWFs aXppbmcgdGhlIHByb3BlcnRpZXMgdG8gdGhlaXIgZGVmYXVsdAo+ID4gdmFsdWVzLCB3aGljaCBp biBhbGwgY2FzZXMgYXJlIHRoZSBzYW1lIGFzIHRoZSBkZWZhdWx0cyBmcm9tIGNvcmUuCj4gPiAK PiA+IFNpZ25lZC1vZmYtYnk6IEFsZXhhbmRydSBHaGVvcmdoZSA8YWxleGFuZHJ1LWNvc21pbi5n aGVvcmdoZUBhcm0uY29tPgo+ID4gLS0tCj4gPiAgZHJpdmVycy9ncHUvZHJtL2RybV9hdG9taWNf aGVscGVyLmMgfCAzMiArKysrKysrKysrKysrKysrKysrKystLS0tLS0tLQo+ID4gIGluY2x1ZGUv ZHJtL2RybV9hdG9taWNfaGVscGVyLmggICAgIHwgIDIgKysKPiA+ICAyIGZpbGVzIGNoYW5nZWQs IDI1IGluc2VydGlvbnMoKyksIDkgZGVsZXRpb25zKC0pCj4gPiAKPiA+IGRpZmYgLS1naXQgYS9k cml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYyBiL2RyaXZlcnMvZ3B1L2RybS9kcm1f YXRvbWljX2hlbHBlci5jCj4gPiBpbmRleCA4MDA4YTdkZTJlMTAuLmUxYzZmMTAxNjUyZSAxMDA2 NDQKPiA+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9kcm1fYXRvbWljX2hlbHBlci5jCj4gPiArKysg Yi9kcml2ZXJzL2dwdS9kcm0vZHJtX2F0b21pY19oZWxwZXIuYwo+ID4gQEAgLTM1MDcsNiArMzUw NywyOCBAQCB2b2lkIGRybV9hdG9taWNfaGVscGVyX2NydGNfZGVzdHJveV9zdGF0ZShzdHJ1Y3Qg ZHJtX2NydGMgKmNydGMsCj4gPiAgfQo+ID4gIEVYUE9SVF9TWU1CT0woZHJtX2F0b21pY19oZWxw ZXJfY3J0Y19kZXN0cm95X3N0YXRlKTsKPiA+ICAKPiA+ICsvKioKPiA+ICsgKiBfX2RybV9hdG9t aWNfaGVscGVyX3BsYW5lX3Jlc2V0IC0gcmVzZXRzIHBsYW5lcyBzdGF0ZSB0byBkZWZhdWx0IHZh bHVlcwo+ID4gKyAqIEBwbGFuZTogcGxhbmUgb2JqZWN0Cj4gPiArICogQG5ld19zdGF0ZTogYXRv bWljIHBsYW5lIHN0YXRlCj4gPiArICoKPiA+ICsgKiBJbml0aWFsaXplcyBwbGFuZSBzdGF0ZSB0 byBkZWZhdWx0LiBUaGlzIGlzIHVzZWZ1bCBmb3IgZHJpdmVycyB0aGF0IHN1YmNsYXNzCj4gPiAr ICogdGhlIHBsYW5lIHN0YXRlLgo+ID4gKyAqLwo+ID4gK3ZvaWQgX19kcm1fYXRvbWljX2hlbHBl cl9wbGFuZV9yZXNldChzdHJ1Y3QgZHJtX3BsYW5lICpwbGFuZSwKPiA+ICsJCQkJICAgICBzdHJ1 Y3QgZHJtX3BsYW5lX3N0YXRlICpzdGF0ZSkKPiA+ICt7Cj4gPiArCWlmIChzdGF0ZSkgewo+ID4g KwkJc3RhdGUtPnBsYW5lID0gcGxhbmU7Cj4gPiArCQlzdGF0ZS0+cm90YXRpb24gPSBEUk1fTU9E RV9ST1RBVEVfMDsKPiA+ICsJCS8qIFJlc2V0IHRoZSBhbHBoYSB2YWx1ZSB0byBmdWxseSBvcGFx dWUgaWYgaXQgbWF0dGVycyAqLwo+ID4gKwkJaWYgKHBsYW5lLT5hbHBoYV9wcm9wZXJ0eSkKPiA+ ICsJCQlzdGF0ZS0+YWxwaGEgPSBwbGFuZS0+YWxwaGFfcHJvcGVydHktPnZhbHVlc1sxXTsKPiA+ ICsJfQo+IAo+IElzIHRoaXMgZnVuY3Rpb24gc3VwcG9zZWQgdG8gYmUgY2FsbGFibGUgd2l0aCBz dGF0ZSA9PSBOVUxMID8KPiAKPiA+ICsJcGxhbmUtPnN0YXRlID0gc3RhdGU7Cj4gCj4gSWYgc28s IHRoZSBjb21tZW50IGNvdWxkIG1lbnRpb24gdGhhdCB0aGlzIHNldHMgcGxhbmUtPnN0YXRlIHRv IE5VTEwgaWYKPiBzdGF0ZSA9PSBOVUxMLCBhbmQgYSBmZXcgb2YgdGhlIGNhbGwgc2l0ZXMgY291 bGQgYmUgc2ltcGxpZmllZC4KPiAKPiBJZiBub3QsIEkgd291bGQgcmVtb3ZlIHRoZSBjb25kaXRp b25hbCBpZiAoc3RhdGUpIHt9IHBhcnQgYW5kIGFsc28KPiBtZW50aW9uIHRoaXMgaW4gdGhlIGNv bW1lbnQuCgpZZXMsIEl0J3MgaW50ZW5kZWQgdG8gYmUgY2FsbGFibGUgd2l0aCBudWxsLiBJIHdp bGwgdXBkYXRlIHRoZQpjb21tZW50LgoKPiAKPiByZWdhcmRzCj4gUGhpbGlwcAoKLS0gCkNoZWVy cywKQWxleCBHCl9fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f CmRyaS1kZXZlbCBtYWlsaW5nIGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpo dHRwczovL2xpc3RzLmZyZWVkZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo= From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alexandru-Cosmin.Gheorghe@arm.com (Alexandru-Cosmin Gheorghe) Date: Tue, 24 Jul 2018 09:14:02 +0100 Subject: [PATCH 01/10] drm/atomic: Add __drm_atomic_helper_plane_reset In-Reply-To: <1532418533.4078.2.camel@pengutronix.de> References: <20180713161407.GQ20303@art_vandelay> <20180720211509.23605-1-alexandru-cosmin.gheorghe@arm.com> <20180720211509.23605-2-alexandru-cosmin.gheorghe@arm.com> <1532418533.4078.2.camel@pengutronix.de> Message-ID: <20180724081402.GB22689@e114479-lin.cambridge.arm.com> To: linux-arm-kernel@lists.infradead.org List-Id: linux-arm-kernel.lists.infradead.org On Tue, Jul 24, 2018 at 09:48:53AM +0200, Philipp Zabel wrote: > Hi Alexandru, > > On Fri, 2018-07-20 at 22:15 +0100, Alexandru Gheorghe wrote: > > There are a lot of drivers that subclass drm_plane_state, all of them > > duplicate the code that links toghether the plane with plane_state. > > > > On top of that, drivers that enable core properties also have to > > duplicate the code for initializing the properties to their default > > values, which in all cases are the same as the defaults from core. > > > > Signed-off-by: Alexandru Gheorghe > > --- > > drivers/gpu/drm/drm_atomic_helper.c | 32 +++++++++++++++++++++-------- > > include/drm/drm_atomic_helper.h | 2 ++ > > 2 files changed, 25 insertions(+), 9 deletions(-) > > > > diff --git a/drivers/gpu/drm/drm_atomic_helper.c b/drivers/gpu/drm/drm_atomic_helper.c > > index 8008a7de2e10..e1c6f101652e 100644 > > --- a/drivers/gpu/drm/drm_atomic_helper.c > > +++ b/drivers/gpu/drm/drm_atomic_helper.c > > @@ -3507,6 +3507,28 @@ void drm_atomic_helper_crtc_destroy_state(struct drm_crtc *crtc, > > } > > EXPORT_SYMBOL(drm_atomic_helper_crtc_destroy_state); > > > > +/** > > + * __drm_atomic_helper_plane_reset - resets planes state to default values > > + * @plane: plane object > > + * @new_state: atomic plane state > > + * > > + * Initializes plane state to default. This is useful for drivers that subclass > > + * the plane state. > > + */ > > +void __drm_atomic_helper_plane_reset(struct drm_plane *plane, > > + struct drm_plane_state *state) > > +{ > > + if (state) { > > + state->plane = plane; > > + state->rotation = DRM_MODE_ROTATE_0; > > + /* Reset the alpha value to fully opaque if it matters */ > > + if (plane->alpha_property) > > + state->alpha = plane->alpha_property->values[1]; > > + } > > Is this function supposed to be callable with state == NULL ? > > > + plane->state = state; > > If so, the comment could mention that this sets plane->state to NULL if > state == NULL, and a few of the call sites could be simplified. > > If not, I would remove the conditional if (state) {} part and also > mention this in the comment. Yes, It's intended to be callable with null. I will update the comment. > > regards > Philipp -- Cheers, Alex G