From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752601AbdJIJDq (ORCPT ); Mon, 9 Oct 2017 05:03:46 -0400 Received: from fllnx210.ext.ti.com ([198.47.19.17]:37612 "EHLO fllnx210.ext.ti.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751598AbdJIJDo (ORCPT ); Mon, 9 Oct 2017 05:03:44 -0400 From: Kishon Vijay Abraham I To: Kishon Vijay Abraham I , Bjorn Helgaas CC: Roger Quadros , , , , Subject: [PATCH 0/2] phy: ti-pipe3: Update PCIe PHY settings Date: Mon, 9 Oct 2017 14:33:36 +0530 Message-ID: <20171009090338.26033-1-kishon@ti.com> X-Mailer: git-send-email 2.11.0 MIME-Version: 1.0 Content-Type: text/plain X-EXCLAIMER-MD-CONFIG: e1e8a2fd-e40a-4ac6-ac9b-f7e9cc9ee180 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org This was supposed to only update ti-pipe3 PHY registers. However because of the way the ti-pipe3 PHY, OCP2SCP and PCIe controller are connected in dra7xx where PCIe controller --------------> ti-pipe3 PHY --------------> OCP2SCP depends on depends on updating ti-pipe3 PHY registers results in an abort. Though the dependency between ti-pipe3 PHY and OCP2SCP is created (OCP2SCP is parent of ti-pipe3 PHY), and enabling ti-pipe3 PHY clocks should in turn enable OCP2SCP (with the help of pm_runtime framework), this doesn't work in no_irq stage since pm_runtime is disabled during no_irq stage. Since pci-dra7xx enables/initializes ti-pipe3 phy in no_irq stage, OCP2SCP is not enabled resulting in an abort with ti-pipe3 PHY registers are accessed. In order to solve this a functional dependency is created between PCIe and ti-pipe3 PHY so that PCIe is suspended before PHY/OCP2SCP and resumed after PCIe PHY/OCP2SCP Kishon Vijay Abraham I (2): PCI: dwc: dra7xx: Create functional dependency between PCIe and PHY phy: ti-pipe3: Update pcie phy settings drivers/pci/dwc/pci-dra7xx.c | 16 +++++++ drivers/phy/ti/phy-ti-pipe3.c | 101 +++++++++++++++++++++++++++++++++++++++++- 2 files changed, 116 insertions(+), 1 deletion(-) -- 2.11.0