mbox series

[0/5] Switchtec MRPC DMA mode support

Message ID 1544433144-7563-1-git-send-email-wesley.sheng@microchip.com (mailing list archive)
Headers show
Series Switchtec MRPC DMA mode support | expand

Message

Wesley Sheng Dec. 10, 2018, 9:12 a.m. UTC
Hi, Everyone,

This patch series adds support for the Switchtec MRPC DMA mode.

Switchtec switches supports 2 MRPC interaction modes: MRPC normal mode and
MRPC DMA mode, a new feature in the latest firmware versions. MRPC normal 
mode requires the host to read the MRPC command status and output data. 
In MRPC DMA mode the command status and output data are pushed directly to
host memory and issues an interrupt upon completion. The advantage of MRPC
DMA mode is avoiding potential high latency response from the Memory Read
TLP. 

Additionally, we've made the following changes:

* Improve the efficiency of filling MRPC Input buffer by enabling write 
  combining on MRPC region of BAR
* Software workaround for delay responded Memory READ TLPs that access 
  the BAR
* And several bug fixes

Regards,
Wesley

--

Changed since v1:
  - It's a resend of v1

--


Boris Glimcher (1):
  switchtec: Set DMA coherent mask in Switchtec driver

Joey Zhang (1):
  switchtec: A temporary variable should be used for the flags of
    switchtec_ioctl_event_ctl

Kelvin Cao (2):
  switchtec: Remove immediate status check after submit a MRPC command
  switchtec: Improve MRPC efficiency by leveraging write combining

Wesley Sheng (1):
  switchtec: MRPC DMA mode implementation

 drivers/pci/switch/switchtec.c | 154 ++++++++++++++++++++++++++++++++++++-----
 include/linux/switchtec.h      |  16 +++++
 2 files changed, 153 insertions(+), 17 deletions(-)

Comments

Bjorn Helgaas Dec. 13, 2018, 3:20 p.m. UTC | #1
On Mon, Dec 10, 2018 at 05:12:19PM +0800, Wesley Sheng wrote:
> Hi, Everyone,
> 
> This patch series adds support for the Switchtec MRPC DMA mode.
> 
> Switchtec switches supports 2 MRPC interaction modes: MRPC normal mode and
> MRPC DMA mode, a new feature in the latest firmware versions. MRPC normal 
> mode requires the host to read the MRPC command status and output data. 
> In MRPC DMA mode the command status and output data are pushed directly to
> host memory and issues an interrupt upon completion. The advantage of MRPC
> DMA mode is avoiding potential high latency response from the Memory Read
> TLP. 
> 
> Additionally, we've made the following changes:
> 
> * Improve the efficiency of filling MRPC Input buffer by enabling write 
>   combining on MRPC region of BAR
> * Software workaround for delay responded Memory READ TLPs that access 
>   the BAR
> * And several bug fixes
> 
> Regards,
> Wesley
> 
> --
> 
> Changed since v1:
>   - It's a resend of v1
> 
> --
> 
> 
> Boris Glimcher (1):
>   switchtec: Set DMA coherent mask in Switchtec driver
> 
> Joey Zhang (1):
>   switchtec: A temporary variable should be used for the flags of
>     switchtec_ioctl_event_ctl
> 
> Kelvin Cao (2):
>   switchtec: Remove immediate status check after submit a MRPC command
>   switchtec: Improve MRPC efficiency by leveraging write combining
> 
> Wesley Sheng (1):
>   switchtec: MRPC DMA mode implementation
> 
>  drivers/pci/switch/switchtec.c | 154 ++++++++++++++++++++++++++++++++++++-----
>  include/linux/switchtec.h      |  16 +++++
>  2 files changed, 153 insertions(+), 17 deletions(-)

I applied all these on pci/switchtec for v4.21, thanks!

If you want to change anything, let me know.  I'm happy to replace or
update patches.