From mboxrd@z Thu Jan  1 00:00:00 1970
Return-Path: <dev-bounces@dpdk.org>
Received: from mails.dpdk.org (mails.dpdk.org [217.70.189.124])
	by inbox.dpdk.org (Postfix) with ESMTP id 4C9FBA0C5D;
	Thu,  4 Nov 2021 19:26:02 +0100 (CET)
Received: from [217.70.189.124] (localhost [127.0.0.1])
	by mails.dpdk.org (Postfix) with ESMTP id 358AC4276E;
	Thu,  4 Nov 2021 19:26:02 +0100 (CET)
Received: from mga01.intel.com (mga01.intel.com [192.55.52.88])
 by mails.dpdk.org (Postfix) with ESMTP id 855D141C27
 for <dev@dpdk.org>; Thu,  4 Nov 2021 19:26:00 +0100 (CET)
X-IronPort-AV: E=McAfee;i="6200,9189,10158"; a="255412596"
X-IronPort-AV: E=Sophos;i="5.87,209,1631602800"; d="scan'208";a="255412596"
Received: from orsmga008.jf.intel.com ([10.7.209.65])
 by fmsmga101.fm.intel.com with ESMTP/TLS/ECDHE-RSA-AES256-GCM-SHA384;
 04 Nov 2021 11:25:59 -0700
X-ExtLoop1: 1
X-IronPort-AV: E=Sophos;i="5.87,209,1631602800"; d="scan'208";a="501643907"
Received: from orsmsx603.amr.corp.intel.com ([10.22.229.16])
 by orsmga008.jf.intel.com with ESMTP; 04 Nov 2021 11:25:59 -0700
Received: from orsmsx601.amr.corp.intel.com (10.22.229.14) by
 ORSMSX603.amr.corp.intel.com (10.22.229.16) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12; Thu, 4 Nov 2021 11:25:58 -0700
Received: from ORSEDG602.ED.cps.intel.com (10.7.248.7) by
 orsmsx601.amr.corp.intel.com (10.22.229.14) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_128_GCM_SHA256) id
 15.1.2242.12 via Frontend Transport; Thu, 4 Nov 2021 11:25:58 -0700
