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: Wed, 18 Jul 2018 11:55:27 +0300 Message-ID: <6606380.Aa3oybNsgi@avalon> In-Reply-To: <14ede71e-fa99-01d3-eb27-f171e5f3d082@ideasonboard.com> References: <11186195.Bn5zmcZr3a@avalon> <14ede71e-fa99-01d3-eb27-f171e5f3d082@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 Tuesday, 17 July 2018 23:32:56 EEST Kieran Bingham wrote: > On 17/07/18 14:51, Laurent Pinchart wrote: > > 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. > > I've done some testing with this (removing the DSMR change, and > inverting the VI6_STATUS_FLD_STD handling) and had some odd results. > Perhaps my testing needs refinement. > > So, yes please - I think I'd really like to know what the effects are on > a Lager platform. > > Would you (or anyone with a Gen2 and interest in vsp1/du) be able to > test my latest vsp1/du/interlaced branch/tag on your local Gen2 platform > please? I can test it when I'll come back home on the 24th (or rather on the next day as I'll land in the evening). Could you please ping me on the 25th ? > I'm testing interlaced with: > > kmstest # sanity test. > kmstest -c 1 -r 1920x1080i --flip My monitors don't support interlaced modes, so this won't be easy :-/ Also, what's the expected outcome of the above command in the working and non- working cases ? > Any (easy) other methods for testing interlaced pipelines are welcome. > > Is it possible to set the mode for kmscube? (--help doesn't look promising) Not that I know of, but I think that shouldn't be too difficult to add. > I have various test streams of interlaced media content in my media > library, but not an easy way of decoding and presenting these on the > screen on the Gen3. > > I believe GStreamer now has a drm/kms sink ... Perhaps I should get that > recompiled. (That would help me with other tasks too actually) > > >>>> | 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: Wed, 18 Jul 2018 11:55:27 +0300 Message-ID: <6606380.Aa3oybNsgi@avalon> References: <11186195.Bn5zmcZr3a@avalon> <14ede71e-fa99-01d3-eb27-f171e5f3d082@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 4852E6E953 for ; Wed, 18 Jul 2018 08:54:55 +0000 (UTC) In-Reply-To: <14ede71e-fa99-01d3-eb27-f171e5f3d082@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 SGkgS2llcmFuLAoKT24gVHVlc2RheSwgMTcgSnVseSAyMDE4IDIzOjMyOjU2IEVFU1QgS2llcmFu IEJpbmdoYW0gd3JvdGU6Cj4gT24gMTcvMDcvMTggMTQ6NTEsIExhdXJlbnQgUGluY2hhcnQgd3Jv dGU6Cj4gPiBPbiBNb25kYXksIDE2IEp1bHkgMjAxOCAyMDoyMDozMCBFRVNUIEtpZXJhbiBCaW5n aGFtIHdyb3RlOgo+ID4+IE9uIDI0LzA1LzE4IDEyOjUwLCBMYXVyZW50IFBpbmNoYXJ0IHdyb3Rl Ogo+ID4+PiBPbiBUaHVyc2RheSwgMyBNYXkgMjAxOCAxNjozNjoyMiBFRVNUIEtpZXJhbiBCaW5n aGFtIHdyb3RlOgo+ID4+Pj4gVXNlIHRoZSBuZXdseSBleHBvc2VkIFZTUDEgaW50ZXJmYWNlIHRv IGVuYWJsZSBpbnRlcmxhY2VkIGZyYW1lIHN1cHBvcnQKPiA+Pj4+IHRocm91Z2ggdGhlIFZTUDEg bGlmIHBpcGVsaW5lcy4KPiA+Pj4gCj4gPj4+IHMvbGlmL0xJRi8KPiA+PiAKPiA+PiBGaXhlZC4K PiA+PiAKPiA+Pj4+IFNpZ25lZC1vZmYtYnk6IEtpZXJhbiBCaW5naGFtIDxraWVyYW4uYmluZ2hh bStyZW5lc2FzQGlkZWFzb25ib2FyZC5jb20+Cj4gPj4+PiAtLS0KPiA+Pj4+IAo+ID4+Pj4gIGRy aXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfY3J0Yy5jIHwgMSArCj4gPj4+PiAgZHJpdmVy cy9ncHUvZHJtL3JjYXItZHUvcmNhcl9kdV92c3AuYyAgfCAzICsrKwo+ID4+Pj4gIDIgZmlsZXMg Y2hhbmdlZCwgNCBpbnNlcnRpb25zKCspCj4gPj4+PiAKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2 ZXJzL2dwdS9kcm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYwo+ID4+Pj4gYi9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X2NydGMuYyBpbmRleAo+ID4+Pj4gZDcxZDcwOWZlM2Q5Li4yMDY1 MzI5NTllYzkKPiA+Pj4+IDEwMDY0NAo+ID4+Pj4gLS0tIGEvZHJpdmVycy9ncHUvZHJtL3JjYXIt ZHUvcmNhcl9kdV9jcnRjLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3Jj YXJfZHVfY3J0Yy5jCj4gPj4+PiBAQCAtMjg5LDYgKzI4OSw3IEBAIHN0YXRpYyB2b2lkIHJjYXJf ZHVfY3J0Y19zZXRfZGlzcGxheV90aW1pbmcoc3RydWN0Cj4gPj4+PiByY2FyX2R1X2NydGMgKnJj cnRjKQo+ID4+Pj4gCj4gPj4+PiAgCS8qIFNpZ25hbCBwb2xhcml0aWVzICovCj4gPj4+PiAgCXZh bHVlID0gKChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZMQUdfUFZTWU5DKSA/IERTTVJfVlNMIDog MCkKPiA+Pj4+ICAJCj4gPj4+PiAgCSAgICAgIHwgKChtb2RlLT5mbGFncyAmIERSTV9NT0RFX0ZM QUdfUEhTWU5DKSA/IERTTVJfSFNMIDogMCkKPiA+Pj4+IAo+ID4+Pj4gKwkgICAgICB8ICgobW9k ZS0+ZmxhZ3MgJiBEUk1fTU9ERV9GTEFHX0lOVEVSTEFDRSkgPyBEU01SX09ERVYgOiAwKQo+ID4+ PiAKPiA+Pj4gSG93IHdpbGwgdGhpcyBhZmZlY3QgR2VuMiA/Lgo+ID4+IAo+ID4+IFRoZSBiaXQg aXMgZG9jdW1lbnRlZCBpZGVudGljYWxseSBmb3IgR2VuMi4gUG90ZW50aWFsbHkgLyBQcm9iYWJs eSBpdAo+ID4+ICdtaWdodCcgcmV2ZXJzZSB0aGUgZmllbGRzLi4uIEknbSBub3QgY2VydGFpbiB5 ZXQuIEkgZG9uJ3QgaGF2ZSBhY2Nlc3MKPiA+PiB0byBhIEdlbjIgcGxhdGZvcm0gdG8gdGVzdC4K PiA+PiAKPiA+PiBJJ2xsIHNlZSBpZiB0aGlzIGNoYW5nZSBjYW4gYmUgZHJvcHBlZCwgYnV0IEkg dGhpbmsgaXQgaXMgcGxheWluZyBhIHJvbGUKPiA+PiBpbiBlbnN1cmluZyB0aGF0IHRoZSBmaWVs ZCBkZXRlY3Rpb24gb2NjdXJzIGluIFZTUDEgdGhyb3VnaCB0aGUKPiA+PiBWSTZfU1RBVFVTX0ZM RF9TVEQoKSBmaWVsZC4gKHNlZSB2c3AxX2RsbV9pcnFfZnJhbWVfZW5kKCkpCj4gPj4gCj4gPj4+ IENvdWxkIHlvdSBkb2N1bWVudCB3aGF0IHRoaXMgY2hhbmdlIGRvZXMgaW4gdGhlCj4gPj4+IGNv bW1pdCBtZXNzYWdlID8KPiA+PiAKPiA+PiBUaGlzIHNldHMgdGhlIHBvc2l0aW9uIGluIHRoZSBi dWZmZXIgb2YgdGhlIE9EREYuIFdpdGggdGhpcyBzZXQsIHRoZSBPREQKPiA+PiBmaWVsZCBpcyBs b2NhdGVkIGluIHRoZSBzZWNvbmQgaGFsZiAoQk9UVE9NKSBvZiB0aGUgc2FtZSBmcmFtZSBvZiB0 aGUKPiA+PiBpbnRlcmxhY2UgZGlzcGxheS4KPiA+PiAKPiA+PiBPdGhlcndpc2UsIGl0J3MgaW4g dGhlIGZpcnN0IGhhbGYgKFRPUCkKPiA+PiAKPiA+PiBJIGZhY2VkIHNvbWUgaXNzdWVzIGFzIHRv IHRoZSBvcmRlcmluZyB3aGVuIHRlc3RpbmcsIHNvIEkgc3VzcGVjdCB0aGlzCj4gPj4gbWlnaHQg YWN0dWFsbHkgYmUgcmVsYXRlZCB0byB0aGF0LiAocmUgVkk2X1NUQVRVU19GTERfU1REIGluCj4g Pj4gdnNwMV9kbG1faXJxX2ZyYW1lX2VuZCgpKS4KPiA+PiAKPiA+PiBBcyB5b3UgbWVudGlvbiAt IHRoaXMgbWF5IGhhdmUgYSBuZWdhdGl2ZSBlZmZlY3Qgb24gdGhlIEdlbjIKPiA+PiBpbXBsZW1l bnRhdGlvbiAtIHNvIGl0IG5lZWRzIGNvbnNpZGVyaW5nIHdpdGggdGhhdC4KPiA+PiAKPiA+PiAK PiA+PiAvbWUgdG8gaW52ZXN0aWdhdGUgZnVydGhlci4KPiA+IAo+ID4gVGhhbmsgeW91LiBJIGRv bid0IG9iamVjdCB0byB0aGlzIGNoYW5nZSwgYnV0IEknZCBsaWtlIHRvIGtub3cgd2hhdCBpdHMK PiA+IGltcGxpY2F0aW9ucyBhcmUgb24gR2VuMi4gSXQgbWlnaHQgZXZlbiBmaXggYSBidWcgOi0p IExldCBtZSBrbm93IGlmIHlvdSdkCj4gPiBsaWtlIG1lIHRvIHJ1biB0ZXN0cyBvbiBhIExhZ2Vy IGJvYXJkLgo+IAo+IEkndmUgZG9uZSBzb21lIHRlc3Rpbmcgd2l0aCB0aGlzIChyZW1vdmluZyB0 aGUgRFNNUiBjaGFuZ2UsIGFuZAo+IGludmVydGluZyB0aGUgVkk2X1NUQVRVU19GTERfU1REIGhh bmRsaW5nKSBhbmQgaGFkIHNvbWUgb2RkIHJlc3VsdHMuCj4gUGVyaGFwcyBteSB0ZXN0aW5nIG5l ZWRzIHJlZmluZW1lbnQuCj4gCj4gU28sIHllcyBwbGVhc2UgLSBJIHRoaW5rIEknZCByZWFsbHkg bGlrZSB0byBrbm93IHdoYXQgdGhlIGVmZmVjdHMgYXJlIG9uCj4gYSBMYWdlciBwbGF0Zm9ybS4K PiAKPiBXb3VsZCB5b3UgKG9yIGFueW9uZSB3aXRoIGEgR2VuMiBhbmQgaW50ZXJlc3QgaW4gdnNw MS9kdSkgYmUgYWJsZSB0bwo+IHRlc3QgbXkgbGF0ZXN0IHZzcDEvZHUvaW50ZXJsYWNlZCBicmFu Y2gvdGFnIG9uIHlvdXIgbG9jYWwgR2VuMiBwbGF0Zm9ybQo+IHBsZWFzZT8KCkkgY2FuIHRlc3Qg aXQgd2hlbiBJJ2xsIGNvbWUgYmFjayBob21lIG9uIHRoZSAyNHRoIChvciByYXRoZXIgb24gdGhl IG5leHQgZGF5IAphcyBJJ2xsIGxhbmQgaW4gdGhlIGV2ZW5pbmcpLiBDb3VsZCB5b3UgcGxlYXNl IHBpbmcgbWUgb24gdGhlIDI1dGggPwoKPiBJJ20gdGVzdGluZyBpbnRlcmxhY2VkIHdpdGg6Cj4g Cj4ga21zdGVzdCAjIHNhbml0eSB0ZXN0Lgo+IGttc3Rlc3QgLWMgMSAtciAxOTIweDEwODBpIC0t ZmxpcAoKTXkgbW9uaXRvcnMgZG9uJ3Qgc3VwcG9ydCBpbnRlcmxhY2VkIG1vZGVzLCBzbyB0aGlz IHdvbid0IGJlIGVhc3kgOi0vCgpBbHNvLCB3aGF0J3MgdGhlIGV4cGVjdGVkIG91dGNvbWUgb2Yg dGhlIGFib3ZlIGNvbW1hbmQgaW4gdGhlIHdvcmtpbmcgYW5kIG5vbi0Kd29ya2luZyBjYXNlcyA/ Cgo+IEFueSAoZWFzeSkgb3RoZXIgbWV0aG9kcyBmb3IgdGVzdGluZyBpbnRlcmxhY2VkIHBpcGVs aW5lcyBhcmUgd2VsY29tZS4KPiAKPiBJcyBpdCBwb3NzaWJsZSB0byBzZXQgdGhlIG1vZGUgZm9y IGttc2N1YmU/ICgtLWhlbHAgZG9lc24ndCBsb29rIHByb21pc2luZykKCk5vdCB0aGF0IEkga25v dyBvZiwgYnV0IEkgdGhpbmsgdGhhdCBzaG91bGRuJ3QgYmUgdG9vIGRpZmZpY3VsdCB0byBhZGQu Cgo+IEkgaGF2ZSB2YXJpb3VzIHRlc3Qgc3RyZWFtcyBvZiBpbnRlcmxhY2VkIG1lZGlhIGNvbnRl bnQgaW4gbXkgbWVkaWEKPiBsaWJyYXJ5LCBidXQgbm90IGFuIGVhc3kgd2F5IG9mIGRlY29kaW5n IGFuZCBwcmVzZW50aW5nIHRoZXNlIG9uIHRoZQo+IHNjcmVlbiBvbiB0aGUgR2VuMy4KPiAKPiBJ IGJlbGlldmUgR1N0cmVhbWVyIG5vdyBoYXMgYSBkcm0va21zIHNpbmsgLi4uIFBlcmhhcHMgSSBz aG91bGQgZ2V0IHRoYXQKPiByZWNvbXBpbGVkLiAoVGhhdCB3b3VsZCBoZWxwIG1lIHdpdGggb3Ro ZXIgdGFza3MgdG9vIGFjdHVhbGx5KQo+IAo+ID4+Pj4gIAkgICAgICB8IERTTVJfRElQTV9ESVNQ IHwgRFNNUl9DU1BNOwo+ID4+Pj4gIAkKPiA+Pj4+ICAJcmNhcl9kdV9jcnRjX3dyaXRlKHJjcnRj LCBEU01SLCB2YWx1ZSk7Cj4gPj4+PiAKPiA+Pj4+IGRpZmYgLS1naXQgYS9kcml2ZXJzL2dwdS9k cm0vcmNhci1kdS9yY2FyX2R1X3ZzcC5jCj4gPj4+PiBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1 L3JjYXJfZHVfdnNwLmMgaW5kZXgKPiA+Pj4+IGFmNzgyMmE2NmRlZS4uYzdiMzcyMzJlZTkxCj4g Pj4+PiAxMDA2NDQKPiA+Pj4+IC0tLSBhL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVf dnNwLmMKPiA+Pj4+ICsrKyBiL2RyaXZlcnMvZ3B1L2RybS9yY2FyLWR1L3JjYXJfZHVfdnNwLmMK PiA+Pj4+IEBAIC0xODYsNiArMTg2LDkgQEAgc3RhdGljIHZvaWQgcmNhcl9kdV92c3BfcGxhbmVf c2V0dXAoc3RydWN0Cj4gPj4+PiByY2FyX2R1X3ZzcF9wbGFuZSAqcGxhbmUpCj4gPj4+PiAgCX07 Cj4gPj4+PiAgCXVuc2lnbmVkIGludCBpOwo+ID4+Pj4gCj4gPj4+PiArCWNmZy5pbnRlcmxhY2Vk ID0gISEocGxhbmUtPnBsYW5lLnN0YXRlLT5jcnRjLT5tb2RlLmZsYWdzCj4gPj4+PiArCQkJICAg ICYgRFJNX01PREVfRkxBR19JTlRFUkxBQ0UpOwo+ID4+Pj4gKwo+ID4+Pj4gIAljZmcuc3JjLmxl ZnQgPSBzdGF0ZS0+c3RhdGUuc3JjLngxID4+IDE2Owo+ID4+Pj4gIAljZmcuc3JjLnRvcCA9IHN0 YXRlLT5zdGF0ZS5zcmMueTEgPj4gMTY7Cj4gPj4+PiAgCWNmZy5zcmMud2lkdGggPSBkcm1fcmVj dF93aWR0aCgmc3RhdGUtPnN0YXRlLnNyYykgPj4gMTY7CgotLSAKUmVnYXJkcywKCkxhdXJlbnQg UGluY2hhcnQKCgoKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KZHJpLWRldmVsIG1haWxpbmcgbGlzdApkcmktZGV2ZWxAbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZHJpLWRldmVs Cg==