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
next prev 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