Moves the IRQ allocation and SRCU initialization code to a new helper.
No functional changes.
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
---
drivers/pci/controller/vmd.c | 94
1 file changed, 53 insertions(+), 41 deletions(-)
diff --git a
Moves the IRQ and MSI Domain configuration code to new helpers. No
functional changes.
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
---
drivers/pci/controller/vmd.c | 52
1 file changed, 35 insertions(+), 17 deletions(-)
diff --git a/drivers/pci
y available for Icelake Server and
client VMD products.
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
---
drivers/pci/controller/vmd.c | 58 +++-
1 file changed, 50 insertions(+), 8 deletions(-)
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/c
Moves the bus offset configuration discovery code to a new helper.
Modifies the bus offset 2-bit decode switch to have a 0 case and a
default error case, just in case the field is expanded in future
hardware.
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
---
drivers/pci/controller
d ec0160891e38 ("irqdomain/treewide: Free
firmware node after domain removal") in tip/urgent
Jon Derrick (6):
PCI: vmd: Create physical offset helper
PCI: vmd: Create bus offset configuration helper
PCI: vmd: Create IRQ Domain configuration helper
PCI: vmd: Create IRQ allocation h
VMD retransmits child device MSI/X with the VMD endpoint's requester-id.
In order to support direct interrupt remapping of VMD child devices,
ensure that the IRTE is programmed with the VMD endpoint's requester-id
using pci_real_dma_dev().
Reviewed-by: Andy Shevchenko
Signed-off-by: J
Moves the guest-passthrough physical offset discovery code to a new
helper. No functional changes.
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
---
drivers/pci/controller/vmd.c | 105 +--
1 file changed, 62 insertions(+), 43 deletions(-)
diff --git a
The following commit has been merged into the irq/urgent branch of tip:
Commit-ID: ec0160891e387f4771f953b888b1fe951398e5d9
Gitweb:
https://git.kernel.org/tip/ec0160891e387f4771f953b888b1fe951398e5d9
Author:Jon Derrick
AuthorDate:Tue, 21 Jul 2020 14:26:09 -06:00
Committer
he handle and adds the freeing of
firmware node after domain removal where appropriate.
Fixes: e3beca48a45b ("irqdomain/treewide: Keep firmware node unconditionally
allocated")
Reviewed-by: Andy Shevchenko
Signed-off-by: Jon Derrick
Cc: sta...@vger.kernel.org
---
arch/mips/pci/pc
ed for AER services.
This patch ensures the PCI layers first uses the _OSC negotiated state
by checking the Host Bridge's Native AER flag prior to HEST parsing.
Signed-off-by: Jon Derrick
---
drivers/pci/pcie/aer.c | 3 +++
1 file changed, 3 insertions(+)
diff --git a/drivers/pci/pcie/aer.
last effort as we detangle Firmware First.
[1] https://members.pcisig.com/wg/PCI-SIG/document/12888
Jon Derrick (2):
PCI/AER: Use _OSC to determine Firmware First before HEST
PCI/DPC: Use _OSC to determine DPC support
drivers/pci/pcie/aer.c | 3 +++
drivers/pci/pcie/dpc.c
ttempt to change behavior that assumes if OSPM has negotiated
AER by _OSC, OSPM will also want DPC control.
[1] https://members.pcisig.com/wg/PCI-SIG/document/12888
Signed-off-by: Jon Derrick
---
drivers/pci/pcie/dpc.c | 3 ---
drivers/pci/pcie/portdrv_core.c | 3 ++-
2 files changed, 2 inser
Some VMD devices provide a management window within MEMBAR2 that is used
to communicate out-of-band with child devices. This patch creates a
binary file for interacting with the interface.
OOB Reads/Writes are bounds-checked by sysfs_fs_bin_{read,write}
Signed-off-by: Jon Derrick
---
Depends on
: vmd: Add offset to bus numbers if necessary")
Signed-off-by: Jon Derrick
---
drivers/pci/controller/vmd.c | 16 +---
1 file changed, 9 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/controller/vmd.c b/drivers/pci/controller/vmd.c
index 4575e0c6dc4b..2e4da3f51d6b 100644
---
The shadow offset scratchpad was moved to 0x2000-0x2010. Update the
location to get the correct shadow offset.
Cc: sta...@vger.kernel.org # v5.2+
Fixes: 6788958e ("PCI: vmd: Assign membar addresses from shadow registers")
Signed-off-by: Jon Derrick
---
drivers/pci/controller
Hi Lorenzo, Bjorn, Keith,
Please consider the following patches for 5.4 inclusion.
These will apply to 5.2 stable. 4.19 has a few feature deps so I will instead
follow-up with a backport.
Jon Derrick (2):
PCI: vmd: Fix config addressing when using bus offsets
PCI: vmd: Fix shadow offsets to
in the caller's WARN being triggered:
irq_build_affinity_masks()
...
if (nr_present < numvecs)
WARN_ON(nr_present + nr_others < numvecs);
Signed-off-by: Jon Derrick
---
kernel/irq/affinity.c | 7 +--
1 file changed, 5 insertions(+), 2 deletions(-)
diff
ended to
reduce the likelihood of encountering these issues and not fully close
the gap.
mmio writes are posted and in the fast path and have been left as-is.
[1] https://lkml.org/lkml/2018/7/30/858
[2] https://lkml.org/lkml/2018/9/18/1546
Signed-off-by: Jon Derrick
---
drivers/nvme/host/pci.c
PCI bridge: <-- Occupied
Memory behind bridge: d620-d63f [size=2M]
02:04.0 PCI bridge: <-- Unoccupied
Memory behind bridge: d640-d65f [size=2M]
Signed-off-by: Jon Derrick
---
v2->v3: Made the IO and mem size calculations nearly equivalent
drivers/
:05.0: pci_disable_pcie_error_reporting
[ 344.411601] pcieport 1:02:06.0: pci_disable_pcie_error_reporting
[ 344.505332] pcieport 1:02:07.0: pci_disable_pcie_error_reporting
[ 344.621824] nvme 1:06:00.0: pci_enable_pcie_error_reporting
Signed-off-by: Jon Derrick
---
drivers/pci
] pcieport 1:02:05.0: pci_disable_pcie_error_reporting
[ 344.411601] pcieport 1:02:06.0: pci_disable_pcie_error_reporting
[ 344.505332] pcieport 1:02:07.0: pci_disable_pcie_error_reporting
[ 344.621824] nvme 1:06:00.0: pci_enable_pcie_error_reporting
Signed-off-by: Jon Derrick
d the topology.
v1->v2: Comments
Jon Derrick (1):
PCI: Equalize hotplug memory for non/occupied slots
drivers/pci/setup-bus.c | 21 ++---
1 file changed, 14 insertions(+), 7 deletions(-)
--
1.8.3.1
vide free IO resources for hotplug buses
in order to prove this calculation.
Signed-off-by: Jon Derrick
---
drivers/pci/setup-bus.c | 21 ++---
1 file changed, 14 insertions(+), 7 deletions(-)
diff --git a/drivers/pci/setup-bus.c b/drivers/pci/setup-bus.c
index 79b1824..70d0aba 10
behind bridge: d620-d63f [size=2M]
02:04.0 PCI bridge: <-- Unoccupied
Memory behind bridge: d640-d65f [size=2M]
Signed-off-by: Jon Derrick
---
Original RFC here:
https://patchwork.ozlabs.org/patch/945374/
I split this bit out from the RFC while awaiting the pci string handlin
d prior to
syncing.
[1] https://www.spinics.net/lists/linux-ext4/msg56527.html
Signed-off-by: Jon Derrick
---
fs/ext4/super.c | 8
1 file changed, 8 insertions(+)
diff --git a/fs/ext4/super.c b/fs/ext4/super.c
index 0c4c220..ee33233 100644
--- a/fs/ext4/super.c
+++ b/fs/ext4/super.c
On 09/28/2017 12:03 AM, Dan Williams wrote:
> On Wed, Sep 27, 2017 at 1:40 PM, Jon Derrick
> wrote:
>> The PCI driver delete_id parameter is handled in each individual driver
>> registration callback.
>>
>> Signed-off-by: Jon Derrick
>> ---
>> kernel/
On 09/28/2017 03:02 AM, Greg Kroah-Hartman wrote:
> On Wed, Sep 27, 2017 at 04:40:21PM -0400, Jon Derrick wrote:
>> The PCI driver delete_id parameter is handled in each individual driver
>> registration callback.
>>
>> Signed-off-by: Jon Derrick
>> ---
>>
Hi Greg,
On 09/28/2017 03:09 AM, Greg Kroah-Hartman wrote:
> On Wed, Sep 27, 2017 at 04:40:20PM -0400, Jon Derrick wrote:
>> This patch introduces a new kernel command line parameter to mask pci
>> device ids from pci driver id tables. This prevents masked devices from
>> aut
This set introduces a method to keep devices from matching driver id
tables.
Please see 0001 for more details of the motivation and implementation.
This set currently applies to Bjorn's next (v4.14-rc1) branch.
Jon Derrick (3):
PCI: pci-driver: Introduce pci device delete list
m
=1234:5678
.delete_id=:
.delete_id=::::010802
.delete_id=1234:5678,abcd:ef01,2345:
Signed-off-by: Jon Derrick
---
drivers/pci/pci-driver.c | 253 ++-
include/linux/
The PCI driver delete_id parameter is handled in each individual driver
registration callback.
Signed-off-by: Jon Derrick
---
kernel/module.c | 7 +++
1 file changed, 7 insertions(+)
diff --git a/kernel/module.c b/kernel/module.c
index de66ec8..2b2dccf 100644
--- a/kernel/module.c
+++ b
Document the .delete_id= cmdline interface for masking built-in
and module device id tables.
Signed-off-by: Jon Derrick
---
Documentation/admin-guide/kernel-parameters.txt | 13 +
1 file changed, 13 insertions(+)
diff --git a/Documentation/admin-guide/kernel-parameters.txt
b
Add myself as VMD maintainer
Signed-off-by: Jon Derrick
Acked-by: Keith Busch
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index f66488d..3ec39df 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10090,6 +10090,7 @@ F: drivers/pci/dwc/*imx6
Signed-off-by: Jon Derrick
---
arch/x86/pci/fixup.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
index ca4b02e5..1ed2fbf 100644
--- a/arch/x86/pci/fixup.c
+++ b/arch/x86/pci/fixup.c
@@ -628,7 +628,7 @@ DECLARE_PCI_FIXUP_HEADER
Mostly just cleanup in this revision, eg, trying to limit scope of vmd code to
x86
Previous:
https://patchwork.kernel.org/patch/9886095/
https://patchwork.kernel.org/patch/9886097/
https://patchwork.kernel.org/patch/9886101/
Jon Derrick (4):
MAINTAINERS: Add Jonathan Derrick as VMD maintainer
om returning an IOMMU, which
prevents it from exposing an iommu_group sysfs directories and allowing
subsequent binding by userspace-access drivers such as VFIO.
Signed-off-by: Jon Derrick
---
drivers/iommu/intel-iommu.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/iommu/
VMD currently only exists for Intel x86 products
Signed-off-by: Jon Derrick
---
arch/x86/pci/fixup.c | 18 ++
drivers/pci/quirks.c | 17 -
2 files changed, 18 insertions(+), 17 deletions(-)
diff --git a/arch/x86/pci/fixup.c b/arch/x86/pci/fixup.c
index 11e4074
Hi Robin, thanks for the reply.
On 08/11/2017 12:25 PM, Robin Murphy wrote:
> On 07/08/17 20:57, Jon Derrick wrote:
>> VMD child devices must use the VMD endpoint's ID as the DMA source.
>> Because of this, there needs to be a way to link the parent VMD
>> endpoint'
On 08/11/2017 11:03 AM, Bjorn Helgaas wrote:
> On Mon, Aug 07, 2017 at 01:57:12PM -0600, Jon Derrick wrote:
>> Generalize is_vmd behavior to remove dependency on domain number
>> checking in pci quirks.
>>
>> Signed-off-by: Jon Derrick
>> ---
>> arch/x86/
ories and subsequent
binding by userspace-access drivers such as VFIO.
Signed-off-by: Jon Derrick
---
drivers/iommu/intel-iommu.c | 5 +
1 file changed, 5 insertions(+)
diff --git a/drivers/iommu/intel-iommu.c b/drivers/iommu/intel-iommu.c
index 687f18f..651a6cd 100644
--- a/drivers/iommu
Generalize is_vmd behavior to remove dependency on domain number
checking in pci quirks.
Signed-off-by: Jon Derrick
---
arch/x86/include/asm/pci.h | 8 +++-
arch/x86/pci/common.c | 2 +-
drivers/pci/quirks.c | 2 +-
include/linux/pci.h| 4
4 files changed, 9
Add myself as VMD maintainer
Signed-off-by: Jon Derrick
---
MAINTAINERS | 1 +
1 file changed, 1 insertion(+)
diff --git a/MAINTAINERS b/MAINTAINERS
index f66488d..3ec39df 100644
--- a/MAINTAINERS
+++ b/MAINTAINERS
@@ -10090,6 +10090,7 @@ F: drivers/pci/dwc/*imx6*
PCI DRIVER FOR INTEL
On 03/06/2017 05:00 AM, David Binderman wrote:
> Hello there,
>
> 1.
>
> block/sed-opal.c:2136:40: warning: logical ‘and’ of mutually exclusive tests
> is always false [-Wlogical-op]
>
> Source code is
>
> if (lk_unlk->session.who < OPAL_USER1 &&
> lk_unlk->session.who > OPAL_USER9
Thanks everyone. Sorry about the mess :)
On 02/15/2017 10:23 PM, Michael Ellerman wrote:
> Jon Derrick writes:
>
>> PPC's 'opal' match pattern also matches block/sed-opal.c, where it looks
>> like the 'arch/powerpc' file pattern should be enough to m
Add helper which verifies the response token is valid and matches the
expected value. Merges token_type and response_get_token.
Signed-off-by: Jon Derrick
Reviewed-by: Scott Bauer
---
block/sed-opal.c | 61 +++-
1 file changed, 25 insertions
Add a buffer size check against discovery and response header lengths
before we loop over their buffers.
Signed-off-by: Jon Derrick
Reviewed-by: Scott Bauer
---
block/sed-opal.c | 35 +--
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/block/sed
The short atom parser can return an errno from decoding but does not
currently return the error as a signed value. Convert all of the parsers
to ssize_t.
Signed-off-by: Jon Derrick
Reviewed-by: Scott Bauer
---
block/sed-opal.c | 28 ++--
1 file changed, 14 insertions
PPC's 'opal' match pattern also matches block/sed-opal.c, where it looks
like the 'arch/powerpc' file pattern should be enough to match powerpc
opal code by itself. Remove the opal regex pattern from powerpc.
Signed-off-by: Jon Derrick
---
MAINTAINERS | 1 -
1 file cha
parser check and changed
it to only check the subpacket length
v1->v2:
left tok->len as a size_t
got everyone important on the same email thread
Jon Derrick (4):
block/sed: Use ssize_t on atom parsers to return errors
block/sed: Add helper to qualify response tokens
block/sed: Check rec
;len as a size_t
got everyone important on the same email thread
Jon Derrick (4):
block/sed: Use ssize_t on atom parsers to return errors
block/sed: Add helper to qualify response tokens
block/sed: Check received header lengths
MAINTAINERS: Remove powerpc's opal match
MAINTAINERS
Add a buffer size check against discovery and response header lengths
before we loop over their buffers.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 35 +--
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/block/sed-opal.c b/block/sed-opal.c
Add helper which verifies the response token is valid and matches the
expected value. Merges token_type and response_get_token.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 61 +++-
1 file changed, 25 insertions(+), 36 deletions(-)
diff
PPC's 'opal' match pattern also matches block/sed-opal.c, where it looks
like the 'arch/powerpc' file pattern should be enough to match powerpc
opal code by itself. Remove the opal regex pattern from powerpc.
Signed-off-by: Jon Derrick
---
MAINTAINERS | 1 -
1 file cha
The short atom parser can return an errno from decoding but does not
currently return the error as a signed value. Convert all of the parsers
to ssize_t.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff
On 02/15/2017 11:15 AM, Scott Bauer wrote:
> On Wed, Feb 15, 2017 at 12:38:53PM -0700, Jon Derrick wrote:
>> Add a buffer size check against discovery and response header lengths
>> before we loop over their buffers.
>>
>> Signed-off-by: Jon Derrick
>&
Add helper which verifies the response token is valid and matches the
expected value. Merges token_type and response_get_token.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 61 +++-
1 file changed, 25 insertions(+), 36 deletions(-)
diff
The short atom parser can return an errno from decoding but does not
currently return the error as a signed value. Convert all of the parsers
to ssize_t.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 28 ++--
1 file changed, 14 insertions(+), 14 deletions(-)
diff
Just a couple of fixes for sed-opal to prevent faulty firmware from
allowing us to go off in the weeds, and a helper to remove some
duplicate code.
v1->v2:
left tok->len as a size_t
got everyone important on the same email thread
Jon Derrick (4):
block/sed: Use ssize_t on atom pars
PPC's 'opal' match pattern also matches block/sed-opal.c, where it looks
like the 'arch/powerpc' file pattern should be enough to match powerpc
opal code by itself. Remove the opal regex pattern from powerpc.
Signed-off-by: Jon Derrick
---
MAINTAINERS | 1 -
1 file cha
Add a buffer size check against discovery and response header lengths
before we loop over their buffers.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 35 +--
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/block/sed-opal.c b/block/sed-opal.c
PPC's 'opal' match pattern also matches block/sed-opal.c, where it looks
like the 'arch/powerpc' file pattern should be enough to match powerpc
opal code by itself. Remove the opal regex pattern from powerpc.
Signed-off-by: Jon Derrick
---
MAINTAINERS | 1 -
1 file cha
The short atom parser can return an errno from decoding but does not
currently return the error as a signed value. Convert all of the parsers
to ssize_t.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 28 ++--
include/linux/sed-opal.h | 2 +-
2 files changed
Add a buffer size check against discovery and response header lengths
before we loop over their buffers.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 35 +--
1 file changed, 21 insertions(+), 14 deletions(-)
diff --git a/block/sed-opal.c b/block/sed-opal.c
Add helper which verifies the response token is valid and matches the
expected value. Merges token_type and response_get_token.
Signed-off-by: Jon Derrick
---
block/sed-opal.c | 61 +++-
1 file changed, 25 insertions(+), 36 deletions(-)
diff
On Mon, Dec 19, 2016 at 11:28:47PM -0800, Christoph Hellwig wrote:
[snip]
> > + while (cpos < total) {
> > + if (!(pos[0] & 0x80)) /* tiny atom */
> > + token_length = response_parse_tiny(iter, pos);
> > + else if (!(pos[0] & 0x40)) /* short atom */
> > +
Minor nit below
On Fri, Dec 16, 2016 at 11:54:51AM -0700, Stephen Bates wrote:
> Add more information to the NVMe CMB sysfs entry. This includes
> information about the CMB size, location and capabilities.
>
> Signed-off-by: Stephen Bates
> ---
> drivers/nvme/host/pci.c | 31 +++
Looks good. Thanks Stephen.
Reviewed-by Jon Derrick:
On Fri, Dec 16, 2016 at 11:54:50AM -0700, Stephen Bates wrote:
> Make sure we are using the correct scnprintf in the sysfs show
> function for the CMB.
>
> Signed-off-by: Stephen Bates
> ---
> drivers/nvme/host/pci.c
On Mon, Sep 12, 2016 at 03:43:23PM -0600, Luck, Tony wrote:
> > What branch is this based on? I can't find the relevant code/commits
>
> tip tree. branch x86/apic
>
> -Tony
Cheers!
On Sat, Sep 10, 2016 at 11:40:45PM +0800, Rui Wang wrote:
> Some PCI root bridges don't have a corresponding ACPI device.
> This can be the case on some old platforms. Don't call acpi_ioapic_add()
> on these bridges because they can't support ioapic hotplug.
Not just old platforms. VMD is a new dev
On Tue, Feb 23, 2016 at 11:16:11PM +, Keith Busch wrote:
> On Tue, Feb 23, 2016 at 02:50:13PM -0700, Jon Derrick wrote:
> > This patch attaches the new VMD domain's resources to the VMD device's
> > resources. This allows /proc/iomem to display a more complete
fff : nvme
c230-c24f : PCI Bus 1:01
c400-c40f : :5d:05.5
c4002000-c40f : VMD MEMBAR2
Signed-off-by: Jon Derrick
---
arch/x86/pci/vmd.c | 19 +++
1 file changed, 19 insertions(+)
diff --git a/arch/x86/pci/vmd.c b/arch/x86/pci/vmd.c
index d57e48
> >> + smp_wmb();
> >
> > This has been applied already as an explicit mb()
>
> Since these structure is only accessible by software, won't smp_wmb()
> sufficient enough?
>
Seems reasonable to me
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a mes
On Thu, Jun 18, 2015 at 04:13:50PM +0530, Parav Pandit wrote:
> Kernel thread nvme_thread and driver load process can be executing
> in parallel on different CPU. This leads to race condition whenever
> nvme_alloc_queue() instructions are executed out of order that can
> reflects incorrect value fo
73 matches
Mail list logo