From mboxrd@z Thu Jan 1 00:00:00 1970 From: Stephen Hemminger Subject: [PATCH v2 10/10] igbuio: use mode string for module param Date: Fri, 06 Jun 2014 16:50:38 -0700 Message-ID: <20140606235116.841557340@networkplumber.org> References: <20140606235028.189345212@networkplumber.org> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-15 Cc: dev-VfR2kkLFssw@public.gmane.org To: Alan Carew Return-path: Content-Disposition: inline; filename=igb_uio-mode-param-table.patch List-Id: patches and discussions about DPDK List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Errors-To: dev-bounces-VfR2kkLFssw@public.gmane.org Sender: "dev" Since we now have a list of interrupt modes for sysfs, use that to match module param values. This also allows msi to be selected as a preferred mode. Signed-off-by: Stephen Hemminger --- a/lib/librte_eal/linuxapp/igb_uio/igb_uio.c +++ b/lib/librte_eal/linuxapp/igb_uio/igb_uio.c @@ -605,21 +605,24 @@ static int igbuio_config_intr_mode(char *intr_str) { + unsigned int i; + if (!intr_str) { pr_info("Use MSIX interrupt by default\n"); return 0; } - if (!strcmp(intr_str, "msix")) { - igbuio_intr_mode_preferred = IGBUIO_MSIX_INTR_MODE; - pr_info("Use MSIX interrupt\n"); - } else if (!strcmp(intr_str, "legacy")) { - igbuio_intr_mode_preferred = IGBUIO_LEGACY_INTR_MODE; - pr_info("Use legacy interrupt\n"); - } else { - pr_info("Error: bad parameter - %s\n", intr_str); - return -EINVAL; - } + for (i = 0; i < ARRAY_SIZE(igbuio_intr_modes); i++) { + const char *mode = igbuio_intr_modes[i]; + if (!strcmp(intr_str, mode)) { + pr_info("Use %s interrupt mode\n", mode); + igbuio_intr_mode_preferred = i; + return 0; + } + } + + pr_warn("bad interrupt mode parameter %s\n", intr_str); + return -EINVAL; return 0; } @@ -656,6 +659,7 @@ MODULE_PARM_DESC(intr_mode, "igb_uio interrupt mode (default=msix):\n" " msix Use MSIX interrupt\n" +" msi Use MSI interrupt\n" " legacy Use Legacy interrupt\n" "\n");