From: "Marek Behún" <kabel@kernel.org>
To: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
Cc: linux-pci@vger.kernel.org, pali@kernel.org,
"Marek Behún" <kabel@kernel.org>
Subject: [PATCH 2/7] PCI: pci-bridge-emul: Add definitions for missing capabilities registers
Date: Sun, 31 Oct 2021 19:12:28 +0100 [thread overview]
Message-ID: <20211031181233.9976-3-kabel@kernel.org> (raw)
In-Reply-To: <20211031181233.9976-1-kabel@kernel.org>
From: Pali Rohár <pali@kernel.org>
pci-bridge-emul driver already allocates buffer for capabilities up to the
PCI_EXP_SLTSTA2 register, but does not define bit access behavior for these
registers. Add these missing definitions.
Signed-off-by: Pali Rohár <pali@kernel.org>
Signed-off-by: Marek Behún <kabel@kernel.org>
Cc: stable@vger.kernel.org
---
drivers/pci/pci-bridge-emul.c | 39 +++++++++++++++++++++++++++++++++++
1 file changed, 39 insertions(+)
diff --git a/drivers/pci/pci-bridge-emul.c b/drivers/pci/pci-bridge-emul.c
index a4af1a533d71..aa3320e3c469 100644
--- a/drivers/pci/pci-bridge-emul.c
+++ b/drivers/pci/pci-bridge-emul.c
@@ -251,6 +251,45 @@ struct pci_bridge_reg_behavior pcie_cap_regs_behavior[PCI_CAP_PCIE_SIZEOF / 4] =
.ro = GENMASK(15, 0) | PCI_EXP_RTSTA_PENDING,
.w1c = PCI_EXP_RTSTA_PME,
},
+
+ [PCI_EXP_DEVCAP2 / 4] = {
+ /* Device capabilities 2 register has reserved bits [30:27]. */
+ .ro = BIT(31) | GENMASK(26, 0),
+ },
+
+ [PCI_EXP_DEVCTL2 / 4] = {
+ /*
+ * Device control 2 register is RW.
+ *
+ * Device status 2 register is reserved.
+ */
+ .rw = GENMASK(15, 0),
+ },
+
+ [PCI_EXP_LNKCAP2 / 4] = {
+ /* Link capabilities 2 register has reserved bits [30:25] and 0. */
+ .ro = BIT(31) | GENMASK(24, 1),
+ },
+
+ [PCI_EXP_LNKCTL2 / 4] = {
+ /*
+ * Link control 2 register is RW.
+ *
+ * Link status 2 register has bits 5, 15 W1C;
+ * bits 10, 11 reserved and others are RO.
+ */
+ .rw = GENMASK(15, 0),
+ .w1c = (BIT(15) | BIT(5)) << 16,
+ .ro = (GENMASK(14, 12) | GENMASK(9, 6) | GENMASK(4, 0)) << 16,
+ },
+
+ [PCI_EXP_SLTCAP2 / 4] = {
+ /* Slot capabilities 2 register is reserved. */
+ },
+
+ [PCI_EXP_SLTCTL2 / 4] = {
+ /* Both Slot control 2 and Slot status 2 registers are reserved. */
+ },
};
/*
--
2.32.0
next prev parent reply other threads:[~2021-10-31 18:12 UTC|newest]
Thread overview: 14+ messages / expand[flat|nested] mbox.gz Atom feed top
2021-10-31 18:12 [PATCH 0/7] PCI: aardvark controller fixes BATCH 3 Marek Behún
2021-10-31 18:12 ` [PATCH 1/7] PCI: pci-bridge-emul: Add description for class_revision field Marek Behún
2021-10-31 18:12 ` Marek Behún [this message]
2021-11-29 16:44 ` [PATCH 2/7] PCI: pci-bridge-emul: Add definitions for missing capabilities registers Lorenzo Pieralisi
2021-10-31 18:12 ` [PATCH 3/7] PCI: aardvark: Add support for DEVCAP2, DEVCTL2, LNKCAP2 and LNKCTL2 registers on emulated bridge Marek Behún
2021-10-31 18:12 ` [PATCH 4/7] PCI: aardvark: Clear all MSIs at setup Marek Behún
2021-10-31 18:12 ` [PATCH 5/7] PCI: aardvark: Disable bus mastering and mask all interrupts when unbinding driver Marek Behún
2021-11-29 16:43 ` Lorenzo Pieralisi
2021-10-31 18:12 ` [PATCH 6/7] PCI: aardvark: Free config space for emulated root bridge when unbinding driver to fix memory leak Marek Behún
2021-10-31 18:12 ` [PATCH 7/7] PCI: aardvark: Reset PCIe card and disable PHY at driver unbind Marek Behún
2021-11-29 16:40 ` Lorenzo Pieralisi
2021-11-29 17:15 ` Marek Behún
2021-11-30 10:31 ` Lorenzo Pieralisi
2021-11-30 12:22 ` Marek Behún
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=20211031181233.9976-3-kabel@kernel.org \
--to=kabel@kernel.org \
--cc=linux-pci@vger.kernel.org \
--cc=lorenzo.pieralisi@arm.com \
--cc=pali@kernel.org \
/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.