linux-kernel.vger.kernel.org archive mirror
 help / color / mirror / Atom feed
From: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
To: linux-kernel@vger.kernel.org
Cc: Greg Kroah-Hartman <gregkh@linuxfoundation.org>,
	stable@vger.kernel.org,
	Selvam Sathappan Periakaruppan <speriaka@codeaurora.org>,
	Sivaprakash Murugesan <sivaprak@codeaurora.org>,
	Vinod Koul <vkoul@kernel.org>
Subject: [PATCH 4.19 72/78] phy: qcom-qmp: Use correct values for ipq8074 PCIe Gen2 PHY init
Date: Tue, 15 Sep 2020 16:13:37 +0200	[thread overview]
Message-ID: <20200915140637.190662014@linuxfoundation.org> (raw)
In-Reply-To: <20200915140633.552502750@linuxfoundation.org>

From: Sivaprakash Murugesan <sivaprak@codeaurora.org>

commit afd55e6d1bd35b4b36847869011447a83a81c8e0 upstream.

There were some problem in ipq8074 Gen2 PCIe phy init sequence.

1. Few register values were wrongly updated in the phy init sequence.
2. The register QSERDES_RX_SIGDET_CNTRL is a RX tuning parameter
   register which is added in serdes table causing the wrong register
   was getting updated.
3. Clocks and resets were not added in the phy init.

Fix these to make Gen2 PCIe port on ipq8074 devices to work.

Fixes: eef243d04b2b6 ("phy: qcom-qmp: Add support for IPQ8074")
Cc: stable@vger.kernel.org
Co-developed-by: Selvam Sathappan Periakaruppan <speriaka@codeaurora.org>
Signed-off-by: Selvam Sathappan Periakaruppan <speriaka@codeaurora.org>
Signed-off-by: Sivaprakash Murugesan <sivaprak@codeaurora.org>
Link: https://lore.kernel.org/r/1596036607-11877-4-git-send-email-sivaprak@codeaurora.org
Signed-off-by: Vinod Koul <vkoul@kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

---
 drivers/phy/qualcomm/phy-qcom-qmp.c |   16 +++++++++-------
 drivers/phy/qualcomm/phy-qcom-qmp.h |    2 ++
 2 files changed, 11 insertions(+), 7 deletions(-)

--- a/drivers/phy/qualcomm/phy-qcom-qmp.c
+++ b/drivers/phy/qualcomm/phy-qcom-qmp.c
@@ -311,8 +311,8 @@ static const struct qmp_phy_init_tbl ipq
 	QMP_PHY_INIT_CFG(QSERDES_COM_BG_TRIM, 0xf),
 	QMP_PHY_INIT_CFG(QSERDES_COM_LOCK_CMP_EN, 0x1),
 	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_MAP, 0x0),
-	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER1, 0x1f),
-	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER2, 0x3f),
+	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER1, 0xff),
+	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_TIMER2, 0x1f),
 	QMP_PHY_INIT_CFG(QSERDES_COM_CMN_CONFIG, 0x6),
 	QMP_PHY_INIT_CFG(QSERDES_COM_PLL_IVCO, 0xf),
 	QMP_PHY_INIT_CFG(QSERDES_COM_HSCLK_SEL, 0x0),
@@ -338,7 +338,6 @@ static const struct qmp_phy_init_tbl ipq
 	QMP_PHY_INIT_CFG(QSERDES_COM_INTEGLOOP_GAIN1_MODE0, 0x0),
 	QMP_PHY_INIT_CFG(QSERDES_COM_INTEGLOOP_GAIN0_MODE0, 0x80),
 	QMP_PHY_INIT_CFG(QSERDES_COM_BIAS_EN_CTRL_BY_PSM, 0x1),
-	QMP_PHY_INIT_CFG(QSERDES_COM_VCO_TUNE_CTRL, 0xa),
 	QMP_PHY_INIT_CFG(QSERDES_COM_SSC_EN_CENTER, 0x1),
 	QMP_PHY_INIT_CFG(QSERDES_COM_SSC_PER1, 0x31),
 	QMP_PHY_INIT_CFG(QSERDES_COM_SSC_PER2, 0x1),
