From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: X-Spam-Checker-Version: SpamAssassin 3.4.0 (2014-02-07) on aws-us-west-2-korg-lkml-1.web.codeaurora.org X-Spam-Level: X-Spam-Status: No, score=-5.2 required=3.0 tests=BAYES_00, HEADER_FROM_DIFFERENT_DOMAINS,MAILING_LIST_MULTI,SPF_HELO_NONE,SPF_PASS, USER_AGENT_SANE_1 autolearn=no autolearn_force=no version=3.4.0 Received: from mail.kernel.org (mail.kernel.org [198.145.29.99]) by smtp.lore.kernel.org (Postfix) with ESMTP id 65326C433E7 for ; Sat, 17 Oct 2020 10:34:01 +0000 (UTC) Received: from vger.kernel.org (vger.kernel.org [23.128.96.18]) by mail.kernel.org (Postfix) with ESMTP id 2CFFD20665 for ; Sat, 17 Oct 2020 10:34:01 +0000 (UTC) Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S2437246AbgJQKd6 (ORCPT ); Sat, 17 Oct 2020 06:33:58 -0400 Received: from jabberwock.ucw.cz ([46.255.230.98]:57704 "EHLO jabberwock.ucw.cz" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S2410981AbgJQKd6 (ORCPT ); Sat, 17 Oct 2020 06:33:58 -0400 Received: by jabberwock.ucw.cz (Postfix, from userid 1017) id 597A21C0B76; Sat, 17 Oct 2020 12:33:55 +0200 (CEST) Date: Sat, 17 Oct 2020 12:33:54 +0200 From: Pavel Machek To: Min Li Cc: "richardcochran@gmail.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" Subject: Re: [PATCH net 1/4] ptp: ptp_idt82p33: update to support adjphase Message-ID: <20201017103354.GA4607@amd> References: <1596815755-10994-1-git-send-email-min.li.xe@renesas.com> MIME-Version: 1.0 Content-Type: multipart/signed; micalg=pgp-sha1; protocol="application/pgp-signature"; boundary="/04w6evG8XlLl3ft" Content-Disposition: inline In-Reply-To: User-Agent: Mutt/1.5.23 (2014-03-12) Precedence: bulk List-ID: X-Mailing-List: netdev@vger.kernel.org --/04w6evG8XlLl3ft Content-Type: text/plain; charset=us-ascii Content-Disposition: inline Content-Transfer-Encoding: quoted-printable Hi! > +static int idt82p33_adjwritephase(struct ptp_clock_info *ptp, s32=20 > +offsetNs) { adj_write_phase? > + struct idt82p33_channel *channel =3D > + container_of(ptp, struct idt82p33_channel, caps); > + struct idt82p33 *idt82p33 =3D channel->idt82p33; > + s64 offsetInFs; > + s64 offsetRegVal; > + u8 val[4] =3D {0}; > + int err; > + > + offsetInFs =3D (s64)(-offsetNs) * 1000000; > + > + if (offsetInFs > WRITE_PHASE_OFFSET_LIMIT) > + offsetInFs =3D WRITE_PHASE_OFFSET_LIMIT; > + else if (offsetInFs < -WRITE_PHASE_OFFSET_LIMIT) > + offsetInFs =3D -WRITE_PHASE_OFFSET_LIMIT; I'm sure we have macro for this. > + /* Convert from phaseOffsetInFs to register value */ > + offsetRegVal =3D ((offsetInFs * 1000) / IDT_T0DPLL_PHASE_RESOL); > + > + val[0] =3D offsetRegVal & 0xFF; > + val[1] =3D (offsetRegVal >> 8) & 0xFF; > + val[2] =3D (offsetRegVal >> 16) & 0xFF; > + val[3] =3D (offsetRegVal >> 24) & 0x1F; > + val[3] |=3D PH_OFFSET_EN; ThisIsReally far away from usual coding style. Best regards, Pavel --=20 http://www.livejournal.com/~pavelmachek --/04w6evG8XlLl3ft Content-Type: application/pgp-signature; name="signature.asc" Content-Description: Digital signature -----BEGIN PGP SIGNATURE----- Version: GnuPG v1 iEYEARECAAYFAl+KyJIACgkQMOfwapXb+vItegCgjkLFpg997O4+vZn7lY5OGlbw OPIAniV9ymdVsUZIgo8euo0SOxRXVWr8 =wXVU -----END PGP SIGNATURE----- --/04w6evG8XlLl3ft--