Received: by 2002:a05:7412:f589:b0:e2:908c:2ebd with SMTP id eh9csp1004632rdb; Wed, 1 Nov 2023 08:45:22 -0700 (PDT) X-Google-Smtp-Source: AGHT+IEhL1CLS/wUFCSfMV1RJXI5aqxpPoOTZRfu0V/k/ICWRayAdOLvdir+XO8CaXCl+AMhQwHl X-Received: by 2002:a05:6358:2908:b0:168:e7a8:e02f with SMTP id y8-20020a056358290800b00168e7a8e02fmr20000620rwb.21.1698853522620; Wed, 01 Nov 2023 08:45:22 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1698853522; cv=none; d=google.com; s=arc-20160816; b=QBeGwgylF2YR/1r4BmKaH6MJtki2cnbVaw2QFG06K7blMLO75OjqhxbaowzETihECv ykMkNKvJZrzSkLoNAlFzqrCnht/FBbZoTjCwii11ZYmYzkmQYydbtYiIjIyKH7h2yXyW jikS+635hLneoU/fazPzh5BhtdmLxjILRTDJhjrsQtTJjDlIFDc2zHPIY16BsgCFgThr Ugt+0JS2M4Bc0ylVRu7uSpoKZG06lDD3psEXNHX1j8RgVLaFcLf4Zb4T1bJRAQHRXEXa AdJO7DOxyAP+HMiR7WsXMfIMnNGWyd9KOL4YDsZIc+RB1i+Rv8H/n/MlQz9cBt/iLsp8 EB9g== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:in-reply-to:content-transfer-encoding :content-disposition:mime-version:references:message-id:subject:cc :to:from:date:dkim-signature; bh=gIfqH98KQfCzIopKfr9kAVM80xJQ3s0Sgl61/jXKJYs=; fh=KPB0ytq5LEDT6nujPtcowM/5ybbpIGvZyr7V6XTFkCg=; b=as9cc1tm+CR2c5uB37OeT2IOc8cjME1EuItRLvpnXAOLG3sL10fbX52ltZUAmD3B/e i1BCXN/b6sp2yjpo6zFwUulmtrMumvXrlQKnsD5m2v/xGO1C2c2qApSDh8aiDO8thbTN X8PMetSjkEJG5NcAJYBLOb0yt0qM7r/kqijKw5knm/YAEuYYjRUbbA3JhfUi0FAVC9qC qmz4uXoew7txMUxRgFfnNiCjbU3UlnRSOmAcjYe9889qgRguMFZSqgjuwmNgDOmfoviS m6CjPcqsiz2mblC0yoyOouJcgzDeQMGyHFzeGBJONAMF+2fFk6WjfrC8Z9CIHzCWchlq /THg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=RY9L4PF2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Return-Path: Received: from snail.vger.email (snail.vger.email. [23.128.96.37]) by mx.google.com with ESMTPS id cb6-20020a056a02070600b005ac8d44bad5si184164pgb.7.2023.11.01.08.45.22 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Nov 2023 08:45:22 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) client-ip=23.128.96.37; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=RY9L4PF2; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.37 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: from out1.vger.email (depot.vger.email [IPv6:2620:137:e000::3:0]) by snail.vger.email (Postfix) with ESMTP id 894F5812AD0E; Wed, 1 Nov 2023 08:45:21 -0700 (PDT) X-Virus-Status: Clean X-Virus-Scanned: clamav-milter 0.103.10 at snail.vger.email Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1343525AbjKAPpS (ORCPT + 99 others); Wed, 1 Nov 2023 11:45:18 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:39772 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229498AbjKAPpQ (ORCPT ); Wed, 1 Nov 2023 11:45:16 -0400 Received: from mail-qk1-x743.google.com (mail-qk1-x743.google.com [IPv6:2607:f8b0:4864:20::743]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 571F5E4 for ; Wed, 1 Nov 2023 08:45:10 -0700 (PDT) Received: by mail-qk1-x743.google.com with SMTP id af79cd13be357-7789923612dso476579785a.0 for ; Wed, 01 Nov 2023 08:45:10 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; t=1698853509; x=1699458309; darn=vger.kernel.org; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date:from:to :cc:subject:date:message-id:reply-to; bh=gIfqH98KQfCzIopKfr9kAVM80xJQ3s0Sgl61/jXKJYs=; b=RY9L4PF2yOe9yxBoAfJguZg4Ce+e4LGyQn8lhkSQR+lxjbKm8LDxp1fojb6lChCENh 3OUXvIsFfJ3D8U900hjS1wcSK6SWcTTRdt5XsSYCS5YTz0eYeXDhIy1x1DARfAg2Mtap K//g5Fxbg/1HcfzEKoGqWdV0BTJAPElEiDhN0= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1698853509; x=1699458309; h=in-reply-to:content-transfer-encoding:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :x-gm-message-state:from:to:cc:subject:date:message-id:reply-to; bh=gIfqH98KQfCzIopKfr9kAVM80xJQ3s0Sgl61/jXKJYs=; b=WoiuUWq59NllEQmNOueHo1oE4IY5dVtGAOFkaxPsA0PqxStbCI5HfCu7QXzy0e1Ras aP4Kogi/HXUnxGYx71cIIWgC8yHgqQ/1b6wKpiH67B7aVsv0CRfeYhS7wRNVOBwtMXld mIITqm1XWBwPvaQCsB88mARhJ3ST5G0hUEI+WDgdCWKdDTuhnQ2MkGfsaTx+1SMuS/az xm8h6szIo6y6D9Z9s+NHE4T+8iUtIqsP1T3oAAsjQmlwgvE2BHIE8ZhL5QANPiPcOcZo pLOxlccfMp4Fi2w0W/u8inXJKAIJ3TvJx5NZJyJtZNpSFfBXPawgdzHxW1Hd6vTGzs3t ZV0g== X-Gm-Message-State: AOJu0YxFNuXZz/XN0+Kzbz+odmOdBi+YO76/Y9/F3bv6oYCrvkxp5Kjo vB+Q/x6tCkclHyzljgJBpKeDMA== X-Received: by 2002:a05:6214:248f:b0:66d:33c1:3750 with SMTP id gi15-20020a056214248f00b0066d33c13750mr17261948qvb.49.1698853509327; Wed, 01 Nov 2023 08:45:09 -0700 (PDT) Received: from google.com (129.177.85.34.bc.googleusercontent.com. [34.85.177.129]) by smtp.gmail.com with ESMTPSA id s7-20020ad45007000000b0065afe284b3csm1569209qvo.125.2023.11.01.08.45.08 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Wed, 01 Nov 2023 08:45:08 -0700 (PDT) Date: Wed, 1 Nov 2023 15:45:07 +0000 From: Paz Zcharya To: "Hogander, Jouni" Cc: "joonas.lahtinen@linux.intel.com" , "Vivi, Rodrigo" , "tvrtko.ursulin@linux.intel.com" , "jani.nikula@linux.intel.com" , "navaremanasi@chromium.org" , "Almahallawy, Khaled" , "Banik, Subrata" , "Kandpal, Suraj" , "Coelho, Luciano" , "Roper, Matthew D" , "ville.syrjala@linux.intel.com" , "seanpaul@chromium.org" , "daniel@ffwll.ch" , "dri-devel@lists.freedesktop.org" , "Hajda, Andrzej" , "ddavenport@chromium.org" , "intel-gfx@lists.freedesktop.org" , "linux-kernel@vger.kernel.org" , "Lisovskiy, Stanislav" , "Nautiyal, Ankit K" , "Shankar, Uma" , "Souza, Jose" , "Kahola, Mika" , "airlied@gmail.com" Subject: Re: [PATCH] drm/i915/display: Only fail fastset on PSR2 Message-ID: References: <20231031232245.1331194-1-pazz@google.com> <4cff3a2f0b286fe166a6c1fe0434d34489c34f6a.camel@intel.com> MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Disposition: inline Content-Transfer-Encoding: 8bit In-Reply-To: <4cff3a2f0b286fe166a6c1fe0434d34489c34f6a.camel@intel.com> X-Spam-Status: No, score=-2.5 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org X-Greylist: Sender passed SPF test, not delayed by milter-greylist-4.6.4 (snail.vger.email [0.0.0.0]); Wed, 01 Nov 2023 08:45:21 -0700 (PDT) On Wed, Nov 01, 2023 at 06:26:47AM +0000, Hogander, Jouni wrote: > On Tue, 2023-10-31 at 23:21 +0000, Paz Zcharya wrote: > > Currently, i915 fails fastset if both the sink and the source support > > any version of PSR and regardless of the configuration setting of the > > driver (i.e., i915.enable_psr kernel argument). However, the > > implementation of PSR1 enable sequence is already seamless > > and works smoothly with fastset. Accordingly, do not fail fastset > > if PSR2 is not enabled. > > Thank you for the patch. Check similar patch I sent some time ago to > trybot: > > https://patchwork.freedesktop.org/series/125392/ > I missed this patch. I apologize! This is great work and exactly what we (Google ChromeOS) need. I think your patch is better than mine, so let's abort my patch and continue the discussion at series/125392. By the way, we have verified your patch on two Meteor Lake devices running ChromeOS and it works smoothly (no flickering or modesets). I'll comment on the other patch as well. > If we want to temporarily do this only for psr1 I think you could check > what I've done in drivers/gpu/drm/i915/display/intel_display.c in my > patch and modify your patch accordingly. Otherwise e.g. our IGT > testcases which are toggling PSR enable/disable/psr1/psr2 are to my > understanding performing full modeset and possible issues are not > revealed. > > After modifying drivers/gpu/drm/i915/display/intel_display.c you can > also verify it is really seamless and smooth by toggling different PSR > states via /sys/kernel/debug/dri/0/i915_edp_psr_debug. That interface > is performing atomic commit when PSR mode is changed. > > BR, > > Jouni Högander > > > > Signed-off-by: Paz Zcharya > > --- > > > >  drivers/gpu/drm/i915/display/intel_dp.c  | 4 ++-- > >  drivers/gpu/drm/i915/display/intel_psr.c | 2 +- > >  drivers/gpu/drm/i915/display/intel_psr.h | 1 + > >  3 files changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c > > b/drivers/gpu/drm/i915/display/intel_dp.c > > index e0e4cb529284..a1af96e31518 100644 > > --- a/drivers/gpu/drm/i915/display/intel_dp.c > > +++ b/drivers/gpu/drm/i915/display/intel_dp.c > > @@ -2584,8 +2584,8 @@ bool intel_dp_initial_fastset_check(struct > > intel_encoder *encoder, > >                 fastset = false; > >         } > >   > > -       if (CAN_PSR(intel_dp)) { > > -               drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Forcing full > > modeset to compute PSR state\n", > > +       if (CAN_PSR(intel_dp) && psr2_global_enabled(intel_dp)) { > > +               drm_dbg_kms(&i915->drm, "[ENCODER:%d:%s] Forcing full > > modeset due to PSR2\n", > >                             encoder->base.base.id, encoder- > > >base.name); > >                 crtc_state->uapi.mode_changed = true; > >                 fastset = false; > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.c > > b/drivers/gpu/drm/i915/display/intel_psr.c > > index 97d5eef10130..388bc3246db9 100644 > > --- a/drivers/gpu/drm/i915/display/intel_psr.c > > +++ b/drivers/gpu/drm/i915/display/intel_psr.c > > @@ -187,7 +187,7 @@ static bool psr_global_enabled(struct intel_dp > > *intel_dp) > >         } > >  } > >   > > -static bool psr2_global_enabled(struct intel_dp *intel_dp) > > +bool psr2_global_enabled(struct intel_dp *intel_dp) > >  { > >         struct drm_i915_private *i915 = dp_to_i915(intel_dp); > >   > > diff --git a/drivers/gpu/drm/i915/display/intel_psr.h > > b/drivers/gpu/drm/i915/display/intel_psr.h > > index 0b95e8aa615f..6f3c36389cd3 100644 > > --- a/drivers/gpu/drm/i915/display/intel_psr.h > > +++ b/drivers/gpu/drm/i915/display/intel_psr.h > > @@ -21,6 +21,7 @@ struct intel_encoder; > >  struct intel_plane; > >  struct intel_plane_state; > >   > > +bool psr2_global_enabled(struct intel_dp *intel_dp); > >  void intel_psr_init_dpcd(struct intel_dp *intel_dp); > >  void intel_psr_pre_plane_update(struct intel_atomic_state *state, > >                                 struct intel_crtc *crtc); > .