[v2,0/5] PCI: Endpoint: Miscellaneous improvements
mbox series

Message ID 20200212112514.2000-1-kishon@ti.com
Headers show
Series
  • PCI: Endpoint: Miscellaneous improvements
Related show

Message

Kishon Vijay Abraham I Feb. 12, 2020, 11:25 a.m. UTC
Changes from v1:
Rebased to Linux 5.6-rc1 and removed dependencies to my other series
to unblock [1]

[1] -> http://lore.kernel.org/r/20200103100736.27627-1-vidyas@nvidia.com

v1 of this patch series can be found @
http://lore.kernel.org/r/20191231100331.6316-1-kishon@ti.com

This series adds miscellaneous improvements to PCIe endpoint core.
1) Protect concurrent access to memory allocation in pci-epc-mem
2) Replace spinlock with mutex in pci-epc-core and also use
   notification chain mechanism to notify EPC events to EPF driver.
3) Since endpoint function device can be created by multiple
   mechanisms (configfs, devicetree, etc..), allowing each of these
   mechanisms to assign a function number would result in mutliple
   endpoint function devices having the same function number. In order
   to avoid this, let EPC core assign a function number to the
   endpoint device.

Kishon Vijay Abraham I (5):
  PCI: endpoint: Use notification chain mechanism to notify EPC events
    to EPF
  PCI: endpoint: Replace spinlock with mutex
  PCI: endpoint: Protect concurrent access to memory allocation with
    mutex
  PCI: endpoint: Protect concurrent access to pci_epf_ops with mutex
  PCI: endpoint: Assign function number for each PF in EPC core

 drivers/pci/endpoint/functions/pci-epf-test.c |  13 +-
 drivers/pci/endpoint/pci-ep-cfs.c             |  27 +----
 drivers/pci/endpoint/pci-epc-core.c           | 113 ++++++++----------
 drivers/pci/endpoint/pci-epc-mem.c            |  10 +-
 drivers/pci/endpoint/pci-epf-core.c           |  33 ++---
 include/linux/pci-epc.h                       |  19 ++-
 include/linux/pci-epf.h                       |   9 +-
 7 files changed, 108 insertions(+), 116 deletions(-)

Comments

Lorenzo Pieralisi Feb. 21, 2020, 3:54 p.m. UTC | #1
On Wed, Feb 12, 2020 at 04:55:09PM +0530, Kishon Vijay Abraham I wrote:
> Changes from v1:
> Rebased to Linux 5.6-rc1 and removed dependencies to my other series
> to unblock [1]
> 
> [1] -> http://lore.kernel.org/r/20200103100736.27627-1-vidyas@nvidia.com
> 
> v1 of this patch series can be found @
> http://lore.kernel.org/r/20191231100331.6316-1-kishon@ti.com
> 
> This series adds miscellaneous improvements to PCIe endpoint core.
> 1) Protect concurrent access to memory allocation in pci-epc-mem
> 2) Replace spinlock with mutex in pci-epc-core and also use
>    notification chain mechanism to notify EPC events to EPF driver.
> 3) Since endpoint function device can be created by multiple
>    mechanisms (configfs, devicetree, etc..), allowing each of these
>    mechanisms to assign a function number would result in mutliple
>    endpoint function devices having the same function number. In order
>    to avoid this, let EPC core assign a function number to the
>    endpoint device.

Hi Kishon,

I am about to apply this series but I could not help notice that
some of these patches are fixes rather than improvements, it would
be good to propagate the changes to older kernels too provided
we explain the bugs in the respective logs, in particular for (3)
above it should not be complicated to reproduce a failure.

Thanks,
Lorenzo

> Kishon Vijay Abraham I (5):
>   PCI: endpoint: Use notification chain mechanism to notify EPC events
>     to EPF
>   PCI: endpoint: Replace spinlock with mutex
>   PCI: endpoint: Protect concurrent access to memory allocation with
>     mutex
>   PCI: endpoint: Protect concurrent access to pci_epf_ops with mutex
>   PCI: endpoint: Assign function number for each PF in EPC core
> 
>  drivers/pci/endpoint/functions/pci-epf-test.c |  13 +-
>  drivers/pci/endpoint/pci-ep-cfs.c             |  27 +----
>  drivers/pci/endpoint/pci-epc-core.c           | 113 ++++++++----------
>  drivers/pci/endpoint/pci-epc-mem.c            |  10 +-
>  drivers/pci/endpoint/pci-epf-core.c           |  33 ++---
>  include/linux/pci-epc.h                       |  19 ++-
>  include/linux/pci-epf.h                       |   9 +-
>  7 files changed, 108 insertions(+), 116 deletions(-)
> 
> -- 
> 2.17.1
>