Received: by 2002:a05:6358:d09b:b0:dc:cd0c:909e with SMTP id jc27csp2058365rwb; Wed, 30 Nov 2022 01:32:53 -0800 (PST) X-Google-Smtp-Source: AA0mqf6SqkME/DAs4U3mpZJUaJ9YgTIYOwQX8zRX4GTmSja+x08AMtRLy3NoTO+g8ZbbNUUw38Yo X-Received: by 2002:aa7:d68d:0:b0:46a:e912:fbcd with SMTP id d13-20020aa7d68d000000b0046ae912fbcdmr18073222edr.378.1669800772853; Wed, 30 Nov 2022 01:32:52 -0800 (PST) ARC-Seal: i=1; a=rsa-sha256; t=1669800772; cv=none; d=google.com; s=arc-20160816; b=m+Q/g85JjSJKJxBrBEbBIU4Q7iedvHcbHc8ydkXAzBtvnzJcYwK4tzcAxxm0xwZkow rIfutTizcJZrIpqv7irJhHjbHs8w2P3I/lSaX9YNVarSJEh5pA/n5uJYN7ctujK9SpTE zBuQQh4LqlN8XCW4BHMVoCf4Gnq2pyUaBQTFRZnrSEu+JAXEgrWuHmV7OiXlgW2YPoGf iwzG+WeyzkN0yZ94IoEVmIkKpfvKLMrx/hwfG25tP4DYan5P9kaDoAiK5vYMjAljsZ4Q DVzGYDkwgRrkjSDtlct3zP+5CjgBFovmoBMmYhnW4UOvBQibgJhJY7d3hCuLM+hpDphZ irJQ== ARC-Message-Signature: i=1; a=rsa-sha256; c=relaxed/relaxed; d=google.com; s=arc-20160816; h=list-id:precedence:cc:to:subject:message-id:date:from:in-reply-to :references:mime-version:dkim-signature; bh=cbVbgsH3XRTQv4786z5ER1yQeEoNdKbadkVm9l1r2WM=; b=0oZOWV/xw/eLv361rU0eGGcFFKcfxxbOhbeEMJChLYVQbFDLkaN1DkRh6DpjGYMHly P9sJ4bFUJutI4xK0DD1p+57Gzgf7WSdrk8nEcx3pVbAhVCtH4muqdo9DgJcH/nI361MB DSuQAPLQLm1abS972n/d9WIGZvSTSwcHTCb8I2yaw/AJSvk31lljGffzXCA3YuiziUKo 1bwSCfVrfmTxrb8P+Z/+tPnV/OwHIeAMcbMXHeWKGGkqutqfVRagW9vMKwemQjWIMIO1 xDWohGbeeGaHwNCD5rlEwoaLGCIV12KiN7z7qBOe6wK+ickDl252RMTQ7p04C7VHt3WP P5Jg== ARC-Authentication-Results: i=1; mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jpfGnLgK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Return-Path: Received: from out1.vger.email (out1.vger.email. [2620:137:e000::1:20]) by mx.google.com with ESMTP id hp36-20020a1709073e2400b007adcc8fb7a0si950599ejc.399.2022.11.30.01.32.31; Wed, 30 Nov 2022 01:32:52 -0800 (PST) Received-SPF: pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) client-ip=2620:137:e000::1:20; Authentication-Results: mx.google.com; dkim=pass header.i=@linaro.org header.s=google header.b=jpfGnLgK; spf=pass (google.com: domain of linux-kernel-owner@vger.kernel.org designates 2620:137:e000::1:20 as permitted sender) smtp.mailfrom=linux-kernel-owner@vger.kernel.org; dmarc=pass (p=NONE sp=NONE dis=NONE) header.from=linaro.org Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S229853AbiK3JBS (ORCPT + 84 others); Wed, 30 Nov 2022 04:01:18 -0500 Received: from lindbergh.monkeyblade.net ([23.128.96.19]:35040 "EHLO lindbergh.monkeyblade.net" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S233823AbiK3JBD (ORCPT ); Wed, 30 Nov 2022 04:01:03 -0500 Received: from mail-yb1-xb2c.google.com (mail-yb1-xb2c.google.com [IPv6:2607:f8b0:4864:20::b2c]) by lindbergh.monkeyblade.net (Postfix) with ESMTPS id 066C145EC2 for ; Wed, 30 Nov 2022 01:01:02 -0800 (PST) Received: by mail-yb1-xb2c.google.com with SMTP id c140so20688412ybf.11 for ; Wed, 30 Nov 2022 01:01:01 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=linaro.org; s=google; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:from:to:cc:subject:date:message-id:reply-to; bh=cbVbgsH3XRTQv4786z5ER1yQeEoNdKbadkVm9l1r2WM=; b=jpfGnLgK/1cG6bBQcrKLMuOQiKzdWPOvTlsnIw4uqyLKQB3Y35J6A+P9dz0cdrlcqL HZhqFeQZeMvQvtxffy0pO4SFOOtTnfGiHz1pI4HXacAFsoCyixjxNkZeTRAkvwOWNt8H 0oFPHx+yka4PGucML2TC7WFhenIczYDCYPuKrGShpC2xUii2XIkDcdTbN6tX7QI7hU6d Z3jHz5Ke9gOYxM1shAuaNoHaGfnqgBrSo0Lc/qVPlibA/20nT3U+BgiwxJlNmeAO0Y1x fZyiy16VZspf44UMuMkocJp6vfI/JNBdV1uvZzKxBJXgccR5LLuX1gMY3az9/Lp36mzj jdCQ== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20210112; h=cc:to:subject:message-id:date:from:in-reply-to:references :mime-version:x-gm-message-state:from:to:cc:subject:date:message-id :reply-to; bh=cbVbgsH3XRTQv4786z5ER1yQeEoNdKbadkVm9l1r2WM=; b=PgTVr4QxkYH+EUhZEp458EiArt8azdIW1CgSqRXgeOHwOPcLdUMj2EqCNzWP4ke7Id yP0BT1Q4LnNWRlAEg47gWQwmpM2fx5mEARzE7aq2mbwteTTYxLHby97M74Vp+H6x0K1e epQ+J5g9gAqc6CrHKel3t1ZSaI6px4l+UGS/tdTJ1WlM1RAUdlMq0naOOr7y12cCW5ul KvyQXxlOXX67TAKGljAV6mlKVZE3Wpmk9uEtM9vkzBq8u6ZJB271je/WoEBwWN9GHOsJ IG5i4Cg0xUAeyj8h2TYu4jtORsCJr10T17mOdKY8nCu9PinW2kjIvUeedCJRVm5AMCdc M4qg== X-Gm-Message-State: ANoB5pmkbvj/5zsWi5Zj0dx6K91aSMdIGVcAqOLB0ku8Sa5kGVVRlJJx 9VrvORRMqpZ7gKsVen8fJhHT2MA/YIXzRGp+/CjnnVYQJjaTGw== X-Received: by 2002:a25:a241:0:b0:6ee:e865:c2e2 with SMTP id b59-20020a25a241000000b006eee865c2e2mr36593660ybi.206.1669798861231; Wed, 30 Nov 2022 01:01:01 -0800 (PST) MIME-Version: 1.0 References: <7de35859-97ab-8e88-f590-d5851b81773b@nvidia.com> In-Reply-To: From: Linus Walleij Date: Wed, 30 Nov 2022 10:00:49 +0100 Message-ID: Subject: Re: Intel timed i/o driver in HTE To: "N, Pandith" , Johan Hovold Cc: Dipen Patel , "linux-kernel@vger.kernel.org" , "Hall, Christopher S" , "Gross, Mark" , "Sangannavar, Mallikarjunappa" , "D, Lakshmi Sowjanya" , "T R, Thejesh Reddy" , "andriy.shevchenko@linux.intel.com" , "timestamp@lists.linux.dev" Content-Type: text/plain; charset="UTF-8" X-Spam-Status: No, score=-2.1 required=5.0 tests=BAYES_00,DKIM_SIGNED, DKIM_VALID,DKIM_VALID_AU,DKIM_VALID_EF,RCVD_IN_DNSWL_NONE, SPF_HELO_NONE,SPF_PASS autolearn=ham autolearn_force=no version=3.4.6 X-Spam-Checker-Version: SpamAssassin 3.4.6 (2021-04-09) on lindbergh.monkeyblade.net Precedence: bulk List-ID: X-Mailing-List: linux-kernel@vger.kernel.org On Tue, Nov 29, 2022 at 7:10 PM N, Pandith wrote: > Intel timed i/o is mainly intended for couple of functionalities. > 1. Input event capture with timestamping I understand this part, and it is handled by the HTE subsystem. > 2. Generate single shot or periodic pulse train (...) > c. Most importantly, precise time synchronization between devices/sub-systems > Ex : Share precise time from a GPS receiver to the network or > Synchronize processor clock with external signal. So I think this is the actual use case of the output mode. The pulse train output by HTE is to share precise time to GPS receivers. So what about putting that part into drivers/gnss? GNSS Global Navigation Satellite Subsystem like GPS etc If this is the only usecase, that is where it should go, along with the serial or whatever transport driver is used with the GPS. I don't think this is a generic functionality (such as GPIO) at all, but rather a very application-specific use case which will only be used for GPS time synchronization. If the timed output has other use cases - and I mean HAVE other use cases, not COULD HAVE other use cases - then we can discuss generalizations. There is no point of designing upfront abstractions that never get used. Yours, Linus Walleij