Received: by 2002:ad5:474a:0:0:0:0:0 with SMTP id i10csp1988273imu; Fri, 14 Dec 2018 04:08:13 -0800 (PST) X-Google-Smtp-Source: AFSGD/VEvYDNEVPyf9DdewXlRLgTh3NB1c3efNiiNVIOsiJtax8FRlUP+WLi94aGukDHUIh/y7rU X-Received: by 2002:a63:d208:: with SMTP id a8mr2428420pgg.77.1544789293171; Fri, 14 Dec 2018 04:08:13 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1544789293; cv=none; d=google.com; s=arc-20160816; b=bziVJIIVU++QawM9vmRgZUoEZcHQPCSxn+yrzuXoIKGz9WSGllTiiq2kwCcIYlVIKM XyTLSu02xmNrZmvmgdM9bdmMaFnkrmxApJKHt13quTGR6Vm9MuL9x9Jkn6oHNzxXA2Z6 91hBkVTaLl9kZFFMmYUoEuhcQPK+kseUBJog+9rsHD/uIDRuotQiUum5hWk4rNFRZ9cq 4nNKHu2f/z5AtzeciisfEAaA33h3n3vVVV9u0f6f4zs+IB5Q9JrdZzjxXy3YUFMSoxfv AjLsiD3sUg3+NDpw5nO+McexTLjVQIDuWbg0gvbAInz+pkQKxamlMsHvIATTOyRjYzXT xQzA== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:sender:content-transfer-encoding:mime-version :user-agent:references:in-reply-to:message-id:date:subject:cc:to :from:dkim-signature; bh=oNrFsMwcSUYhIk59rcE/nj9uXxBZG7Gaz9SA68V4enI=; b=krpLEj02ETsf/lLjBJu8jgokxZJct70VMX6tgCcMs3Tl1XsV6XU6EHp72C1pkhRM+m 0jlLGRAF08riHeXW1egegNB80+TUNDQqq/5VmQPN3Ctyu9zytvCOIIrM7UzQUGS8vYyl 56d5o43io1Sl4bDSQcBVHKAddZ/fZNuTmM+ApSJIMsZvrQhEvwVWVjhjOKr8jTqh+M96 /ofDvcta2vCQaBcoj8jLCLf32QG/p3Z5lqFb0oc0JOg1azxNcPwxJIEvJNAnLhWxsNeS saPrHh7QiuMZimIMZfC/6tULdkD0iWATLaIKKi2MeFv8b1EAII6oWWwWgUymOETwHeiJ 0KXA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=AGviU6u8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [209.132.180.67]) by mx.google.com with ESMTP id s8si3636359pgm.508.2018.12.14.04.07.57; Fri, 14 Dec 2018 04:08:13 -0800 (PST) Received-SPF: pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) client-ip=209.132.180.67; Authentication-Results: mx.google.com; dkim=pass header.i=@kernel.org header.s=default header.b=AGviU6u8; spf=pass (google.com: best guess record for domain of linux-kernel-owner@vger.kernel.org designates 209.132.180.67 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1730672AbeLNMFT (ORCPT + 99 others); Fri, 14 Dec 2018 07:05:19 -0500 Received: from mail.kernel.org ([198.145.29.99]:50040 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1730662AbeLNMFP (ORCPT ); Fri, 14 Dec 2018 07:05:15 -0500 Received: from localhost (5356596B.cm-6-7b.dynamic.ziggo.nl [83.86.89.107]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by mail.kernel.org (Postfix) with ESMTPSA id 5FCB721486; Fri, 14 Dec 2018 12:05:14 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=default; t=1544789114; bh=s6rW6dKWAHj69G/7IMHe0iPeIPFdUPlsBFfzU3QRtJQ=; h=From:To:Cc:Subject:Date:In-Reply-To:References:From; b=AGviU6u8URtwexOVe8u06PsN4F3RBEs5GKpXBqNO5tKqZ2MvVx6zZXzFSzbkbqTX4 0Le3OHqjqm3pNt/dthjMaaL938u3dYGmVLPsPr7q5t5NTxI8YNivCp+dBfWprargRE VIFpoSk5EKp/ll8SHish1YIUHFyBXcz4bH900cWc= From: Greg Kroah-Hartman To: linux-kernel@vger.kernel.org Cc: Greg Kroah-Hartman , stable@vger.kernel.org, Manu Gautam , Douglas Anderson , Stephen Boyd , Vivek Gautam , Kishon Vijay Abraham I , Sasha Levin Subject: [PATCH 4.19 067/142] phy: qcom-qusb2: Use HSTX_TRIM fused value as is Date: Fri, 14 Dec 2018 12:59:12 +0100 Message-Id: <20181214115749.735610650@linuxfoundation.org> X-Mailer: git-send-email 2.20.0 In-Reply-To: <20181214115747.053633987@linuxfoundation.org> References: <20181214115747.053633987@linuxfoundation.org> User-Agent: quilt/0.65 X-stable: review X-Patchwork-Hint: ignore MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Sender: linux-kernel-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org 4.19-stable review patch. If anyone has any objections, please let me know. ------------------ [ Upstream commit 6e34d358b24ffc40764eb3681164c79091765429 ] Fix HSTX_TRIM tuning logic which instead of using fused value as HSTX_TRIM, incorrectly performs bitwise OR operation with existing default value. Fixes: ca04d9d3e1b1 ("phy: qcom-qusb2: New driver for QUSB2 PHY on Qcom chips") Signed-off-by: Manu Gautam Reviewed-by: Douglas Anderson Reviewed-by: Stephen Boyd Acked-by: Vivek Gautam Signed-off-by: Kishon Vijay Abraham I Signed-off-by: Sasha Levin --- drivers/phy/qualcomm/phy-qcom-qusb2.c | 19 ++++++++++--------- 1 file changed, 10 insertions(+), 9 deletions(-) diff --git a/drivers/phy/qualcomm/phy-qcom-qusb2.c b/drivers/phy/qualcomm/phy-qcom-qusb2.c index e70e425f26f5..9d6c88064158 100644 --- a/drivers/phy/qualcomm/phy-qcom-qusb2.c +++ b/drivers/phy/qualcomm/phy-qcom-qusb2.c @@ -402,10 +402,10 @@ static void qusb2_phy_set_tune2_param(struct qusb2_phy *qphy) /* * Read efuse register having TUNE2/1 parameter's high nibble. - * If efuse register shows value as 0x0, or if we fail to find - * a valid efuse register settings, then use default value - * as 0xB for high nibble that we have already set while - * configuring phy. + * If efuse register shows value as 0x0 (indicating value is not + * fused), or if we fail to find a valid efuse register setting, + * then use default value for high nibble that we have already + * set while configuring the phy. */ val = nvmem_cell_read(qphy->cell, NULL); if (IS_ERR(val) || !val[0]) { @@ -415,12 +415,13 @@ static void qusb2_phy_set_tune2_param(struct qusb2_phy *qphy) /* Fused TUNE1/2 value is the higher nibble only */ if (cfg->update_tune1_with_efuse) - qusb2_setbits(qphy->base, cfg->regs[QUSB2PHY_PORT_TUNE1], - val[0] << 0x4); + qusb2_write_mask(qphy->base, cfg->regs[QUSB2PHY_PORT_TUNE1], + val[0] << HSTX_TRIM_SHIFT, + HSTX_TRIM_MASK); else - qusb2_setbits(qphy->base, cfg->regs[QUSB2PHY_PORT_TUNE2], - val[0] << 0x4); - + qusb2_write_mask(qphy->base, cfg->regs[QUSB2PHY_PORT_TUNE2], + val[0] << HSTX_TRIM_SHIFT, + HSTX_TRIM_MASK); } static int qusb2_phy_set_mode(struct phy *phy, enum phy_mode mode) -- 2.19.1