From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1751800AbdEBN5Z (ORCPT ); Tue, 2 May 2017 09:57:25 -0400 Received: from mail-sn1nam01on0043.outbound.protection.outlook.com ([104.47.32.43]:30176 "EHLO NAM01-SN1-obe.outbound.protection.outlook.com" rhost-flags-OK-OK-OK-FAIL) by vger.kernel.org with ESMTP id S1751765AbdEBN5T (ORCPT ); Tue, 2 May 2017 09:57:19 -0400 From: Rafal Ozieblo To: Richard Cochran CC: David Miller , "nicolas.ferre@atmel.com" , "netdev@vger.kernel.org" , "linux-kernel@vger.kernel.org" , "devicetree@vger.kernel.org" , "linux-arm-kernel@lists.infradead.org" , "harinikatakamlinux@gmail.com" , "harini.katakam@xilinx.com" , "Andrei.Pistirica@microchip.com" Subject: RE: [PATCH 3/4] net: macb: Add hardware PTP support Thread-Topic: [PATCH 3/4] net: macb: Add hardware PTP support Thread-Index: AQHStFthVngqzHg/P0eVf948WNaSraHFMTUAgBu1HRA= Date: Tue, 2 May 2017 13:57:15 +0000 Message-ID: References: <1492090439-11793-1-git-send-email-rafalo@cadence.com> <1492090763-15686-1-git-send-email-rafalo@cadence.com> <20170414182850.GB7751@localhost.localdomain> In-Reply-To: <20170414182850.GB7751@localhost.localdomain> Accept-Language: pl-PL, en-US Content-Language: en-US X-MS-Has-Attach: X-MS-TNEF-Correlator: x-dg-ref: PG1ldGE+PGF0IG5tPSJib2R5LnR4dCIgcD0iYzpcdXNlcnNccmFmYWxvXGFwcGRhdGFccm9hbWluZ1wwOWQ4NDliNi0zMmQzLTRhNDAtODVlZS02Yjg0YmEyOWUzNWJcbXNnc1xtc2ctM2RiNDAwMzktMmYzZi0xMWU3LWJkOGUtMjhkMjQ0ZjNkMmFkXGFtZS10ZXN0XDNkYjQwMDNhLTJmM2YtMTFlNy1iZDhlLTI4ZDI0NGYzZDJhZGJvZHkudHh0IiBzej0iMzA3NCIgdD0iMTMxMzgyMDcwMzMzMjYxMzU0IiBoPSJpa3FTOUoxbHZSaEVENE5Ca1lTd0NjZHB4cEk9IiBpZD0iIiBibD0iMCIgYm89IjEiLz48L21ldGE+ authentication-results: gmail.com; dkim=none (message not signed) header.d=none;gmail.com; dmarc=none action=none header.from=cadence.com; x-originating-ip: [213.131.238.28] x-ms-publictraffictype: Email x-microsoft-exchange-diagnostics: 1;BN3PR07MB2515;7:BQNpvd3HppeZKOg5YhRftfx+pHZtkz3S2KQ9tQ7VkxWPDU9BoHV7XtUS2TmswxJ2QTTOpP6r5qsl2aeA+GbH9h1pZ7eBXM+T9LivhpDBtxX7JozvRWQE9dzhcQX9xjmr93p23f+dihVxUnwevpCj32lBnq3XEQfhZID3D/T1pQ2xDr4N8Vh1nRXOyn1mP2iAtvZxeZ9DK9WJdcO1VOtcwMaL8IHmCiU8k6KU0P/GsrAI4cuNvn6P0Xag5GMKkU1+Mea/N+ku0dLpW3Pz5StbXODu88XtJfHGtmXW2mPf+PFdRL424bEKxA4Iu4Fgtp+Qyz5voAzw0sWJ5OMCssOK4Q==;20:hOu7j51V7GFzjfjZzUE8TDIapj7p7ZIUBr+Cjyu4RWJq6hAmT9Znc2y2FvzEizRA0vXqkD2PouxYw7wrJDPckBGND3Mv/pwFliRjwvXclKFlu/MSOr9jrZ+bXnmvemlnlE73S7gL76YacD3e+49B6qxsVKoZnc+XxHItU7i1GlvAK3RU1N+sEUaP3alz4cpalqggTb/CJp8C4DZKXrs5OgncbEYreuESu1MYikqX1UGnCMVQFhvskfjdJsJWfcQr x-ms-office365-filtering-correlation-id: 644baed1-a68f-4d30-8ec4-08d4916323b6 x-microsoft-antispam: UriScan:;BCL:0;PCL:0;RULEID:(22001)(2017030254075)(201703131423075)(201703031133081);SRVR:BN3PR07MB2515; x-microsoft-antispam-prvs: x-exchange-antispam-report-test: UriScan:(9452136761055)(258649278758335)(192813158149592)(72806322054110); x-exchange-antispam-report-cfa-test: BCL:0;PCL:0;RULEID:(6040450)(601004)(2401047)(8121501046)(5005006)(10201501046)(3002001)(93006095)(93001095)(6041248)(201703131423075)(201702281528075)(201703061421075)(20161123562025)(20161123560025)(20161123564025)(20161123555025)(6072148);SRVR:BN3PR07MB2515;BCL:0;PCL:0;RULEID:;SRVR:BN3PR07MB2515; x-forefront-prvs: 02951C14DC x-forefront-antispam-report: SFV:NSPM;SFS:(10009020)(6009001)(39450400003)(39410400002)(39400400002)(39850400002)(39840400002)(36092001)(24454002)(7696004)(2950100002)(508600001)(6116002)(229853002)(6916009)(33656002)(66066001)(3846002)(6436002)(81166006)(8676002)(8936002)(6506006)(189998001)(102836003)(77096006)(122556002)(110136004)(2900100001)(86362001)(55016002)(3660700001)(38730400002)(39060400002)(99286003)(9686003)(53936002)(1411001)(2906002)(25786009)(8666007)(8656002)(54906002)(6246003)(7736002)(50986999)(5660300001)(53546009)(3280700002)(4326008)(74316002)(7416002)(305945005)(54356999)(76176999);DIR:OUT;SFP:1101;SCL:1;SRVR:BN3PR07MB2515;H:BN3PR07MB2516.namprd07.prod.outlook.com;FPR:;SPF:None;MLV:ovrnspm;PTR:InfoNoRecords;LANG:en; spamdiagnosticoutput: 1:99 spamdiagnosticmetadata: NSPM Content-Type: text/plain; charset="us-ascii" MIME-Version: 1.0 X-OriginatorOrg: cadence.com X-MS-Exchange-CrossTenant-originalarrivaltime: 02 May 2017 13:57:15.1267 (UTC) X-MS-Exchange-CrossTenant-fromentityheader: Hosted X-MS-Exchange-CrossTenant-id: d36035c5-6ce6-4662-a3dc-e762e61ae4c9 X-MS-Exchange-Transport-CrossTenantHeadersStamped: BN3PR07MB2515 Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from quoted-printable to 8bit by mail.home.local id v42DvbgK031085 > From: Richard Cochran [mailto:richardcochran@gmail.com] > Sent: 14 kwietnia 2017 20:29 > To: Rafal Ozieblo > Cc: David Miller ; nicolas.ferre@atmel.com; > netdev@vger.kernel.org; linux-kernel@vger.kernel.org; > devicetree@vger.kernel.org; linux-arm-kernel@lists.infradead.org; > harinikatakamlinux@gmail.com; harini.katakam@xilinx.com; > Andrei.Pistirica@microchip.com > Subject: Re: [PATCH 3/4] net: macb: Add hardware PTP support > > On Thu, Apr 13, 2017 at 02:39:23PM +0100, Rafal Ozieblo wrote: (...) > > +static int gem_tsu_get_time(struct macb *bp, struct timespec64 *ts) > > +{ > > + long first, second; > > + u32 secl, sech; > > + unsigned long flags; > > + > > + if (!bp || !ts) > > + return -EINVAL; > > Useless test. Sorry for me being too carefulness, I'll remove all tests. > (...) > > +static int gem_ptp_gettime(struct ptp_clock_info *ptp, struct timespec64 > *ts) > > +{ > > + struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); > > + > > + if (!ptp || !ts) > > + return -EINVAL; > > Useles test. > > What is the point of this wrapper function anyhow? Please remove it. gem_ptp_gettime() is assigned in ptp_clock_info and it has to have ptp_clock_info pointer as first parameter. gem_tsu_get_time() is used in the source code but with macb pointer. Do you want me to do something like: gem_ptp_gettime(macb->ptp, ts); and first would be getting macb pointer from ptp ? struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); > > > + > > + gem_tsu_get_time(bp, ts); > > + return 0; > > +} > > + > > +static int gem_ptp_settime(struct ptp_clock_info *ptp, > > + const struct timespec64 *ts) > > +{ > > + struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); > > + > > + if (!ptp || !ts) > > + return -EINVAL; > > Another useless function. ditto > > > + gem_tsu_set_time(bp, ts); > > + return 0; > > +} > > + > > +static int gem_ptp_enable(struct ptp_clock_info *ptp, > > + struct ptp_clock_request *rq, int on) > > +{ > > + struct macb *bp = container_of(ptp, struct macb, ptp_clock_info); > > + > > + if (!ptp || !rq) > > + return -EINVAL; > > Sigh. > > > + > > + switch (rq->type) { > > + case PTP_CLK_REQ_EXTTS: /* Toggle TSU match interrupt */ > > + if (on) > > + macb_writel(bp, IER, MACB_BIT(TCI)); > > No locking to protect IER and IDE? There is no need. > > > + else > > + macb_writel(bp, IDR, MACB_BIT(TCI)); > > + break; > > + case PTP_CLK_REQ_PEROUT: /* Toggle Periodic output */ > > + return -EOPNOTSUPP; > > + /* break; */ > > + case PTP_CLK_REQ_PPS: /* Toggle TSU periodic (second) > interrupt */ > > + if (on) > > + macb_writel(bp, IER, MACB_BIT(SRI)); > > + else > > + macb_writel(bp, IDR, MACB_BIT(SRI)); > > + break; > > + default: > > + break; > > + } > > + return 0; > > +} > > + (...) > > -- > > 2.4.5 > > > > Thanks, > Richard