All of lore.kernel.org
 help / color / mirror / Atom feed
From: Lukas Wunner <lukas@wunner.de>
To: Nathan Rossi <nathan@nathanrossi.com>
Cc: linux-pci@vger.kernel.org, Nathan Rossi <nathan.rossi@digi.com>,
	Bjorn Helgaas <bhelgaas@google.com>
Subject: Re: [PATCH] PCI: Add ACS errata for Pericom PI7C9X2G404 switch
Date: Fri, 3 Sep 2021 08:18:14 +0200	[thread overview]
Message-ID: <20210903061814.GA15994@wunner.de> (raw)
In-Reply-To: <20210903034029.306816-1-nathan@nathanrossi.com>

On Fri, Sep 03, 2021 at 03:40:29AM +0000, Nathan Rossi wrote:
> The Pericom PI7C9X2G404 PCIe switch has an errata for ACS P2P Request
> Redirect behaviour when used in the cut-through forwarding mode. The
> recommended work around for this issue is to use the switch in store and
> forward mode.
> 
> This change adds a fixup specific to this switch that when enabling the
> downstream port it checks if it has enabled ACS P2P Request Redirect,
> and if so changes the device (via the upstream port) to use the store
> and forward operating mode.

From a quick look at the datasheet, this switch seems to support
hot-plug on its Downstream Ports:

https://www.diodes.com/assets/Datasheets/PI7C9X2G404SL.pdf

I think your quirk isn't executed if a device is hotplugged to an
initially-empty Downstream Port.

Also, if a device which triggered the quirk is hot-removed and none
of its siblings uses ACS P2P Request Redirect, cut-through forwarding
isn't reinstated.

Perhaps we need additional pci_fixup ELF sections which are used on
hot-add and hot-remove?

Thanks,

Lukas

  reply	other threads:[~2021-09-03  6:18 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-09-03  3:40 [PATCH] PCI: Add ACS errata for Pericom PI7C9X2G404 switch Nathan Rossi
2021-09-03  6:18 ` Lukas Wunner [this message]
2021-09-06  6:01   ` Nathan Rossi
2021-09-08 22:24     ` Bjorn Helgaas
2021-09-09  8:08       ` Nathan Rossi
2021-09-09 17:52         ` Bjorn Helgaas

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20210903061814.GA15994@wunner.de \
    --to=lukas@wunner.de \
    --cc=bhelgaas@google.com \
    --cc=linux-pci@vger.kernel.org \
    --cc=nathan.rossi@digi.com \
    --cc=nathan@nathanrossi.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.