From patchwork Thu Feb 9 13:21:38 2017 Content-Type: text/plain; charset="utf-8" MIME-Version: 1.0 Content-Transfer-Encoding: 7bit X-Patchwork-Submitter: Netanel Belgazal X-Patchwork-Id: 726081 X-Patchwork-Delegate: davem@davemloft.net Return-Path: X-Original-To: patchwork-incoming@ozlabs.org Delivered-To: patchwork-incoming@ozlabs.org Received: from vger.kernel.org (vger.kernel.org [209.132.180.67]) by ozlabs.org (Postfix) with ESMTP id 3vJzMZ616kz9s7R for ; Fri, 10 Feb 2017 00:24:58 +1100 (AEDT) Authentication-Results: ozlabs.org; dkim=pass (2048-bit key; unprotected) header.d=annapurnalabs-com.20150623.gappssmtp.com header.i=@annapurnalabs-com.20150623.gappssmtp.com header.b="B4ersCCm"; dkim-atps=neutral Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752079AbdBINYg (ORCPT ); Thu, 9 Feb 2017 08:24:36 -0500 Received: from mail-wm0-f41.google.com ([74.125.82.41]:38783 "EHLO mail-wm0-f41.google.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1750947AbdBINXy (ORCPT ); Thu, 9 Feb 2017 08:23:54 -0500 Received: by mail-wm0-f41.google.com with SMTP id r141so18951787wmg.1 for ; Thu, 09 Feb 2017 05:22:27 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=annapurnalabs-com.20150623.gappssmtp.com; s=20150623; h=from:to:cc:subject:date:message-id:in-reply-to:references; bh=SYgCCT4k0XNw4BQSgR6hBgGJw69ik+FY+V5o/5S9nDg=; b=B4ersCCmhZ04pW/xtO4Hkxli50pUCVm0u/JVIuuuiBFK+s1en4AUZOkJxoR/O3/HRo s6zRQS54V5kIYh3gexEhB+cX1YjIdkgg+MuUs3mjrbq4bUa+MNWnbnXctAvbsGkWm3fY +n/bwp+Jo1r0k7RqayCOFfXxb8O4DcKyWVkIRhWN5cLajCzmOsptnbF0fCVN//tjeWfD 1pdc4QyzwW13AHrbRk07CFwADBY/lutKdlhvc0/ZzbKpZP0QaSt55ctXtSiG9OeVVrDt rcNkyOQ9lL09ebjmf5Iy8OSCuOHqlBPUg1lkQ1n9X+ZU/xVBETFOWJFDyYwhil93JkIB 6eiw== 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; bh=SYgCCT4k0XNw4BQSgR6hBgGJw69ik+FY+V5o/5S9nDg=; b=N5Lx4J5Zx8Wq60r4aV2xZ7ad/fsN8XDgPOVV4jxloBuscxQxgLNs8XuNchr5jS9oBV AR0LHb3tB97IGTizWw1qLbKyR5Aq6yxgqCU+zZhyS5CihPgl0HfDu+mzKjf9bXwVX3ky KlbxSg2bbyuwww/iQqanrkctwYexyKYVIrUViCXG5MUjvoJy/Mgh963qoQOoLQVSA+Es rObqTopRACn0QcpHubq61r2cb4q7crmgRT59YvbVW02J6uroOKNNu2CDfSuNS12aKJN4 SpaSAf9TtPE8wgzJCYnH18xzWvDwvfsMwIPXJkVTMZlTuHCa9QVHtrq4Md27QyzUJ3Z+ rRBg== X-Gm-Message-State: AMke39lZlfc8QlifP9gG9be1UN6K923ibV28CYqjukVzJXCl34OkNgFr3eMLa7xbjdsQvik0 X-Received: by 10.28.65.132 with SMTP id o126mr2849636wma.14.1486646546669; Thu, 09 Feb 2017 05:22:26 -0800 (PST) Received: from u28f10e31dbcc580f6671.ant.amazon.com ([2.55.47.32]) by smtp.gmail.com with ESMTPSA id t103sm18530282wrc.43.2017.02.09.05.22.23 (version=TLS1_2 cipher=ECDHE-RSA-AES128-SHA bits=128/128); Thu, 09 Feb 2017 05:22:26 -0800 (PST) From: Netanel Belgazal To: linux-kernel@vger.kernel.org, davem@davemloft.net, netdev@vger.kernel.org Cc: Netanel Belgazal , dwmw@amazon.com, zorik@annapurnalabs.com, alex@annapurnalabs.com, saeed@annapurnalabs.com, msw@amazon.com, aliguori@amazon.com, nafea@annapurnalabs.com, eric.dumazet@gmail.com, evgenys@annapurnalabs.com Subject: [PATCH V4 net-next 12/13] net/ena: change condition for host attribute configuration Date: Thu, 9 Feb 2017 15:21:38 +0200 Message-Id: <1486646499-13682-13-git-send-email-netanel@annapurnalabs.com> X-Mailer: git-send-email 2.7.4 In-Reply-To: <1486646499-13682-1-git-send-email-netanel@annapurnalabs.com> References: <1486646499-13682-1-git-send-email-netanel@annapurnalabs.com> Sender: netdev-owner@vger.kernel.org Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org Move the host info config to be the first admin command that is executed. This change require the driver to remove the 'feature check' from host info configuration flow. The check is removed since the supported features bitmask field is retrieved only after calling ENA_ADMIN_DEVICE_ATTRIBUTES admin command. If set host info is not supported an error will be returned by the device. Signed-off-by: Netanel Belgazal --- drivers/net/ethernet/amazon/ena/ena_com.c | 8 +++----- drivers/net/ethernet/amazon/ena/ena_netdev.c | 5 +++-- 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/drivers/net/ethernet/amazon/ena/ena_com.c b/drivers/net/ethernet/amazon/ena/ena_com.c index 8029e7c..08d11ce 100644 --- a/drivers/net/ethernet/amazon/ena/ena_com.c +++ b/drivers/net/ethernet/amazon/ena/ena_com.c @@ -2451,11 +2451,9 @@ int ena_com_set_host_attributes(struct ena_com_dev *ena_dev) int ret; - if (!ena_com_check_supported_feature_id(ena_dev, - ENA_ADMIN_HOST_ATTR_CONFIG)) { - pr_warn("Set host attribute isn't supported\n"); - return -EPERM; - } + /* Host attribute config is called before ena_com_get_dev_attr_feat + * so ena_com can't check if the feature is supported. + */ memset(&cmd, 0x0, sizeof(cmd)); admin_queue = &ena_dev->admin_queue; diff --git a/drivers/net/ethernet/amazon/ena/ena_netdev.c b/drivers/net/ethernet/amazon/ena/ena_netdev.c index 5079366..d8c920b 100644 --- a/drivers/net/ethernet/amazon/ena/ena_netdev.c +++ b/drivers/net/ethernet/amazon/ena/ena_netdev.c @@ -2414,6 +2414,8 @@ static int ena_device_init(struct ena_com_dev *ena_dev, struct pci_dev *pdev, */ ena_com_set_admin_polling_mode(ena_dev, true); + ena_config_host_info(ena_dev); + /* Get Device Attributes*/ rc = ena_com_get_dev_attr_feat(ena_dev, get_feat_ctx); if (rc) { @@ -2438,11 +2440,10 @@ static int ena_device_init(struct ena_com_dev *ena_dev, struct pci_dev *pdev, *wd_state = !!(aenq_groups & BIT(ENA_ADMIN_KEEP_ALIVE)); - ena_config_host_info(ena_dev); - return 0; err_admin_init: + ena_com_delete_host_info(ena_dev); ena_com_admin_destroy(ena_dev); err_mmio_read_less: ena_com_mmio_reg_read_request_destroy(ena_dev);