archive mirror
 help / color / mirror / Atom feed
From: Shravan Ramani <>
To: Vadim Pasternak <>,
	Andy Shevchenko <>,
	Darren Hart <>
Cc: Liming Sun <>,
	"" <>
Subject: RE: [PATCH v1] platform/mellanox: Add Mellanox TRIO driver
Date: Wed, 13 Nov 2019 05:40:33 +0000	[thread overview]
Message-ID: <> (raw)
In-Reply-To: <>

Hi Vadim,
TRIO stands for TRansaction I/O and is an internal code name for our PCIe to CHI bus interface.
In Mellanox BlueField SoC, the configuration is as follows: there are 3 TRIO blocks where TRIO2 is connected to a Mellanox ConnectX-5  while TRIO0 and TRIO1 can be configured to behave either as a PCIe Root Complex to downstream ports (8 ports or 16 lanes each) connecting to storage devices, or as an end-point when plugged into an external x86 host (SmartNIC form factor). Each TRIO block has a separate ACPI table entry which invokes this driver thereby creating a total of 3 instances.
The purpose of this driver is to be able to read/set the L3 cache profile from a list of available profiles for transactions coming in to each TRIO block and is meant to run on the ARM cores powering the BlueField SoC.


-----Original Message-----
From: Vadim Pasternak <> 
Sent: Tuesday, November 12, 2019 8:15 PM
To: Shravan Ramani <>; Andy Shevchenko <>; Darren Hart <>
Cc: Liming Sun <>; Shravan Ramani <>;;
Subject: RE: [PATCH v1] platform/mellanox: Add Mellanox TRIO driver

> -----Original Message-----
> From: Shravan Kumar Ramani <>
> Sent: Monday, November 11, 2019 4:35 PM
> To: Andy Shevchenko <>; Darren Hart 
> <>; Vadim Pasternak <>
> Cc: Liming Sun <>; Shravan Ramani 
> <>;; linux- 
> Subject: [PATCH v1] platform/mellanox: Add Mellanox TRIO driver
> This patch adds support for Mellanox BlueField TRIO PCIe host controller.
> The driver supports multiple TRIO instances and provides a sysfs 
> interface to allow the user to read/set the L3 cache profile for 
> transactions going through the TRIO. It also provides an interrupt handler for the TRIO blocks.

Hi Shravan,

Could you, please, explain what TRIO PCIe host controller?
What is TRIO, is it some internal name or it's some standard terminology?
If it's internal, please, explain for what it stands for.

Same for TRIO instances. Are there some host side PCI instances?
What are the purpose of them?

Could you, please, also explain the system configuration?

> Shravan Kumar Ramani (1):
>   platform/mellanox: Add Mellanox TRIO driver
>  MAINTAINERS                            |   5 +
>  drivers/platform/mellanox/Kconfig      |   8 +
>  drivers/platform/mellanox/Makefile     |   1 +
>  drivers/platform/mellanox/mlxbf-trio.c | 624
> +++++++++++++++++++++++++++++++++
>  4 files changed, 638 insertions(+)
>  create mode 100644 drivers/platform/mellanox/mlxbf-trio.c
> --
> 2.1.2

  reply	other threads:[~2019-11-13  5:40 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-11-11 14:34 [PATCH v1] platform/mellanox: Add Mellanox TRIO driver Shravan Kumar Ramani
2019-11-11 14:34 ` Shravan Kumar Ramani
2019-11-12 14:44 ` Vadim Pasternak
2019-11-13  5:40   ` Shravan Ramani [this message]
2019-11-13  7:05     ` Vadim Pasternak
2019-11-18 10:47 ` Andy Shevchenko

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:

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \ \ \ \ \ \ \ \ \

* 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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).