From patchwork Wed Jan 8 07:59:45 2020 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: AceLan Kao X-Patchwork-Id: 1219427 Return-Path: X-Original-To: incoming@patchwork.ozlabs.org Delivered-To: patchwork-incoming@bilbo.ozlabs.org Authentication-Results: ozlabs.org; spf=none (no SPF record) smtp.mailfrom=lists.ubuntu.com (client-ip=91.189.94.19; helo=huckleberry.canonical.com; envelope-from=kernel-team-bounces@lists.ubuntu.com; receiver=) Authentication-Results: ozlabs.org; dmarc=fail (p=none dis=none) header.from=canonical.com Authentication-Results: ozlabs.org; dkim=fail reason="signature verification failed" (2048-bit key; unprotected) header.d=gmail.com header.i=@gmail.com header.b="uyhOxrMu"; dkim-atps=neutral Received: from huckleberry.canonical.com (huckleberry.canonical.com [91.189.94.19]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by ozlabs.org (Postfix) with ESMTPS id 47t1r12Tgmz9sRh; Wed, 8 Jan 2020 18:59:59 +1100 (AEDT) Received: from localhost ([127.0.0.1] helo=huckleberry.canonical.com) by huckleberry.canonical.com with esmtp (Exim 4.86_2) (envelope-from ) id 1ip6Fs-0008Os-5M; Wed, 08 Jan 2020 07:59:52 +0000 Received: from mail-pl1-f196.google.com ([209.85.214.196]) by huckleberry.canonical.com with esmtps (TLS1.2:ECDHE_RSA_AES_128_GCM_SHA256:128) (Exim 4.86_2) (envelope-from ) id 1ip6Fq-0008Ob-OP for kernel-team@lists.ubuntu.com; Wed, 08 Jan 2020 07:59:50 +0000 Received: by mail-pl1-f196.google.com with SMTP id g6so793262plp.6 for ; Tue, 07 Jan 2020 23:59:50 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=gmail.com; s=20161025; h=sender:from:to:subject:date:message-id:in-reply-to:references; bh=0kw+M7u+U8rs3995pes2Hxh87S+J6vq1PpIdJtcpTb0=; b=uyhOxrMuzNePsX5fesq2Oxg2FPF4WerSHtI0OnUJXE4hmODKZdxOiWqVmw5xmwRJHX 9GgvcqgvIK80Kun4bOWGKbKDOg6SB56RpmkgSiF1hEv2RAcquKBmvTzHvUxQqdKIWb/e tOCPsyG9AK8zdhEh//rsQ2rNC3No1N6EPDt+foKTTIckHviDc5RFzu/eXyHDS/ZyLgHz GOPv+EF0qtTMKdbGE8dW5XaNe7/08Gn+LLfglZToC7A2GJyb3Dxrm9B29lfzhlvs9FwB 98To69bEt3rg/3z7/oc68y8Se0z4tjrVGEmpU7Fz94z+hPtFXUUuXYq5L1bDPHi76N+R 6bzw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:sender:from:to:subject:date:message-id :in-reply-to:references; bh=0kw+M7u+U8rs3995pes2Hxh87S+J6vq1PpIdJtcpTb0=; b=omlj2qjL5oYG+nyNpd+8AboOPgD+KmKyKGXyKCZdRTKUXQFxyeqNxPisLCp2wOtm6k cTZHM8PjpiL5P/saqPFH0FECWorwnrSozS/4ogm8hMNykDuegEweBK0a4TqVzzqHnZeZ eT09knUl+e/dBEihEKp2RK0AaYCM9qafUu7x0dYJ+Tviusy6qf1NEn+fYWrjaS7AVQoI f1r24tollyJCLBBCSUuVa0sVetRS9Yi+Z2eIeWqdsTX8uW9ladULJIW4JKUHFpm6qtAU BL4S6LkAblJ6DYhjPk2WL1PWRgLlsnLLDOIlzd6zGyEKpPgWTYYLbEooQ11NMCwh3cQC 9xag== X-Gm-Message-State: APjAAAVhc5isKOLVzFuY+DufgunwtCMtFt4VKskg6CxUjCOulLPCCCQ4 y9OPYXg1o+CxHHcFoyS71DxcRMGgtuE= X-Google-Smtp-Source: APXvYqxezjyoSZLWJhViLNqMXk3AiCFD1BvtaF66juq6XfTXKyWSZOtPg65PFlizbubb3MNrh+Sthw== X-Received: by 2002:a17:90b:110d:: with SMTP id gi13mr2981442pjb.113.1578470389154; Tue, 07 Jan 2020 23:59:49 -0800 (PST) Received: from localhost (220-135-95-34.HINET-IP.hinet.net. [220.135.95.34]) by smtp.gmail.com with ESMTPSA id f30sm2347334pga.20.2020.01.07.23.59.48 for (version=TLS1_2 cipher=ECDHE-RSA-CHACHA20-POLY1305 bits=256/256); Tue, 07 Jan 2020 23:59:48 -0800 (PST) From: AceLan Kao To: kernel-team@lists.ubuntu.com Subject: [PATCH 1/1][SRU][B][D][E][F] UBUNTU: SAUCE: platform/x86: dell-uart-backlight: add retry for get scalar status Date: Wed, 8 Jan 2020 15:59:45 +0800 Message-Id: <20200108075945.20347-2-acelan.kao@canonical.com> X-Mailer: git-send-email 2.17.1 In-Reply-To: <20200108075945.20347-1-acelan.kao@canonical.com> References: <20200108075945.20347-1-acelan.kao@canonical.com> X-BeenThere: kernel-team@lists.ubuntu.com X-Mailman-Version: 2.1.20 Precedence: list List-Id: Kernel team discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , MIME-Version: 1.0 Errors-To: kernel-team-bounces@lists.ubuntu.com Sender: "kernel-team" BugLink: https://bugs.launchpad.net/bugs/1858761 Found on new platforms that UART require more than 1 second to respond commands in the first 10 seconds after booted. dell_uart_get_scalar_status() is the first command we send to scalar and this command should be more reliable than other commands, and make sure we got correct response from scalar. So, add retry and increase the read timeout to 2 seconds. Signed-off-by: AceLan Kao Acked-by: Stefan Bader Acked-by: Connor Kuehl --- drivers/platform/x86/dell-uart-backlight.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/drivers/platform/x86/dell-uart-backlight.c b/drivers/platform/x86/dell-uart-backlight.c index 90b28865896a..76e9a60a9388 100644 --- a/drivers/platform/x86/dell-uart-backlight.c +++ b/drivers/platform/x86/dell-uart-backlight.c @@ -318,7 +318,7 @@ static int dell_uart_get_scalar_status(struct dell_uart_backlight *dell_pdata) struct dell_uart_bl_cmd *bl_cmd = &uart_cmd[DELL_UART_GET_SCALAR]; struct uart_8250_port *uart = serial8250_get_port(dell_pdata->line); int rx_len; - int status = 0; + int status = 0, retry = 20; dell_uart_dump_cmd(__func__, "tx: ", bl_cmd->cmd, bl_cmd->tx_len); @@ -328,7 +328,11 @@ static int dell_uart_get_scalar_status(struct dell_uart_backlight *dell_pdata) } dell_uart_write(uart, bl_cmd->cmd, bl_cmd->tx_len); - rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + do { + rx_len = dell_uart_read(uart, bl_cmd->ret, bl_cmd->rx_len); + if (rx_len == 0) + msleep(100); + } while (rx_len == 0 && --retry); mutex_unlock(&dell_pdata->brightness_mutex);