[0/5] Switchtec MRPC DMA mode support
mbox series

Message ID 1542275044-10970-1-git-send-email-wesley.sheng@microchip.com
Headers show
Series
  • Switchtec MRPC DMA mode support
Related show

Message

Wesley Sheng Nov. 15, 2018, 9:43 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



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

Logan Gunthorpe Nov. 15, 2018, 6:03 a.m. UTC | #1
On 15/11/18 02:43 AM, Wesley Sheng wrote:
> Hi, Everyone,
> 
> This patch series adds support for the Switchtec MRPC DMA mode.

I've reviewed this series from it's conception on github[1] and would
like to see it land in the upstream driver, so for the entire series:

Reviewed-by: Logan Gunthorpe <logang@deltatee.com>

Thanks,

Logan

[1] https://github.com/Microsemi/switchtec-kernel