From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from NAM01-SN1-obe.outbound.protection.outlook.com (mail-eopbgr820082.outbound.protection.outlook.com [40.107.82.82]) by dpdk.org (Postfix) with ESMTP id 2D2C24C9F for ; Sat, 2 Mar 2019 13:10:54 +0100 (CET) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=AQUANTIA1COM.onmicrosoft.com; s=selector1-aquantia-com; h=From:Date:Subject:Message-ID:Content-Type:MIME-Version:X-MS-Exchange-SenderADCheck; bh=j2LF57tJrCoG3qbrycTKIHk1LKUd+AZaFjBubR9Rezg=; b=IAAhXzth+VzmHXwqE01uQUCRpmgkyNiLgWoAuS/uSigLSngR7K+2tMSaA45S7Ewttkl6eK/Kgx7/Nz6VbHkOpHdGN1TBmskuj5CXAesEtGbcxBMtqx3sNM6Y/5vcy4jCLOticHDxeeDpiNjO3zk+UKKjzK6y1DQVlndjTJWzd8U= Received: from DM6PR11MB3625.namprd11.prod.outlook.com (20.178.230.149) by DM6PR11MB3867.namprd11.prod.outlook.com (10.255.61.12) with Microsoft SMTP Server (version=TLS1_2, cipher=TLS_ECDHE_RSA_WITH_AES_256_GCM_SHA384) id 15.20.1665.16; Sat, 2 Mar 2019 12:10:53 +0000 Received: from DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::319e:4e9b:b376:5588]) by DM6PR11MB3625.namprd11.prod.outlook.com ([fe80::319e:4e9b:b376:5588%4]) with mapi id 15.20.1643.019; Sat, 2 Mar 2019 12:10:53 +0000 From: Igor Russkikh To: "dev@dpdk.org" CC: Pavel Belous , Igor Russkikh Thread-Topic: [PATCH 06/10] net/atlantic: fix eeprom fetching for small and uneven lengths Thread-Index: AQHU0PD7v1eTU9dim0mbYrhFEWsFGQ== Date: Sat, 2 Mar 2019 12:10:52 +0000 Message-ID: References: In-Reply-To: Accept-Language: en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-clientproxiedby: HE1P190CA0057.EURP190.PROD.OUTLOOK.COM (2603:10a6:7:52::46) To DM6PR11MB3625.namprd11.prod.outlook.com (2603:10b6:5:13a::21) authentication-results: spf=none (sender IP is ) smtp.mailfrom=Igor.Russkikh@aquantia.com; x-ms-exchange-messagesentrepresentingtype: 1 x-mailer: git-send-email 2.17.1 x-originating-ip: [95.79.108.179] x-ms-publictraffictype: Email x-ms-office365-filtering-correlation-id: 195eb1ad-fbdc-4902-3889-08d69f081db1 x-microsoft-antispam: BCL:0; PCL:0; RULEID:(2390118)(7020095)(4652040)(8989299)(4534185)(4627221)(201703031133081)(201702281549075)(8990200)(5600127)(711020)(4605104)(2017052603328)(7153060)(7193020); SRVR:DM6PR11MB3867; x-ms-traffictypediagnostic: DM6PR11MB3867: x-microsoft-exchange-diagnostics: =?iso-8859-1?Q?1; DM6PR11MB3867; 23:aNGoJnM4RUQw3y6Jx5j953NO6i1R9VVMaUmrNf8?= =?iso-8859-1?Q?t8XslMAu985TJ/LdkjLQNgTqKMpz16BYiZyhwInWVkgWMKdyM/BOj80Rs+?= =?iso-8859-1?Q?skKXd/J2Tj8TaHzuv3BApUpFVkz3PSQZdheVUJYMgyE/Qx40XMJjsxJkrn?= =?iso-8859-1?Q?bC9bmk6daSPWl0oiBbKPajHFHQ12GU4RYmkAfDY2yF2ChMQ3ntIvp957Gk?= =?iso-8859-1?Q?oZKArsFDt93VtPMhZ/Ag3DUhRNonklFITn4y/qHIDjlC4PVahTUhjVR9ZV?= =?iso-8859-1?Q?zfIvwoKauyz+ymAcciTuFL9Yl7jo8W69CYdpmrKziP+zjlLaryqzA2I5Rh?= =?iso-8859-1?Q?PkJeZgxGF+irQHeisC3jSZ6ZJ2dxSqREE1kLCiADEn0f/Y9GpeVF6T/zds?= =?iso-8859-1?Q?OZfp37Bl0Alk/RKzvvh+HjaDegXRXPE7if8/7RMn24xE1iGdKIR3rUVtej?= =?iso-8859-1?Q?o42GG5Jo2JMDgwvN4OaKH9O4xQ6oZpcEoRXCI9vAdYQd9og0L9J8WLs+SZ?= =?iso-8859-1?Q?wY8NQ+9YJRz2Vz0FvfKohxXO490c3uTC7v/65pFkxYrFqBLM0dGEzOrMqe?= =?iso-8859-1?Q?WFMf9h5GHcNS4LK3ONqINzD+tkJngjb484/QK21geLm+8pN7+BYigJPGRn?= =?iso-8859-1?Q?EUa2bS5Wu8aMyP9rVV+BeiwBOBap4eirofjkSs28gLQVqrkOW9VYWC8SIe?= =?iso-8859-1?Q?TFVNSd23q1VDwSsApdqlmkgS6Cd22sCq4mtzY0GTsLiIxnEDqgrK9WLZ1m?= =?iso-8859-1?Q?WhUcSJ7XI2d4wZ1O0qc2v+rzdobYml7SC3U2IPXHmGQWGI6I3y+aXlC9rA?= =?iso-8859-1?Q?/AQ/pXBN2I6gJZ9rnp3LhG3YChKp/aC1GL5TG53gXGlUFtZm0/HtLrG5rV?= =?iso-8859-1?Q?69ydOL3UmpC0BgrzmwD/oWnjFwExJ0lyxLwp9nb8VsN59eB6r94zImDy5x?= =?iso-8859-1?Q?LiZZ03edIfz2kBmtGRA++G7hLojAISFvrkCg6rksKvJFQihSdubmghO+pt?= =?iso-8859-1?Q?eik/ajO7CeN2xWG5IximIJ9eE0QTwbAfc+ChhcrQUX/XOc8mi4f6DM01Kk?= =?iso-8859-1?Q?PTxGSUVN1g9sXdf9ofi0CV7IKUCAP9HAipC1mSn7F9BmjqrkVuTcq3IYsM?= =?iso-8859-1?Q?8bxI+zNIjPdlnpN7rVQ7g4lCrl1Ky24fo5Je7saVWHjvEdLuqpiSyTm0FC?= =?iso-8859-1?Q?nG1bI9DC/GAhujwd8VE7oGlUCdBnsLkrCRtHuH2vC6ZLwoMuebpto8dnDU?= =?iso-8859-1?Q?84DifmYbl5OMefL+2Z/XF0P+43lBjcwRGZqPky0Y+4Xe/vN6+9Qd0vAE7S?= =?iso-8859-1?Q?FbvYwEz7yO1+7b9hDS5N3bkwdfoIYxTZ5VArYCZDmXIFexXQjMMMSRYbb2?= =?iso-8859-1?Q?EznRE1uZk4P+fBmR7KRGpQV9TzWSIPeDpXd88KisOC3Q1MWXWew=3D=3D?= x-microsoft-antispam-prvs: x-forefront-prvs: 09645BAC66 x-forefront-antispam-report: SFV:NSPM; SFS:(10009020)(376002)(366004)(346002)(136003)(396003)(39850400004)(199004)(189003)(7736002)(8936002)(36756003)(256004)(1730700003)(71200400001)(6916009)(71190400001)(8676002)(54906003)(106356001)(186003)(105586002)(4326008)(2501003)(26005)(305945005)(316002)(5660300002)(86362001)(97736004)(2906002)(102836004)(81156014)(81166006)(53936002)(52116002)(76176011)(3846002)(6506007)(386003)(6116002)(72206003)(6512007)(6436002)(14454004)(5640700003)(66066001)(6486002)(478600001)(25786009)(68736007)(99286004)(107886003)(11346002)(476003)(2616005)(446003)(486006)(2351001)(118296001)(50226002)(44832011); DIR:OUT; SFP:1101; SCL:1; SRVR:DM6PR11MB3867; H:DM6PR11MB3625.namprd11.prod.outlook.com; FPR:; SPF:None; LANG:en; PTR:InfoNoRecords; A:1; MX:1; received-spf: None (protection.outlook.com: aquantia.com does not designate permitted sender hosts) x-ms-exchange-senderadcheck: 1 x-microsoft-antispam-message-info: yDKvp1E878nj5+iAjgWruUNLzXmsPui8gm1OQutuJM8WRqNR6NPT8S63HmSdFaTuhkOB0cIMSE/diggmFPSm9D7d0HkErRmeg8M2DLSEZdCmPniO/nEFLNJO9J2+FrDZziuKVgd0GxYdFGcqUXy2z2oOTFlKzJhON/7A0mHfefygU/S8CuAq+SLxZwfX8cBgi1xtbw/zEAT7QHeI6a2WJhxmD0tMy+IDgx/x8ZdSi5CGt17x+r3XmpV5JVIe7Z22094jmQvn9xuYYtWUYxkfDxkeyAkwvVejy8iiHNd4yZq203gU8GtGdP7PGFCI2zeU49kPw1DfgYYchnvEuqUufMCKAFxd6DRNSXkFqoSU+q2bRYOmXVLEfJ+4y3cX1NM80+0DRurlKO2vxIa30jIX64fANiMF/VT1QTkJbwkgYHk= Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: quoted-printable MIME-Version: 1.0 X-OriginatorOrg: aquantia.com X-MS-Exchange-CrossTenant-Network-Message-Id: 195eb1ad-fbdc-4902-3889-08d69f081db1 X-MS-Exchange-CrossTenant-originalarrivaltime: 02 Mar 2019 12:10:51.4954 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-mailboxtype: HOSTED X-MS-Exchange-CrossTenant-id: 83e2e134-991c-4ede-8ced-34d47e38e6b1 X-MS-Exchange-Transport-CrossTenantHeadersStamped: DM6PR11MB3867 Subject: [dpdk-dev] [PATCH 06/10] net/atlantic: fix eeprom fetching for small and uneven lengths 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: Sat, 02 Mar 2019 12:10:54 -0000 From: Pavel Belous Signed-off-by: Igor Russkikh Signed-off-by: Pavel Belous --- .../net/atlantic/hw_atl/hw_atl_utils_fw2x.c | 27 ++++++++++++++++--- 1 file changed, 23 insertions(+), 4 deletions(-) diff --git a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c b/drivers/net/= atlantic/hw_atl/hw_atl_utils_fw2x.c index d0eb9f5e9..efa999268 100644 --- a/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c +++ b/drivers/net/atlantic/hw_atl/hw_atl_utils_fw2x.c @@ -531,13 +531,32 @@ static int aq_fw2x_get_eeprom(struct aq_hw_s *self, i= nt dev_addr, u32 *data, u32 return err; =20 if (result =3D=3D 0) { - err =3D hw_atl_utils_fw_downld_dwords(self, + u32 num_dwords =3D len / sizeof(u32); + u32 bytes_remains =3D len % sizeof(u32); + + if (num_dwords) { + err =3D hw_atl_utils_fw_downld_dwords(self, self->rpc_addr + sizeof(u32) * 2, data, - RTE_ALIGN(len, sizeof(u32))); + num_dwords); =20 - if (err < 0) - return err; + if (err < 0) + return err; + } + + if (bytes_remains) { + u32 val =3D 0; + + err =3D hw_atl_utils_fw_downld_dwords(self, + self->rpc_addr + sizeof(u32) * 2 + num_dwords, + &val, + sizeof(u32)); + + if (err < 0) + return err; + + rte_memcpy((u8*)data + len - bytes_remains, &val, bytes_remains); + } } =20 return 0; --=20 2.17.1