automatic DPDK test reports
 help / color / mirror / Atom feed
* |WARNING| pw117840 [PATCH] [v1, 12/35] net/ionic: move PCI-specific code to a separate file
@ 2022-10-11  6:39 dpdklab
  0 siblings, 0 replies; only message in thread
From: dpdklab @ 2022-10-11  6:39 UTC (permalink / raw)
  To: test-report; +Cc: dpdk-test-reports

[-- Attachment #1: Type: text/plain, Size: 11566 bytes --]

Test-Label: iol-testing
Test-Status: WARNING
http://dpdk.org/patch/117840

_apply patch failure_

Submitter: Andrew Boyer <Andrew.Boyer@amd.com>
Date: Tuesday, October 11 2022 00:50:09 
Applied on: CommitID:f13604fad12a81383da7b04821a4befb3d01e2ed
Apply patch set 117840 failed:

Checking patch drivers/net/ionic/ionic.h...
error: while searching for:
	bool intrs[IONIC_INTR_CTRL_REGS_MAX];
	bool link_up;
	char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN];
	struct rte_pci_device *pci_dev;
};

/** ionic_admin_ctx - Admin command context.

error: patch failed: drivers/net/ionic/ionic.h:61
Checking patch drivers/net/ionic/ionic_dev.c...
error: while searching for:
#include "ionic_lif.h"
#include "ionic.h"

int
ionic_dev_setup(struct ionic_adapter *adapter)
{
	struct ionic_dev_bar *bar = adapter->bars;
	unsigned int num_bars = adapter->num_bars;
	struct ionic_dev *idev = &adapter->idev;
	uint32_t sig;
	u_char *bar0_base;
	unsigned int i;

	/* BAR0: dev_cmd and interrupts */
	if (num_bars < 1) {
		IONIC_PRINT(ERR, "No bars found, aborting");
		return -EFAULT;
	}

	if (bar->len < IONIC_BAR0_SIZE) {
		IONIC_PRINT(ERR,
			"Resource bar size %lu too small, aborting",
			bar->len);
		return -EFAULT;
	}

	bar0_base = bar->vaddr;
	idev->dev_info = (union ionic_dev_info_regs *)
		&bar0_base[IONIC_BAR0_DEV_INFO_REGS_OFFSET];
	idev->dev_cmd = (union ionic_dev_cmd_regs *)
		&bar0_base[IONIC_BAR0_DEV_CMD_REGS_OFFSET];
	idev->intr_status = (struct ionic_intr_status *)
		&bar0_base[IONIC_BAR0_INTR_STATUS_OFFSET];
	idev->intr_ctrl = (struct ionic_intr *)
		&bar0_base[IONIC_BAR0_INTR_CTRL_OFFSET];

	sig = ioread32(&idev->dev_info->signature);
	if (sig != IONIC_DEV_INFO_SIGNATURE) {
		IONIC_PRINT(ERR, "Incompatible firmware signature %" PRIx32 "",
			sig);
		return -EFAULT;
	}

	for (i = 0; i < IONIC_DEVINFO_FWVERS_BUFLEN; i++)
		adapter->fw_version[i] =
			ioread8(&idev->dev_info->fw_version[i]);
	adapter->fw_version[IONIC_DEVINFO_FWVERS_BUFLEN - 1] = '\0';

	adapter->name = adapter->pci_dev->device.name;

	IONIC_PRINT(DEBUG, "%s firmware version: %s",
		adapter->name, adapter->fw_version);

	/* BAR1: doorbells */
	bar++;
	if (num_bars < 2) {
		IONIC_PRINT(ERR, "Doorbell bar missing, aborting");
		return -EFAULT;
	}

	idev->db_pages = bar->vaddr;

	return 0;
}

/* Devcmd Interface */

uint8_t

error: patch failed: drivers/net/ionic/ionic_dev.c:10
Checking patch drivers/net/ionic/ionic_dev.h...
Hunk #1 succeeded at 172 (offset -1 lines).
Checking patch drivers/net/ionic/ionic_dev_pci.c...
Checking patch drivers/net/ionic/ionic_ethdev.c...
error: while searching for:
 * Copyright 2018-2022 Advanced Micro Devices, Inc. All Rights Reserved.
 */

