From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from galahad.ideasonboard.com ([185.26.127.97]:39942 "EHLO galahad.ideasonboard.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751894AbdCCOoT (ORCPT ); Fri, 3 Mar 2017 09:44:19 -0500 From: Laurent Pinchart To: jacopo mondi Cc: Jacopo Mondi , dri-devel@lists.freedesktop.org, linux-renesas-soc@vger.kernel.org Subject: Re: [PATCH] drm: rcar-du: Make sure DRM planes are created by VSP1 Date: Fri, 03 Mar 2017 16:27:09 +0200 Message-ID: <6396046.SS1XSBFpJR@avalon> In-Reply-To: <2fcd3ee9-eb17-aaef-a2d7-158c8c7985a9@jmondi.org> References: <1488528578-26978-1-git-send-email-jacopo+renesas@jmondi.org> <2578296.10DKCH3R7T@avalon> <2fcd3ee9-eb17-aaef-a2d7-158c8c7985a9@jmondi.org> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-renesas-soc-owner@vger.kernel.org List-ID: Hi Jacopo, On Friday 03 Mar 2017 13:37:56 jacopo mondi wrote: > On 03/03/2017 12:26, Laurent Pinchart wrote: > > On Friday 03 Mar 2017 09:09:38 Jacopo Mondi wrote: > >> On Gen3 platforms compositing planes are allocated by VSP on behalf of > >> DRM/KMS. If VSP support is not compiled in, vsp1 initialization stub > >> routine is called, leading to invalid memory accesses later on when un- > >> initialized planes are accessed. > >> > >> Fail explicitly earlier if planes are not properly created. > >> > >> Signed-off-by: Jacopo Mondi > >> --- > >> > >> drivers/gpu/drm/rcar-du/rcar_du_kms.c | 3 +++ > >> 1 file changed, 3 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > >> b/drivers/gpu/drm/rcar-du/rcar_du_kms.c index b5d3f16..7f56c09 100644 > >> --- a/drivers/gpu/drm/rcar-du/rcar_du_kms.c > >> +++ b/drivers/gpu/drm/rcar-du/rcar_du_kms.c > >> @@ -616,6 +616,9 @@ int rcar_du_modeset_init(struct rcar_du_device *rcdu) > >> ret = rcar_du_vsp_init(vsp); > >> if (ret < 0) > >> return ret; > >> + > >> + if (!vsp->planes) > >> + return -EINVAL; > > > > Given that this code is only called when the DU hardware requires the VSP > > to operate, how about modifying the rcar_du_vsp_init() stub function to > > return - ENXIO instead of 0 ? That way you won't need to add an > > additional check here. > > Ok, I'll make sure it is only called there also. > > > Ideally we should require VSP through Kconfig as well. If you feel like > > submitting a patch (and testing it with various combinations of module and > > built-in) it would be appreciated. > > That would be ideal. > Am I wrong or the condition that selects DRM_RCAR_VSP is (DRM_RCAR_DU && > Gen3-platform)? Implying that on Gen2 DU can live without VSP enabled? That's correct. On Gen2 VSP isn't required to operate the display. > >> } > >> > >> } -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH] drm: rcar-du: Make sure DRM planes are created by VSP1 Date: Fri, 03 Mar 2017 16:27:09 +0200 Message-ID: <6396046.SS1XSBFpJR@avalon> References: <1488528578-26978-1-git-send-email-jacopo+renesas@jmondi.org> <2578296.10DKCH3R7T@avalon> <2fcd3ee9-eb17-aaef-a2d7-158c8c7985a9@jmondi.org> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from galahad.ideasonboard.com (galahad.ideasonboard.com [185.26.127.97]) by gabe.freedesktop.org (Postfix) with ESMTPS id 893396E29B for ; Fri, 3 Mar 2017 14:26:38 +0000 (UTC) In-Reply-To: <2fcd3ee9-eb17-aaef-a2d7-158c8c7985a9@jmondi.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: jacopo mondi Cc: linux-renesas-soc@vger.kernel.org, Jacopo Mondi , dri-devel@lists.freedesktop.org List-Id: dri-devel@lists.freedesktop.org SGkgSmFjb3BvLAoKT24gRnJpZGF5IDAzIE1hciAyMDE3IDEzOjM3OjU2IGphY29wbyBtb25kaSB3 cm90ZToKPiBPbiAwMy8wMy8yMDE3IDEyOjI2LCBMYXVyZW50IFBpbmNoYXJ0IHdyb3RlOgo+ID4g T24gRnJpZGF5IDAzIE1hciAyMDE3IDA5OjA5OjM4IEphY29wbyBNb25kaSB3cm90ZToKPiA+PiBP biBHZW4zIHBsYXRmb3JtcyBjb21wb3NpdGluZyBwbGFuZXMgYXJlIGFsbG9jYXRlZCAgYnkgVlNQ IG9uIGJlaGFsZiBvZgo+ID4+IERSTS9LTVMuIElmIFZTUCBzdXBwb3J0IGlzIG5vdCBjb21waWxl ZCBpbiwgdnNwMSBpbml0aWFsaXphdGlvbiBzdHViCj4gPj4gcm91dGluZSBpcyBjYWxsZWQsIGxl YWRpbmcgdG8gaW52YWxpZCBtZW1vcnkgYWNjZXNzZXMgbGF0ZXIgb24gd2hlbiB1bi0KPiA+PiBp bml0aWFsaXplZCBwbGFuZXMgYXJlIGFjY2Vzc2VkLgo+ID4+IAo+ID4+IEZhaWwgZXhwbGljaXRs eSBlYXJsaWVyIGlmIHBsYW5lcyBhcmUgbm90IHByb3Blcmx5IGNyZWF0ZWQuCj4gPj4gCj4gPj4g U2lnbmVkLW9mZi1ieTogSmFjb3BvIE1vbmRpIDxqYWNvcG8rcmVuZXNhc0BqbW9uZGkub3JnPgo+ ID4+IC0tLQo+ID4+IAo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5j IHwgMyArKysKPiA+PiAgMSBmaWxlIGNoYW5nZWQsIDMgaW5zZXJ0aW9ucygrKQo+ID4+IAo+ID4+ IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jCj4gPj4g Yi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2ttcy5jIGluZGV4IGI1ZDNmMTYuLjdm NTZjMDkgMTAwNjQ0Cj4gPj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV9r bXMuYwo+ID4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfa21zLmMKPiA+ PiBAQCAtNjE2LDYgKzYxNiw5IEBAIGludCByY2FyX2R1X21vZGVzZXRfaW5pdChzdHJ1Y3QgcmNh cl9kdV9kZXZpY2UgKnJjZHUpCj4gPj4gIAkJCXJldCA9IHJjYXJfZHVfdnNwX2luaXQodnNwKTsK PiA+PiAgCQkJaWYgKHJldCA8IDApCj4gPj4gIAkJCQlyZXR1cm4gcmV0Owo+ID4+ICsKPiA+PiAr CQkJaWYgKCF2c3AtPnBsYW5lcykKPiA+PiArCQkJCXJldHVybiAtRUlOVkFMOwo+ID4gCj4gPiBH aXZlbiB0aGF0IHRoaXMgY29kZSBpcyBvbmx5IGNhbGxlZCB3aGVuIHRoZSBEVSBoYXJkd2FyZSBy ZXF1aXJlcyB0aGUgVlNQCj4gPiB0byBvcGVyYXRlLCBob3cgYWJvdXQgbW9kaWZ5aW5nIHRoZSBy Y2FyX2R1X3ZzcF9pbml0KCkgc3R1YiBmdW5jdGlvbiB0bwo+ID4gcmV0dXJuIC0gRU5YSU8gaW5z dGVhZCBvZiAwID8gVGhhdCB3YXkgeW91IHdvbid0IG5lZWQgdG8gYWRkIGFuCj4gPiBhZGRpdGlv bmFsIGNoZWNrIGhlcmUuCj4KPiBPaywgSSdsbCBtYWtlIHN1cmUgaXQgaXMgb25seSBjYWxsZWQg dGhlcmUgYWxzby4KPiAKPiA+IElkZWFsbHkgd2Ugc2hvdWxkIHJlcXVpcmUgVlNQIHRocm91Z2gg S2NvbmZpZyBhcyB3ZWxsLiBJZiB5b3UgZmVlbCBsaWtlCj4gPiBzdWJtaXR0aW5nIGEgcGF0Y2gg KGFuZCB0ZXN0aW5nIGl0IHdpdGggdmFyaW91cyBjb21iaW5hdGlvbnMgb2YgbW9kdWxlIGFuZAo+ ID4gYnVpbHQtaW4pIGl0IHdvdWxkIGJlIGFwcHJlY2lhdGVkLgo+IAo+IFRoYXQgd291bGQgYmUg aWRlYWwuCj4gQW0gSSB3cm9uZyBvciB0aGUgY29uZGl0aW9uIHRoYXQgc2VsZWN0cyBEUk1fUkNB Ul9WU1AgaXMgKERSTV9SQ0FSX0RVICYmCj4gR2VuMy1wbGF0Zm9ybSk/IEltcGx5aW5nIHRoYXQg b24gR2VuMiBEVSBjYW4gbGl2ZSB3aXRob3V0IFZTUCBlbmFibGVkPwoKVGhhdCdzIGNvcnJlY3Qu IE9uIEdlbjIgVlNQIGlzbid0IHJlcXVpcmVkIHRvIG9wZXJhdGUgdGhlIGRpc3BsYXkuCgo+ID4+ ICAJCX0KPiA+PiAgCQo+ID4+ICAJfQoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0Cgpf X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fXwpkcmktZGV2ZWwg bWFpbGluZyBsaXN0CmRyaS1kZXZlbEBsaXN0cy5mcmVlZGVza3RvcC5vcmcKaHR0cHM6Ly9saXN0 cy5mcmVlZGVza3RvcC5vcmcvbWFpbG1hbi9saXN0aW5mby9kcmktZGV2ZWwK