Received: by 2002:a05:6a10:f3d0:0:0:0:0 with SMTP id a16csp2798402pxv; Mon, 12 Jul 2021 02:04:57 -0700 (PDT) X-Google-Smtp-Source: ABdhPJxbeIBN1AzGxMHboejW6Z4F8KPPl1SaOkLmzPuy9ToIiFFM7TdP5QZd8Mmc009pD0kU7yPv X-Received: by 2002:a05:6402:35cf:: with SMTP id z15mr64169949edc.208.1626080697002; Mon, 12 Jul 2021 02:04:57 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1626080696; cv=none; d=google.com; s=arc-20160816; b=VS5sFK7Zghdn2Jd2le3RVT+40UBJZbc8Bm7t9EZ2OXL8ESN1qCXy6GMU1npKJyLSfL LunVxCXR2WIu/HWNpnWA/254pmgOYJBI4FSv3NzwbCrX5NPNJ+RI/zj0jyNFNQI7N5sq l4EneRU4TyOsO1u8ySjkySBSr5C2ajfM9DP/hvgK8KlzM7BkmDA3/TqXH9yBMS8gXDRk mWv3SquFdMovKpZPsN1jDjJZVEK/XELnU2BmtlQW/RehwslNdHaOwAw+M+w5VPurY58/ KbAceuOtuUEqeVffAcsMpXD3hmGbr1Lc8wbF5h/qEl1dcaiu1ytn1kw9TWEFk8qB/cNS d+Dg== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:user-agent:in-reply-to:content-disposition :mime-version:references:message-id:subject:cc:to:from:date :dkim-signature; bh=8H0yUJOEvi3zZTuxDoA57QDVjTfFiJnGcoqqzbwxmVs=; b=J8AAtb/4vISDbnsQ0F9g0izJLIKM68owAer81tgq2LthzUDoY7uhgxMteFIAQs2wXR gq0D5r2vHGYKMGAatUDAU7JSkdxNqEXSUYvtqfBzTSsmGFpfuWYWBbat5+KSowa1zT03 8qUIESMTPCGI4UskIj/DPbiy9WtmRMAnPRBws4aQfXJaUHBniMaLsq4Jh9xiJuJN2qJQ 554rpzJ5RdhfkRySK2MhE4bjF1+L23fiWxiDjL2OJjrFtiCYlmIB0cFiOo+BGGVn871g Tm0LuPPDmnjbq2c2OVV1wR/j7RbE3+UKJzQ1xSWsaFhfVlWbE7aKYPsMjLc+8oRXfsVx DlXg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZG5p7Tqp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id s11si3900651edd.46.2021.07.12.02.04.34; Mon, 12 Jul 2021 02:04:56 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) client-ip=23.128.96.18; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=ZG5p7Tqp; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 23.128.96.18 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1382946AbhGLJCb (ORCPT + 99 others); Mon, 12 Jul 2021 05:02:31 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:48226 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1353287AbhGLIBs (ORCPT ); Mon, 12 Jul 2021 04:01:48 -0400 Received: from mail-pg1-x52b.google.com (mail-pg1-x52b.google.com [IPv6:2607:f8b0:4864:20::52b]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id EB570C0610E0 for ; Mon, 12 Jul 2021 00:53:07 -0700 (PDT) Received: by mail-pg1-x52b.google.com with SMTP id 62so17447729pgf.1 for ; Mon, 12 Jul 2021 00:53:07 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=date:from:to:cc:subject:message-id:references:mime-version :content-disposition:in-reply-to:user-agent; bh=8H0yUJOEvi3zZTuxDoA57QDVjTfFiJnGcoqqzbwxmVs=; b=ZG5p7Tqp7gaCXtfqcGueAgC03BaZ6tkCjgmLL+HntOiwhJVqLV6P6FH1PU6ijigIwa 2D4aHrU2WxmK0t/cVP5bhnfA6Hkfog08BhnyIsOcgCOM9FnYRcvnd7v6hZUq3SbkC8p8 drICwrUijHqS3WKlo2GtM6VUvreUSiSm45XYaSrDodqEoAdcJwkF91hPc2NmPEe2cBy8 Ln6qOoZO1+4J3z+jn4vMSOYSxCAI7XrZrZj0PRJtLPs4Ww9EUDq+huGj459Y7BO1sr9d e2PNoPqExJBslLp/TZZ8xwXSDQ/72n1gP1FAu2OXrZICejo4aQ5No5TQFgZsULmFensl vafw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:date:from:to:cc:subject:message-id:references :mime-version:content-disposition:in-reply-to:user-agent; bh=8H0yUJOEvi3zZTuxDoA57QDVjTfFiJnGcoqqzbwxmVs=; b=F4UVE5AaK4TPejvIz062PitxRZALdyQj35P4E4rDr5BGLnUK9k4aGjU1XOJwIw3rdc eY/RwYQz+SBXoRa/l4XUpJLVygwlUJm/r5VtluuEP2ud5x7PMbQDB2uhD7C0fT8iW3D4 gmFmnO3d3ROtXb2o5blVRZkvdd8luDqTfe/EXZJGnY4y5M+z578xTOvROdztNkdcLE8E 0EENpefhOj9L66ve6zTehibsql73Su5NkKN1pQY/vgNwyF+FZSTZcPYAs/PSgmRyIoL1 /06Er+W4h6SVPtvkR2i/AhMcK/WNY1OKAemoYIOEFnVYyj6sBHBvnKN3KvakoLkiJIpD zUng== X-Gm-Message-State: AOAM532WzE24ocJYHp+ztZT8p/svg2A0sV8939b7a08Dg5+OAB+VGHlI BiylOvhzkbUzZ1hkB2cwMGci X-Received: by 2002:a62:1d86:0:b029:32a:311a:9595 with SMTP id d128-20020a621d860000b029032a311a9595mr10855485pfd.74.1626076387347; Mon, 12 Jul 2021 00:53:07 -0700 (PDT) Received: from workstation ([120.138.12.18]) by smtp.gmail.com with ESMTPSA id z3sm16409753pgl.77.2021.07.12.00.53.03 (version=TLS1_2 cipher=ECDHE-ECDSA-CHACHA20-POLY1305 bits=256/256); Mon, 12 Jul 2021 00:53:07 -0700 (PDT) Date: Mon, 12 Jul 2021 13:23:02 +0530 From: Manivannan Sadhasivam To: Rob Herring Cc: Kishon Vijay Abraham I , Lorenzo Pieralisi , Bjorn Helgaas , devicetree@vger.kernel.org, PCI , "linux-kernel@vger.kernel.org" , linux-arm-msm , hemantk@codeaurora.org, Siddartha Mohanadoss , Bjorn Andersson , Sriharsha Allenki , skananth@codeaurora.org, vpernami@codeaurora.org, Veerabhadrarao Badiganti Subject: Re: [PATCH v5 0/3] Add Qualcomm PCIe Endpoint driver support Message-ID: <20210712075302.GA8113@workstation> References: <20210630034653.10260-1-manivannan.sadhasivam@linaro.org> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.9.4 (2018-02-28) Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Thu, Jul 01, 2021 at 09:25:01AM -0600, Rob Herring wrote: > On Tue, Jun 29, 2021 at 9:47 PM Manivannan Sadhasivam > wrote: > > > > Hello, > > > > This series adds support for Qualcomm PCIe Endpoint controller found > > in platforms like SDX55. The Endpoint controller is based on the designware > > core with additional Qualcomm wrappers around the core. > > > > The driver is added separately unlike other Designware based drivers that > > combine RC and EP in a single driver. This is done to avoid complexity and > > to maintain this driver autonomously. > > > > The driver has been validated with an out of tree MHI function driver on > > SDX55 based Telit FN980 EVB connected to x86 host machine over PCIe. > > > > Thanks, > > Mani > > > > Changes in v5: > > > > * Removed the DBI register settings that are not needed > > * Used the standard definitions available in pci_regs.h > > * Added defines for all the register fields > > * Removed the left over code from previous iteration > > > > Changes in v4: > > > > * Removed the active_config settings needed for IPA integration > > * Switched to writel for couple of relaxed versions that sneaked in > > I thought we resolved this discussion. Use _relaxed variants unless > you need the stronger ones. > I thought the discussion was resolved in favor of using read/writel. Here is the last reply from Bjorn: "I think we came to the conclusion that writel() was better than incorrect use of writel_relaxed() followed by wmb(). And in this particular case it's definitely not happening in a hot code path..." IMO, it is safer to use readl/writel calls than the relaxed variants. And so far the un-written rule I assumed is, only consider using the relaxed variants if the code is in hot path (but somehow I used the relaxed version in v1 :P ) Thanks, Mani > Rob > > > > > Changes in v3: > > > > * Lot of minor cleanups to the driver patch based on review from Bjorn and Stan. > > * Noticeable changes are: > > - Got rid of _relaxed calls and used readl/writel > > - Got rid of separate TCSR memory region and used syscon for getting the > > register offsets for Perst registers > > - Changed the wake gpio handling logic > > - Added remove() callback and removed "suppress_bind_attrs" > > - stop_link() callback now just disables PERST IRQ > > * Added MMIO region and doorbell interrupt to the binding > > * Added logic to write MMIO physicall address to MHI base address as it is > > for the function driver to work > > > > Changes in v2: > > > > * Addressed the comments from Rob on bindings patch > > * Modified the driver as per binding change > > * Fixed the warnings reported by Kbuild bot > > * Removed the PERST# "enable_irq" call from probe() > > > > Manivannan Sadhasivam (3): > > dt-bindings: pci: Add devicetree binding for Qualcomm PCIe EP > > controller > > PCI: dwc: Add Qualcomm PCIe Endpoint controller driver > > MAINTAINERS: Add entry for Qualcomm PCIe Endpoint driver and binding > > > > .../devicetree/bindings/pci/qcom,pcie-ep.yaml | 160 ++++ > > MAINTAINERS | 10 +- > > drivers/pci/controller/dwc/Kconfig | 10 + > > drivers/pci/controller/dwc/Makefile | 1 + > > drivers/pci/controller/dwc/pcie-qcom-ep.c | 742 ++++++++++++++++++ > > 5 files changed, 922 insertions(+), 1 deletion(-) > > create mode 100644 Documentation/devicetree/bindings/pci/qcom,pcie-ep.yaml > > create mode 100644 drivers/pci/controller/dwc/pcie-qcom-ep.c > > > > -- > > 2.25.1 > >