#include <rte_pci.h>
#include <bus_pci_driver.h>
#include <rte_ethdev.h>
#include <ethdev_driver.h>
#include <rte_malloc.h>
#include <ethdev_pci.h>

#include "ionic_logs.h"
#include "ionic.h"

error: patch failed: drivers/net/ionic/ionic_ethdev.c:2
Hunk #2 succeeded at 57 (offset 3 lines).
Hunk #3 succeeded at 321 (offset 3 lines).
Hunk #4 succeeded at 927 (offset -9 lines).
Hunk #5 succeeded at 945 (offset -9 lines).
Hunk #6 succeeded at 978 (offset -9 lines).
error: while searching for:
	return 0;
}

static int
ionic_configure_intr(struct ionic_adapter *adapter)
{
	struct rte_pci_device *pci_dev = adapter->pci_dev;
	struct rte_intr_handle *intr_handle = pci_dev->intr_handle;
	int err;

	IONIC_PRINT(DEBUG, "Configuring %u intrs", adapter->nintrs);

	if (rte_intr_efd_enable(intr_handle, adapter->nintrs)) {
		IONIC_PRINT(ERR, "Fail to create eventfd");
		return -1;
	}

	if (rte_intr_dp_is_en(intr_handle)) {
		IONIC_PRINT(DEBUG,
			"Packet I/O interrupt on datapath is enabled");

		if (rte_intr_vec_list_alloc(intr_handle, "intr_vec",
						adapter->nintrs)) {
			IONIC_PRINT(ERR, "Failed to allocate %u vectors",
				adapter->nintrs);
			return -ENOMEM;
		}
	}

	err = rte_intr_callback_register(intr_handle,
		ionic_dev_interrupt_handler,
		adapter);

	if (err) {
		IONIC_PRINT(ERR,
			"Failure registering interrupts handler (%d)",
			err);
		return err;
	}

	/* enable intr mapping */
	err = rte_intr_enable(intr_handle);

	if (err) {
		IONIC_PRINT(ERR, "Failure enabling interrupts (%d)", err);
		return err;
	}

	return 0;
}

static void
ionic_unconfigure_intr(struct ionic_adapter *adapter)
{
	struct rte_pci_device *pci_dev = adapter->pci_dev;
	struct rte_intr_handle *intr_handle = pci_dev->intr_handle;

	rte_intr_disable(intr_handle);

	rte_intr_callback_unregister(intr_handle,
		ionic_dev_interrupt_handler,
		adapter);
}

static int
eth_ionic_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
		struct rte_pci_device *pci_dev)
{
	char name[RTE_ETH_NAME_MAX_LEN];
	struct rte_mem_resource *resource;
	struct ionic_adapter *adapter;
	struct ionic_hw *hw;
	unsigned long i;

error: patch failed: drivers/net/ionic/ionic_ethdev.c:1068
Hunk #8 succeeded at 1129 (offset 50 lines).
Hunk #9 succeeded at 1136 (offset 50 lines).
Hunk #10 succeeded at 1150 (offset 50 lines).
Hunk #11 succeeded at 1221 (offset 50 lines).
Hunk #12 succeeded at 1245 (offset 50 lines).
Checking patch drivers/net/ionic/ionic_ethdev.h...
error: while searching for:
#define IONIC_ETH_DEV_TO_LIF(eth_dev) ((struct ionic_lif *) \
	(eth_dev)->data->dev_private)

int ionic_dev_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete);

#endif /* _IONIC_ETHDEV_H_ */

