Received: by 2002:a05:6a10:8c0a:0:0:0:0 with SMTP id go10csp2233936pxb; Mon, 8 Mar 2021 19:04:03 -0800 (PST) X-Google-Smtp-Source: ABdhPJz1c3g7HJOFKNtR03r3pe/F0e4jWmQMjlJT3LRNopIrb+gzVNjcL1W7X2V1V6SF4mT3mPQT X-Received: by 2002:a50:fa04:: with SMTP id b4mr1656697edq.293.1615259042922; Mon, 08 Mar 2021 19:04:02 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1615259042; cv=none; d=google.com; s=arc-20160816; b=PJ15IBEGPIZIkOlX/qtVQjTtK7wdTRupv1TnMMOA/fE/JCKwbHnEHHhktmqfz+NlDy pSuuSS9T/NXpMDt7iHhRheXE2CglziJCdMLBSkh3ouIgqy+0jMPac2Og6uvwqwUEV6AD ruoZwhoVot2dLxFZneFP7FAWbkVGBCyCJM2j+SrRKy9fDGimqfsiautZCGSGQewc0th8 SGgNYI9B5WrheYMRTlptzmkTOxKyyYQemQi7cd21gwrj7ZgvhyoaGj8tjUTchLN5rloR l68Je+iAU64+JMXV3cFgONI7MhJniKN8PDJSOfH7mj6jNfl3yKo0tqmRewI5LSQLNnKh g0Uw== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:references:in-reply-to:message-id:date:subject :cc:to:from:dkim-signature; bh=+Oax13Ycnamx9wpLhQGKhXcDOzjUXN2vJc4TQ71GNsU=; b=krkHc/oPt/aONseaGyPVZmY5VUi4NI5Xr7RywWtb1PyExO8rOYmJYud+7xasv/NRyX mft/28JbeQqqI/ODLpM10hPBn0/sqVzUg5MPiBW9T4oB6SplWd1Xbp4ROPZpYgx32FZH ZkkSwkCdCbeFVqmH+X7cQs5ZBzxw1pVaTTgi9qhj73qKcqxFtUNGPkmTOcI9YHfI5AkI LSva6jnm06E2om/UgIb3aQ30/m79VQIoC/cHXM4QrelEzJRnAz53xxoxAMHe9XJnEQYp pjhgHWeATLdwPGA+a/fFiYoyyWRXPK5zy0wB+lNV0Ssy90aBYAKnc/bLHfDW3313HqwY Nwhg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=gU4WUzJl; 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 m23si8430034ejx.737.2021.03.08.19.03.40; Mon, 08 Mar 2021 19:04:02 -0800 (PST) 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=gU4WUzJl; 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 S230523AbhCIDCJ (ORCPT + 99 others); Mon, 8 Mar 2021 22:02:09 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:51102 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S231138AbhCIDBh (ORCPT ); Mon, 8 Mar 2021 22:01:37 -0500 Received: from mail-pg1-x530.google.com (mail-pg1-x530.google.com [IPv6:2607:f8b0:4864:20::530]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 51007C06174A for ; Mon, 8 Mar 2021 19:01:37 -0800 (PST) Received: by mail-pg1-x530.google.com with SMTP id g4so7787046pgj.0 for ; Mon, 08 Mar 2021 19:01:37 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=+Oax13Ycnamx9wpLhQGKhXcDOzjUXN2vJc4TQ71GNsU=; b=gU4WUzJlwjKAVJ+7f5U3W7EoMep8jE8tU3N4kRRikpr9TVxYr+2pwRsF7I4ndPwa16 1Mz0eXNDtbWKFnBh/FIgV4P6wP2WB6h94iNTbY/OnKONp7yyqNp7TW8WMly3z71VJpAI uAILr9IwVVVHXM2qELYdt5Xg2o/ST7i9/aNsYip1s7UvrmCq8mwZxoLlREtl/4lqr9aC fqmEKAsRoMPENgnbQrR6eaTDW4pj+h2Xe4cZuw5Jp5+HyCEhtZegQJvigJ6FbDbWPFa8 z510+9woum7443Wl2SJOHM4wiB+AapECLkiFExhs3t5znpsptVSxyWo+P0kSNA8bsK/9 o9Nw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references; bh=+Oax13Ycnamx9wpLhQGKhXcDOzjUXN2vJc4TQ71GNsU=; b=rq4aaqV9lY5L6+2UWlYGIpy/Qn42nj1iEeQPqREp3ybpAJPKr1DoNl9cdrWO+M1xKz 2l8EXaT/r9yXesVnpju3fmGco7z54WUWnGVtY/yu/uFwUs8XHNAuhcsaHns74wpI3jPv xzOZ0RKt28MeKxDkLBWcMtFbE98KZIFgwigRwLutHUcNSYs9LmaIxJZx4xUZdTGY39KC md8matC9DWv9IEXqn+CFdw2kNLHqXGRqBQ/GrEK4T9e+gnoHW7nBNs/IG3ps/371Jhfq OOAVvcce78sRipF2/BtAYdbrcrKi9dJ+M3cg16EB0SCos3k9HsKaELMiQ5F/KB5K++m0 Ak9Q== X-Gm-Message-State: AOAM530d4tHZmOBDEr1yZUPdbQO2yG6ek3KdMCwrBukwMaGvL1wCWE4X i7UaCdoa3gMiZRmVCVR1/12IDw== X-Received: by 2002:a62:7ecc:0:b029:1ee:f61b:a63f with SMTP id z195-20020a627ecc0000b02901eef61ba63fmr23596993pfc.57.1615258896884; Mon, 08 Mar 2021 19:01:36 -0800 (PST) Received: from localhost.localdomain ([240e:362:435:6a00:e593:6e0:bfb4:a65f]) by smtp.gmail.com with ESMTPSA id y24sm3162782pfn.213.2021.03.08.19.01.26 (version=TLS1_2 cipher=ECDHE-ECDSA-AES128-GCM-SHA256 bits=128/128); Mon, 08 Mar 2021 19:01:36 -0800 (PST) From: Zhangfei Gao To: Bjorn Helgaas , Greg Kroah-Hartman , Arnd Bergmann , jean-philippe , kenneth-lee-2012@foxmail.com, Wangzhou , kw@linux.com Cc: linux-pci@vger.kernel.org, linux-kernel@vger.kernel.org, Zhangfei Gao Subject: [PATCH v3 3/3] PCI: Set dma-can-stall for HiSilicon chips Date: Tue, 9 Mar 2021 11:00:37 +0800 Message-Id: <1615258837-12189-4-git-send-email-zhangfei.gao@linaro.org> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1615258837-12189-1-git-send-email-zhangfei.gao@linaro.org> References: <1615258837-12189-1-git-send-email-zhangfei.gao@linaro.org> Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org HiSilicon KunPeng920 and KunPeng930 have devices appear as PCI but are actually on the AMBA bus. These fake PCI devices can support SVA via SMMU stall feature, by setting dma-can-stall for ACPI platforms. Property dma-can-stall depends on patchset https://lore.kernel.org/linux-iommu/20210302092644.2553014-1-jean-philippe@linaro.org/ Signed-off-by: Zhangfei Gao Signed-off-by: Jean-Philippe Brucker Signed-off-by: Zhou Wang --- drivers/pci/quirks.c | 13 +++++++++++++ 1 file changed, 13 insertions(+) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index 873d27f..b866cdf 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -1827,10 +1827,23 @@ DECLARE_PCI_FIXUP_CLASS_FINAL(PCI_VENDOR_ID_HUAWEI, 0x1610, PCI_CLASS_BRIDGE_PCI static void quirk_huawei_pcie_sva(struct pci_dev *pdev) { + struct property_entry properties[] = { + PROPERTY_ENTRY_BOOL("dma-can-stall"), + {}, + }; + if (pdev->revision != 0x21 && pdev->revision != 0x30) return; pdev->pasid_no_tlp = 1; + + /* + * Set the dma-can-stall property on ACPI platforms. Device tree + * can set it directly. + */ + if (!pdev->dev.of_node && + device_add_properties(&pdev->dev, properties)) + pci_warn(pdev, "could not add stall property"); } DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_HUAWEI, 0xa250, quirk_huawei_pcie_sva); DECLARE_PCI_FIXUP_FINAL(PCI_VENDOR_ID_HUAWEI, 0xa251, quirk_huawei_pcie_sva); -- 2.9.5