From: Rosen Xu <rosen.xu@intel.com> To: dev@dpdk.org Cc: rosen.xu@intel.com, tianfei.zhang@intel.com, andy.pei@intel.com, xiaolong.ye@intel.com, ferruh.yigit@intel.com Subject: [dpdk-dev] [PATCH v16 11/19] raw/ifpga: add PCIe BDF devices tree scan Date: Wed, 13 Nov 2019 15:08:10 +0800 Message-ID: <1573628898-190337-12-git-send-email-rosen.xu@intel.com> (raw) In-Reply-To: <1573628898-190337-1-git-send-email-rosen.xu@intel.com> Add PCIe BDF devices tree scan for ipn3ke. Signed-off-by: Rosen Xu <rosen.xu@intel.com> Signed-off-by: Andy Pei <andy.pei@intel.com> --- drivers/raw/ifpga/ifpga_rawdev.c | 551 ++++++++++++++++++++++++++++++++++++++- drivers/raw/ifpga/ifpga_rawdev.h | 16 ++ 2 files changed, 562 insertions(+), 5 deletions(-) diff --git a/drivers/raw/ifpga/ifpga_rawdev.c b/drivers/raw/ifpga/ifpga_rawdev.c index f5e6119..01ff76a 100644 --- a/drivers/raw/ifpga/ifpga_rawdev.c +++ b/drivers/raw/ifpga/ifpga_rawdev.c @@ -8,6 +8,8 @@ #include <unistd.h> #include <sys/types.h> #include <fcntl.h> +#include <sys/ioctl.h> +#include <sys/epoll.h> #include <rte_log.h> #include <rte_bus.h> #include <rte_malloc.h> @@ -17,7 +19,7 @@ #include <rte_bus_pci.h> #include <rte_kvargs.h> #include <rte_alarm.h> - +#include <rte_interrupts.h> #include <rte_errno.h> #include <rte_per_lcore.h> #include <rte_memory.h> @@ -25,6 +27,7 @@ #include <rte_eal.h> #include <rte_common.h> #include <rte_bus_vdev.h> +#include <rte_string_fns.h> #include "base/opae_hw_api.h" #include "base/opae_ifpga_hw_api.h" @@ -37,6 +40,12 @@ #include "ifpga_rawdev.h" #include "ipn3ke_rawdev_api.h" +#define RTE_PCI_EXT_CAP_ID_ERR 0x01 /* Advanced Error Reporting */ +#define RTE_PCI_CFG_SPACE_SIZE 256 +#define RTE_PCI_CFG_SPACE_EXP_SIZE 4096 +#define RTE_PCI_EXT_CAP_ID(header) (int)(header & 0x0000ffff) +#define RTE_PCI_EXT_CAP_NEXT(header) ((header >> 20) & 0xffc) + int ifpga_rawdev_logtype; #define PCI_VENDOR_ID_INTEL 0x8086 @@ -64,6 +73,494 @@ { .vendor_id = 0, /* sentinel */ }, }; +static struct ifpga_rawdev ifpga_rawdevices[IFPGA_RAWDEV_NUM]; + +static int ifpga_monitor_start; +static pthread_t ifpga_monitor_start_thread; + +static struct ifpga_rawdev * +ifpga_rawdev_allocate(struct rte_rawdev *rawdev); +static int set_surprise_link_check_aer( + struct ifpga_rawdev *ifpga_rdev, int force_disable); +static int ifpga_pci_find_next_ext_capability(unsigned int fd, + int start, int cap); +static int ifpga_pci_find_ext_capability(unsigned int fd, int cap); + +struct ifpga_rawdev * +ifpga_rawdev_get(const struct rte_rawdev *rawdev) +{ + struct ifpga_rawdev *dev; + unsigned int i; + + if (rawdev == NULL) + return NULL; + + for (i = 0; i < IFPGA_RAWDEV_NUM; i++) { + dev = &ifpga_rawdevices[i]; + if (dev->rawdev == rawdev) + return dev; + } + + return NULL; +} + +static inline uint8_t +ifpga_rawdev_find_free_device_index(void) +{ + uint16_t dev_id; + + for (dev_id = 0; dev_id < IFPGA_RAWDEV_NUM; dev_id++) { + if (ifpga_rawdevices[dev_id].rawdev == NULL) + return dev_id; + } + + return IFPGA_RAWDEV_NUM; +} +static struct ifpga_rawdev * +ifpga_rawdev_allocate(struct rte_rawdev *rawdev) +{ + struct ifpga_rawdev *dev; + uint16_t dev_id; + + dev = ifpga_rawdev_get(rawdev); + if (dev != NULL) { + IFPGA_RAWDEV_PMD_ERR("Event device already allocated!"); + return NULL; + } + + dev_id = ifpga_rawdev_find_free_device_index(); + if (dev_id == IFPGA_RAWDEV_NUM) { + IFPGA_RAWDEV_PMD_ERR("Reached maximum number of raw devices"); + return NULL; + } + + dev = &ifpga_rawdevices[dev_id]; + dev->rawdev = rawdev; + dev->dev_id = dev_id; + + return dev; +} + +static int ifpga_pci_find_next_ext_capability(unsigned int fd, +int start, int cap) +{ + uint32_t header; + int ttl; + int pos = RTE_PCI_CFG_SPACE_SIZE; + int ret; + + /* minimum 8 bytes per capability */ + ttl = (RTE_PCI_CFG_SPACE_EXP_SIZE - RTE_PCI_CFG_SPACE_SIZE) / 8; + + if (start) + pos = start; + ret = pread(fd, &header, sizeof(header), pos); + if (ret == -1) + return -1; + + /* + * If we have no capabilities, this is indicated by cap ID, + * cap version and next pointer all being 0. + */ + if (header == 0) + return 0; + + while (ttl-- > 0) { + if (RTE_PCI_EXT_CAP_ID(header) == cap && pos != start) + return pos; + + pos = RTE_PCI_EXT_CAP_NEXT(header); + if (pos < RTE_PCI_CFG_SPACE_SIZE) + break; + ret = pread(fd, &header, sizeof(header), pos); + if (ret == -1) + return -1; + } + + return 0; +} + +static int ifpga_pci_find_ext_capability(unsigned int fd, int cap) +{ + return ifpga_pci_find_next_ext_capability(fd, 0, cap); +} + +static int ifpga_get_dev_vendor_id(const char *bdf, + uint32_t *dev_id, uint32_t *vendor_id) +{ + int fd; + char path[1024]; + int ret; + uint32_t header; + + strlcpy(path, "/sys/bus/pci/devices/", sizeof(path)); + strlcat(path, bdf, sizeof(path)); + strlcat(path, "/config", sizeof(path)); + fd = open(path, O_RDWR); + if (fd < 0) + return -1; + ret = pread(fd, &header, sizeof(header), 0); + if (ret == -1) { + close(fd); + return -1; + } + (*vendor_id) = header & 0xffff; + (*dev_id) = (header >> 16) & 0xffff; + close(fd); + + return 0; +} +static int ifpga_rawdev_fill_info(struct ifpga_rawdev *ifpga_dev, + const char *bdf) +{ + char path[1024] = "/sys/bus/pci/devices/0000:"; + char link[1024], link1[1024]; + char dir[1024] = "/sys/devices/"; + char *c; + int ret; + char sub_brg_bdf[4][16]; + int point; + DIR *dp = NULL; + struct dirent *entry; + int i, j; + + unsigned int dom, bus, dev; + int func; + uint32_t dev_id, vendor_id; + + strlcat(path, bdf, sizeof(path)); + memset(link, 0, sizeof(link)); + memset(link1, 0, sizeof(link1)); + ret = readlink(path, link, (sizeof(link)-1)); + if (ret == -1) + return -1; + strlcpy(link1, link, sizeof(link1)); + memset(ifpga_dev->parent_bdf, 0, 16); + point = strlen(link); + if (point < 39) + return -1; + point -= 39; + link[point] = 0; + if (point < 12) + return -1; + point -= 12; + rte_memcpy(ifpga_dev->parent_bdf, &link[point], 12); + + point = strlen(link1); + if (point < 26) + return -1; + point -= 26; + link1[point] = 0; + if (point < 12) + return -1; + point -= 12; + c = strchr(link1, 'p'); + if (!c) + return -1; + strlcat(dir, c, sizeof(dir)); + + /* scan folder */ + dp = opendir(dir); + if (dp == NULL) + return -1; + i = 0; + while ((entry = readdir(dp)) != NULL) { + if (i >= 4) + break; + if (entry->d_name[0] == '.') + continue; + if (strlen(entry->d_name) > 12) + continue; + if (sscanf(entry->d_name, "%x:%x:%x.%d", + &dom, &bus, &dev, &func) < 4) + continue; + else { + strlcpy(sub_brg_bdf[i], + entry->d_name, + sizeof(sub_brg_bdf[i])); + i++; + } + } + closedir(dp); + + /* get fpga and fvl */ + j = 0; + for (i = 0; i < 4; i++) { + strlcpy(link, dir, sizeof(link)); + strlcat(link, "/", sizeof(link)); + strlcat(link, sub_brg_bdf[i], sizeof(link)); + dp = opendir(link); + if (dp == NULL) + return -1; + while ((entry = readdir(dp)) != NULL) { + if (j >= 8) + break; + if (entry->d_name[0] == '.') + continue; + + if (strlen(entry->d_name) > 12) + continue; + if (sscanf(entry->d_name, "%x:%x:%x.%d", + &dom, &bus, &dev, &func) < 4) + continue; + else { + if (ifpga_get_dev_vendor_id(entry->d_name, + &dev_id, &vendor_id)) + continue; + if (vendor_id == 0x8086 && + (dev_id == 0x0CF8 || + dev_id == 0x0D58 || + dev_id == 0x1580)) { + strlcpy(ifpga_dev->fvl_bdf[j], + entry->d_name, + sizeof(ifpga_dev->fvl_bdf[j])); + j++; + } + } + } + closedir(dp); + } + + return 0; +} + +#define HIGH_FATAL(_sens, value)\ + (((_sens)->flags & OPAE_SENSOR_HIGH_FATAL_VALID) &&\ + (value > (_sens)->high_fatal)) + +#define HIGH_WARN(_sens, value)\ + (((_sens)->flags & OPAE_SENSOR_HIGH_WARN_VALID) &&\ + (value > (_sens)->high_warn)) + +#define LOW_FATAL(_sens, value)\ + (((_sens)->flags & OPAE_SENSOR_LOW_FATAL_VALID) &&\ + (value > (_sens)->low_fatal)) + +#define LOW_WARN(_sens, value)\ + (((_sens)->flags & OPAE_SENSOR_LOW_WARN_VALID) &&\ + (value > (_sens)->low_warn)) + +#define AUX_VOLTAGE_WARN 11400 + +static int +ifpga_monitor_sensor(struct rte_rawdev *raw_dev, + bool *gsd_start) +{ + struct opae_adapter *adapter; + struct opae_manager *mgr; + struct opae_sensor_info *sensor; + unsigned int value; + int ret; + + adapter = ifpga_rawdev_get_priv(raw_dev); + if (!adapter) + return -ENODEV; + + mgr = opae_adapter_get_mgr(adapter); + if (!mgr) + return -ENODEV; + + opae_mgr_for_each_sensor(sensor) { + if (!(sensor->flags & OPAE_SENSOR_VALID)) + goto fail; + + ret = opae_mgr_get_sensor_value(mgr, sensor, &value); + if (ret) + goto fail; + + if (value == 0xdeadbeef) { + IFPGA_RAWDEV_PMD_ERR("sensor %s is invalid value %x\n", + sensor->name, value); + continue; + } + + /* monitor temperature sensors */ + if (!strcmp(sensor->name, "Board Temperature") || + !strcmp(sensor->name, "FPGA Die Temperature")) { + IFPGA_RAWDEV_PMD_INFO("read sensor %s %d %d %d\n", + sensor->name, value, sensor->high_warn, + sensor->high_fatal); + + if (HIGH_WARN(sensor, value) || + LOW_WARN(sensor, value)) { + IFPGA_RAWDEV_PMD_INFO("%s reach theshold %d\n", + sensor->name, value); + *gsd_start = true; + break; + } + } + + /* monitor 12V AUX sensor */ + if (!strcmp(sensor->name, "12V AUX Voltage")) { + if (value < AUX_VOLTAGE_WARN) { + IFPGA_RAWDEV_PMD_INFO("%s reach theshold %d\n", + sensor->name, value); + *gsd_start = true; + break; + } + } + } + + return 0; +fail: + return -EFAULT; +} + +static int set_surprise_link_check_aer( + struct ifpga_rawdev *ifpga_rdev, int force_disable) +{ + struct rte_rawdev *rdev; + int fd = -1; + char path[1024]; + int pos; + int ret; + uint32_t data; + bool enable = 0; + uint32_t aer_new0, aer_new1; + + if (!ifpga_rdev) { + printf("\n device does not exist\n"); + return -EFAULT; + } + + rdev = ifpga_rdev->rawdev; + if (ifpga_rdev->aer_enable) + return -EFAULT; + if (ifpga_monitor_sensor(rdev, &enable)) + return -EFAULT; + if (enable || force_disable) { + IFPGA_RAWDEV_PMD_ERR("Set AER, pls graceful shutdown\n"); + ifpga_rdev->aer_enable = 1; + /* get bridge fd */ + strlcpy(path, "/sys/bus/pci/devices/", sizeof(path)); + strlcat(path, ifpga_rdev->parent_bdf, sizeof(path)); + strlcat(path, "/config", sizeof(path)); + fd = open(path, O_RDWR); + if (fd < 0) + goto end; + pos = ifpga_pci_find_ext_capability(fd, RTE_PCI_EXT_CAP_ID_ERR); + if (!pos) + goto end; + /* save previout ECAP_AER+0x08 */ + ret = pread(fd, &data, sizeof(data), pos+0x08); + if (ret == -1) + goto end; + ifpga_rdev->aer_old[0] = data; + /* save previout ECAP_AER+0x14 */ + ret = pread(fd, &data, sizeof(data), pos+0x14); + if (ret == -1) + goto end; + ifpga_rdev->aer_old[1] = data; + + /* set ECAP_AER+0x08 to 0xFFFFFFFF */ + data = 0xffffffff; + ret = pwrite(fd, &data, 4, pos+0x08); + if (ret == -1) + goto end; + /* set ECAP_AER+0x14 to 0xFFFFFFFF */ + ret = pwrite(fd, &data, 4, pos+0x14); + if (ret == -1) + goto end; + + /* read current ECAP_AER+0x08 */ + ret = pread(fd, &data, sizeof(data), pos+0x08); + if (ret == -1) + goto end; + aer_new0 = data; + /* read current ECAP_AER+0x14 */ + ret = pread(fd, &data, sizeof(data), pos+0x14); + if (ret == -1) + goto end; + aer_new1 = data; + + if (fd != -1) + close(fd); + + printf(">>>>>>Set AER %x,%x %x,%x\n", + ifpga_rdev->aer_old[0], ifpga_rdev->aer_old[1], + aer_new0, aer_new1); + + return 1; + } + +end: + if (fd != -1) + close(fd); + return -EFAULT; +} + +static void * +ifpga_rawdev_gsd_handle(__rte_unused void *param) +{ + struct ifpga_rawdev *ifpga_rdev; + int i; + int gsd_enable, ret; +#define MS 1000 + + while (1) { + gsd_enable = 0; + for (i = 0; i < IFPGA_RAWDEV_NUM; i++) { + ifpga_rdev = &ifpga_rawdevices[i]; + if (ifpga_rdev->rawdev) { + ret = set_surprise_link_check_aer(ifpga_rdev, + gsd_enable); + if (ret == 1 && !gsd_enable) { + gsd_enable = 1; + i = -1; + } + } + } + + if (gsd_enable) + rte_exit(EXIT_FAILURE, ">>>>>>Graceful Shutdown\n"); + + rte_delay_us(100 * MS); + } + + return NULL; +} + +static int +ifpga_monitor_start_func(void) +{ + int ret; + + if (ifpga_monitor_start == 0) { + ret = pthread_create(&ifpga_monitor_start_thread, + NULL, + ifpga_rawdev_gsd_handle, NULL); + if (ret) { + IFPGA_RAWDEV_PMD_ERR( + "Fail to create ifpga nonitor thread"); + return -1; + } + ifpga_monitor_start = 1; + } + + return 0; +} +static int +ifpga_monitor_stop_func(void) +{ + int ret; + + if (ifpga_monitor_start == 1) { + ret = pthread_cancel(ifpga_monitor_start_thread); + if (ret) + IFPGA_RAWDEV_PMD_ERR("Can't cancel the thread"); + + ret = pthread_join(ifpga_monitor_start_thread, NULL); + if (ret) + IFPGA_RAWDEV_PMD_ERR("Can't join the thread"); + + ifpga_monitor_start = 0; + + return ret; + } + + return 0; +} + static int ifpga_fill_afu_dev(struct opae_accelerator *acc, struct rte_afu_device *afu_dev) @@ -372,8 +869,9 @@ if (ret) return ret; - memcpy(&afu_pr_conf->afu_id.uuid.uuid_low, uuid.b, sizeof(u64)); - memcpy(&afu_pr_conf->afu_id.uuid.uuid_high, uuid.b + 8, sizeof(u64)); + rte_memcpy(&afu_pr_conf->afu_id.uuid.uuid_low, uuid.b, sizeof(u64)); + rte_memcpy(&afu_pr_conf->afu_id.uuid.uuid_high, + uuid.b + 8, sizeof(u64)); IFPGA_RAWDEV_PMD_INFO("%s: uuid_l=0x%lx, uuid_h=0x%lx\n", __func__, (unsigned long)afu_pr_conf->afu_id.uuid.uuid_low, @@ -842,6 +1340,7 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) { int ret = 0; struct rte_rawdev *rawdev = NULL; + struct ifpga_rawdev *dev = NULL; struct opae_adapter *adapter = NULL; struct opae_manager *mgr = NULL; struct opae_adapter_data_pci *data = NULL; @@ -855,7 +1354,7 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) } memset(name, 0, sizeof(name)); - snprintf(name, RTE_RAWDEV_NAME_MAX_LEN, "IFPGA:%x:%02x.%x", + snprintf(name, RTE_RAWDEV_NAME_MAX_LEN, "IFPGA:%02x:%02x.%x", pci_dev->addr.bus, pci_dev->addr.devid, pci_dev->addr.function); IFPGA_RAWDEV_PMD_INFO("Init %s on NUMA node %d", name, rte_socket_id()); @@ -869,6 +1368,14 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) goto cleanup; } + dev = ifpga_rawdev_allocate(rawdev); + if (dev == NULL) { + IFPGA_RAWDEV_PMD_ERR("Unable to allocate ifpga_rawdevice"); + ret = -EINVAL; + goto cleanup; + } + dev->aer_enable = 0; + /* alloc OPAE_FPGA_PCI data to register to OPAE hardware level API */ data = opae_adapter_data_alloc(OPAE_FPGA_PCI); if (!data) { @@ -987,6 +1494,7 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) static int ifpga_rawdev_pci_remove(struct rte_pci_device *pci_dev) { + ifpga_monitor_stop_func(); return ifpga_rawdev_destroy(pci_dev); } @@ -1018,13 +1526,32 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) NULL }; +static int ifpga_rawdev_get_string_arg(const char *key __rte_unused, + const char *value, void *extra_args) +{ + int size; + if (!value || !extra_args) + return -EINVAL; + + size = strlen(value) + 1; + *(char **)extra_args = rte_malloc(NULL, size, RTE_CACHE_LINE_SIZE); + if (!*(char **)extra_args) + return -ENOMEM; + + strlcpy(*(char **)extra_args, value, size); + + return 0; +} static int ifpga_cfg_probe(struct rte_vdev_device *dev) { struct rte_devargs *devargs; struct rte_kvargs *kvlist = NULL; + struct rte_rawdev *rawdev = NULL; + struct ifpga_rawdev *ifpga_dev; int port; char *name = NULL; + const char *bdf; char dev_name[RTE_RAWDEV_NAME_MAX_LEN]; int ret = -1; @@ -1038,7 +1565,8 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) if (rte_kvargs_count(kvlist, IFPGA_ARG_NAME) == 1) { if (rte_kvargs_process(kvlist, IFPGA_ARG_NAME, - &rte_ifpga_get_string_arg, &name) < 0) { + &ifpga_rawdev_get_string_arg, + &name) < 0) { IFPGA_RAWDEV_PMD_ERR("error to parse %s", IFPGA_ARG_NAME); goto end; @@ -1065,6 +1593,19 @@ static int ifpga_register_fme_interrupt(struct opae_manager *mgr) } memset(dev_name, 0, sizeof(dev_name)); + snprintf(dev_name, RTE_RAWDEV_NAME_MAX_LEN, "IFPGA:%s", name); + rawdev = rte_rawdev_pmd_get_named_dev(dev_name); + if (!rawdev) + goto end; + ifpga_dev = ifpga_rawdev_get(rawdev); + if (!ifpga_dev) + goto end; + bdf = name; + ifpga_rawdev_fill_info(ifpga_dev, bdf); + + ifpga_monitor_start_func(); + + memset(dev_name, 0, sizeof(dev_name)); snprintf(dev_name, RTE_RAWDEV_NAME_MAX_LEN, "%d|%s", port, name); diff --git a/drivers/raw/ifpga/ifpga_rawdev.h b/drivers/raw/ifpga/ifpga_rawdev.h index e153dba..bd42083 100644 --- a/drivers/raw/ifpga/ifpga_rawdev.h +++ b/drivers/raw/ifpga/ifpga_rawdev.h @@ -46,4 +46,20 @@ enum ifpga_rawdev_device_state { return rawdev->dev_private; } +#define IFPGA_RAWDEV_MSIX_IRQ_NUM 7 +#define IFPGA_RAWDEV_NUM 32 + +struct ifpga_rawdev { + int dev_id; + struct rte_rawdev *rawdev; + int aer_enable; + int intr_fd[IFPGA_RAWDEV_MSIX_IRQ_NUM+1]; + uint32_t aer_old[2]; + char fvl_bdf[8][16]; + char parent_bdf[16]; +}; + +struct ifpga_rawdev * +ifpga_rawdev_get(const struct rte_rawdev *rawdev); + #endif /* _IFPGA_RAWDEV_H_ */ -- 1.8.3.1
next prev parent reply index Thread overview: 373+ messages / expand[flat|nested] mbox.gz Atom feed top 2019-07-31 7:05 [dpdk-dev] [PATCH 00/12] Add PCIe AER disable and IRQ support for ipn3ke Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 01/12] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 00/12] Add PCIe AER disable and IRQ support for ipn3ke Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 01/12] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 02/12] raw/ifpga_rawdev/base: add irq support Rosen Xu 2019-08-02 3:58 ` Jerin Jacob Kollanukkaran 2019-08-02 10:05 ` Zhang, Tianfei 2019-08-02 10:41 ` Jerin Jacob Kollanukkaran 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 03/12] raw/ifpga_rawdev/base: clear pending bit Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 04/12] raw/ifpga_rawdev/base: add SEU error support Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 05/12] raw/ifpga_rawdev/base: add device tree support Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 06/12] raw/ifpga_rawdev/base: align the send buffer for SPI Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 07/12] raw/ifpga_rawdev/base: add sensor support Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 08/12] raw/ifpga_rawdev/base: introducing sensor APIs Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 09/12] raw/ifpga_rawdev/base: update SEU register definition Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 10/12] raw/ifpga_rawdev: add SEU error handler Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 11/12] raw/ifpga_rawdev: add PCIe BDF devices tree scan Rosen Xu 2019-08-02 1:18 ` [dpdk-dev] [PATCH v2 12/12] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-08-02 4:14 ` [dpdk-dev] [PATCH v2 00/12] Add PCIe AER disable and IRQ support for ipn3ke Jerin Jacob Kollanukkaran 2019-08-02 7:04 ` Xu, Rosen 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 00/13] " Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 01/13] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 02/13] raw/ifpga_rawdev/base: add irq support Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 03/13] raw/ifpga_rawdev/base: clear pending bit Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 04/13] raw/ifpga_rawdev/base: add SEU error support Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 05/13] raw/ifpga_rawdev/base: add device tree support Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 06/13] raw/ifpga_rawdev/base: align the send buffer for SPI Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 07/13] raw/ifpga_rawdev/base: add sensor support Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 08/13] raw/ifpga_rawdev/base: introducing sensor APIs Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 09/13] raw/ifpga_rawdev/base: update SEU register definition Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 10/13] raw/ifpga_rawdev: add SEU error handler Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 11/13] raw/ifpga_rawdev: add PCIe BDF devices tree scan Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 12/13] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-08-08 8:46 ` [dpdk-dev] [PATCH v3 13/13] net/ipn3ke: add FPGA network side port MTU configuration Rosen Xu 2019-08-08 8:53 ` Pei, Andy 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 00/12] Add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 01/12] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 00/17] Add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 01/17] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 00/17] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 01/17] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-09-20 0:55 ` Zhang, Qi Z 2019-09-25 7:08 ` Pei, Andy 2019-09-24 15:00 ` Ye Xiaolong 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 00/17] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 01/17] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 00/18] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 01/18] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 00/18] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 01/18] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 00/19] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 00/19] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 00/19] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-24 7:56 ` Ye Xiaolong 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 00/19] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 00/19] add PCIe AER disable and IRQ support for ipn3ke Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 02/19] raw/ifpga/base: add irq support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 03/19] raw/ifpga/base: clear pending bit Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 04/19] raw/ifpga/base: add SEU error support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 05/19] raw/ifpga/base: add device tree support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 06/19] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 07/19] raw/ifpga/base: add sensor support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 08/19] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 09/19] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 10/19] raw/ifpga: add SEU error handler Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 11/19] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 12/19] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 13/19] raw/ifpga/base: add secure support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 14/19] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 15/19] raw/ifpga/base: clean fme errors Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 16/19] raw/ifpga/base: add new API get board info Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 17/19] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 18/19] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-28 8:50 ` [dpdk-dev] [PATCH v14 19/19] raw/ifpga: introducing new irq API Andy Pei 2019-10-31 2:01 ` [dpdk-dev] [PATCH v14 00/19] add PCIe AER disable and IRQ support for ipn3ke Ye Xiaolong 2019-10-31 2:38 ` Xu, Rosen 2019-10-31 2:39 ` Pei, Andy 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 " Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 02/19] raw/ifpga/base: add irq support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 03/19] raw/ifpga/base: clear pending bit Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 04/19] raw/ifpga/base: add SEU error support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 05/19] raw/ifpga/base: add device tree support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 06/19] raw/ifpga/base: align the send buffer for SPI Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 07/19] raw/ifpga/base: add sensor support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 08/19] raw/ifpga/base: introducing sensor APIs Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 09/19] raw/ifpga/base: update SEU register definition Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 10/19] raw/ifpga: add SEU error handler Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 11/19] raw/ifpga: add PCIe BDF devices tree scan Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 12/19] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 13/19] raw/ifpga/base: add secure support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 14/19] raw/ifpga/base: configure FEC mode Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 15/19] raw/ifpga/base: clean fme errors Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 16/19] raw/ifpga/base: add new API get board info Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 17/19] raw/ifpga: add lightweight fpga image support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 18/19] raw/ifpga/base: add multiple cards support Rosen Xu 2019-11-08 10:19 ` [dpdk-dev] [PATCH v15 19/19] raw/ifpga: introducing new irq API Rosen Xu 2019-11-13 7:07 ` [dpdk-dev] [PATCH v16 00/19] add PCIe AER disable and IRQ support for ipn3ke Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-11-13 14:38 ` Ferruh Yigit 2019-11-13 14:50 ` Ferruh Yigit 2019-11-14 7:15 ` Xu, Rosen 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 02/19] raw/ifpga/base: add irq support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 03/19] raw/ifpga/base: clear pending bit Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 04/19] raw/ifpga/base: add SEU error support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 05/19] raw/ifpga/base: add device tree support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 06/19] raw/ifpga/base: align the send buffer for SPI Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 07/19] raw/ifpga/base: add sensor support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 08/19] raw/ifpga/base: introducing sensor APIs Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 09/19] raw/ifpga/base: update SEU register definition Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 10/19] raw/ifpga: add SEU error handler Rosen Xu 2019-11-13 14:50 ` Ferruh Yigit 2019-11-14 7:14 ` Xu, Rosen 2019-11-13 7:08 ` Rosen Xu [this message] 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 12/19] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 13/19] raw/ifpga/base: add secure support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 14/19] raw/ifpga/base: configure FEC mode Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 15/19] raw/ifpga/base: clean fme errors Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 16/19] raw/ifpga/base: add new API get board info Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 17/19] raw/ifpga: add lightweight fpga image support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 18/19] raw/ifpga/base: add multiple cards support Rosen Xu 2019-11-13 7:08 ` [dpdk-dev] [PATCH v16 19/19] raw/ifpga: introducing new irq API Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 00/19] add PCIe AER disable and IRQ support for ipn3ke Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 02/19] raw/ifpga/base: add irq support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 03/19] raw/ifpga/base: clear pending bit Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 04/19] raw/ifpga/base: add SEU error support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 05/19] raw/ifpga/base: add device tree support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 06/19] raw/ifpga/base: align the send buffer for SPI Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 07/19] raw/ifpga/base: add sensor support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 08/19] raw/ifpga/base: introducing sensor APIs Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 09/19] raw/ifpga/base: update SEU register definition Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 10/19] raw/ifpga: add SEU error handler Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 11/19] raw/ifpga: add PCIe BDF devices tree scan Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 12/19] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 13/19] raw/ifpga/base: add secure support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 14/19] raw/ifpga/base: configure FEC mode Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 15/19] raw/ifpga/base: clean fme errors Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 16/19] raw/ifpga/base: add new API get board info Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 17/19] raw/ifpga: add lightweight fpga image support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 18/19] raw/ifpga/base: add multiple cards support Rosen Xu 2019-11-14 7:14 ` [dpdk-dev] [PATCH v17 19/19] raw/ifpga: introducing new irq API Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 00/19] add PCIe AER disable and IRQ support for ipn3ke Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 01/19] net/i40e: i40e support ipn3ke FPGA port bonding Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 02/19] raw/ifpga/base: add irq support Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 03/19] raw/ifpga/base: clear pending bit Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 04/19] raw/ifpga/base: add SEU error support Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 05/19] raw/ifpga/base: add device tree support Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 06/19] raw/ifpga/base: align the send buffer for SPI Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 07/19] raw/ifpga/base: add sensor support Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 08/19] raw/ifpga/base: introducing sensor APIs Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 09/19] raw/ifpga/base: update SEU register definition Rosen Xu 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 10/19] raw/ifpga: add SEU error handler Rosen Xu 2019-11-20 21:23 ` Thomas Monjalon 2019-11-20 21:30 ` David Marchand 2019-11-21 6:04 ` Zhang, Tianfei 2019-11-21 3:08 ` Ye Xiaolong 2019-11-21 5:32 ` Xu, Rosen 2019-11-14 9:02 ` [dpdk-dev] [PATCH v18 11/19] raw/ifpga: add PCIe BDF devices tree scan Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 12/19] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 13/19] raw/ifpga/base: add secure support Rosen Xu 2019-11-14 23:05 ` Zhang, Tianfei 2019-11-15 9:54 ` Ferruh Yigit 2019-11-15 12:40 ` Zhang, Tianfei 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 14/19] raw/ifpga/base: configure FEC mode Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 15/19] raw/ifpga/base: clean fme errors Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 16/19] raw/ifpga/base: add new API get board info Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 17/19] raw/ifpga: add lightweight fpga image support Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 18/19] raw/ifpga/base: add multiple cards support Rosen Xu 2019-11-14 9:03 ` [dpdk-dev] [PATCH v18 19/19] raw/ifpga: introducing new irq API Rosen Xu 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 02/19] raw/ifpga/base: add irq support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 03/19] raw/ifpga/base: clear pending bit Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 04/19] raw/ifpga/base: add SEU error support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 05/19] raw/ifpga/base: add device tree support Andy Pei 2019-10-24 13:09 ` Bruce Richardson 2019-10-25 1:16 ` Xu, Rosen 2019-10-25 2:02 ` Ye Xiaolong 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 06/19] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 07/19] raw/ifpga/base: add sensor support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 08/19] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 09/19] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 10/19] raw/ifpga: add SEU error handler Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 11/19] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 12/19] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 13/19] raw/ifpga/base: add secure support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 14/19] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 15/19] raw/ifpga/base: clean fme errors Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 16/19] raw/ifpga/base: add new API get board info Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 17/19] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 18/19] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-24 11:38 ` [dpdk-dev] [PATCH v13 19/19] raw/ifpga: introducing new irq API Andy Pei 2019-10-25 2:10 ` [dpdk-dev] [PATCH v13 00/19] add PCIe AER disable and IRQ support for ipn3ke Ye Xiaolong 2019-10-25 8:43 ` Pei, Andy 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 02/19] raw/ifpga/base: add irq support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 03/19] raw/ifpga/base: clear pending bit Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 04/19] raw/ifpga/base: add SEU error support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 05/19] raw/ifpga/base: add device tree support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 06/19] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 07/19] raw/ifpga/base: add sensor support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 08/19] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 09/19] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 10/19] raw/ifpga: add SEU error handler Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 11/19] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 12/19] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 13/19] raw/ifpga/base: add secure support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 14/19] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 15/19] raw/ifpga/base: clean fme errors Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 16/19] raw/ifpga/base: add new API get board info Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 17/19] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 18/19] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-23 10:26 ` [dpdk-dev] [PATCH v12 19/19] raw/ifpga: introducing new irq API Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 02/19] raw/ifpga/base: add irq support Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 03/19] raw/ifpga/base: clear pending bit Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 04/19] raw/ifpga/base: add SEU error support Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 05/19] raw/ifpga/base: add device tree support Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 06/19] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 07/19] raw/ifpga/base: add sensor support Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 08/19] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 09/19] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 10/19] raw/ifpga: add SEU error handler Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 11/19] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 12/19] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-21 7:23 ` Ye Xiaolong 2019-10-22 11:00 ` Bruce Richardson 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 13/19] raw/ifpga/base: add secure support Andy Pei 2019-10-21 6:56 ` [dpdk-dev] [PATCH v11 14/19] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-21 6:57 ` [dpdk-dev] [PATCH v11 15/19] raw/ifpga/base: clean fme errors Andy Pei 2019-10-21 6:57 ` [dpdk-dev] [PATCH v11 16/19] raw/ifpga/base: add new API get board info Andy Pei 2019-10-21 6:57 ` [dpdk-dev] [PATCH v11 17/19] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-21 6:57 ` [dpdk-dev] [PATCH v11 18/19] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-21 6:57 ` [dpdk-dev] [PATCH v11 19/19] raw/ifpga: introducing new irq API Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 02/19] raw/ifpga/base: add irq support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 03/19] raw/ifpga/base: clear pending bit Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 04/19] raw/ifpga/base: add SEU error support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 05/19] raw/ifpga/base: add device tree support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 06/19] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 07/19] raw/ifpga/base: add sensor support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 08/19] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 09/19] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 10/19] raw/ifpga: add SEU error handler Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 11/19] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 12/19] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 13/19] raw/ifpga/base: add secure support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 14/19] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 15/19] raw/ifpga/base: clean fme errors Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 16/19] raw/ifpga/base: add new API get board info Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 17/19] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 18/19] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-21 6:23 ` [dpdk-dev] [PATCH v10 19/19] raw/ifpga: introducing new irq API Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 02/18] raw/ifpga/base: add irq support Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 03/18] raw/ifpga/base: clear pending bit Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 04/18] raw/ifpga/base: add SEU error support Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 05/18] raw/ifpga/base: add device tree support Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 06/18] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 07/18] raw/ifpga/base: add sensor support Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 08/18] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 09/18] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 10/18] raw/ifpga: add SEU error handler Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 11/18] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 12/18] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-14 14:40 ` Aaron Conole 2019-10-21 5:03 ` Pei, Andy 2019-10-14 7:10 ` [dpdk-dev] [PATCH v9 13/18] raw/ifpga/base: add secure support Andy Pei 2019-10-19 0:56 ` Ye Xiaolong 2019-10-21 5:38 ` Pei, Andy 2019-10-14 7:11 ` [dpdk-dev] [PATCH v9 14/18] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-14 7:11 ` [dpdk-dev] [PATCH v9 15/18] raw/ifpga/base: clean fme errors Andy Pei 2019-10-14 7:11 ` [dpdk-dev] [PATCH v9 16/18] raw/ifpga/base: add new API get board info Andy Pei 2019-10-14 7:11 ` [dpdk-dev] [PATCH v9 17/18] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-14 7:11 ` [dpdk-dev] [PATCH v9 18/18] raw/ifpga/base: add multiple cards support Andy Pei 2019-10-16 8:55 ` [dpdk-dev] [PATCH v9 00/18] add PCIe AER disable and IRQ support for ipn3ke Ye Xiaolong 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 02/18] raw/ifpga/base: add irq support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 03/18] raw/ifpga/base: clear pending bit Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 04/18] raw/ifpga/base: add SEU error support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 05/18] raw/ifpga/base: add device tree support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 06/18] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 07/18] raw/ifpga/base: add sensor support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 08/18] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 09/18] raw/ifpga/base: update SEU register definition Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 10/18] raw/ifpga: add SEU error handler Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 11/18] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 12/18] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 13/18] raw/ifpga/base: add secure support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 14/18] raw/ifpga/base: configure FEC mode Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 15/18] raw/ifpga/base: clean fme errors Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 16/18] raw/ifpga/base: add new API get board info Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 17/18] raw/ifpga: add lightweight fpga image support Andy Pei 2019-10-11 8:21 ` [dpdk-dev] [PATCH v8 18/18] raw/ifpga/base: add multiple cards support Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 02/17] raw/ifpga/base: add irq support Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 03/17] raw/ifpga/base: clear pending bit Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 04/17] raw/ifpga/base: add SEU error support Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 05/17] raw/ifpga/base: add device tree support Andy Pei 2019-09-27 10:33 ` Ye Xiaolong 2019-10-10 9:37 ` Pei, Andy 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 06/17] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 07/17] raw/ifpga/base: add sensor support Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 08/17] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 09/17] raw/ifpga/base: update SEU register definition Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 10/17] raw/ifpga: add SEU error handler Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 11/17] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 12/17] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 13/17] raw/ifpga/base: add secure support Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 14/17] raw/ifpga/base: configure FEC mode Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 15/17] raw/ifpga/base: clean fme errors Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 16/17] raw/ifpga/base: add new API get board info Andy Pei 2019-09-26 8:07 ` [dpdk-dev] [PATCH v7 17/17] raw/ifpga: add lightweight fpga image support Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 02/17] raw/ifpga/base: add irq support Andy Pei 2019-09-24 16:02 ` Ye Xiaolong 2019-09-24 16:13 ` Ye Xiaolong 2019-09-25 0:58 ` Zhang, Tianfei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 03/17] raw/ifpga/base: clear pending bit Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 04/17] raw/ifpga/base: add SEU error support Andy Pei 2019-09-24 16:37 ` Ye Xiaolong 2019-09-25 0:55 ` Zhang, Tianfei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 05/17] raw/ifpga/base: add device tree support Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 06/17] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 07/17] raw/ifpga/base: add sensor support Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 08/17] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 09/17] raw/ifpga/base: update SEU register definition Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 10/17] raw/ifpga: add SEU error handler Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 11/17] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 12/17] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 13/17] raw/ifpga/base: add secure support Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 14/17] raw/ifpga/base: configure FEC mode Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 15/17] raw/ifpga/base: clean fme errors Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 16/17] raw/ifpga/base: add new API get board info Andy Pei 2019-09-19 9:02 ` [dpdk-dev] [PATCH v6 17/17] raw/ifpga: add lightweight fpga image support Andy Pei 2019-09-24 15:49 ` [dpdk-dev] [PATCH v6 00/17] add PCIe AER disable and IRQ support for ipn3ke Ye Xiaolong 2019-09-26 8:21 ` Pei, Andy 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 02/17] raw/ifpga/base: add irq support Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 03/17] raw/ifpga/base: clear pending bit Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 04/17] raw/ifpga/base: add SEU error support Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 05/17] raw/ifpga/base: add device tree support Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 06/17] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 07/17] raw/ifpga/base: add sensor support Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 08/17] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 09/17] raw/ifpga/base: update SEU register definition Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 10/17] raw/ifpga: add SEU error handler Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 11/17] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 12/17] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 13/17] raw/ifpga/base: add secure support Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 14/17] raw/ifpga/base: configure FEC mode Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 15/17] raw/ifpga/base: clean fme errors Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 16/17] raw/ifpga/base: add new API get board info Andy Pei 2019-09-19 8:19 ` [dpdk-dev] [PATCH v5 17/17] raw/ifpga: add lightweight fpga image support Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 02/12] raw/ifpga/base: add irq support Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 03/12] raw/ifpga/base: clear pending bit Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 04/12] raw/ifpga/base: add SEU error support Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 05/12] raw/ifpga/base: add device tree support Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 06/12] raw/ifpga/base: align the send buffer for SPI Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 07/12] raw/ifpga/base: add sensor support Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 08/12] raw/ifpga/base: introducing sensor APIs Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 09/12] raw/ifpga/base: update SEU register definition Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 10/12] raw/ifpga: add SEU error handler Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 11/12] raw/ifpga: add PCIe BDF devices tree scan Andy Pei 2019-09-05 2:59 ` [dpdk-dev] [PATCH v4 12/12] net/ipn3ke: remove configuration for i40e port bonding Andy Pei 2019-09-05 12:36 ` [dpdk-dev] [PATCH v4 00/12] Add PCIe AER disable and IRQ support for ipn3ke Ye Xiaolong 2019-07-31 7:05 ` [dpdk-dev] [PATCH 02/12] raw/ifpga_rawdev/base: add irq support Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 03/12] raw/ifpga_rawdev/base: clear pending bit Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 04/12] raw/ifpga_rawdev/base: add SEU error support Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 05/12] raw/ifpga_rawdev/base: add device tree support Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 06/12] raw/ifpga_rawdev/base: align the send buffer for SPI Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 07/12] raw/ifpga_rawdev/base: add sensor support Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 08/12] raw/ifpga_rawdev/base: introducing sensor APIs Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 09/12] raw/ifpga_rawdev/base: update SEU register definition Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 10/12] raw/ifpga_rawdev: add SEU error handler Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 11/12] raw/ifpga_rawdev: add PCIe BDF devices tree scan Rosen Xu 2019-07-31 7:05 ` [dpdk-dev] [PATCH 12/12] net/ipn3ke: remove configuration for i40e port bonding Rosen Xu
Reply instructions: You may reply publically 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=1573628898-190337-12-git-send-email-rosen.xu@intel.com \ --to=rosen.xu@intel.com \ --cc=andy.pei@intel.com \ --cc=dev@dpdk.org \ --cc=ferruh.yigit@intel.com \ --cc=tianfei.zhang@intel.com \ --cc=xiaolong.ye@intel.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
DPDK-dev Archive on lore.kernel.org Archives are clonable: git clone --mirror https://lore.kernel.org/dpdk-dev/0 dpdk-dev/git/0.git # If you have public-inbox 1.1+ installed, you may # initialize and index your mirror using the following commands: public-inbox-init -V2 dpdk-dev dpdk-dev/ https://lore.kernel.org/dpdk-dev \ dev@dpdk.org public-inbox-index dpdk-dev Example config snippet for mirrors Newsgroup available over NNTP: nntp://nntp.lore.kernel.org/org.dpdk.dev AGPL code for this site: git clone https://public-inbox.org/public-inbox.git