From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-2.4 required=3.0 tests=DKIM_SIGNED,DKIM_VALID, DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE, SPF_PASS,USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id F3A74C76188 for ; Fri, 19 Jul 2019 14:30:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by mail.kernel.org (Postfix) with ESMTP id AC86320873 for ; Fri, 19 Jul 2019 14:30:01 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (2048-bit key) header.d=poorly.run header.i=@poorly.run header.b="OG+zoI/G" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1728431AbfGSOaB (ORCPT ); Fri, 19 Jul 2019 10:30:01 -0400 Received: from mail-qt1-f194.google.com ([209.85.160.194]:37186 "EHLO mail-qt1-f194.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1727717AbfGSOaB (ORCPT ); Fri, 19 Jul 2019 10:30:01 -0400 Received: by mail-qt1-f194.google.com with SMTP id y26so31153674qto.4 for ; Fri, 19 Jul 2019 07:30:00 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=poorly.run; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:content-transfer-encoding:in-reply-to :user-agent; bh=VgGzgACxbuAr1WfrZf7Di5N8bvGrichlRILKSX90qEA=; b=OG+zoI/Gr3rCL4n3YLQz/VzBvTqAcQH2YGj4dOvWfEIPDhs6/xqsc/wbZNDjV+42XI CvALdJiuZkiC4K5IW4SxW6yJ3NWBJI2YTVcPgAOFejWvbIym9nVhEsTUnq2qmN92AnJm S1z81DvDRbK/H6xHveDVeOoxQlYESyCNRcEkGhuBdJY7Scj6voS+YgJj5o5pyR3Y1vtX q6WBn9EIaOGSt5QUN7wRyQ5F52t//XrhaE6pvNqRVZAa5qipoC2sL8UtJsGXls8ECv24 DBdKOwyd38wa3jkkZ7HOXyiZYgdO1Eta3vmYTP7+19BvH9ezBA02ZXrO9Fry2sMbBXv6 gYpQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:content-transfer-encoding :in-reply-to:user-agent; bh=VgGzgACxbuAr1WfrZf7Di5N8bvGrichlRILKSX90qEA=; b=JohJmshaHaBPp+g7Z/kRLAB6p8Pt4m9n9ycfMipO9+An8Dm8sIDV3oBafmPsmdrPMa 0OciaqaiMqOcKKyiLoj6PB/4xfeLOlT3QRqDJpm2zR9kFaQ2mcbbjlIJYio/FDWrBsTh d4uEukSaNlRJJ+45aG5YtRItU6lyogHd+EirJvJLKGbfbwvieCqT9yJoQ4NMY28FSEYd h0jwasII6iKrCEnYYL8R1DckUtBTKtCQFBsnkIIOQEI/ATTMcHndabYO4k2PR/tvxDol iE15CvJRQ8Ixzn7Pz9fcg8fZdYtWInmTv7hQjmqyKM6h/6GACkFDD76YNJaO81js8qVy IeLA== X-Gm-Message-State: APjAAAWlqTre3BavSLAgyox3oZAKn5nTXnM/V6JZOA8BATK/Oj3m184R 8isUt8z/VtLv1W0Qli8U/77Vzw== X-Google-Smtp-Source: APXvYqyiV6BEK6L7QlUrxkx0Q/3IuMSb5JrAJ6Lu4nQ8M2EcGMFjw566l6GMctEIO7Y6xBwCbplpXA== X-Received: by 2002:ac8:34c5:: with SMTP id x5mr35858737qtb.91.1563546600009; Fri, 19 Jul 2019 07:30:00 -0700 (PDT) Received: from localhost ([2620:0:1013:11:89c6:2139:5435:371d]) by smtp.gmail.com with ESMTPSA id t2sm18236556qth.33.2019.07.19.07.29.59 (version=TLS1_3 cipher=AEAD-AES256-GCM-SHA384 bits=256/256); Fri, 19 Jul 2019 07:29:59 -0700 (PDT) Date: Fri, 19 Jul 2019 10:29:59 -0400 From: Sean Paul To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: Sean Paul , Daniel Vetter , linux-arm-msm@vger.kernel.org, dri-devel@lists.freedesktop.org, pdhaval@codeaurora.org, seanpaul@chromium.org, Daniel Vetter , freedreno@lists.freedesktop.org Subject: Re: [RFC] Expanding drm_mode_modeinfo flags Message-ID: <20190719142959.GD104440@art_vandelay> References: <1562870805-32314-1-git-send-email-jsanka@codeaurora.org> <20190716090712.GY15868@phenom.ffwll.local> <16fee2b42fa03d2cf104452223dcf5af@codeaurora.org> <20190719090553.GF15868@phenom.ffwll.local> <20190719135558.GC104440@art_vandelay> <20190719141528.GN5942@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=iso-8859-1 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <20190719141528.GN5942@intel.com> User-Agent: Mutt/1.10.1 (2018-07-13) Sender: linux-arm-msm-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-arm-msm@vger.kernel.org On Fri, Jul 19, 2019 at 05:15:28PM +0300, Ville Syrjälä wrote: > On Fri, Jul 19, 2019 at 09:55:58AM -0400, Sean Paul wrote: > > On Fri, Jul 19, 2019 at 11:05:53AM +0200, Daniel Vetter wrote: > > > On Thu, Jul 18, 2019 at 11:18:42AM -0700, Jeykumar Sankaran wrote: > > > > On 2019-07-16 02:07, Daniel Vetter wrote: > > > > > On Thu, Jul 11, 2019 at 11:46:44AM -0700, Jeykumar Sankaran wrote: /snip > > > > > > drm: add mode flags in uapi for seamless mode switch > > > > > > > > > > I think the uapi is the trivial part here, the real deal is how > > > > > userspace > > > > > uses this. Can you pls post the patches for your compositor? > > > > > > > > > > Also note that we already allow userspace to tell the kernel whether > > > > > flickering is ok or not for a modeset. msm driver could use that to at > > > > > least tell userspace whether a modeset change is possible. So you can > > > > > already implement glitch-free modeset changes for at least video mode. > > > > > -Daniel > > > > > > > > I believe you are referring to the below tv property of the connector. > > > > > > > > /** > > > > * @tv_flicker_reduction_property: Optional TV property to control the > > > > * flicker reduction mode. > > > > */ > > > > struct drm_property *tv_flicker_reduction_property; > > > > > > Not even close :-) > > > > > > I mean the DRM_MODE_ATOMIC_ALLOW_MODESET flag for the atomic ioctl. This > > > is not a property of a mode, this is a property of a _transition_ between > > > configurations. Some transitions can be done flicker free, others can't. > > > > Agree that an atomic flag on a commit is the way to accomplish this. It's pretty > > similar to the psr transitions, where we want to reuse most of the atomic > > circuitry, but in a specialized way. We'd also have to be careful to only > > involve the drm objects which are seamless modeset aware (you could imagine > > a bridge chain where the bridges downstream of the first bridge don't care). > > > > > > > > There's then still the question of how to pick video vs command mode, but > > > imo better to start with implementing the transition behaviour correctly > > > first. > > > > Connector property? Possibly a terrible idea, but I wonder if we could [re]use > > the vrr properties for command mode. The docs state that the driver has the > > option of putting upper and lower bounds on the refresh rate. > > Not really sure why this needs new props and whatnot. This is kinda what > the i915 "fastset" stuff already does: > 1. userspace asks for something to be changed via atomic > 2. driver calculates whether a modeset is actually required > 3. atomic validates need_modeset() vs. DRM_MODE_ATOMIC_ALLOW_MODESET > 4. if (need_modeset) heavyweight_commit() else lightweight_commit() > > Ie. why should userspace really care about anything except the > "flickers are OK" vs. "flickers not wanted" thing? Agree, I don't think the seamless modeset (ie: changing resolution without flicker) needs a property. Just need to test the commit without ALLOW_MODESET and commit it if the test passes. > > Also what's the benefit of using video mode if your panel supportes > command mode? Can you turn off the memory in the panel and actually > save power that way? And if there is a benefit can't the driver just > automagically switch between the two based on how often things are > getting updated? That would match how eDP PSR already works. I'm guessing video mode might have some latency benefits over command mode? Sean > > -- > Ville Syrjälä > Intel -- Sean Paul, Software Engineer, Google / Chromium OS From mboxrd@z Thu Jan 1 00:00:00 1970 From: Sean Paul Subject: Re: [RFC] Expanding drm_mode_modeinfo flags Date: Fri, 19 Jul 2019 10:29:59 -0400 Message-ID: <20190719142959.GD104440@art_vandelay> References: <1562870805-32314-1-git-send-email-jsanka@codeaurora.org> <20190716090712.GY15868@phenom.ffwll.local> <16fee2b42fa03d2cf104452223dcf5af@codeaurora.org> <20190719090553.GF15868@phenom.ffwll.local> <20190719135558.GC104440@art_vandelay> <20190719141528.GN5942@intel.com> Mime-Version: 1.0 Content-Type: text/plain; charset="utf-8" Content-Transfer-Encoding: base64 Return-path: Content-Disposition: inline In-Reply-To: <20190719141528.GN5942-ral2JQCrhuEAvxtiuMwx3w@public.gmane.org> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: freedreno-bounces-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org Sender: "Freedreno" To: Ville =?iso-8859-1?Q?Syrj=E4l=E4?= Cc: freedreno-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, linux-arm-msm-u79uwXL29TY76Z2rM5mHXA@public.gmane.org, dri-devel-PD4FTy7X32lNgt0PjOBp9y5qC8QIuHrW@public.gmane.org, pdhaval-sgV2jX0FEOL9JmXXK+q4OQ@public.gmane.org, seanpaul-F7+t8E8rja9g9hUCZPvPmw@public.gmane.org, Daniel Vetter , Daniel Vetter , Sean Paul List-Id: dri-devel@lists.freedesktop.org T24gRnJpLCBKdWwgMTksIDIwMTkgYXQgMDU6MTU6MjhQTSArMDMwMCwgVmlsbGUgU3lyasOkbMOk IHdyb3RlOgo+IE9uIEZyaSwgSnVsIDE5LCAyMDE5IGF0IDA5OjU1OjU4QU0gLTA0MDAsIFNlYW4g UGF1bCB3cm90ZToKPiA+IE9uIEZyaSwgSnVsIDE5LCAyMDE5IGF0IDExOjA1OjUzQU0gKzAyMDAs IERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+IE9uIFRodSwgSnVsIDE4LCAyMDE5IGF0IDExOjE4 OjQyQU0gLTA3MDAsIEpleWt1bWFyIFNhbmthcmFuIHdyb3RlOgo+ID4gPiA+IE9uIDIwMTktMDct MTYgMDI6MDcsIERhbmllbCBWZXR0ZXIgd3JvdGU6Cj4gPiA+ID4gPiBPbiBUaHUsIEp1bCAxMSwg MjAxOSBhdCAxMTo0Njo0NEFNIC0wNzAwLCBKZXlrdW1hciBTYW5rYXJhbiB3cm90ZToKCi9zbmlw Cgo+ID4gPiA+ID4gPiAgIGRybTogYWRkIG1vZGUgZmxhZ3MgaW4gdWFwaSBmb3Igc2VhbWxlc3Mg bW9kZSBzd2l0Y2gKPiA+ID4gPiA+IAo+ID4gPiA+ID4gSSB0aGluayB0aGUgdWFwaSBpcyB0aGUg dHJpdmlhbCBwYXJ0IGhlcmUsIHRoZSByZWFsIGRlYWwgaXMgaG93Cj4gPiA+ID4gPiB1c2Vyc3Bh Y2UKPiA+ID4gPiA+IHVzZXMgdGhpcy4gQ2FuIHlvdSBwbHMgcG9zdCB0aGUgcGF0Y2hlcyBmb3Ig eW91ciBjb21wb3NpdG9yPwo+ID4gPiA+ID4gCj4gPiA+ID4gPiBBbHNvIG5vdGUgdGhhdCB3ZSBh bHJlYWR5IGFsbG93IHVzZXJzcGFjZSB0byB0ZWxsIHRoZSBrZXJuZWwgd2hldGhlcgo+ID4gPiA+ ID4gZmxpY2tlcmluZyBpcyBvayBvciBub3QgZm9yIGEgbW9kZXNldC4gbXNtIGRyaXZlciBjb3Vs ZCB1c2UgdGhhdCB0byBhdAo+ID4gPiA+ID4gbGVhc3QgdGVsbCB1c2Vyc3BhY2Ugd2hldGhlciBh IG1vZGVzZXQgY2hhbmdlIGlzIHBvc3NpYmxlLiBTbyB5b3UgY2FuCj4gPiA+ID4gPiBhbHJlYWR5 IGltcGxlbWVudCBnbGl0Y2gtZnJlZSBtb2Rlc2V0IGNoYW5nZXMgZm9yIGF0IGxlYXN0IHZpZGVv IG1vZGUuCj4gPiA+ID4gPiAtRGFuaWVsCj4gPiA+ID4gCj4gPiA+ID4gSSBiZWxpZXZlIHlvdSBh cmUgcmVmZXJyaW5nIHRvIHRoZSBiZWxvdyB0diBwcm9wZXJ0eSBvZiB0aGUgY29ubmVjdG9yLgo+ ID4gPiA+IAo+ID4gPiA+IC8qKgo+ID4gPiA+ICAqIEB0dl9mbGlja2VyX3JlZHVjdGlvbl9wcm9w ZXJ0eTogT3B0aW9uYWwgVFYgcHJvcGVydHkgdG8gY29udHJvbCB0aGUKPiA+ID4gPiAgKiBmbGlj a2VyIHJlZHVjdGlvbiBtb2RlLgo+ID4gPiA+ICAqLwo+ID4gPiA+IHN0cnVjdCBkcm1fcHJvcGVy dHkgKnR2X2ZsaWNrZXJfcmVkdWN0aW9uX3Byb3BlcnR5Owo+ID4gPiAKPiA+ID4gTm90IGV2ZW4g Y2xvc2UgOi0pCj4gPiA+IAo+ID4gPiBJIG1lYW4gdGhlIERSTV9NT0RFX0FUT01JQ19BTExPV19N T0RFU0VUIGZsYWcgZm9yIHRoZSBhdG9taWMgaW9jdGwuIFRoaXMKPiA+ID4gaXMgbm90IGEgcHJv cGVydHkgb2YgYSBtb2RlLCB0aGlzIGlzIGEgcHJvcGVydHkgb2YgYSBfdHJhbnNpdGlvbl8gYmV0 d2Vlbgo+ID4gPiBjb25maWd1cmF0aW9ucy4gU29tZSB0cmFuc2l0aW9ucyBjYW4gYmUgZG9uZSBm bGlja2VyIGZyZWUsIG90aGVycyBjYW4ndC4KPiA+IAo+ID4gQWdyZWUgdGhhdCBhbiBhdG9taWMg ZmxhZyBvbiBhIGNvbW1pdCBpcyB0aGUgd2F5IHRvIGFjY29tcGxpc2ggdGhpcy4gSXQncyBwcmV0 dHkKPiA+IHNpbWlsYXIgdG8gdGhlIHBzciB0cmFuc2l0aW9ucywgd2hlcmUgd2Ugd2FudCB0byBy ZXVzZSBtb3N0IG9mIHRoZSBhdG9taWMKPiA+IGNpcmN1aXRyeSwgYnV0IGluIGEgc3BlY2lhbGl6 ZWQgd2F5LiBXZSdkIGFsc28gaGF2ZSB0byBiZSBjYXJlZnVsIHRvIG9ubHkKPiA+IGludm9sdmUg dGhlIGRybSBvYmplY3RzIHdoaWNoIGFyZSBzZWFtbGVzcyBtb2Rlc2V0IGF3YXJlICh5b3UgY291 bGQgaW1hZ2luZQo+ID4gYSBicmlkZ2UgY2hhaW4gd2hlcmUgdGhlIGJyaWRnZXMgZG93bnN0cmVh bSBvZiB0aGUgZmlyc3QgYnJpZGdlIGRvbid0IGNhcmUpLgo+ID4gCj4gPiA+IAo+ID4gPiBUaGVy ZSdzIHRoZW4gc3RpbGwgdGhlIHF1ZXN0aW9uIG9mIGhvdyB0byBwaWNrIHZpZGVvIHZzIGNvbW1h bmQgbW9kZSwgYnV0Cj4gPiA+IGltbyBiZXR0ZXIgdG8gc3RhcnQgd2l0aCBpbXBsZW1lbnRpbmcg dGhlIHRyYW5zaXRpb24gYmVoYXZpb3VyIGNvcnJlY3RseQo+ID4gPiBmaXJzdC4KPiA+IAo+ID4g Q29ubmVjdG9yIHByb3BlcnR5PyBQb3NzaWJseSBhIHRlcnJpYmxlIGlkZWEsIGJ1dCBJIHdvbmRl ciBpZiB3ZSBjb3VsZCBbcmVddXNlCj4gPiB0aGUgdnJyIHByb3BlcnRpZXMgZm9yIGNvbW1hbmQg bW9kZS4gVGhlIGRvY3Mgc3RhdGUgdGhhdCB0aGUgZHJpdmVyIGhhcyB0aGUKPiA+IG9wdGlvbiBv ZiBwdXR0aW5nIHVwcGVyIGFuZCBsb3dlciBib3VuZHMgb24gdGhlIHJlZnJlc2ggcmF0ZS4KPiAK PiBOb3QgcmVhbGx5IHN1cmUgd2h5IHRoaXMgbmVlZHMgbmV3IHByb3BzIGFuZCB3aGF0bm90LiBU aGlzIGlzIGtpbmRhIHdoYXQKPiB0aGUgaTkxNSAiZmFzdHNldCIgc3R1ZmYgYWxyZWFkeSBkb2Vz Ogo+IDEuIHVzZXJzcGFjZSBhc2tzIGZvciBzb21ldGhpbmcgdG8gYmUgY2hhbmdlZCB2aWEgYXRv bWljCj4gMi4gZHJpdmVyIGNhbGN1bGF0ZXMgd2hldGhlciBhIG1vZGVzZXQgaXMgYWN0dWFsbHkg cmVxdWlyZWQKPiAzLiBhdG9taWMgdmFsaWRhdGVzIG5lZWRfbW9kZXNldCgpIHZzLiBEUk1fTU9E RV9BVE9NSUNfQUxMT1dfTU9ERVNFVAo+IDQuIGlmIChuZWVkX21vZGVzZXQpIGhlYXZ5d2VpZ2h0 X2NvbW1pdCgpIGVsc2UgbGlnaHR3ZWlnaHRfY29tbWl0KCkKPiAKPiBJZS4gd2h5IHNob3VsZCB1 c2Vyc3BhY2UgcmVhbGx5IGNhcmUgYWJvdXQgYW55dGhpbmcgZXhjZXB0IHRoZQo+ICJmbGlja2Vy cyBhcmUgT0siIHZzLiAiZmxpY2tlcnMgbm90IHdhbnRlZCIgdGhpbmc/CgpBZ3JlZSwgSSBkb24n dCB0aGluayB0aGUgc2VhbWxlc3MgbW9kZXNldCAoaWU6IGNoYW5naW5nIHJlc29sdXRpb24gd2l0 aG91dApmbGlja2VyKSBuZWVkcyBhIHByb3BlcnR5LiBKdXN0IG5lZWQgdG8gdGVzdCB0aGUgY29t bWl0IHdpdGhvdXQgQUxMT1dfTU9ERVNFVAphbmQgY29tbWl0IGl0IGlmIHRoZSB0ZXN0IHBhc3Nl cy4KCj4gCj4gQWxzbyB3aGF0J3MgdGhlIGJlbmVmaXQgb2YgdXNpbmcgdmlkZW8gbW9kZSBpZiB5 b3VyIHBhbmVsIHN1cHBvcnRlcwo+IGNvbW1hbmQgbW9kZT8gQ2FuIHlvdSB0dXJuIG9mZiB0aGUg bWVtb3J5IGluIHRoZSBwYW5lbCBhbmQgYWN0dWFsbHkKPiBzYXZlIHBvd2VyIHRoYXQgd2F5PyBB bmQgaWYgdGhlcmUgaXMgYSBiZW5lZml0IGNhbid0IHRoZSBkcml2ZXIganVzdAo+IGF1dG9tYWdp Y2FsbHkgc3dpdGNoIGJldHdlZW4gdGhlIHR3byBiYXNlZCBvbiBob3cgb2Z0ZW4gdGhpbmdzIGFy ZQo+IGdldHRpbmcgdXBkYXRlZD8gVGhhdCB3b3VsZCBtYXRjaCBob3cgZURQIFBTUiBhbHJlYWR5 IHdvcmtzLgoKSSdtIGd1ZXNzaW5nIHZpZGVvIG1vZGUgbWlnaHQgaGF2ZSBzb21lIGxhdGVuY3kg YmVuZWZpdHMgb3ZlciBjb21tYW5kIG1vZGU/CgpTZWFuCgo+IAo+IC0tIAo+IFZpbGxlIFN5cmrD pGzDpAo+IEludGVsCgotLSAKU2VhbiBQYXVsLCBTb2Z0d2FyZSBFbmdpbmVlciwgR29vZ2xlIC8g Q2hyb21pdW0gT1MKX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19fX19f X18KRnJlZWRyZW5vIG1haWxpbmcgbGlzdApGcmVlZHJlbm9AbGlzdHMuZnJlZWRlc2t0b3Aub3Jn Cmh0dHBzOi8vbGlzdHMuZnJlZWRlc2t0b3Aub3JnL21haWxtYW4vbGlzdGluZm8vZnJlZWRyZW5v