Received: from NAM10-BN7-obe.outbound.protection.outlook.com (104.47.70.107)
 by edgegateway.intel.com (134.134.137.103) with Microsoft SMTP Server
 (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.1.2242.12; Thu, 4 Nov 2021 11:25:58 -0700
ARC-Seal: i=1; a=rsa-sha256; s=arcselector9901; d=microsoft.com; cv=none;
 b=cXp7Oqudl9Eco9P34zs3yy7AeVCRfc7MPDhI06pyH6ubGGdV/t5BRZOHwnbquDeOLuMwJkeVyY2NycnvkFlwaW3TAZerdQwOho1+okmZd+AvRI+OVSyRTVDYWEVYsVAK3nmudnIrcDDfb3E4vj1e7Q54y7Q4YmIaAaxOHgsvedHz2nirPk/OZbH2um5oGVkMCcx6hbwXjpMpvOCWlfLSGKIaYzf3OXrrbdw8NjEgPNQfUS4eFRmOk9iByjX/FCDL169YZSJ0UIJc9G0GMC2XLTyAUI0sTWzWDZc/txRJCol7k0B68a2T9dcbUP5SqwrtJr53igTSMTCYt6eX2CkgXA==
ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=microsoft.com; 
 s=arcselector9901;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-AntiSpam-MessageData-ChunkCount:X-MS-Exchange-AntiSpam-MessageData-0:X-MS-Exchange-AntiSpam-MessageData-1;
 bh=6h/1OCYXUg6C5gLL0zIJQ3MJU5Ucgc7SG/nmZvWye3k=;
 b=fcmc6TfYjX1eB/x6o6HN30NNKJ2KR1KXR2/5pPNJMXXpvbDXhn/JaLdDLwdR7+wXb3pn5wsIMDp+HpbQpXXpYurbRAzO0/b1la3k4JpBO8bGwznq43XIGsYad7Whyv2zsS84n0pJ4mRrbU7MzqAGBJGZvZWU/WrejJsCRYzAA126266Ew3HwT5YkNAjb2aKFgOJppDmCAuOBhrEyEtf9ihQusc+GuC2t7y/xwm9r45UeR+wqyHx7C7uxu22FGfgXTLy5CURM89qQiRC8CgOsN4YhUi7C3b7J+Q9stUHb7Kn0HPQ0uee60UnrZDo4jWj1XdTrEx+CdN4iNvBg1Djx0A==
ARC-Authentication-Results: i=1; mx.microsoft.com 1; spf=pass
 smtp.mailfrom=intel.com; dmarc=pass action=none header.from=intel.com;
 dkim=pass header.d=intel.com; arc=none
DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=intel.onmicrosoft.com; 
 s=selector2-intel-onmicrosoft-com;
 h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck;
 bh=6h/1OCYXUg6C5gLL0zIJQ3MJU5Ucgc7SG/nmZvWye3k=;
 b=r1nWWC7LhZ7cgn4a22O2mPk8NtFpG2efKyH+bLUaOkpqXP8ldr+1T1RmkugUv+vugsLkxFtpSHl2YodjkppOeEbH3IcOWj+on3CTAd3P0DqU0Vn3ZAqQIanm8/ZNu6Wce3LeOTWrz1v61gN8Bv4939haTEDa+egPy+D0eTnWIWk=
Authentication-Results: nxp.com; dkim=none (message not signed)
 header.d=none;nxp.com; dmarc=none action=none header.from=intel.com;
Received: from PH0PR11MB5000.namprd11.prod.outlook.com (2603:10b6:510:41::19)
 by PH0PR11MB5093.namprd11.prod.outlook.com (2603:10b6:510:3e::23)
 with Microsoft SMTP Server (version=TLS1_2,
 cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.4669.11; Thu, 4 Nov
 2021 18:25:57 +0000
Received: from PH0PR11MB5000.namprd11.prod.outlook.com
 ([fe80::bd7d:29be:3342:632c]) by PH0PR11MB5000.namprd11.prod.outlook.com
 ([fe80::bd7d:29be:3342:632c%7]) with mapi id 15.20.4669.011; Thu, 4 Nov 2021
 18:25:57 +0000
Message-ID: <ce208ac4-0875-df37-a034-f3d5e3f10a78@intel.com>
Date: Thu, 4 Nov 2021 18:25:50 +0000
Content-Language: en-US
To: Apeksha Gupta <apeksha.gupta@nxp.com>, <david.marchand@redhat.com>,
 <andrew.rybchenko@oktetlabs.ru>
CC: <dev@dpdk.org>, <sachin.saxena@nxp.com>, <hemant.agrawal@nxp.com>
References: <20211021044700.12370-2-apeksha.gupta@nxp.com>
 <20211103192045.22240-1-apeksha.gupta@nxp.com>
 <20211103192045.22240-3-apeksha.gupta@nxp.com>
From: Ferruh Yigit <ferruh.yigit@intel.com>
X-User: ferruhy
In-Reply-To: <20211103192045.22240-3-apeksha.gupta@nxp.com>
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 7bit
X-ClientProxiedBy: LO2P123CA0085.GBRP123.PROD.OUTLOOK.COM
 (2603:10a6:600:138::18) To PH0PR11MB5000.namprd11.prod.outlook.com
 (2603:10b6:510:41::19)
MIME-Version: 1.0
Received: from [192.168.0.206] (37.228.236.146) by
 LO2P123CA0085.GBRP123.PROD.OUTLOOK.COM (2603:10a6:600:138::18) with Microsoft
 SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id
 15.20.4669.10 via Frontend Transport; Thu, 4 Nov 2021 18:25:54 +0000
X-MS-PublicTrafficType: Email
X-MS-Office365-Filtering-Correlation-Id: d7cdf6c0-ffe1-4c46-1d7b-08d99fc08b35
X-MS-TrafficTypeDiagnostic: PH0PR11MB5093:
X-Microsoft-Antispam-PRVS: <PH0PR11MB50931D09018C21206A29F500958D9@PH0PR11MB5093.namprd11.prod.outlook.com>
X-MS-Oob-TLC-OOBClassifiers: OLM:9508;
X-MS-Exchange-SenderADCheck: 1
X-MS-Exchange-AntiSpam-Relay: 0
X-Microsoft-Antispam: BCL:0;
X-Microsoft-Antispam-Message-Info: b4YlZHF/weMvAzXxbuMLFPZF01uxMpwSGDjyBCyLdhY20q9JqzYE4bHgdOf83y4VDJlOUjI3kdqnVDSpE2rafSK0vKLA8rp7kV5sephFLJUDBpA5/wCcEx+fl871DIZVHcSNDgMxBnPWkWtL/UhIuQYiiy7SigbaHRW8xKZhdVh+tQQwgEJPDuYdANAln7y1XeWv9bSAClyLw50NK0rHF55zr8/rDb3XgQ7PA8OzLxYtpBvBjJnij+BRCb7A3yva3lU4+oJ2WDByXrzGcTIuXiLXvlOADo2sIdSzjVRu0xA2UutlBuJDK+jb7u1rc/iso7BNSAWLMT+KjRB2PD261J+T/Piji/NO8GGtSCCOtLwFkR6TzXyhyL7onhtgvFPm8Zmk5bIGPj3ys3k7SdNT17Oy6Ic4sGYr+Iobu2B3V3mDTKjfAUsH+FUYL/dm0o8KRE7FycVW1dqCIiczBcOBe985NPS8QYvx+3LSF0Y2wolXcBFdHxOmuXGEVW7ZqLQGcMKkM8sRRwy/rG6b03uynl+qmp/KbUGhbGSBPSyO4CbNdea8VUgM8lLnsrC9SvXN2nTTXxoWp17j1WkyEO5sXAgp1jnh/p6BS90rHBc91UyjcLRw/jyFkfi2pm0pzQk6cuStCBPm7F4ZgWCCx6SpQE/wa/nRDhlSR4WSSTHFUteHnXJwLiJQc+2GsARM2H9YkwUvxsA6twy+8HkVo3PcdQ==
X-Forefront-Antispam-Report: CIP:255.255.255.255; CTRY:; LANG:en; SCL:1; SRV:;
 IPV:NLI; SFV:NSPM; H:PH0PR11MB5000.namprd11.prod.outlook.com; PTR:; CAT:NONE;
 SFS:(366004)(5660300002)(186003)(26005)(82960400001)(956004)(2616005)(4326008)(53546011)(16576012)(2906002)(316002)(6486002)(31686004)(508600001)(31696002)(86362001)(6666004)(38100700002)(83380400001)(8676002)(36756003)(66556008)(44832011)(8936002)(66476007)(66946007)(45980500001);
 DIR:OUT; SFP:1102; 
X-MS-Exchange-AntiSpam-MessageData-ChunkCount: 1
X-MS-Exchange-AntiSpam-MessageData-0: =?utf-8?B?bEdYQ0pJU3ZhVmJYKzB0TWdyNUoyS0xRR3NPQ2JSSzBCUnIzcUVWMUZOdkc4?=
 =?utf-8?B?TlBoVk5tQ0hIOHdkSVlybElmUGo5UisyWmRPK05WUjBzZjF6T1N2QThLR0xZ?=
 =?utf-8?B?cENMNWZWWk9MVUlDQ1d1MmNIOXMzenZJVXZzZzlDSkVRVXk2SW4vcEs3ajRj?=
 =?utf-8?B?NndzWUFZV1BjWUVCZDdGU1FvODFNNHREeHFGUnY4QkxlZU5QMlI0Ynh5OEd5?=
 =?utf-8?B?aVpaUDk3VTRzRDI3S3pBT0R6Vjh0ejJjOHYwR21KRzYrK21uMDRkUWdGVzhV?=
 =?utf-8?B?cm1ZTWxzbTVHMWVBWmUxZUZ2azl6OGlLZ09rQWJCUEg4eUt4YlovbUN0WDh2?=
 =?utf-8?B?SFg1YXo2VmpFNzZMbHpnVUZSb09jbmtRZmJFTFIyR1dRMmtWSUVPSG5tV1du?=
 =?utf-8?B?WElZTXE0NTBGNE44WmtEQjRFUnY4SlZyZUFRekNZUmE0N1hsWmVoOTBkMlpK?=
 =?utf-8?B?RFFZTVdhU3UxaTMzcEJoY1dwelU5R0hSK0lrY2N3VytwdFFkS2tqSGlzRW1B?=
 =?utf-8?B?UndaU0UvaVlhWnk0cDVNcUpqVGxKdkFDamZ3Ni9Bcmdod1U1R2ZCLzUvNVNj?=
 =?utf-8?B?bzA1S3Y0emJ1VlUxaGdJM2wrWmdlV0tmWG1hNmtlMndRZzdsUlh2RElSNFls?=
 =?utf-8?B?VXduNUMwLzJjaGREYzkrUmh4VkMrUmYzUE5nM280OWMwbjZreUFhMzhOd3ZL?=
 =?utf-8?B?Q3RDeXVCV3dUallCYVZoM1JmRG9IYk14WFBiY0E1bG1nWjdENTllNlZSd05o?=
 =?utf-8?B?QUNCelhmaGtVYlU0TWNCTGlkeDRDMldjT2tRTHBuQ0pVOVREYytWdkJObDB4?=
 =?utf-8?B?ZWFiV3lWVWxCWHhna2JEOW1SQlFlaVRYOWNMUHYxQ1p6MVBYM0ZXRHFYUzZL?=
 =?utf-8?B?c1RRaENSY2Y1RmpBS3hDbThyd3A5VUxGR09MOENXb1FqcTlDUWtOQU1idnFK?=
 =?utf-8?B?NkMyQU9lcCtldEtpOHNWUVlVN3JyVnVqZE9qNjRUWi9JR2NPT3F1RlJsZW9U?=
 =?utf-8?B?QmR1ZmI5WGI4QytWZmwyVVhWUS9aUnlEQmJhZXRKWGVqRFdSOXoyd1QyVTgy?=
 =?utf-8?B?bGlDdktTODZJZlJOdUdVd2Q4Y3o3aUFjQ1c4V1hJdlZWK3VxekRTV25kY25F?=
 =?utf-8?B?N0h3WmZndlVXaVA2ZXI4UTF3OUlMMmszdzV2VkkwMkc4L01xd3ppeUJVREd6?=
 =?utf-8?B?b242NlVYZHRHelpXclhKVE1qNGFhMGlkRWJWZ2tVWDZ6b0M1eFMyeFFvanVW?=
 =?utf-8?B?QksveXZCaFgxcFdiMklKTFpZUGR2YnE0RmxNMm5kaWtaRmZKc0FpWTkvQkdN?=
 =?utf-8?B?OThEREhXcEQ5WGRVQmkwdFBJU28zNlNvb3NyR0JRaXRaZll1bVBodk45czd2?=
 =?utf-8?B?UzVaNk8rZ3FWa0VWTmJ5THd6KzJpb2hSa3FGOVVhb2dqbDRKUlhVNUo0MEVz?=
 =?utf-8?B?WWE4cE1hVUVWSlQ0Ym16TWJYODdTSUtkKzhXd21zNkFIeWJ0dC9rMTgvZmc4?=
 =?utf-8?B?c2pmVkFlYitvK2VHNjlHcWVYSUV3U0pOVTRUbWt2NXV3ZlEzaUFkbWdnTjg0?=
 =?utf-8?B?VVI2Sm4wSTdFVkgwbGY1NVg4M1lDbHRJU0lZK0EyMHV6K3pkMGdxVk1DU1gw?=
 =?utf-8?B?RmNjMWd3NzVIMWVOU0tWRUs2Y1lHY0dnNTdGUkcwY2FaMnNZcUtaRmRXbGht?=
 =?utf-8?B?U04ySFU5SE5oU3pJMUZlUGs1cmJPYkxJaGNJNlpQWkFWL3IydFE3S3pkMDVn?=
 =?utf-8?B?OHBvZ0ZFc1JHQ2ZhNHVTVHNqQSt0YWZwclJseG81czZUbTl3dWt5MDZ4ZEtv?=
 =?utf-8?B?c0x3U3lVSEhmaHc2N1ZWQ2doVko5N3V5UFN2VzFEeGVPeUFhMjErbWhoa0Jz?=
 =?utf-8?B?SXQwZ1RtR2VXK1VBVmFjakxTY3NiSng2bzdhenA2UWJsYzVZYjAvNGpveDhH?=
 =?utf-8?B?U0NWN3c4dWVmTlAvVXVQRURtWk9xRUtrZCs0em5IVEF1RzhZWWN4eExQT1Vh?=
 =?utf-8?B?dW9kL3VFNkpFZnlOc1lQdXM2b2RNMkVlRG42NzNWeHNNQnpqZ2tDQmdmazdO?=
 =?utf-8?B?TGp2V2pFU1F2UFBUVUNhZklMZ0xiTHRhMmhReGcvNGFzYmEwb2N6WHEzTStS?=
 =?utf-8?B?V3J6bUZVMmlNd0NnOEFIT2Njbjh0Q1NadFRPTjZXeUljNzlJWE11Z095MmxX?=
 =?utf-8?Q?y0+QJKE/4Tw7hKa9zEotogQ=3D?=
X-MS-Exchange-CrossTenant-Network-Message-Id: d7cdf6c0-ffe1-4c46-1d7b-08d99fc08b35
X-MS-Exchange-CrossTenant-AuthSource: PH0PR11MB5000.namprd11.prod.outlook.com
X-MS-Exchange-CrossTenant-AuthAs: Internal
X-MS-Exchange-CrossTenant-OriginalArrivalTime: 04 Nov 2021 18:25:57.0355 (UTC)
X-MS-Exchange-CrossTenant-FromEntityHeader: Hosted
X-MS-Exchange-CrossTenant-Id: 46c98d88-e344-4ed4-8496-4ed7712e255d
X-MS-Exchange-CrossTenant-MailboxType: HOSTED
X-MS-Exchange-CrossTenant-UserPrincipalName: lz6zz9LhN7u/8x5+ONuaPbSDa7uHqapKDnNmnjnqziSCA0VkXqLKoMYtWUFz6VLegEX/bSkjQaAhNI7JnPU/7A==
X-MS-Exchange-Transport-CrossTenantHeadersStamped: PH0PR11MB5093
X-OriginatorOrg: intel.com
Subject: Re: [dpdk-dev] [PATCH v7 2/5] net/enetfec: add UIO support
X-BeenThere: dev@dpdk.org
X-Mailman-Version: 2.1.29
Precedence: list
List-Id: DPDK patches and discussions <dev.dpdk.org>
List-Unsubscribe: <https://mails.dpdk.org/options/dev>,
 <mailto:dev-request@dpdk.org?subject=unsubscribe>
List-Archive: <http://mails.dpdk.org/archives/dev/>
List-Post: <mailto:dev@dpdk.org>
List-Help: <mailto:dev-request@dpdk.org?subject=help>
List-Subscribe: <https://mails.dpdk.org/listinfo/dev>,
 <mailto:dev-request@dpdk.org?subject=subscribe>
Errors-To: dev-bounces@dpdk.org
Sender: "dev" <dev-bounces@dpdk.org>

On 11/3/2021 7:20 PM, Apeksha Gupta wrote:
> Implemented the fec-uio driver in kernel. enetfec PMD uses
> UIO interface to interact with "fec-uio" driver implemented in
> kernel for PHY initialisation and for mapping the allocated memory
> of register & BD from kernel to DPDK which gives access to
> non-cacheable memory for BD.
> 
> Signed-off-by: Sachin Saxena <sachin.saxena@nxp.com>
> Signed-off-by: Apeksha Gupta <apeksha.gupta@nxp.com>
> ---
>   drivers/net/enetfec/enet_ethdev.c | 227 ++++++++++++++++++++++++
>   drivers/net/enetfec/enet_ethdev.h |  14 ++
>   drivers/net/enetfec/enet_regs.h   | 106 ++++++++++++
>   drivers/net/enetfec/enet_uio.c    | 278 ++++++++++++++++++++++++++++++
>   drivers/net/enetfec/enet_uio.h    |  64 +++++++
>   drivers/net/enetfec/meson.build   |   3 +-
>   6 files changed, 691 insertions(+), 1 deletion(-)
>   create mode 100644 drivers/net/enetfec/enet_regs.h
>   create mode 100644 drivers/net/enetfec/enet_uio.c
>   create mode 100644 drivers/net/enetfec/enet_uio.h
> 
> diff --git a/drivers/net/enetfec/enet_ethdev.c b/drivers/net/enetfec/enet_ethdev.c
> index a6c4bcbf2e..410c395039 100644
> --- a/drivers/net/enetfec/enet_ethdev.c
> +++ b/drivers/net/enetfec/enet_ethdev.c
> @@ -13,16 +13,212 @@
>   #include <rte_bus_vdev.h>
>   #include <rte_dev.h>
>   #include <rte_ether.h>
> +#include <rte_io.h>
>   #include "enet_pmd_logs.h"
>   #include "enet_ethdev.h"
> +#include "enet_regs.h"
> +#include "enet_uio.h"
>   
>   #define ENETFEC_NAME_PMD                net_enetfec
>   #define ENETFEC_CDEV_INVALID_FD         -1
> +#define BIT(nr)				(1u << (nr))

We already have 'RTE_BIT32' macro, it can be used instead of defining
a new macro.

> +
> +/* FEC receive acceleration */
> +#define ENETFEC_RACC_IPDIS		BIT(1)
> +#define ENETFEC_RACC_PRODIS		BIT(2)
> +#define ENETFEC_RACC_SHIFT16		BIT(7)
> +#define ENETFEC_RACC_OPTIONS		(ENETFEC_RACC_IPDIS | \
> +						ENETFEC_RACC_PRODIS)
> +
> +#define ENETFEC_PAUSE_FLAG_AUTONEG	0x1
> +#define ENETFEC_PAUSE_FLAG_ENABLE	0x2
> +
> +/* Pause frame field and FIFO threshold */
> +#define ENETFEC_FCE			BIT(5)
> +#define ENETFEC_RSEM_V			0x84
> +#define ENETFEC_RSFL_V			16
> +#define ENETFEC_RAEM_V			0x8
> +#define ENETFEC_RAFL_V			0x8
> +#define ENETFEC_OPD_V			0xFFF0
> +
> +#define NUM_OF_BD_QUEUES		6
> +
> +static uint32_t enetfec_e_cntl;
> +

Again, question on the usage of this global variable in previous version
is not answered, let me copy/paste here:


Is this global variable really needed, most of the times what you need is
per port varible.
For example I can see this variable is updated based on port start/stop,
what if you have multiple ports and they are different start/stop state,
will the value of variable still be correct?

> +/*
> + * This function is called to start or restart the ENETFEC during a link
> + * change, transmit timeout, or to reconfigure the ENETFEC. The network
> + * packet processing for this device must be stopped before this call.
> + */
> +static void
> +enetfec_restart(struct rte_eth_dev *dev)
> +{
> +	struct enetfec_private *fep = dev->data->dev_private;
> +	uint32_t temp_mac[2];
> +	uint32_t rcntl = OPT_FRAME_SIZE | 0x04;
> +	uint32_t ecntl = ENETFEC_ETHEREN;
> +
> +	/* default mac address */
> +	struct rte_ether_addr addr = {
> +		.addr_bytes = {0x1, 0x2, 0x3, 0x4, 0x5, 0x6} };

This mac address is set on device, but device data, 'dev->data->mac_addrs',
doesn't have it.
- Is MAC set required on each restart?
- What about save the MAC address to 'dev->data->mac_addrs', and use that
value in restart? In that case the MAC value device data and acual device
config matches.

> +	uint32_t val;
> +
> +	/*
> +	 * enet-mac reset will reset mac address registers too,
> +	 * so need to reconfigure it.
> +	 */
> +	memcpy(&temp_mac, addr.addr_bytes, ETH_ALEN);
> +	rte_write32(rte_cpu_to_be_32(temp_mac[0]),
> +		(uint8_t *)fep->hw_baseaddr_v + ENETFEC_PALR);
> +	rte_write32(rte_cpu_to_be_32(temp_mac[1]),
> +		(uint8_t *)fep->hw_baseaddr_v + ENETFEC_PAUR);
> +
> +	/* Clear any outstanding interrupt. */
> +	writel(0xffffffff, (uint8_t *)fep->hw_baseaddr_v + ENETFEC_EIR);
> +
> +	/* Enable MII mode */
> +	if (fep->full_duplex == FULL_DUPLEX) {
> +		/* FD enable */
> +		rte_write32(rte_cpu_to_le_32(0x04),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_TCR);
> +	} else {
> +	/* No Rcv on Xmit */
> +		rcntl |= 0x02;
> +		rte_write32(0, (uint8_t *)fep->hw_baseaddr_v + ENETFEC_TCR);
> +	}
> +
> +	if (fep->quirks & QUIRK_RACC) {
> +		val = rte_read32((uint8_t *)fep->hw_baseaddr_v + ENETFEC_RACC);
> +		/* align IP header */
> +		val |= ENETFEC_RACC_SHIFT16;
> +		val &= ~ENETFEC_RACC_OPTIONS;
> +		rte_write32(rte_cpu_to_le_32(val),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_RACC);
> +		rte_write32(rte_cpu_to_le_32(PKT_MAX_BUF_SIZE),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_FRAME_TRL);
> +	}
> +
> +	/*
> +	 * The phy interface and speed need to get configured
> +	 * differently on enet-mac.
> +	 */
> +	if (fep->quirks & QUIRK_HAS_ENETFEC_MAC) {
> +		/* Enable flow control and length check */
> +		rcntl |= 0x40000000 | 0x00000020;
> +
> +		/* RGMII, RMII or MII */
> +		rcntl |= BIT(6);
> +		ecntl |= BIT(5);
> +	}
> +
> +	/* enable pause frame*/
> +	if ((fep->flag_pause & ENETFEC_PAUSE_FLAG_ENABLE) ||
> +		((fep->flag_pause & ENETFEC_PAUSE_FLAG_AUTONEG)
> +		/*&& ndev->phydev && ndev->phydev->pause*/)) {
> +		rcntl |= ENETFEC_FCE;
> +
> +		/* set FIFO threshold parameter to reduce overrun */
> +		rte_write32(rte_cpu_to_le_32(ENETFEC_RSEM_V),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_R_FIFO_SEM);
> +		rte_write32(rte_cpu_to_le_32(ENETFEC_RSFL_V),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_R_FIFO_SFL);
> +		rte_write32(rte_cpu_to_le_32(ENETFEC_RAEM_V),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_R_FIFO_AEM);
> +		rte_write32(rte_cpu_to_le_32(ENETFEC_RAFL_V),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_R_FIFO_AFL);
> +
> +		/* OPD */
> +		rte_write32(rte_cpu_to_le_32(ENETFEC_OPD_V),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_OPD);
> +	} else {
> +		rcntl &= ~ENETFEC_FCE;
> +	}
> +
> +	rte_write32(rte_cpu_to_le_32(rcntl),
> +		(uint8_t *)fep->hw_baseaddr_v + ENETFEC_RCR);
> +
> +	rte_write32(0, (uint8_t *)fep->hw_baseaddr_v + ENETFEC_IAUR);
> +	rte_write32(0, (uint8_t *)fep->hw_baseaddr_v + ENETFEC_IALR);
> +
> +	if (fep->quirks & QUIRK_HAS_ENETFEC_MAC) {
> +		/* enable ENETFEC endian swap */
> +		ecntl |= (1 << 8);
> +		/* enable ENETFEC store and forward mode */
> +		rte_write32(rte_cpu_to_le_32(1 << 8),
> +			(uint8_t *)fep->hw_baseaddr_v + ENETFEC_TFWR);
> +	}
> +	if (fep->bufdesc_ex)
> +		ecntl |= (1 << 4);
> +	if (fep->quirks & QUIRK_SUPPORT_DELAYED_CLKS &&
> +		fep->rgmii_txc_delay)
> +		ecntl |= ENETFEC_TXC_DLY;
> +	if (fep->quirks & QUIRK_SUPPORT_DELAYED_CLKS &&
> +		fep->rgmii_rxc_delay)
> +		ecntl |= ENETFEC_RXC_DLY;
> +	/* Enable the MIB statistic event counters */
> +	rte_write32(0, (uint8_t *)fep->hw_baseaddr_v + ENETFEC_MIBC);
> +
> +	ecntl |= 0x70000000;
> +	enetfec_e_cntl = ecntl;
> +	/* And last, enable the transmit and receive processing */
> +	rte_write32(rte_cpu_to_le_32(ecntl),
> +		(uint8_t *)fep->hw_baseaddr_v + ENETFEC_ECR);
> +	rte_delay_us(10);
> +}
> +
> +static int
> +enetfec_eth_configure(__rte_unused struct rte_eth_dev *dev)

unnecessary '__rte_unused'