Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S934148AbbEMBE0 (ORCPT ); Tue, 12 May 2015 21:04:26 -0400 Received: from mail-gw3-out.broadcom.com ([216.31.210.64]:28677 "EHLO mail-gw3-out.broadcom.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S934033AbbEMBEZ (ORCPT ); Tue, 12 May 2015 21:04:25 -0400 X-IronPort-AV: E=Sophos;i="5.13,418,1427785200"; d="scan'208";a="64543808" Message-ID: <5552A2EC.2060804@broadcom.com> Date: Tue, 12 May 2015 18:03:40 -0700 From: Jonathan Richardson User-Agent: Mozilla/5.0 (X11; Linux i686; rv:17.0) Gecko/17.0 Thunderbird/17.0 MIME-Version: 1.0 To: Arnd Bergmann CC: One Thousand Gnomes , Scott Branden , Darren Edamura , Rob Herring , Pawel Moll , Mark Rutland , Ian Campbell , "Kumar Gala" , Ray Jui , Greg Kroah-Hartman , , , , Subject: Re: [PATCH 2/2] misc: Add initial Digital Timing Engine (DTE) driver for cygnus References: <1429744923-2007-1-git-send-email-jonathar@broadcom.com> <5543CD73.2030902@broadcom.com> <20150501203004.3add2c95@lxorguk.ukuu.org.uk> <9193036.7UYD2OGJHk@wuerfel> <554D1649.2030106@broadcom.com> In-Reply-To: <554D1649.2030106@broadcom.com> Content-Type: text/plain; charset="ISO-8859-1" Content-Transfer-Encoding: 7bit Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org Content-Length: 2119 Lines: 40 A bit more info is required here. > Get timestamp: This is a bit more complicated. Currently the PTP driver > does list management for timestamps from external timestamp channels. > Timestamps from all channels go into the same list. In our driver we > have a s/w FIFO for each client and it closely matches the h/w FIFO and > handles any overflow. We would like to keep it this way because it also > allows multiple user space processes to only fetch timestamps for the > client it's handling. We could add a new ioctl to get a timestamp from > the driver instead of doing it through ptp_read() but it would be nice > if we could let ptp_read() allow the driver to do timestamp management > instead of PTP. Maybe provide an option to obtain the timestamps from a > container in the driver instead of the one managed by PTP. I like being > able to use read/poll to obtain data instead of polling the kernel with > ioctls as we are currently doing. Also, avoiding the kmalloc in ptp_read > would be nice because this of the frequency it would be called at. Do > you have any preference on how to handle this? > > I've tried to minimize the changes to PTP. Using read() we can't specify a channel to get the timestamp for. It would imply that one user space process would have to read timestamps for all channels/clients and then leave it up to user space IPC to get them to other processes, which isn't great. That means either we introduce an ioctl such as the DTE_GET_TIMESTAMP we had before which allows us to specify a channel, or we need to look at creating one dev node per external timestamping channel. The ioctl limitation is that it pounds the kernel polling for timestamps and the multiple dev nodes per channel is a big change to PTP. I will have to look further into this to really have a good idea of what the implications would be. Advice/ideas? Thanks. -- To unsubscribe from this list: send the line "unsubscribe linux-kernel" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html Please read the FAQ at http://www.tux.org/lkml/