Received: by 2002:a05:6358:53a8:b0:117:f937:c515 with SMTP id z40csp1201736rwe; Fri, 14 Apr 2023 16:27:06 -0700 (PDT) X-Google-Smtp-Source: AKy350aylzNeftKsya/DCg/HbGZGn2zq2F+SgiEO9ECXbjC0YzcGvfNkTOKBXoLOjbfBZJo5yYD1 X-Received: by 2002:a05:6a20:b92a:b0:dd:6e17:2b98 with SMTP id fe42-20020a056a20b92a00b000dd6e172b98mr7509706pzb.38.1681514826580; Fri, 14 Apr 2023 16:27:06 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1681514826; cv=none; d=google.com; s=arc-20160816; b=YZrLwbDbEgVa+syujz0ZA7NL/HYu1a4yjud5JSsiCVTqYq7+6ecsg1YLYD6vAH0K0I Cr4GN78AwRRJUCoUcnggYocOu64LmTtQNHhdZ87NM2nO7990EnL3FJ7ZabKYLKlSf7vn WcZYhrFipZ+ZGmxjV2f0ve/f0fad7YDZeqm1d3jBBFJxCI0UvoRr+AlbCw3kKXJRgzce g6t+XjgRFnmxI12Pc/lCW15UVEdUsMDkww8LOerwHiTqVIWEb7bUoBaHl/smMkZa1HgK +XxR3LFBBCYXhgABpfp53BrcK1IStM0B8FVz0u6xmCaYssGt/CXrL0nZtE4vtkOIlR8s Na5A== 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-disposition:mime-version :references:message-id:subject:cc:to:from:date; bh=hpfttIH41xyRqu1gn36b/sxOlb5JpZbtUsFEAoqCrA0=; b=ovjn3c1Yeb1BAwWuehW/nTZ+X9UigP+gHJGA3FP6jr+LJI0ARTM+kFRJxfpkqpAngi aImyxfsB/ej1xbFopj0PLSELR1JMrPo6TaqGdZX1cSLoxft45Mjt54mlnM56aNnfsyQL qS8GcRqPBcu/m9x7c8/SV6zFX3brYAnGcGObwPsv+zc8A/ZfxqWLXYK95dOpbD/yq/l5 /U011ddqJZWVfPJAR/UXTupi3vreyKS/R4eMK3rmBbZqYERIAcGdBxIRxJ62fnHGGICw gh21uzA7qnqyEn71g6dJEzrLmDFVqYvgrlCY0A8hjw9r/xIGia1iCRCCBHKSTywq7y5Z TeMA== ARC-Authentication-Results: i=1; mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id s63-20020a632c42000000b0050be799a2fesi5646775pgs.672.2023.04.14.16.26.55; Fri, 14 Apr 2023 16:27:06 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229904AbjDNXLs (ORCPT + 99 others); Fri, 14 Apr 2023 19:11:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:40808 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229497AbjDNXLr (ORCPT ); Fri, 14 Apr 2023 19:11:47 -0400 Received: from m-r1.th.seeweb.it (m-r1.th.seeweb.it [IPv6:2001:4b7a:2000:18::170]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D43E44221; Fri, 14 Apr 2023 16:11:45 -0700 (PDT) Received: from SoMainline.org (94-211-6-86.cable.dynamic.v4.ziggo.nl [94.211.6.86]) (using TLSv1.3 with cipher TLS_AES_256_GCM_SHA384 (256/256 bits) key-exchange ECDHE (P-256) server-signature RSA-PSS (2048 bits) server-digest SHA256) (No client certificate requested) by m-r1.th.seeweb.it (Postfix) with ESMTPSA id CEBBE20386; Sat, 15 Apr 2023 01:11:43 +0200 (CEST) Date: Sat, 15 Apr 2023 01:11:42 +0200 From: Marijn Suijten To: Abhinav Kumar Cc: freedreno@lists.freedesktop.org, quic_sbillaka@quicinc.com, dianders@chromium.org, airlied@gmail.com, andersson@kernel.org, robdclark@gmail.com, dri-devel@lists.freedesktop.org, swboyd@chromium.org, vkoul@kernel.org, agross@kernel.org, daniel@ffwll.ch, linux-arm-msm@vger.kernel.org, dmitry.baryshkov@linaro.org, Kuogee Hsieh , sean@poorly.run, linux-kernel@vger.kernel.org Subject: Re: [Freedreno] [PATCH] drm/msm/dpu: always program dsc active bits Message-ID: <2e6dwt74oyy7rroxyus6ebfbylbbtinsi7bccpqazjm64owiv4@gfs52kkq47c3> References: <1681247095-1201-1-git-send-email-quic_khsieh@quicinc.com> <83f9a438-52c5-83f3-1767-92d16518d8f0@quicinc.com> <049697ba-d997-62c0-6e21-ffb287ac3100@quicinc.com> <6s42sutrd2c6tme46t6tchd6y6wonmpwokseqqz2frkrfext7v@vnv44tzwyva4> <82bf6167-d621-1a4e-86f0-7a8567347722@quicinc.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <82bf6167-d621-1a4e-86f0-7a8567347722@quicinc.com> X-Spam-Status: No, score=-1.9 required=5.0 tests=BAYES_00,SPF_HELO_NONE, SPF_PASS,T_SCC_BODY_TEXT_LINE 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 On 2023-04-14 10:57:45, Abhinav Kumar wrote: > On 4/14/2023 10:34 AM, Marijn Suijten wrote: > > On 2023-04-14 08:48:43, Abhinav Kumar wrote: > >> On 4/14/2023 12:35 AM, Marijn Suijten wrote: > >>> On 2023-04-12 10:33:15, Abhinav Kumar wrote: > >>> [..] > >>>>> What happens if a device boots without DSC panel connected? Will > >>>>> CTL_DSC_FLUSH be zero and not (unnecessarily, I assume) flush any of the > >>>>> DSC blocks? Or could this flush uninitialized state to the block? > >>>> > >>>> If we bootup without DSC panel connected, the kernel's cfg->dsc will be > >>>> 0 and default register value of CTL_DSC_FLUSH will be 0 so it wont flush > >>>> any DSC blocks. > >>> > >>> Ack, that makes sense. However, if I connect a DSC panel, then > >>> disconnect it (now the register should be non-zero, but cfg->dsc will be > >>> zero), and then replug a non-DSC panel multiple times, it'll get flushed > >>> every time because we never clear CTL_DSC_FLUSH after that? > >> > >> If we remove it after kernel starts, that issue is there even today > >> without that change because DSI is not a hot-pluggable display so a > >> teardown wont happen when you plug out the panel. How will cfg->dsc be 0 > >> then? In that case, its not a valid test as there was no indication to > >> DRM that display was disconnected so we cannot tear it down. > > > > The patch description itself describes hot-pluggable displays, which I > > believe is the upcoming DSC support for DP? You ask how cfg->dsc can > > become zero, but this is **exactly** what the patch description > > describes, and what this patch is removing the `if` for. If we are not > > allowed to discuss that scenario because it is not currently supported, > > neither should we allow to apply this patch. > > > > With that in mind, can you re-answer the question? > > I didnt follow what needs to be re-answered. > > This patch is being sent in preparation of the DSC over DP support. This > does not handle non-hotpluggable displays. Good, because my question is specifically about *hotpluggable* displays/panels like the upcoming DSC support for DP. After all there would be no point in me suggesting to connect and disconnect non-hotpluggable displays and expect something sensible to happen, wouldn't it? Allow me to copy-paste the question again for convenience, with some minor wording changes: However, if I connect a DSC DP display, then disconnect it (now the register should be non-zero, but cfg->dsc will be zero), and then connect and reconnect a non-DSC DP display multiple times, it'll get flushed every time because we never clear CTL_DSC_FLUSH after that? And the missing part is: would multiple flushes be harmful in this case? > I do not think dynamic switch > between DSC and non-DSC of non-hotpluggable displays needs to be > discussed here as its not handled at all with or without this patch. > > We wanted to get early reviews on the patch. If you want this patch to > be absorbed when rest of DSC over DP lands, I have no concerns with > that. I wont pick this up for fixes and we will land this together with > the rest of DP over DSC. I don't mind when and where this lands, just want to have the semantics clear around persisting the value of CTL_DSC_FLUSh in the register. Regardless, this patch doesn't sound like a fix but a workaround until reset_intf_cfg() is fixed to be called at the right point, and extended to clear CTL_DSC_ACTIVE and flush the DSCs. Perhaps it shouldn't have a Fixes: tag for that reason, as you intend to reinstate this if (cfg->dsc) condition when that is done? - Marijn