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