Received: by 2002:a05:6358:9144:b0:117:f937:c515 with SMTP id r4csp865820rwr; Wed, 3 May 2023 07:13:53 -0700 (PDT) X-Google-Smtp-Source: ACHHUZ6UNv+TtGGmLsURm4vFwSH1HA8lyNjz3RydDstAxIQFlRWixUe83rvOy5t18QW6DfuzD2St X-Received: by 2002:a17:90a:1982:b0:23d:1bef:8594 with SMTP id 2-20020a17090a198200b0023d1bef8594mr5647233pji.1.1683123233205; Wed, 03 May 2023 07:13:53 -0700 (PDT) ARC-Seal: i=1; a=rsa-sha256; t=1683123233; cv=none; d=google.com; s=arc-20160816; b=V4rP1y1ZrWlNdZZNOWGErzrBeloPshD3ZvNKrAZ5y7eaXQA5Z4AOolMGTtIKIy1hnz yiTRlchzyC95nMzT5eeFS1GbMnY6ST5IwA3WiNYymeyv9rngE3arq0oVmv/0Xoj4QYCW 8A6Zrkpd+PCCL95iOePWVJ/6CQm8VcWk3GqPBvaYUwhaqrXt2Gc633fvxsg7LrxlujEU ATdqoE7BOpUIUtyfY9j9agV1OoohmY90cOLM/5BEsto70LesPZB/NGEGqHIJqNQgR0il SAimr4gmyN12NXOALWv65e8Sm5xFyyZpO/v0+k8etdEB/PKMZX/h3rtf//KSxOe3ljER lrrg== 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=P8x9oqskQNBO7Scdyg5Zjz+BJptXUmS2AO7caH1cfUc=; b=IpKWo6Q+RqBYNtEcOTJu8Hp9N+EXERB1lhrtDA54nHrCCWLNmzpuLDtinkQ7ahb0Fm 5S/8IPrj8la200ph6535b6ezjgyBne7RqMs2mc5JcfnGGJyOTzaQJs6/aP6DWnDqCD4b CkLLefCoJbgdRN4vovD7dS8HwxiDWy3NekmPqMDhLSevW9gduGwMBfFcyEB3ge8nL0ow zNXJ+UhvV0wVGTRwpF9Oxq1FT22cqZPdK6QRnkZQwB07US8maWrq3wqB9lLBzz98GYgo HjaloxuS4HB0olaxzWlAo/hH3hXJVOXL5DI6Yjz2dQfMoW/gHMYZ5DhXHWCR1yLP1y45 wCIA== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b="DPB5JY/w"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hi18-20020a17090b30d200b0024792a548dbsi1573156pjb.126.2023.05.03.07.13.38; Wed, 03 May 2023 07:13:52 -0700 (PDT) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@broadcom.com header.s=google header.b="DPB5JY/w"; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=QUARANTINE sp=QUARANTINE dis=NONE) header.from=broadcom.com Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S230170AbjECOHL (ORCPT + 99 others); Wed, 3 May 2023 10:07:11 -0400 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35896 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S229741AbjECOHJ (ORCPT ); Wed, 3 May 2023 10:07:09 -0400 Received: from mail-wr1-x431.google.com (mail-wr1-x431.google.com [IPv6:2a00:1450:4864:20::431]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 8B3CC3C3C for ; Wed, 3 May 2023 07:07:08 -0700 (PDT) Received: by mail-wr1-x431.google.com with SMTP id ffacd0b85a97d-2f95231618aso3252094f8f.1 for ; Wed, 03 May 2023 07:07:08 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=broadcom.com; s=google; t=1683122827; x=1685714827; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=P8x9oqskQNBO7Scdyg5Zjz+BJptXUmS2AO7caH1cfUc=; b=DPB5JY/wT2EjlhqMoRFJYltpToC53uJw6Wy9UKZxItukuHxiwSg4/YSg/aGbLSzuhN TU7IscR5Hb2F4V1z/32LQCOx9iyD4f6cFBfsF5ZEmuBV/px/95jM+nQ2pUKFUrDW8Zyv 0QRJvkFlfYsuFpQeOWnAp6gBPwHvl8ZR+iW3U= X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20221208; t=1683122827; x=1685714827; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=P8x9oqskQNBO7Scdyg5Zjz+BJptXUmS2AO7caH1cfUc=; b=hQ8l04vtwP7al/3l8go4CwNblmsSyE+85MFfmYnbHpPM6qFrHSjnOhr4nFruyeN17X g4I7eiUtszWgAEPpV0gwK9gNky6LD3NwarO6Lz7NWEVuw6nFvJOEr6Rs6QJ/EIS0ynRI 6o1ZJ9Xnsdv9uSJqUkjSe+Uznbfnrhm7vol16fH17CshSFyTqD80UVzFOo3gR6731Dsw Qn4us/soFQKSlpvlesT1ec3RiQsasZBBN8/4TSIX2uWkjFW1o3l9NuvycaAljAM1I+Jw 4NRLX+4NXxIQUrxrcCX2iGb5uharTi+qhZUz2fLPQ7QCw/QqkcDvyLrHu7a5JX/trlwN cg1A== X-Gm-Message-State: AC+VfDykHxYhy/ReUaBhtG+sZ5NGQfxaYNYMaTYNZYg/ilJW6yRFtNT0 Pr11A8UnJxP26xdRa5jRKidPbjW+kovtrdd/mNsjIg== X-Received: by 2002:adf:f305:0:b0:2f0:6192:92db with SMTP id i5-20020adff305000000b002f0619292dbmr143098wro.46.1683122827010; Wed, 03 May 2023 07:07:07 -0700 (PDT) MIME-Version: 1.0 References: <20230428223500.23337-4-jim2101024@gmail.com> <20230430191323.GA388047@bhelgaas> <20230501205529.GA3626@wunner.de> In-Reply-To: <20230501205529.GA3626@wunner.de> From: Jim Quinlan Date: Wed, 3 May 2023 10:06:54 -0400 Message-ID: Subject: Re: [PATCH v4 3/5] PCI: brcmstb: Set PCIe transaction completion timeout To: Lukas Wunner Cc: Bjorn Helgaas , Jim Quinlan , linux-pci@vger.kernel.org, Nicolas Saenz Julienne , Bjorn Helgaas , Lorenzo Pieralisi , Cyril Brulebois , Phil Elwell , bcm-kernel-feedback-list@broadcom.com, Florian Fainelli , Lorenzo Pieralisi , "Krzysztof Wilczy??ski" , Rob Herring , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , "moderated list:BROADCOM BCM2711/BCM2835 ARM ARCHITECTURE" , open list Content-Type: multipart/signed; protocol="application/pkcs7-signature"; micalg=sha-256; boundary="0000000000003c861e05faca9259" X-Spam-Status: No, score=-2.3 required=5.0 tests=BAYES_00,DKIMWL_WL_HIGH, DKIM_SIGNED,DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_NONE,T_SCC_BODY_TEXT_LINE,URIBL_BLOCKED autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org --0000000000003c861e05faca9259 Content-Type: text/plain; charset="UTF-8" Content-Transfer-Encoding: quoted-printable On Mon, May 1, 2023 at 4:55=E2=80=AFPM Lukas Wunner wrote= : > > On Sun, Apr 30, 2023 at 05:24:26PM -0400, Jim Quinlan wrote: > > I've been maintaining this driver for over eight years or so and we've > > done fine with the HW default completion timeout value. > > Only recently has a major customer requested that this timeout value > > be changed, and their reason was so they could > > avoid a CPU abort when using L1SS. > > > > Now we could set this value to a big number for all cases and not > > require "brcm,completion-timeout-us". I cannot see any > > downsides, other than another customer coming along asking us to > > double the default or lessen it. > > The Completion Timeout is configurable in the Device Control 2 Register > (PCIe r2.1 sec 7.8.16). Your controller does expose that register: > > DevCtl2: Completion Timeout: 50us to 50ms, TimeoutDis- LTR+ OBFF Disabl= ed, ARIFwd- > AtomicOpsCtl: ReqEn- EgressBlck- > > Why does your controller allow configuration of the timeout in a > proprietary register in addition to DevCtl2? > > If you make the Completion Timeout configurable, please do so in > a spec-compliant way, i.e. via DevCtl2, so that it works for > other products as well. > > If the proprietary register has advantages over DevCtl2 (e.g. > finer granularity), perhaps you can divert accesses to the > Completion Timeout Value in DevCtl2 to your proprietary register. Hello Lukas & Bjorn, Yes, you are right. I was under the (mis)understanding that writing this register is (a) necessary for long L1SS periods and (b) overrides or updates the value in the CFG register you mentioned. It turns out that only (a) is true. After communicating with the HW engineer, it appears this register is for an internal bus timeout. Further, this bus timeout can occur when there is no PCIe access involved. However, the error appears as a completion timeout, which I also am investigating. At any rate, I am dropping the "brcm,completion-timeout-usec" property completely and V5 will just set this internal timeout to a higher default if the "brcm,enable-l1ss" is present. Thanks & regards, Jim > > Thanks, > > Lukas --0000000000003c861e05faca9259 Content-Type: application/pkcs7-signature; name="smime.p7s" Content-Transfer-Encoding: base64 Content-Disposition: attachment; filename="smime.p7s" Content-Description: S/MIME Cryptographic Signature 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 mOAplh6h3nMZUZxBguxG3g2p3iD4EgibUYneEzqOQafIQB/naf2uetKb8y9jKgWJxq2Y4y8Jqg2u uVIO1AyOJjWwqdgN+QhuIlat+qZd03P48Gim9ZPEMDUCAwEAAaOCAdswggHXMA4GA1UdDwEB/wQE AwIFoDCBowYIKwYBBQUHAQEEgZYwgZMwTgYIKwYBBQUHMAKGQmh0dHA6Ly9zZWN1cmUuZ2xvYmFs c2lnbi5jb20vY2FjZXJ0L2dzZ2NjcjNwZXJzb25hbHNpZ24yY2EyMDIwLmNydDBBBggrBgEFBQcw AYY1aHR0cDovL29jc3AuZ2xvYmFsc2lnbi5jb20vZ3NnY2NyM3BlcnNvbmFsc2lnbjJjYTIwMjAw TQYDVR0gBEYwRDBCBgorBgEEAaAyASgKMDQwMgYIKwYBBQUHAgEWJmh0dHBzOi8vd3d3Lmdsb2Jh bHNpZ24uY29tL3JlcG9zaXRvcnkvMAkGA1UdEwQCMAAwSQYDVR0fBEIwQDA+oDygOoY4aHR0cDov L2NybC5nbG9iYWxzaWduLmNvbS9nc2djY3IzcGVyc29uYWxzaWduMmNhMjAyMC5jcmwwJQYDVR0R BB4wHIEaamFtZXMucXVpbmxhbkBicm9hZGNvbS5jb20wEwYDVR0lBAwwCgYIKwYBBQUHAwQwHwYD VR0jBBgwFoAUljPR5lgXWzR1ioFWZNW+SN6hj88wHQYDVR0OBBYEFGx/E27aeGBP2eJktrILxlhK z8f6MA0GCSqGSIb3DQEBCwUAA4IBAQBdQQukiELsPfse49X4QNy/UN43dPUw0I1asiQ8wye3nAuD b3GFmf3SZKlgxBTdWJoaNmmUFW2H3HWOoQBnTeedLtV9M2Tb9vOKMncQD1f9hvWZR6LnZpjBIlKe +R+v6CLF07qYmBI6olvOY/Rsv9QpW9W8qZYk+2RkWHz/fR5N5YldKlJHP0NDT4Wjc5fEzV+mZC8A AlT80qiuCVv+IQP08ovEVSLPhUp8i1pwsHT9atbWOfXQjbq1B/ditFIbPzwmwJPuGUc7n7vpmtxB 75sSFMj27j4JXl5W9vORgHR2YzuPBzfzDJU1ul0DIofSWVF6E1dx4tZohRED1Yl/T/ZGMYICbTCC AmkCAQEwazBbMQswCQYDVQQGEwJCRTEZMBcGA1UEChMQR2xvYmFsU2lnbiBudi1zYTExMC8GA1UE AxMoR2xvYmFsU2lnbiBHQ0MgUjMgUGVyc29uYWxTaWduIDIgQ0EgMjAyMAIMSO43VW7D5NP1X/KD MA0GCWCGSAFlAwQCAQUAoIHUMC8GCSqGSIb3DQEJBDEiBCCmtecInEb/qQsrq1ZWFW8m9JMv0Emy Yq3sSMyeEsXuxDAYBgkqhkiG9w0BCQMxCwYJKoZIhvcNAQcBMBwGCSqGSIb3DQEJBTEPFw0yMzA1 MDMxNDA3MDdaMGkGCSqGSIb3DQEJDzFcMFowCwYJYIZIAWUDBAEqMAsGCWCGSAFlAwQBFjALBglg hkgBZQMEAQIwCgYIKoZIhvcNAwcwCwYJKoZIhvcNAQEKMAsGCSqGSIb3DQEBBzALBglghkgBZQME AgEwDQYJKoZIhvcNAQEBBQAEggEAM4me4F62d49CsoIlUUEoiWLrcT4FJFNPgJj+u0yFY915OnL9 Q/AmQwP7IPJcFgGWsdcjSQAZM7tpEjMgMezOLJaCcR/gSDFIjtFLHHvmTjjO7/8NBcvfNrVEL6/t QS51Hpo2zhC31wh2aLsb1VxZ59GZKf/p6ViIs8U5k3px5mGPltsi203vIBNLIAssXbSoZM7aiO6U pvUZdQWBDxs33nVNHu1t7HZOZjEjqi9QZoi/Q4Zrl/fmv84XPKWEPGOKw1GUtOOymnLL/fFlz7NO vfCZnm1ycDtqM39JMxCYbEmBqD2F3hA5pvCN3TvDVqAbVAu/mpgMiCHAZyh5UNJdQg== --0000000000003c861e05faca9259--