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=-12.9 required=3.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,HEADER_FROM_DIFFERENT_DOMAINS, INCLUDES_PATCH,MAILING_LIST_MULTI,SIGNED_OFF_BY,SPF_HELO_NONE,SPF_PASS, USER_AGENT_GIT autolearn=ham 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 4EC41C2D0A3 for ; Mon, 2 Nov 2020 18:11:55 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id E87522222B for ; Mon, 2 Nov 2020 18:11:54 +0000 (UTC) Authentication-Results: mail.kernel.org; dkim=pass (1024-bit key) header.d=chromium.org header.i=@chromium.org header.b="JBUs/ATc" Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1726204AbgKBSLx (ORCPT ); Mon, 2 Nov 2020 13:11:53 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:55682 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1726083AbgKBSLu (ORCPT ); Mon, 2 Nov 2020 13:11:50 -0500 Received: from mail-pl1-x644.google.com (mail-pl1-x644.google.com [IPv6:2607:f8b0:4864:20::644]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id D56F5C061A04 for ; Mon, 2 Nov 2020 10:11:49 -0800 (PST) Received: by mail-pl1-x644.google.com with SMTP id f21so7216519plr.5 for ; Mon, 02 Nov 2020 10:11:49 -0800 (PST) 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=Mucw0+S0CdtYt2MrRKtHgnlnbG3RdZ1CSuq3C9GPsWI=; b=JBUs/ATc6uaPEMghQ/X3xL58YiXfHxnNb2KJQlhhG6ZMIoCG6puCx17Mix5ZaIIktH O8MBOpsa+Hpbr+NJ90V/vYmzGqZcR3Q0grcapVGHvrG3pnQkz1VzWmLwRQbvoTUPMwS3 IKqh/NbK43OMImI8cujYwv8KvNtR3igfTvoLo= 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=Mucw0+S0CdtYt2MrRKtHgnlnbG3RdZ1CSuq3C9GPsWI=; b=knBtU5BoyCPhkFeY60/FyN3tT5jT0OGcreyetK0VWDaNHA9kI72IayU1qkI0tHbQ+F OBRdIAaMOYU/s7tTr4Mt9qpemDJZjKrGxH83v58MT8bl+zWBVAjdartgvy6ERiWOl2YT qrTsTuB/JvM89oFAnwY8nrXaZU/CItFmETRaa2oy30JbufTsk7GI4T9Gut6/cAfRKVBj S+EIErJanTyzT+UfB9f7YBRHnUxBzoPOKXp7Qzzw3O3kPjyCJLTpaiLbEqzA0qEXsn/t EvMrI+XDLxpfHCAGAJo4hvdb+ds0XML4omepO4JDHn+ddGNRTuUMwdTJE0s9vCPse1wn 2//w== X-Gm-Message-State: AOAM532oXi0/bC+b+olPtV0qMA29Tz2R9OX/wCwtU62J56CfzHMxI/LD ee+dkwLiIWCxNSh00TcnLKNj+VzWzpnscw== X-Google-Smtp-Source: ABdhPJyHYVx0D/MimpLNF9meNsmXNCFBi0+HKgmBxtQQHUNbkMk9oc+WHbulYskfoB1/sI0kTUilQg== X-Received: by 2002:a17:902:b689:b029:d5:e78f:65d1 with SMTP id c9-20020a170902b689b02900d5e78f65d1mr21923958pls.6.1604340709451; Mon, 02 Nov 2020 10:11:49 -0800 (PST) Received: from smtp.gmail.com ([2620:15c:202:201:3e52:82ff:fe6c:83ab]) by smtp.gmail.com with ESMTPSA id b17sm13175640pgb.94.2020.11.02.10.11.48 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Mon, 02 Nov 2020 10:11:48 -0800 (PST) From: Stephen Boyd To: Andrzej Hajda , Neil Armstrong , Sam Ravnborg Cc: linux-kernel@vger.kernel.org, dri-devel@lists.freedesktop.org, Douglas Anderson , Laurent Pinchart , Jonas Karlman , Jernej Skrabec , Sean Paul Subject: [PATCH v3 2/4] drm/bridge: ti-sn65dsi86: Make polling a busy loop Date: Mon, 2 Nov 2020 10:11:42 -0800 Message-Id: <20201102181144.3469197-3-swboyd@chromium.org> X-Mailer: git-send-email 2.29.1.341.ge80a0c044ae-goog In-Reply-To: <20201102181144.3469197-1-swboyd@chromium.org> References: <20201102181144.3469197-1-swboyd@chromium.org> MIME-Version: 1.0 Content-Transfer-Encoding: 8bit Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org There's no reason we need to wait here to poll a register over i2c. The i2c bus is inherently slow and delays are practically part of the protocol because we have to wait for the device to respond to any request for a register. Let's rely on the sleeping of the i2c controller instead of adding any sort of delay here in the bridge driver. Reviewed-by: Douglas Anderson Cc: Laurent Pinchart Cc: Jonas Karlman Cc: Jernej Skrabec Cc: Sean Paul Acked-by: Sam Ravnborg Signed-off-by: Stephen Boyd --- drivers/gpu/drm/bridge/ti-sn65dsi86.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/drivers/gpu/drm/bridge/ti-sn65dsi86.c b/drivers/gpu/drm/bridge/ti-sn65dsi86.c index 87726b9e446f..8276fa50138f 100644 --- a/drivers/gpu/drm/bridge/ti-sn65dsi86.c +++ b/drivers/gpu/drm/bridge/ti-sn65dsi86.c @@ -881,9 +881,9 @@ static ssize_t ti_sn_aux_transfer(struct drm_dp_aux *aux, regmap_write(pdata->regmap, SN_AUX_CMD_REG, request_val | AUX_CMD_SEND); + /* Zero delay loop because i2c transactions are slow already */ ret = regmap_read_poll_timeout(pdata->regmap, SN_AUX_CMD_REG, val, - !(val & AUX_CMD_SEND), 200, - 50 * 1000); + !(val & AUX_CMD_SEND), 0, 50 * 1000); if (ret) return ret; -- Sent by a computer, using git, on the internet