public inbox for u-boot@lists.denx.de
 help / color / mirror / Atom feed
From: Marek Behun <marek.behun@nic.cz>
To: u-boot@lists.denx.de
Subject: [PATCH] pci: pci_mvebu: Disable config access to PCI host bridge ports
Date: Mon, 8 Feb 2021 15:00:37 +0100	[thread overview]
Message-ID: <20210208150037.2357517d@nic.cz> (raw)
In-Reply-To: <20210125142531.2314750-1-sr@denx.de>

On Mon, 25 Jan 2021 15:25:31 +0100
Stefan Roese <sr@denx.de> wrote:

> This patch changes the PCI config routines in the Armada XP / 38x driver
> to not allow access to the PCIe root ports.
> 
> While updating the Armada XP based theadorable to the latest mainline
> and testing it with the DM PCI driver I noticed, that the PCI root
> bridge was being configured incorrectly. Resulting in the PCIe Intel
> WiFi was not working correctly in Linux. With this patch applied, all
> PCIe devices work without any issues in Linux again.
> 

Hi Stefan,

I overlooked this patch and coincidentally also discovered this bug
last week. Your patches solves this issue, but

- previously, when pci-mvebu did not use DM, it was solved differently:
  pci_skip_dev returned 1 for (b,d,f) = (*,0,0).
- on this address (*,0,0) there seems to be a Memory Controller -
  without applying your patch the pci command lists

    => pci
    Scanning PCI devices on bus 0
    BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
    _____________________________________________________________
    00.00.00   0x11ab     0x6820     Memory controller       0x80
    00.01.00   0x168c     0x003c     Network controller      0x80

  with your patch

    => pci
    Scanning PCI devices on bus 0
    BusDevFun  VendorId   DeviceId   Device Class       Sub-Class
    _____________________________________________________________
    00.01.00   0x168c     0x003c     Network controller      0x80

  I would like to know why this memory controller is there and whether
  it should be configured. The pci-mvebu driver in kernel currently
  ignores this Memory Controller. That is the reason why your Intel
  WiFi card and my ath10k wifi card are not working: U-Boot configures
  some addresses in PCIe registers of this Memory Controller, but
  kernel does not reconfigure it.

So all in all:
- your patch solves the issue, but I wonder whether it shouldn't be
  solved in another way, for example by adding pci,no-autoconfig device
  tree property in DTS files in u-boot for these Memory Controllers
- I wonder whether kernel should stop ignoring this device and
  configure it somehow

Marek

  parent reply	other threads:[~2021-02-08 14:00 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2021-01-25 14:25 [PATCH] pci: pci_mvebu: Disable config access to PCI host bridge ports Stefan Roese
2021-02-08 11:37 ` Stefan Roese
2021-02-08 14:00 ` Marek Behun [this message]
2021-02-08 14:19   ` Stefan Roese
2021-02-08 14:29     ` Pali Rohár
2021-02-08 14:39       ` Marek Behun

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=20210208150037.2357517d@nic.cz \
    --to=marek.behun@nic.cz \
    --cc=u-boot@lists.denx.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox