Received: by 2002:a05:6a10:9848:0:0:0:0 with SMTP id x8csp1591551pxf; Fri, 2 Apr 2021 15:31:09 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwYVKfOGVFB2p+Yf87EeyF6diH7yCzqK9Vr3rOFAJup6ZL+SJ6Dok17Fq1X4sGH9RNpH9Lf X-Received: by 2002:aa7:c497:: with SMTP id m23mr17720987edq.74.1617402669733; Fri, 02 Apr 2021 15:31:09 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1617402669; cv=none; d=google.com; s=arc-20160816; b=fsjyRGkoo3t5cbYiP7ru1OrWDZytjyizbYWgpzH8UH55CN29voTxKLpo7htZsTiBeJ brNQnIpa3jMKf8MIsElI8wzVVtukx09QT7BXUBh0pid2U0QDESKTRRkbzVNNt2ufwPOV M7X90AAz70qrWA+yeNxpYPwXhxPZJbpoHEA/hH2L7/CmE4Ea3o1Qj8Hs9xmK3XrlV7Rj 04xfh4d5aOKfqbGWNcXC+/u9UMXluPrDlow31/t6nh5fCn1UI2R3mPR0hEpdRYluafzv KrpQf3i3IZTc9677E/c65i6Vc57jBYAGtMB30ncL+dPFISzSA6UcLWPd0GzBrPArlxK7 pNOA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:content-transfer-encoding:mime-version :references:in-reply-to:message-id:date:subject:cc:to:from :dkim-signature; bh=aTj0OGH7KaDzYKPFyz84iOUTYicqvk+ZBNlKttoJO+Q=; b=VH+8oLdi/5LlGYiY30ssft3RBRXN3O+p0ELgyrt4dXapDuK/51v0WpxXHfFm7aASf9 bzjoenfyhLuZfJKNsftgjpFnDfYakkge4dajZDdOTQTZzmFyeU0Wy6ZNyxCtwxQHaIar 3KSC9OEMQbMcSogJSy+B/YqrmWmVd0KgiPw4p8NuGjRBFvIGbYrCm7EuE5h18MBzveiW NgPLsy39xJ3q0Mw8YZWbOxS8QKpwZJaD+RNnPuTqiYNbPphusNM/d21P4JCRaysVNiPZ ExDiKFvhdClXuzWQhDTFNS7gOIspJwHA0KBQID38fxFLFcDCnMduOzi6BCAgaK6X2lin Y2tQ== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=CgOs8CxE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 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 vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id u8si7301602ejf.255.2021.04.02.15.30.47; Fri, 02 Apr 2021 15:31:09 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@chromium.org header.s=google header.b=CgOs8CxE; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=chromium.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S236134AbhDBW3s (ORCPT + 99 others); Fri, 2 Apr 2021 18:29:48 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:37266 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S235979AbhDBW3i (ORCPT ); Fri, 2 Apr 2021 18:29:38 -0400 Received: from mail-pj1-x1034.google.com (mail-pj1-x1034.google.com [IPv6:2607:f8b0:4864:20::1034]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 009D7C06178C for ; Fri, 2 Apr 2021 15:29:36 -0700 (PDT) Received: by mail-pj1-x1034.google.com with SMTP id w8so3266239pjf.4 for ; Fri, 02 Apr 2021 15:29:36 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=chromium.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references :mime-version:content-transfer-encoding; bh=aTj0OGH7KaDzYKPFyz84iOUTYicqvk+ZBNlKttoJO+Q=; b=CgOs8CxEUCEHeF6iUU0vfsG5kJCASq3JPLdC4yt8vdPnN9hjSeAU5189WyCt326Ghi AfEwxJzlF73Zao6yjX7YMnN/6+Hzayv9NF1Re/lHKkogMMNs8JVCoypq231b1EOSy6uE LDNJt2tmY72VHDhggS5OHqI1LD1ogF85M64dM= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:mime-version:content-transfer-encoding; bh=aTj0OGH7KaDzYKPFyz84iOUTYicqvk+ZBNlKttoJO+Q=; b=mxl3uThtwIUzSKMsAqclCyJPKr1AMlIsxrL3tTT0PaJMbL1+B62bxOeqgsZWre5Lls 4kyp1SosyjQz2/6OOm7kESsZVwNzd50qLIeBefUeHm8PFiXEoNPdEZgFEQ2YmpqCtWFb sa8rZRLF76bp/EQVpJnqrV+k8/63X3xl00WGUlipWqoma4KSoppU4+6ZS1V2rOFtCZ+V j2YaL/9rVzKvTyjfvpQ9JbzuMu0iH21nOWcqkYm028E4yU6b1lb9AIkWL3HBxew++cF4 k+8HUH24fty6ASI4TOpxKlQK52OKphE6ixGhLqXiL85kfe5EuhjN5WuoIPUnCIS++p4L AAIw== X-Gm-Message-State: AOAM530bEqvNGWmdM12p3iGD8RZZM3K4RaX2ixnulE615U7pCsCVqUPF TSq/8fapvQ+xqs3bqvSjDORsCQ== X-Received: by 2002:a17:902:b210:b029:e6:33b4:cd9e with SMTP id t16-20020a170902b210b02900e633b4cd9emr14325791plr.67.1617402576574; Fri, 02 Apr 2021 15:29:36 -0700 (PDT) Received: from tictac2.mtv.corp.google.com ([2620:15c:202:201:6c58:fab2:c5e2:f2d7]) by smtp.gmail.com with ESMTPSA id t16sm9233094pfc.204.2021.04.02.15.29.35 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Fri, 02 Apr 2021 15:29:36 -0700 (PDT) From: Douglas Anderson To: Andrzej Hajda , Neil Armstrong , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Sam Ravnborg Cc: Linus W , Bjorn Andersson , robdclark@chromium.org, Stephen Boyd , Steev Klimaszewski , Maarten Lankhorst , linux-arm-msm@vger.kernel.org, Stanislav Lisovskiy , Douglas Anderson , Daniel Vetter , David Airlie , Robert Foss , dri-devel@lists.freedesktop.org, linux-kernel@vger.kernel.org Subject: [PATCH v3 09/12] drm/bridge: ti-sn65dsi86: Fail aux transfers right away if not powered Date: Fri, 2 Apr 2021 15:28:43 -0700 Message-Id: <20210402152701.v3.9.Ifda98514600b646db4fc7bc55f0d0f9a4f1650db@changeid> X-Mailer: git-send-email 2.31.0.208.g409f899ff0-goog In-Reply-To: <20210402222846.2461042-1-dianders@chromium.org> References: <20210402222846.2461042-1-dianders@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org If the bridge (and panel) haven't been powered on then AUX transfers just won't work. Let's just fail them instantly. Signed-off-by: Douglas Anderson --- If the patch ("drm/panel: panel-simple: Use runtime pm to avoid excessive unprepare / prepare") is accepted then we could consider actually powering the panel on instead of failing the transfer. However, without that patch the overhead would just be too much since we need to do several AUX transfers for a single EDID read and powering up and down each time would just be too much. Changes in v3: - ("Fail aux transfers right away if not powered") split out for v3. drivers/gpu/drm/bridge/ti-sn65dsi86.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 543590801a8e..a76cac93cb46 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -896,6 +896,13 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux, int ret; u8 addr_len[SN_AUX_LENGTH_REG + 1 - SN_AUX_ADDR_19_16_REG]; + /* + * Things just won't work if the panel isn't powered. Return failure + * right away. + */ + if (!pdata->pre_enabled) + return -EIO; + if (len > SN_AUX_MAX_PAYLOAD_BYTES) return -EINVAL; -- 2.31.0.208.g409f899ff0-goog