From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from mail-wm0-f68.google.com (mail-wm0-f68.google.com [74.125.82.68]) by dpdk.org (Postfix) with ESMTP id EB1641BA6D for ; Thu, 26 Oct 2017 00:39:35 +0200 (CEST) Received: by mail-wm0-f68.google.com with SMTP id b189so4510440wmd.4 for ; Wed, 25 Oct 2017 15:39:35 -0700 (PDT) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=6wind-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references :in-reply-to:references; bh=ycKkYIqtoQeAgyKLwuKelgQQdddZEWrFLI6UGSckUgM=; b=R49p8R8WWLp8uyaH+5gx+w5R4A6K49z67bSTaso6U3pp7YMT+XVdI3psqurPEn5pP8 cEkwLDzz6i462tltkV9QwDTAbX82vdGiSnrWcTxHflrfN1DvBQPrFfKi5zJ4vEXsL2t1 0wBk3hbj+KlQtPgTL10gm9kTAM0E/EPbnb5qhRMyLbb0B2Ggf6fCOe7yYQWkugHO5Btx bq9hMA2/DkepeU9um2HR6AS4wyYqx+BWmEvknYMZKdDbvUX+Y7/hNl2isiReNdX58mBp lifQSnbhHpHP1CX8UPSx1F2iIZChWZqfdB4K1iEz6ZQgnnGeEgW6Y2sMmQvUd/8+AJ2O AuKQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20161025; h=x-gm-message-state:from:to:cc:subject:date:message-id:in-reply-to :references:in-reply-to:references; bh=ycKkYIqtoQeAgyKLwuKelgQQdddZEWrFLI6UGSckUgM=; b=BamvP6wwIJS1Qq2LqQ9zuQiHWHEvN04Ukh3/yWN5Hgf6ISRfy6l1dtIaBFdb08soxL SIWsH4+5CRuR6g7ogdlkbtTyMi1GzWqMRoAQFc/7LSmQ7S027CZ4Rs9/lR5w0ja7t85G TjEGLr41m8fmtqZ+X0Em0BlunGrMctRDF0iNnBtdD8DpPAy0A9Gw1iLVthbqbLqaDzO2 mruz+z0OPNkutXvF068zNa2NX/VVhn1/wzzyIdoem7y054HDMqkvFqW/rxhhgIXMPf1G bGoRBHaosLteGyfUIyC8rurD30aml+mm0UT0+auIj9X8i1PEpK79JLjWIfj69L6A13zi jDjw== X-Gm-Message-State: AMCzsaXZk9TNUl+cZFEKIK2jyLOdWsAeqn211whKHY0xrB1sruAolnLD IhdFBuyPaTMC0cft2uPaGLH3WykR X-Google-Smtp-Source: ABhQp+Ra+XyjMcytApfKRQkxRCtfiYGdSBGh2tS6zxsQyOevOigoUmvU2dmggrt5nl2UjVglS+RhJA== X-Received: by 10.28.156.67 with SMTP id f64mr2911439wme.42.1508971175255; Wed, 25 Oct 2017 15:39:35 -0700 (PDT) Received: from bidouze.dev.6wind.com (host.78.145.23.62.rev.coltfrance.com. [62.23.145.78]) by smtp.gmail.com with ESMTPSA id r63sm4466124wmg.13.2017.10.25.15.39.33 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Wed, 25 Oct 2017 15:39:34 -0700 (PDT) From: Gaetan Rivet To: dev@dpdk.org Cc: Gaetan Rivet Date: Thu, 26 Oct 2017 00:38:43 +0200 Message-Id: <78450259c0fe2f98e15f5d38f5bdfe3eda77b245.1508970254.git.gaetan.rivet@6wind.com> X-Mailer: git-send-email 2.1.4 In-Reply-To: References: In-Reply-To: References: Subject: [dpdk-dev] [PATCH v7 21/25] pci: use EAL exposed configuration X-BeenThere: dev@dpdk.org X-Mailman-Version: 2.1.15 Precedence: list List-Id: DPDK patches and discussions List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 25 Oct 2017 22:39:36 -0000 Signed-off-by: Gaetan Rivet --- lib/librte_eal/bsdapp/eal/eal_pci.c | 2 +- lib/librte_eal/linuxapp/eal/eal_pci.c | 2 +- lib/librte_eal/linuxapp/eal/eal_pci_uio.c | 2 +- lib/librte_eal/linuxapp/eal/eal_pci_vfio.c | 18 +++++++++++------- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/lib/librte_eal/bsdapp/eal/eal_pci.c b/lib/librte_eal/bsdapp/eal/eal_pci.c index 7d82195..e73b7cd 100644 --- a/lib/librte_eal/bsdapp/eal/eal_pci.c +++ b/lib/librte_eal/bsdapp/eal/eal_pci.c @@ -368,7 +368,7 @@ rte_pci_scan(void) }; /* for debug purposes, PCI can be disabled */ - if (internal_config.no_pci) + if (!rte_eal_has_pci()) return 0; fd = open("/dev/pci", O_RDONLY); diff --git a/lib/librte_eal/linuxapp/eal/eal_pci.c b/lib/librte_eal/linuxapp/eal/eal_pci.c index 3a853a6..cee4b94 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci.c +++ b/lib/librte_eal/linuxapp/eal/eal_pci.c @@ -457,7 +457,7 @@ rte_pci_scan(void) struct rte_pci_addr addr; /* for debug purposes, PCI can be disabled */ - if (internal_config.no_pci) + if (!rte_eal_has_pci()) return 0; #ifdef VFIO_PRESENT diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c index b639ab9..d17837a 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci_uio.c +++ b/lib/librte_eal/linuxapp/eal/eal_pci_uio.c @@ -214,7 +214,7 @@ pci_get_uio_dev(struct rte_pci_device *dev, char *dstbuf, return -1; /* create uio device if we've been asked to */ - if (internal_config.create_uio_dev && create && + if (rte_eal_create_uio_dev() && create && pci_mknod_uio_dev(dstbuf, uio_num) < 0) RTE_LOG(WARNING, EAL, "Cannot create /dev/uio%u\n", uio_num); diff --git a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c index 85e481d..4e2b6c9 100644 --- a/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c +++ b/lib/librte_eal/linuxapp/eal/eal_pci_vfio.c @@ -209,14 +209,18 @@ static int pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd) { int i, ret, intr_idx; + enum rte_intr_mode intr_mode; /* default to invalid index */ intr_idx = VFIO_PCI_NUM_IRQS; + /* Get default / configured intr_mode */ + intr_mode = rte_eal_vfio_intr_mode(); + /* get interrupt type from internal config (MSI-X by default, can be * overridden from the command line */ - switch (internal_config.vfio_intr_mode) { + switch (intr_mode) { case RTE_INTR_MODE_MSIX: intr_idx = VFIO_PCI_MSIX_IRQ_INDEX; break; @@ -240,7 +244,7 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd) int fd = -1; /* skip interrupt modes we don't want */ - if (internal_config.vfio_intr_mode != RTE_INTR_MODE_NONE && + if (intr_mode != RTE_INTR_MODE_NONE && i != intr_idx) continue; @@ -256,7 +260,7 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd) /* if this vector cannot be used with eventfd, fail if we explicitly * specified interrupt type, otherwise continue */ if ((irq.flags & VFIO_IRQ_INFO_EVENTFD) == 0) { - if (internal_config.vfio_intr_mode != RTE_INTR_MODE_NONE) { + if (intr_mode != RTE_INTR_MODE_NONE) { RTE_LOG(ERR, EAL, " interrupt vector does not support eventfd!\n"); return -1; @@ -277,15 +281,15 @@ pci_vfio_setup_interrupts(struct rte_pci_device *dev, int vfio_dev_fd) switch (i) { case VFIO_PCI_MSIX_IRQ_INDEX: - internal_config.vfio_intr_mode = RTE_INTR_MODE_MSIX; + intr_mode = RTE_INTR_MODE_MSIX; dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_MSIX; break; case VFIO_PCI_MSI_IRQ_INDEX: - internal_config.vfio_intr_mode = RTE_INTR_MODE_MSI; + intr_mode = RTE_INTR_MODE_MSI; dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_MSI; break; case VFIO_PCI_INTX_IRQ_INDEX: - internal_config.vfio_intr_mode = RTE_INTR_MODE_LEGACY; + intr_mode = RTE_INTR_MODE_LEGACY; dev->intr_handle.type = RTE_INTR_HANDLE_VFIO_LEGACY; break; default: @@ -615,7 +619,7 @@ pci_vfio_map_resource_secondary(struct rte_pci_device *dev) int pci_vfio_map_resource(struct rte_pci_device *dev) { - if (internal_config.process_type == RTE_PROC_PRIMARY) + if (rte_eal_process_type() == RTE_PROC_PRIMARY) return pci_vfio_map_resource_primary(dev); else return pci_vfio_map_resource_secondary(dev); -- 2.1.4