All of lore.kernel.org
 help / color / mirror / Atom feed
From: Hemant Agrawal <hemant.agrawal@nxp.com>
To: ferruh.yigit@intel.com
Cc: dev@dpdk.org, Rohit Raj <rohit.raj@nxp.com>
Subject: [dpdk-dev] [PATCH 15/16] bus/dpaa: enable set link status
Date: Mon,  2 Mar 2020 20:28:28 +0530	[thread overview]
Message-ID: <20200302145829.27808-16-hemant.agrawal@nxp.com> (raw)
In-Reply-To: <20200302145829.27808-1-hemant.agrawal@nxp.com>

From: Rohit Raj <rohit.raj@nxp.com>

Enabled set link status API to start/stop phy
device from application.

Signed-off-by: Rohit Raj <rohit.raj@nxp.com>
---
 drivers/bus/dpaa/base/qbman/process.c     | 35 ++++++++++++++++++++---
 drivers/bus/dpaa/include/process.h        |  3 ++
 drivers/bus/dpaa/rte_bus_dpaa_version.map |  1 +
 drivers/net/dpaa/dpaa_ethdev.c            | 14 +++++++--
 4 files changed, 47 insertions(+), 6 deletions(-)

diff --git a/drivers/bus/dpaa/base/qbman/process.c b/drivers/bus/dpaa/base/qbman/process.c
index 598b10661..8ab57f105 100644
--- a/drivers/bus/dpaa/base/qbman/process.c
+++ b/drivers/bus/dpaa/base/qbman/process.c
@@ -317,7 +317,7 @@ int rte_dpaa_intr_enable(char *if_name, int efd)
 
 	ret = ioctl(fd, DPAA_IOCTL_ENABLE_LINK_STATUS_INTERRUPT, &args);
 	if (ret) {
-		perror("Failed to enable interrupt\n");
+		printf("Failed to enable interrupt: Not Supported\n");
 		return ret;
 	}
 
@@ -333,7 +333,7 @@ int rte_dpaa_intr_disable(char *if_name)
 
 	ret = ioctl(fd, DPAA_IOCTL_DISABLE_LINK_STATUS_INTERRUPT, &if_name);
 	if (ret) {
-		perror("Failed to disable interrupt\n");
+		printf("Failed to disable interrupt: Not Supported\n");
 		return ret;
 	}
 
@@ -356,9 +356,36 @@ int rte_dpaa_get_link_status(char *if_name)
 
 	ret = ioctl(fd, DPAA_IOCTL_GET_LINK_STATUS, &args);
 	if (ret) {
-		perror("Failed to get link status\n");
-		return ret;
+		printf("Failed to get link status: Not Supported\n");
+		return -errno;
 	}
 
 	return args.link_status;
 }
