From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: From: Laurent Pinchart To: kieran.bingham+renesas@ideasonboard.com Cc: linux-renesas-soc@vger.kernel.org, linux-media@vger.kernel.org, dri-devel@lists.freedesktop.org Subject: Re: [PATCH v4 11/11] drm: rcar-du: Support interlaced video output through vsp1 Date: Tue, 17 Jul 2018 16:51:02 +0300 Message-ID: <11186195.Bn5zmcZr3a@avalon> In-Reply-To: <6039245e-122c-b1fb-c0f9-09911784216e@ideasonboard.com> References: <10463435.CoRpyeppX3@avalon> <6039245e-122c-b1fb-c0f9-09911784216e@ideasonboard.com> MIME-Version: 1.0 Content-Transfer-Encoding: 7Bit Content-Type: text/plain; charset="us-ascii" Sender: linux-media-owner@vger.kernel.org List-ID: Hi Kieran, On Monday, 16 July 2018 20:20:30 EEST Kieran Bingham wrote: > On 24/05/18 12:50, Laurent Pinchart wrote: > > On Thursday, 3 May 2018 16:36:22 EEST Kieran Bingham wrote: > >> Use the newly exposed VSP1 interface to enable interlaced frame support > >> through the VSP1 lif pipelines. > > > > s/lif/LIF/ > > Fixed. > > >> Signed-off-by: Kieran Bingham > >> --- > >> > >> drivers/gpu/drm/rcar-du/rcar_du_crtc.c | 1 + > >> drivers/gpu/drm/rcar-du/rcar_du_vsp.c | 3 +++ > >> 2 files changed, 4 insertions(+) > >> > >> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > >> b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c index d71d709fe3d9..206532959ec9 > >> 100644 > >> --- a/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > >> +++ b/drivers/gpu/drm/rcar-du/rcar_du_crtc.c > >> @@ -289,6 +289,7 @@ static void rcar_du_crtc_set_display_timing(struct > >> rcar_du_crtc *rcrtc) > >> /* Signal polarities */ > >> value = ((mode->flags & DRM_MODE_FLAG_PVSYNC) ? DSMR_VSL : 0) > >> | ((mode->flags & DRM_MODE_FLAG_PHSYNC) ? DSMR_HSL : 0) > >> + | ((mode->flags & DRM_MODE_FLAG_INTERLACE) ? DSMR_ODEV : 0) > > > > How will this affect Gen2 ?. > > The bit is documented identically for Gen2. Potentially / Probably it > 'might' reverse the fields... I'm not certain yet. I don't have access > to a Gen2 platform to test. > > I'll see if this change can be dropped, but I think it is playing a role > in ensuring that the field detection occurs in VSP1 through the > VI6_STATUS_FLD_STD() field. (see vsp1_dlm_irq_frame_end()) > > > Could you document what this change does in the > > commit message ? > > This sets the position in the buffer of the ODDF. With this set, the ODD > field is located in the second half (BOTTOM) of the same frame of the > interlace display. > > Otherwise, it's in the first half (TOP) > > I faced some issues as to the ordering when testing, so I suspect this > might actually be related to that. (re VI6_STATUS_FLD_STD in > vsp1_dlm_irq_frame_end()). > > As you mention - this may have a negative effect on the Gen2 > implementation - so it needs considering with that. > > > /me to investigate further. Thank you. I don't object to this change, but I'd like to know what its implications are on Gen2. It might even fix a bug :-) Let me know if you'd like me to run tests on a Lager board. > >> | DSMR_DIPM_DISP | DSMR_CSPM; > >> > >> rcar_du_crtc_write(rcrtc, DSMR, value); > >> > >> diff --git a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > >> b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c index af7822a66dee..c7b37232ee91 > >> 100644 > >> --- a/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > >> +++ b/drivers/gpu/drm/rcar-du/rcar_du_vsp.c > >> @@ -186,6 +186,9 @@ static void rcar_du_vsp_plane_setup(struct > >> rcar_du_vsp_plane *plane) > >> }; > >> unsigned int i; > >> > >> + cfg.interlaced = !!(plane->plane.state->crtc->mode.flags > >> + & DRM_MODE_FLAG_INTERLACE); > >> + > >> cfg.src.left = state->state.src.x1 >> 16; > >> cfg.src.top = state->state.src.y1 >> 16; > >> cfg.src.width = drm_rect_width(&state->state.src) >> 16; -- Regards, Laurent Pinchart From mboxrd@z Thu Jan 1 00:00:00 1970 From: Laurent Pinchart Subject: Re: [PATCH v4 11/11] drm: rcar-du: Support interlaced video output through vsp1 Date: Tue, 17 Jul 2018 16:51:02 +0300 Message-ID: <11186195.Bn5zmcZr3a@avalon> References: <10463435.CoRpyeppX3@avalon> <6039245e-122c-b1fb-c0f9-09911784216e@ideasonboard.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Received: from perceval.ideasonboard.com (perceval.ideasonboard.com [IPv6:2001:4b98:dc2:55:216:3eff:fef7:d647]) by gabe.freedesktop.org (Postfix) with ESMTPS id 7C7CE6E71E for ; Tue, 17 Jul 2018 13:50:30 +0000 (UTC) In-Reply-To: <6039245e-122c-b1fb-c0f9-09911784216e@ideasonboard.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dri-devel-bounces@lists.freedesktop.org Sender: "dri-devel" To: kieran.bingham+renesas@ideasonboard.com Cc: linux-renesas-soc@vger.kernel.org, dri-devel@lists.freedesktop.org, linux-media@vger.kernel.org List-Id: dri-devel@lists.freedesktop.org SGkgS2llcmFuLAoKT24gTW9uZGF5LCAxNiBKdWx5IDIwMTggMjA6MjA6MzAgRUVTVCBLaWVyYW4g QmluZ2hhbSB3cm90ZToKPiBPbiAyNC8wNS8xOCAxMjo1MCwgTGF1cmVudCBQaW5jaGFydCB3cm90 ZToKPiA+IE9uIFRodXJzZGF5LCAzIE1heSAyMDE4IDE2OjM2OjIyIEVFU1QgS2llcmFuIEJpbmdo YW0gd3JvdGU6Cj4gPj4gVXNlIHRoZSBuZXdseSBleHBvc2VkIFZTUDEgaW50ZXJmYWNlIHRvIGVu YWJsZSBpbnRlcmxhY2VkIGZyYW1lIHN1cHBvcnQKPiA+PiB0aHJvdWdoIHRoZSBWU1AxIGxpZiBw aXBlbGluZXMuCj4gPiAKPiA+IHMvbGlmL0xJRi8KPiAKPiBGaXhlZC4KPiAKPiA+PiBTaWduZWQt b2ZmLWJ5OiBLaWVyYW4gQmluZ2hhbSA8a2llcmFuLmJpbmdoYW0rcmVuZXNhc0BpZGVhc29uYm9h cmQuY29tPgo+ID4+IC0tLQo+ID4+IAo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2R1X2NydGMuYyB8IDEgKwo+ID4+ICBkcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X3Zz cC5jICB8IDMgKysrCj4gPj4gIDIgZmlsZXMgY2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCj4gPj4g Cj4gPj4gZGlmZiAtLWdpdCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5j Cj4gPj4gYi9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyBpbmRleCBkNzFk NzA5ZmUzZDkuLjIwNjUzMjk1OWVjOQo+ID4+IDEwMDY0NAo+ID4+IC0tLSBhL2RyaXZlcnMvZ3B1 L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3Jj YXItZHUvcmNhcl9kdV9jcnRjLmMKPiA+PiBAQCAtMjg5LDYgKzI4OSw3IEBAIHN0YXRpYyB2b2lk IHJjYXJfZHVfY3J0Y19zZXRfZGlzcGxheV90aW1pbmcoc3RydWN0Cj4gPj4gcmNhcl9kdV9jcnRj ICpyY3J0YykKPiA+PiAgCS8qIFNpZ25hbCBwb2xhcml0aWVzICovCj4gPj4gIAl2YWx1ZSA9ICgo bW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX1BWU1lOQykgPyBEU01SX1ZTTCA6IDApCj4gPj4g IAkgICAgICB8ICgobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX1BIU1lOQykgPyBEU01SX0hT TCA6IDApCj4gPj4gKwkgICAgICB8ICgobW9kZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVS TEFDRSkgPyBEU01SX09ERVYgOiAwKQo+ID4gCj4gPiBIb3cgd2lsbCB0aGlzIGFmZmVjdCBHZW4y ID8uCj4gCj4gVGhlIGJpdCBpcyBkb2N1bWVudGVkIGlkZW50aWNhbGx5IGZvciBHZW4yLiBQb3Rl bnRpYWxseSAvIFByb2JhYmx5IGl0Cj4gJ21pZ2h0JyByZXZlcnNlIHRoZSBmaWVsZHMuLi4gSSdt IG5vdCBjZXJ0YWluIHlldC4gSSBkb24ndCBoYXZlIGFjY2Vzcwo+IHRvIGEgR2VuMiBwbGF0Zm9y bSB0byB0ZXN0Lgo+IAo+IEknbGwgc2VlIGlmIHRoaXMgY2hhbmdlIGNhbiBiZSBkcm9wcGVkLCBi dXQgSSB0aGluayBpdCBpcyBwbGF5aW5nIGEgcm9sZQo+IGluIGVuc3VyaW5nIHRoYXQgdGhlIGZp ZWxkIGRldGVjdGlvbiBvY2N1cnMgaW4gVlNQMSB0aHJvdWdoIHRoZQo+IFZJNl9TVEFUVVNfRkxE X1NURCgpIGZpZWxkLiAoc2VlIHZzcDFfZGxtX2lycV9mcmFtZV9lbmQoKSkKPiAKPiA+IENvdWxk IHlvdSBkb2N1bWVudCB3aGF0IHRoaXMgY2hhbmdlIGRvZXMgaW4gdGhlCj4gPiBjb21taXQgbWVz c2FnZSA/Cj4gCj4gVGhpcyBzZXRzIHRoZSBwb3NpdGlvbiBpbiB0aGUgYnVmZmVyIG9mIHRoZSBP RERGLiBXaXRoIHRoaXMgc2V0LCB0aGUgT0RECj4gZmllbGQgaXMgbG9jYXRlZCBpbiB0aGUgc2Vj b25kIGhhbGYgKEJPVFRPTSkgb2YgdGhlIHNhbWUgZnJhbWUgb2YgdGhlCj4gaW50ZXJsYWNlIGRp c3BsYXkuCj4gCj4gT3RoZXJ3aXNlLCBpdCdzIGluIHRoZSBmaXJzdCBoYWxmIChUT1ApCj4gCj4g SSBmYWNlZCBzb21lIGlzc3VlcyBhcyB0byB0aGUgb3JkZXJpbmcgd2hlbiB0ZXN0aW5nLCBzbyBJ IHN1c3BlY3QgdGhpcwo+IG1pZ2h0IGFjdHVhbGx5IGJlIHJlbGF0ZWQgdG8gdGhhdC4gKHJlIFZJ Nl9TVEFUVVNfRkxEX1NURCBpbgo+IHZzcDFfZGxtX2lycV9mcmFtZV9lbmQoKSkuCj4gCj4gQXMg eW91IG1lbnRpb24gLSB0aGlzIG1heSBoYXZlIGEgbmVnYXRpdmUgZWZmZWN0IG9uIHRoZSBHZW4y Cj4gaW1wbGVtZW50YXRpb24gLSBzbyBpdCBuZWVkcyBjb25zaWRlcmluZyB3aXRoIHRoYXQuCj4g Cj4gCj4gL21lIHRvIGludmVzdGlnYXRlIGZ1cnRoZXIuCgpUaGFuayB5b3UuIEkgZG9uJ3Qgb2Jq ZWN0IHRvIHRoaXMgY2hhbmdlLCBidXQgSSdkIGxpa2UgdG8ga25vdyB3aGF0IGl0cyAKaW1wbGlj YXRpb25zIGFyZSBvbiBHZW4yLiBJdCBtaWdodCBldmVuIGZpeCBhIGJ1ZyA6LSkgTGV0IG1lIGtu b3cgaWYgeW91J2QgCmxpa2UgbWUgdG8gcnVuIHRlc3RzIG9uIGEgTGFnZXIgYm9hcmQuCgo+ID4+ ICAJICAgICAgfCBEU01SX0RJUE1fRElTUCB8IERTTVJfQ1NQTTsKPiA+PiAgCQo+ID4+ICAJcmNh cl9kdV9jcnRjX3dyaXRlKHJjcnRjLCBEU01SLCB2YWx1ZSk7Cj4gPj4gCj4gPj4gZGlmZiAtLWdp dCBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMKPiA+PiBiL2RyaXZlcnMv Z3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMgaW5kZXggYWY3ODIyYTY2ZGVlLi5jN2IzNzIz MmVlOTEKPiA+PiAxMDA2NDQKPiA+PiAtLS0gYS9kcml2ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2Fy X2R1X3ZzcC5jCj4gPj4gKysrIGIvZHJpdmVycy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92c3Au Ywo+ID4+IEBAIC0xODYsNiArMTg2LDkgQEAgc3RhdGljIHZvaWQgcmNhcl9kdV92c3BfcGxhbmVf c2V0dXAoc3RydWN0Cj4gPj4gcmNhcl9kdV92c3BfcGxhbmUgKnBsYW5lKQo+ID4+ICAJfTsKPiA+ PiAgCXVuc2lnbmVkIGludCBpOwo+ID4+IAo+ID4+ICsJY2ZnLmludGVybGFjZWQgPSAhIShwbGFu ZS0+cGxhbmUuc3RhdGUtPmNydGMtPm1vZGUuZmxhZ3MKPiA+PiArCQkJICAgICYgRFJNX01PREVf RkxBR19JTlRFUkxBQ0UpOwo+ID4+ICsKPiA+PiAgCWNmZy5zcmMubGVmdCA9IHN0YXRlLT5zdGF0 ZS5zcmMueDEgPj4gMTY7Cj4gPj4gIAljZmcuc3JjLnRvcCA9IHN0YXRlLT5zdGF0ZS5zcmMueTEg Pj4gMTY7Cj4gPj4gIAljZmcuc3JjLndpZHRoID0gZHJtX3JlY3Rfd2lkdGgoJnN0YXRlLT5zdGF0 ZS5zcmMpID4+IDE2OwoKLS0gClJlZ2FyZHMsCgpMYXVyZW50IFBpbmNoYXJ0CgoKCl9fX19fX19f X19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fCmRyaS1kZXZlbCBtYWlsaW5n IGxpc3QKZHJpLWRldmVsQGxpc3RzLmZyZWVkZXNrdG9wLm9yZwpodHRwczovL2xpc3RzLmZyZWVk ZXNrdG9wLm9yZy9tYWlsbWFuL2xpc3RpbmZvL2RyaS1kZXZlbAo=