error: patch failed: drivers/net/ionic/ionic_ethdev.h:18
Checking patch drivers/net/ionic/ionic_main.c...
Checking patch drivers/net/ionic/meson.build...
Applying patch drivers/net/ionic/ionic.h with 1 reject...
Hunk #1 applied cleanly.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Rejected hunk #4.
Applying patch drivers/net/ionic/ionic_dev.c with 1 reject...
Rejected hunk #1.
Applied patch drivers/net/ionic/ionic_dev.h cleanly.
Applied patch drivers/net/ionic/ionic_dev_pci.c cleanly.
Applying patch drivers/net/ionic/ionic_ethdev.c with 2 rejects...
Rejected hunk #1.
Hunk #2 applied cleanly.
Hunk #3 applied cleanly.
Hunk #4 applied cleanly.
Hunk #5 applied cleanly.
Hunk #6 applied cleanly.
Rejected hunk #7.
Hunk #8 applied cleanly.
Hunk #9 applied cleanly.
Hunk #10 applied cleanly.
Hunk #11 applied cleanly.
Hunk #12 applied cleanly.
Applying patch drivers/net/ionic/ionic_ethdev.h with 1 reject...
Rejected hunk #1.
Applied patch drivers/net/ionic/ionic_main.c cleanly.
Applied patch drivers/net/ionic/meson.build cleanly.
diff a/drivers/net/ionic/ionic.h b/drivers/net/ionic/ionic.h	(rejected hunks)
@@ -61,7 +64,7 @@ struct ionic_adapter {
 	bool intrs[IONIC_INTR_CTRL_REGS_MAX];
 	bool link_up;
 	char fw_version[IONIC_DEVINFO_FWVERS_BUFLEN];
-	struct rte_pci_device *pci_dev;
+	void *bus_dev;
 };
 
 /** ionic_admin_ctx - Admin command context.
diff a/drivers/net/ionic/ionic_dev.c b/drivers/net/ionic/ionic_dev.c	(rejected hunks)
@@ -10,68 +10,6 @@
 #include "ionic_lif.h"
 #include "ionic.h"
 
-int
-ionic_dev_setup(struct ionic_adapter *adapter)
-{
-	struct ionic_dev_bar *bar = adapter->bars;
-	unsigned int num_bars = adapter->num_bars;
-	struct ionic_dev *idev = &adapter->idev;
-	uint32_t sig;
-	u_char *bar0_base;
-	unsigned int i;
-
-	/* BAR0: dev_cmd and interrupts */
-	if (num_bars < 1) {
-		IONIC_PRINT(ERR, "No bars found, aborting");
-		return -EFAULT;
-	}
-
-	if (bar->len < IONIC_BAR0_SIZE) {
-		IONIC_PRINT(ERR,
-			"Resource bar size %lu too small, aborting",
-			bar->len);
-		return -EFAULT;
-	}
-
-	bar0_base = bar->vaddr;
-	idev->dev_info = (union ionic_dev_info_regs *)
-		&bar0_base[IONIC_BAR0_DEV_INFO_REGS_OFFSET];
-	idev->dev_cmd = (union ionic_dev_cmd_regs *)
-		&bar0_base[IONIC_BAR0_DEV_CMD_REGS_OFFSET];
-	idev->intr_status = (struct ionic_intr_status *)
-		&bar0_base[IONIC_BAR0_INTR_STATUS_OFFSET];
-	idev->intr_ctrl = (struct ionic_intr *)
-		&bar0_base[IONIC_BAR0_INTR_CTRL_OFFSET];
-
-	sig = ioread32(&idev->dev_info->signature);
-	if (sig != IONIC_DEV_INFO_SIGNATURE) {
-		IONIC_PRINT(ERR, "Incompatible firmware signature %" PRIx32 "",
-			sig);
-		return -EFAULT;
-	}
-
-	for (i = 0; i < IONIC_DEVINFO_FWVERS_BUFLEN; i++)
-		adapter->fw_version[i] =
-			ioread8(&idev->dev_info->fw_version[i]);
-	adapter->fw_version[IONIC_DEVINFO_FWVERS_BUFLEN - 1] = '\0';
-
-	adapter->name = adapter->pci_dev->device.name;
-
-	IONIC_PRINT(DEBUG, "%s firmware version: %s",
-		adapter->name, adapter->fw_version);
-
-	/* BAR1: doorbells */
-	bar++;
-	if (num_bars < 2) {
-		IONIC_PRINT(ERR, "Doorbell bar missing, aborting");
-		return -EFAULT;
-	}
-
-	idev->db_pages = bar->vaddr;
-
-	return 0;
-}
-
 /* Devcmd Interface */
 
 uint8_t
diff a/drivers/net/ionic/ionic_ethdev.c b/drivers/net/ionic/ionic_ethdev.c	(rejected hunks)
@@ -2,12 +2,9 @@
  * Copyright 2018-2022 Advanced Micro Devices, Inc. All Rights Reserved.
  */
 
-#include <rte_pci.h>
-#include <bus_pci_driver.h>
 #include <rte_ethdev.h>
 #include <ethdev_driver.h>
 #include <rte_malloc.h>