+
+#define DPAA_IOCTL_UPDATE_LINK_STATUS \
+	_IOW(DPAA_IOCTL_MAGIC, 0x11, struct usdpaa_ioctl_link_status_args)
+
+int rte_dpaa_update_link_status(char *if_name, int link_status)
+{
+	struct usdpaa_ioctl_link_status_args args;
+	int ret;
+
+	ret = check_fd();
+	if (ret)
+		return ret;
+
+	strcpy(args.if_name, if_name);
+	args.link_status = link_status;
+
+	ret = ioctl(fd, DPAA_IOCTL_UPDATE_LINK_STATUS, &args);
+	if (ret) {
+		if (errno == EINVAL)
+			printf("Failed to set link status: Not Supported\n");
+		else
+			perror("Failed to set link status");
+		return ret;
+	}
+
+	return 0;
+}
diff --git a/drivers/bus/dpaa/include/process.h b/drivers/bus/dpaa/include/process.h
index 312da1245..9f8c85895 100644
--- a/drivers/bus/dpaa/include/process.h
+++ b/drivers/bus/dpaa/include/process.h
@@ -94,4 +94,7 @@ struct usdpaa_ioctl_link_status_args {
 __rte_experimental
 int rte_dpaa_get_link_status(char *if_name);
 
+__rte_experimental
+int rte_dpaa_update_link_status(char *if_name, int link_status);
+
 #endif	/*  __PROCESS_H */
diff --git a/drivers/bus/dpaa/rte_bus_dpaa_version.map b/drivers/bus/dpaa/rte_bus_dpaa_version.map
index e8fa8f569..3eac85429 100644
--- a/drivers/bus/dpaa/rte_bus_dpaa_version.map
+++ b/drivers/bus/dpaa/rte_bus_dpaa_version.map
@@ -103,4 +103,5 @@ EXPERIMENTAL {
 	rte_dpaa_get_link_status;
 	rte_dpaa_intr_disable;
 	rte_dpaa_intr_enable;
+	rte_dpaa_update_link_status;
 };
diff --git a/drivers/net/dpaa/dpaa_ethdev.c b/drivers/net/dpaa/dpaa_ethdev.c
index 28c6b1c17..c0a96dd47 100644
--- a/drivers/net/dpaa/dpaa_ethdev.c
+++ b/drivers/net/dpaa/dpaa_ethdev.c
@@ -972,17 +972,27 @@ dpaa_dev_rx_queue_count(struct rte_eth_dev *dev, uint16_t rx_queue_id)
 
 static int dpaa_link_down(struct rte_eth_dev *dev)
 {
+	struct fman_if *fif = dev->process_private;
+	struct __fman_if *__fif;
+
 	PMD_INIT_FUNC_TRACE();
 
-	dpaa_eth_dev_stop(dev);
+	__fif = container_of(fif, struct __fman_if, __if);
+
+	rte_dpaa_update_link_status(__fif->node_name, ETH_LINK_DOWN);
 	return 0;
 }
 
 static int dpaa_link_up(struct rte_eth_dev *dev)
 {
+	struct fman_if *fif = dev->process_private;
+	struct __fman_if *__fif;
+
 	PMD_INIT_FUNC_TRACE();
 
-	dpaa_eth_dev_start(dev);
+	__fif = container_of(fif, struct __fman_if, __if);
+
+	rte_dpaa_update_link_status(__fif->node_name, ETH_LINK_UP);
 	return 0;
 }
 
-- 
2.17.1


  parent reply	other threads:[~2020-03-02  9:29 UTC|newest]

Thread overview: 109+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2020-03-02 14:58 [dpdk-dev] [PATCH 00/16] NXP DPAAx fixes and enhancements Hemant Agrawal
2020-03-02 13:01 ` David Marchand
2020-03-05  9:06   ` Hemant Agrawal (OSS)
2020-03-05  9:09     ` David Marchand
2020-03-05  9:19       ` Hemant Agrawal (OSS)
2020-03-06 10:12         ` David Marchand
2020-03-10 10:36           ` Dodji Seketeli
2020-04-07 10:25             ` Hemant Agrawal
2020-04-07 12:20               ` Thomas Monjalon
2020-04-08  7:20               ` Dodji Seketeli
2020-04-08  7:52                 ` Dodji Seketeli
2020-04-08 12:35                   ` Thomas Monjalon
2020-03-02 14:58 ` [dpdk-dev] [PATCH 01/16] net/dpaa2: fix 10g port negotiation issue Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 02/16] bus/fslmc: fix dereferencing null pointer Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 03/16] bus/fslmc: combine thread specific variables Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 04/16] bus/fslmc: rework portal allocation to a per thread basis Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 05/16] bus/fslmc: support handle portal alloc failure Hemant Agrawal
2020-03-09 17:00   ` Ferruh Yigit
2020-03-09 17:04     ` Ferruh Yigit
2020-03-02 14:58 ` [dpdk-dev] [PATCH 06/16] bus/fslmc: limit pthread destructor called for dpaa2 only Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 07/16] bus/fslmc: support portal migration Hemant Agrawal
2020-03-03 17:43   ` Ferruh Yigit
2020-03-02 14:58 ` [dpdk-dev] [PATCH 08/16] drivers: enhance portal allocation failure log Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 09/16] bus/fslmc: rename the cinh read functions used for ls1088 Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 10/16] net/dpaa: return error on multiple mp config Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 11/16] net/dpaa: enable Tx queue taildrop Hemant Agrawal
2020-03-03 16:59   ` Ferruh Yigit
2020-03-04  8:43     ` Hemant Agrawal (OSS)
2020-03-04  8:49     ` David Marchand
2020-03-03 17:02   ` Ferruh Yigit
2020-03-05  6:49     ` Gagandeep Singh
2020-03-05 14:14       ` Ferruh Yigit
2020-03-02 14:58 ` [dpdk-dev] [PATCH 12/16] net/dpaa: add 2.5G support Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 13/16] net/dpaa: update process specific device info Hemant Agrawal
2020-03-02 14:58 ` [dpdk-dev] [PATCH 14/16] bus/dpaa: enable link state interrupt Hemant Agrawal
2020-03-02 14:58 ` Hemant Agrawal [this message]
2020-03-02 14:58 ` [dpdk-dev] [PATCH 16/16] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-03-06  9:57 ` [dpdk-dev] [PATCH v2 00/16] NXP DPAAx fixes and enhancements Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 01/16] net/dpaa2: fix 10g port negotiation issue Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 02/16] bus/fslmc: fix dereferencing null pointer Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 03/16] bus/fslmc: combine thread specific variables Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 04/16] bus/fslmc: rework portal allocation to a per thread basis Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 05/16] bus/fslmc: support handle portal alloc failure Hemant Agrawal
2020-03-13 16:20     ` Ferruh Yigit
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 06/16] bus/fslmc: limit pthread destructor called for dpaa2 only Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 07/16] bus/fslmc: support portal migration Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 08/16] drivers: enhance portal allocation failure log Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 09/16] bus/fslmc: rename the cinh read functions used for ls1088 Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 10/16] net/dpaa: return error on multiple mp config Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 11/16] net/dpaa: enable Tx queue taildrop Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 12/16] net/dpaa: add 2.5G support Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 13/16] net/dpaa: update process specific device info Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 14/16] bus/dpaa: enable link state interrupt Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 15/16] bus/dpaa: enable set link status Hemant Agrawal
2020-03-06  9:57   ` [dpdk-dev] [PATCH v2 16/16] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-05-04 12:41   ` [dpdk-dev] [PATCH v3 0/8] NXP DPAAx fixes and enhancements Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 1/8] bus/fslmc: fix dereferencing null pointer Hemant Agrawal
2020-05-06 21:08       ` Ferruh Yigit
2020-05-06 21:09         ` Ferruh Yigit
2020-05-06 21:14       ` Ferruh Yigit
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 2/8] net/dpaa2: fix 10g port negotiation issue Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 3/8] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 4/8] net/dpaa2: add default Rx params in devinfo Hemant Agrawal
2020-05-06 21:29       ` Ferruh Yigit
2020-05-07  5:35         ` Hemant Agrawal (OSS)
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 5/8] drivers: dpaa2 enhance portal alloc failure log Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 6/8] net/dpaa2: support UDP dst port based muxing Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 7/8] net/dpaa2: reduce prints in queue count functions Hemant Agrawal
2020-05-04 12:41     ` [dpdk-dev] [PATCH v3 8/8] net/dpaa2: use cong group id for multiple tcs Hemant Agrawal
2020-05-06 21:38       ` Ferruh Yigit
2020-05-07  5:37         ` Hemant Agrawal (OSS)
2020-05-07 10:46     ` [dpdk-dev] [PATCH v4 0/9] NXP DPAAx fixes and enhancements Hemant Agrawal
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 1/9] bus/fslmc: fix dereferencing null pointer Hemant Agrawal
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 2/9] net/dpaa2: fix 10g port negotiation issue Hemant Agrawal
2020-05-07 14:36         ` Ferruh Yigit
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 3/9] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 4/9] net/dpaa2: add default values for Rx params in info Hemant Agrawal
2020-05-07 14:30         ` Ferruh Yigit
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 5/9] drivers: dpaa2 enhance portal alloc failure log Hemant Agrawal
2020-05-07 14:31         ` Ferruh Yigit
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 6/9] net/dpaa2: support UDP dst port based muxing Hemant Agrawal
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 7/9] net/dpaa2: reduce prints in queue count functions Hemant Agrawal
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 8/9] net/dpaa2: fix cong group id for multiple tcs Hemant Agrawal
2020-05-07 14:33         ` Ferruh Yigit
2020-05-07 10:46       ` [dpdk-dev] [PATCH v4 9/9] bus/fslmc: fix the size of qman fq desc Hemant Agrawal
2020-05-08 12:59       ` [dpdk-dev] [PATCH v5 0/9] NXP DPAAx fixes and enhancements Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 1/9] net/dpaa2: fix 10G port negotiation issue Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 2/9] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 3/9] net/dpaa2: add default values for Rx params in info Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 4/9] drivers: dpaa2 enhance portal alloc failure log Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 5/9] net/dpaa2: support UDP dst port based muxing Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 6/9] net/dpaa2: reduce prints in queue count functions Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 7/9] net/dpaa2: fix cong group id for multiple tcs Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 8/9] bus/fslmc: fix the size of qman fq desc Hemant Agrawal
2020-05-08 12:59         ` [dpdk-dev] [PATCH v5 9/9] net/dpaa2: add the support for additional link speeds Hemant Agrawal
2020-05-08 13:02       ` [dpdk-dev] [PATCH v6 00/10] NXP DPAAx fixes and enhancement Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 01/10] bus/fslmc: fix dereferencing null pointer Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 02/10] net/dpaa2: fix 10G port negotiation issue Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 03/10] net/dpaa2: do not prefetch annotaion for physical mode Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 04/10] net/dpaa2: add default values for Rx params in info Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 05/10] drivers: dpaa2 enhance portal alloc failure log Hemant Agrawal
2020-05-08 16:07           ` Ferruh Yigit
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 06/10] net/dpaa2: support UDP dst port based muxing Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 07/10] net/dpaa2: reduce prints in queue count functions Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 08/10] net/dpaa2: fix cong group id for multiple tcs Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 09/10] bus/fslmc: fix the size of qman fq desc Hemant Agrawal
2020-05-08 13:02         ` [dpdk-dev] [PATCH v6 10/10] net/dpaa2: add the support for additional link speeds Hemant Agrawal
2020-05-08 13:08         ` [dpdk-dev] [PATCH v6 00/10] NXP DPAAx fixes and enhancement Hemant Agrawal (OSS)
2020-05-08 19:32           ` Ferruh Yigit

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:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

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

  git send-email \
    --in-reply-to=20200302145829.27808-16-hemant.agrawal@nxp.com \
    --to=hemant.agrawal@nxp.com \
    --cc=dev@dpdk.org \
    --cc=ferruh.yigit@intel.com \
    --cc=rohit.raj@nxp.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* 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 an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.