@@ -347,7 +346,6 @@ static const struct qmp_phy_init_tbl ipq
 	QMP_PHY_INIT_CFG(QSERDES_COM_SSC_STEP_SIZE1, 0x2f),
 	QMP_PHY_INIT_CFG(QSERDES_COM_SSC_STEP_SIZE2, 0x19),
 	QMP_PHY_INIT_CFG(QSERDES_COM_CLK_EP_DIV, 0x19),
-	QMP_PHY_INIT_CFG(QSERDES_RX_SIGDET_CNTRL, 0x7),
 };
 
 static const struct qmp_phy_init_tbl ipq8074_pcie_tx_tbl[] = {
@@ -355,6 +353,8 @@ static const struct qmp_phy_init_tbl ipq
 	QMP_PHY_INIT_CFG(QSERDES_TX_LANE_MODE, 0x6),
 	QMP_PHY_INIT_CFG(QSERDES_TX_RES_CODE_LANE_OFFSET, 0x2),
 	QMP_PHY_INIT_CFG(QSERDES_TX_RCV_DETECT_LVL_2, 0x12),
+	QMP_PHY_INIT_CFG(QSERDES_TX_EMP_POST1_LVL, 0x36),
+	QMP_PHY_INIT_CFG(QSERDES_TX_SLEW_CNTL, 0x0a),
 };
 
 static const struct qmp_phy_init_tbl ipq8074_pcie_rx_tbl[] = {
@@ -365,7 +365,6 @@ static const struct qmp_phy_init_tbl ipq
 	QMP_PHY_INIT_CFG(QSERDES_RX_RX_EQU_ADAPTOR_CNTRL4, 0xdb),
 	QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_SATURATION_AND_ENABLE, 0x4b),
 	QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_GAIN, 0x4),
-	QMP_PHY_INIT_CFG(QSERDES_RX_UCDR_SO_GAIN_HALF, 0x4),
 };
 
 static const struct qmp_phy_init_tbl ipq8074_pcie_pcs_tbl[] = {
@@ -818,6 +817,9 @@ static const struct qmp_phy_cfg msm8996_
 	.mask_pcs_ready		= PHYSTATUS,
 };
 