-#include <ethdev_pci.h>
 
 #include "ionic_logs.h"
 #include "ionic.h"
@@ -1068,73 +1059,12 @@ eth_ionic_dev_uninit(struct rte_eth_dev *eth_dev)
 	return 0;
 }
 
-static int
-ionic_configure_intr(struct ionic_adapter *adapter)
-{
-	struct rte_pci_device *pci_dev = adapter->pci_dev;
-	struct rte_intr_handle *intr_handle = pci_dev->intr_handle;
-	int err;
-
-	IONIC_PRINT(DEBUG, "Configuring %u intrs", adapter->nintrs);
-
-	if (rte_intr_efd_enable(intr_handle, adapter->nintrs)) {
-		IONIC_PRINT(ERR, "Fail to create eventfd");
-		return -1;
-	}
-
-	if (rte_intr_dp_is_en(intr_handle)) {
-		IONIC_PRINT(DEBUG,
-			"Packet I/O interrupt on datapath is enabled");
-
-		if (rte_intr_vec_list_alloc(intr_handle, "intr_vec",
-						adapter->nintrs)) {
-			IONIC_PRINT(ERR, "Failed to allocate %u vectors",
-				adapter->nintrs);
-			return -ENOMEM;
-		}
-	}
-
-	err = rte_intr_callback_register(intr_handle,
-		ionic_dev_interrupt_handler,
-		adapter);
-
-	if (err) {
-		IONIC_PRINT(ERR,
-			"Failure registering interrupts handler (%d)",
-			err);
-		return err;
-	}
-
-	/* enable intr mapping */
-	err = rte_intr_enable(intr_handle);
-
-	if (err) {
-		IONIC_PRINT(ERR, "Failure enabling interrupts (%d)", err);
-		return err;
-	}
-
-	return 0;
-}
-
-static void
-ionic_unconfigure_intr(struct ionic_adapter *adapter)
-{
-	struct rte_pci_device *pci_dev = adapter->pci_dev;
-	struct rte_intr_handle *intr_handle = pci_dev->intr_handle;
-
-	rte_intr_disable(intr_handle);
-
-	rte_intr_callback_unregister(intr_handle,
-		ionic_dev_interrupt_handler,
-		adapter);
-}
-
-static int
-eth_ionic_pci_probe(struct rte_pci_driver *pci_drv __rte_unused,
-		struct rte_pci_device *pci_dev)
+int
+eth_ionic_dev_probe(void *bus_dev, struct rte_device *rte_dev,
+	struct ionic_bars *bars, const struct ionic_dev_intf *intf,
+	uint16_t device_id, uint16_t vendor_id)
 {
 	char name[RTE_ETH_NAME_MAX_LEN];
-	struct rte_mem_resource *resource;
 	struct ionic_adapter *adapter;
 	struct ionic_hw *hw;
 	unsigned long i;
diff a/drivers/net/ionic/ionic_ethdev.h b/drivers/net/ionic/ionic_ethdev.h	(rejected hunks)
@@ -18,6 +18,15 @@
 #define IONIC_ETH_DEV_TO_LIF(eth_dev) ((struct ionic_lif *) \
 	(eth_dev)->data->dev_private)
 
+struct ionic_bars;
+struct ionic_dev_intf;
+
+int eth_ionic_dev_probe(void *bus_dev, struct rte_device *rte_dev,
+	struct ionic_bars *bars, const struct ionic_dev_intf *intf,
+	uint16_t device_id, uint16_t vendor_id);
+int eth_ionic_dev_remove(struct rte_device *rte_dev);
+
+void ionic_dev_interrupt_handler(void *param);
 int ionic_dev_link_update(struct rte_eth_dev *eth_dev, int wait_to_complete);
 
 #endif /* _IONIC_ETHDEV_H_ */

https://lab.dpdk.org/results/dashboard/patchsets/23881/

UNH-IOL DPDK Community Lab

^ permalink raw reply	[flat|nested] only message in thread

only message in thread, other threads:[~2022-10-11  6:39 UTC | newest]

Thread overview: (only message) (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-10-11  6:39 |WARNING| pw117840 [PATCH] [v1, 12/35] net/ionic: move PCI-specific code to a separate file dpdklab

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).