Received: by 2002:a05:6a10:206:0:0:0:0 with SMTP id 6csp4063932pxj; Tue, 15 Jun 2021 14:43:03 -0700 (PDT) X-Google-Smtp-Source: ABdhPJwthM8o/ZeB6rIAMSZ/w/5vnGMx6MZz5LlMmhQpyPQGe6697UWLaY9sr1QQs1m6i44qN/5W X-Received: by 2002:a6b:7110:: with SMTP id q16mr1015300iog.53.1623793383234; Tue, 15 Jun 2021 14:43:03 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1623793383; cv=none; d=google.com; s=arc-20160816; b=u9fvycao/nkTdZDYFuJ4t5IN80grYesrjQUe4waujdyIfKLgfwgrX6R0Xf9tUHTw0w FlBcCSeJZRiJzISGT5TVv05KopFFoRI36O84HlvHAz7lzk7c/B+yCOb5HA4DnlvSAEXR ZPwCXyVW1/7/9hjFlxeRmigNtDKxZiyyskytsFsUb6v11DtVWlVG/L6N8HglX0QNmz5s PbMu6Maruv7WQvxwDHaJwAiSu+K1cWJ0K2/Z/K6ALFz9mlUJnYO6g8yK+ixzyZ+p2UVu uASk/i5PhECCqGXj7zzHYdnrNmj0v28O9kfbc+E8jxQPq1RY8er2bcKUTgczWHR4LHVj lDTQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=mDMa17/cQ57Swh80ytYcwq6yxuFfzD/rOaRX3WA1TRE=; b=WLpVquUFKslznyZR7DLA2sIR9iRVAV8WHzbymEDrrspFjzQRaTo3r4ZPHkIWGyrP6P Y3Jy3zlXTk5xID2oM2lP1jTjZSQ0aIwRLZBE2LO6/1H32FUO5E4GlcV9abKVCBTEs9A7 2YXG9czt5gTlenJRvUqEchbjSzNy3EpfmKnKtf8MfMojVwjaCAMotzafJueGBjZW2msI fdKP2GiVp+9MTtkA/uohzWslMRoC1dG02zCfu3/Hk/MveB7FkZ8R3Tqcm8lCoGETr0YA 0YK6kdVd2yXV3SRGOmXedwrX1z+19XTHIlQG868IPkSwOtrV7kzgNcFv2LfmsTmbp0N2 9eLg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@kernel.org header.s=k20201202 header.b=aXR0SfR6; 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=kernel.org Return-Path: Received: from vger.kernel.org (vger.kernel.org. [23.128.96.18]) by mx.google.com with ESMTP id r13si81478ill.4.2021.06.15.14.42.50; Tue, 15 Jun 2021 14:43:03 -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=@kernel.org header.s=k20201202 header.b=aXR0SfR6; 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=kernel.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230390AbhFOVmy (ORCPT + 99 others); Tue, 15 Jun 2021 17:42:54 -0400 Received: from mail.kernel.org ([198.145.29.99]:56724 "EHLO mail.kernel.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S230081AbhFOVmy (ORCPT ); Tue, 15 Jun 2021 17:42:54 -0400 Received: by mail.kernel.org (Postfix) with ESMTPSA id 0551D610A2; Tue, 15 Jun 2021 21:40:49 +0000 (UTC) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/simple; d=kernel.org; s=k20201202; t=1623793249; bh=/oWKsJvcxdMz4Rzoy3pE+j7Iv7xWCF+ZYupP97KOmKo=; h=References:In-Reply-To:From:Date:Subject:To:Cc:From; b=aXR0SfR6dp9FSdmaNvBHqVz5z8mnf/59BkVJt86UYIU+BSZg1J9jqV0YZyRBggCCY deA2wkpV7slrL1m5RFdACByKIx00u6VNdusvpHIFF5c74mZu7Y5xWfmnAOx8ZUI9P5 033jQAWEknB1kr+QzXRiqTyX+tPaEZvoz9ArleVckiZm6J4iJ+aMNg8z91qpPYUMbQ OBEPSjWULqgs5M4bp+qX3ywFFj3HjJadoBqH5om/V1INIU4S28x9gAwLsWuoUG/3Qh 7bq8GzfljmU2sHmL6w/7VgxxuKVWa9+pvZdHVi0BOaWjaApMvmqfKAvKthsjqeTP20 g9d66GgdII56g== Received: by mail-qk1-f177.google.com with SMTP id c18so441632qkc.11; Tue, 15 Jun 2021 14:40:48 -0700 (PDT) X-Gm-Message-State: AOAM530csdEHuU+c0oHSdWvqqTA8ckCygCGIwF5FxBgybvnZmAPklGqw EK9isBpxSFmWDwVQVcGDzsun0TwsQwLnS6qO3g== X-Received: by 2002:a37:a2d3:: with SMTP id l202mr1708344qke.311.1623793248238; Tue, 15 Jun 2021 14:40:48 -0700 (PDT) MIME-Version: 1.0 References: <20210603103814.95177-1-manivannan.sadhasivam@linaro.org> <20210603103814.95177-3-manivannan.sadhasivam@linaro.org> In-Reply-To: From: Rob Herring Date: Tue, 15 Jun 2021 15:40:36 -0600 X-Gmail-Original-Message-ID: Message-ID: Subject: Re: [PATCH v2 2/3] PCI: dwc: Add Qualcomm PCIe Endpoint controller driver To: Bjorn Andersson Cc: Manivannan Sadhasivam , Lorenzo Pieralisi , Bjorn Helgaas , linux-arm-msm , PCI , devicetree@vger.kernel.org, "linux-kernel@vger.kernel.org" , Siddartha Mohanadoss Content-Type: text/plain; charset="UTF-8" Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Sat, Jun 5, 2021 at 9:07 PM Bjorn Andersson wrote: > > On Thu 03 Jun 05:38 CDT 2021, Manivannan Sadhasivam wrote: > > > Add driver support for Qualcomm PCIe Endpoint controller driver based on > > the Designware core with added Qualcomm specific wrapper around the > > core. The driver support is very basic such that it supports only > > enumeration, PCIe read/write, and MSI. There is no ASPM and PM support > > for now but these will be added later. > > > > The driver is capable of using the PERST# and WAKE# side-band GPIOs for > > operation and written on top of the DWC PCI framework. > > > > Co-developed-by: Siddartha Mohanadoss > > Signed-off-by: Siddartha Mohanadoss > > [mani: restructured the driver and fixed several bugs for upstream] > > Signed-off-by: Manivannan Sadhasivam > > Really nice to see this working! [...] > > +static void qcom_pcie_ep_configure_tcsr(struct qcom_pcie_ep *pcie_ep) > > +{ > > + writel_relaxed(0x0, pcie_ep->tcsr + TCSR_PCIE_PERST_EN); > > Please avoid _relaxed accessor unless there's a strong reason, and if so > document it. Uhhh, what!? That's the wrong way around from what I've ever seen anyone say. Have you ever looked at the resulting code on arm32 with OMAP enabled? It's just a memory barrier and an indirect function call on every access. Use readl/writel if you have an ordering requirement WRT DMA, otherwise use relaxed variants. > > + writel_relaxed(0x0, pcie_ep->tcsr + TCSR_PERST_SEPARATION_ENABLE); > > +} > > + [...] > > +static struct platform_driver qcom_pcie_ep_driver = { > > + .probe = qcom_pcie_ep_probe, > > + .driver = { > > + .name = "qcom-pcie-ep", > > Skip the indentation of the '='. > > > + .suppress_bind_attrs = true, > > Why do we suppress_bind_attrs? Because remove is not handled. Rob