+static const char * const ipq8074_pciephy_clk_l[] = {
+	"aux", "cfg_ahb",
+};
 /* list of resets */
 static const char * const ipq8074_pciephy_reset_l[] = {
 	"phy", "common",
@@ -835,8 +837,8 @@ static const struct qmp_phy_cfg ipq8074_
 	.rx_tbl_num		= ARRAY_SIZE(ipq8074_pcie_rx_tbl),
 	.pcs_tbl		= ipq8074_pcie_pcs_tbl,
 	.pcs_tbl_num		= ARRAY_SIZE(ipq8074_pcie_pcs_tbl),
-	.clk_list		= NULL,
-	.num_clks		= 0,
+	.clk_list		= ipq8074_pciephy_clk_l,
+	.num_clks		= ARRAY_SIZE(ipq8074_pciephy_clk_l),
 	.reset_list		= ipq8074_pciephy_reset_l,
 	.num_resets		= ARRAY_SIZE(ipq8074_pciephy_reset_l),
 	.vreg_list		= NULL,
--- a/drivers/phy/qualcomm/phy-qcom-qmp.h
+++ b/drivers/phy/qualcomm/phy-qcom-qmp.h
@@ -77,6 +77,8 @@
 #define QSERDES_COM_CORECLK_DIV_MODE1			0x1bc
 
 /* Only for QMP V2 PHY - TX registers */
+#define QSERDES_TX_EMP_POST1_LVL			0x018
+#define QSERDES_TX_SLEW_CNTL				0x040
 #define QSERDES_TX_RES_CODE_LANE_OFFSET			0x054
 #define QSERDES_TX_DEBUG_BUS_SEL			0x064
 #define QSERDES_TX_HIGHZ_TRANSCEIVEREN_BIAS_DRVR_EN	0x068



  parent reply	other threads:[~2020-09-16  0:19 UTC|newest]

Thread overview: 95+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-09-15 14:12 [PATCH 4.19 00/78] 4.19.146-rc1 review Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 01/78] ARM: dts: logicpd-torpedo-baseboard: Fix broken audio Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 02/78] ARM: dts: logicpd-som-lv-baseboard: " Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 03/78] ARM: dts: socfpga: fix register entry for timer3 on Arria10 Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 04/78] ARM: dts: ls1021a: fix QuadSPI-memory reg range Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 05/78] RDMA/rxe: Fix memleak in rxe_mem_init_user Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 06/78] RDMA/rxe: Drop pointless checks in rxe_init_ports Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 07/78] RDMA/bnxt_re: Do not report transparent vlan from QP1 Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 08/78] drm/sun4i: Fix dsi dcs long write function Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 09/78] iio: adc: mcp3422: fix locking on error path Greg Kroah-Hartman
2020-09-16  7:31   ` Pavel Machek
2020-09-17  1:41     ` Sasha Levin
2020-09-15 14:12 ` [PATCH 4.19 10/78] scsi: libsas: Set data_dir as DMA_NONE if libata marks qc as NODATA Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 11/78] RDMA/core: Fix reported speed and width Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 12/78] mmc: sdhci-msm: Add retries when all tuning phases are found valid Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 13/78] ARM: dts: bcm: HR2: Fixed QSPI compatible string Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 14/78] ARM: dts: NSP: " Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 15/78] ARM: dts: BCM5301X: " Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 16/78] arm64: dts: ns2: " Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 17/78] ARC: HSDK: wireup perf irq Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 18/78] dmaengine: acpi: Put the CSRT table after using it Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 19/78] netfilter: conntrack: allow sctp hearbeat after connection re-use Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 20/78] drivers/net/wan/lapbether: Added needed_tailroom Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 21/78] NFC: st95hf: Fix memleak in st95hf_in_send_cmd Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 22/78] firestream: Fix memleak in fs_open Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 23/78] ALSA: hda: Fix 2 channel swapping for Tegra Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 24/78] drivers/net/wan/lapbether: Set network_header before transmitting Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 25/78] xfs: initialize the shortform attr header padding entry Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 26/78] irqchip/eznps: Fix build error for !ARC700 builds Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 27/78] nvme-fabrics: dont check state NVME_CTRL_NEW for request acceptance Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 28/78] nvme: have nvme_wait_freeze_timeout return if it timed out Greg Kroah-Hartman
2020-09-16  7:34   ` Pavel Machek
2020-09-17  1:35     ` Sasha Levin
2020-09-15 14:12 ` [PATCH 4.19 29/78] nvme-rdma: serialize controller teardown sequences Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 30/78] HID: quirks: Set INCREMENT_USAGE_ON_DUPLICATE for all Saitek X52 devices Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 31/78] drivers/net/wan/hdlc_cisco: Add hard_header_len Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 32/78] HID: elan: Fix memleak in elan_input_configured Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 33/78] ARC: [plat-hsdk]: Switch ethernet phy-mode to rgmii-id Greg Kroah-Hartman
2020-09-15 14:12 ` [PATCH 4.19 34/78] cpufreq: intel_pstate: Refuse to turn off with HWP enabled Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 35/78] cpufreq: intel_pstate: Fix intel_pstate_get_hwp_max() for turbo disabled Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 36/78] ALSA: hda: fix a runtime pm issue in SOF when integrated GPU is disabled Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 37/78] drm/amdgpu: Fix bug in reporting voltage for CIK Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 38/78] iommu/amd: Do not use IOMMUv2 functionality when SME is active Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 39/78] gcov: Disable gcov build with GCC 10 Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 40/78] iio: adc: mcp3422: fix locking scope Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 41/78] iio: adc: ti-ads1015: fix conversion when CONFIG_PM is not set Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 42/78] iio:light:ltr501 Fix timestamp alignment issue Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 43/78] iio:accel:bmc150-accel: Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 44/78] iio:adc:ti-adc084s021 Fix alignment and data leak issues Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 45/78] iio:adc:ina2xx Fix timestamp alignment issue Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 46/78] iio:adc:max1118 Fix alignment of timestamp and data leak issues Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 47/78] iio:adc:ti-adc081c Fix alignment " Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 48/78] iio:magnetometer:ak8975 " Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 49/78] iio:light:max44000 Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 50/78] iio:chemical:ccs811: " Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 51/78] iio: accel: kxsd9: Fix alignment of local buffer Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 52/78] iio:accel:mma7455: Fix timestamp alignment and prevent data leak Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 53/78] iio:accel:mma8452: " Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 54/78] staging: wlan-ng: fix out of bounds read in prism2sta_probe_usb() Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 55/78] btrfs: require only sector size alignment for parent eb bytenr Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 56/78] btrfs: fix lockdep splat in add_missing_dev Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 57/78] btrfs: fix wrong address when faulting in pages in the search ioctl Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 58/78] regulator: push allocation in set_consumer_device_supply() out of lock Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 59/78] scsi: target: iscsi: Fix data digest calculation Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 60/78] scsi: target: iscsi: Fix hang in iscsit_access_np() when getting tpg->np_login_sem Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 61/78] drm/tve200: Stabilize enable/disable Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 62/78] drm/msm: Disable preemption on all 5xx targets Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 63/78] rbd: require global CAP_SYS_ADMIN for mapping and unmapping Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 64/78] RDMA/rxe: Fix the parent sysfs read when the interface has 15 chars Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 65/78] vgacon: remove software scrollback support Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 66/78] fbcon: remove soft scrollback code Greg Kroah-Hartman
2020-09-16  7:57   ` Pavel Machek
2020-09-16  8:25     ` Greg Kroah-Hartman
2020-09-16  9:07       ` Pavel Machek
2020-09-16  9:14         ` Willy Tarreau
2020-09-23  8:44           ` Pavel Machek
2020-09-23 18:19             ` Linus Torvalds
2020-09-23 18:57               ` Daniel Vetter
2020-09-15 14:13 ` [PATCH 4.19 67/78] fbcon: remove now unusued softback_lines cursor() argument Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 68/78] KVM: VMX: Dont freeze guest when event delivery causes an APIC-access exit Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 69/78] ARM: dts: vfxxx: Add syscon compatible with OCOTP Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 70/78] video: fbdev: fix OOB read in vga_8planes_imageblit() Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 71/78] staging: greybus: audio: fix uninitialized value issue Greg Kroah-Hartman
2020-09-15 14:13 ` Greg Kroah-Hartman [this message]
2020-09-15 14:13 ` [PATCH 4.19 73/78] usb: core: fix slab-out-of-bounds Read in read_descriptors Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 74/78] USB: serial: ftdi_sio: add IDs for Xsens Mti USB converter Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 75/78] USB: serial: option: support dynamic Quectel USB compositions Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 76/78] USB: serial: option: add support for SIM7070/SIM7080/SIM7090 modules Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 77/78] usb: Fix out of sync data toggle if a configured device is reconfigured Greg Kroah-Hartman
2020-09-15 14:13 ` [PATCH 4.19 78/78] usb: typec: ucsi: acpi: Check the _DEP dependencies Greg Kroah-Hartman
2020-09-16  0:00 ` [PATCH 4.19 00/78] 4.19.146-rc1 review Shuah Khan
2020-09-16  8:20 ` Pavel Machek
2020-09-17 14:31   ` Greg Kroah-Hartman
2020-09-16 10:49 ` Naresh Kamboju
2020-09-16 17:05 ` Guenter Roeck

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20200915140637.190662014@linuxfoundation.org \
    --to=gregkh@linuxfoundation.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=sivaprak@codeaurora.org \
    --cc=speriaka@codeaurora.org \
    --cc=stable@vger.kernel.org \
    --cc=vkoul@kernel.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).