All of lore.kernel.org
 help / color / mirror / Atom feed
From: Andrew Lunn <andrew@lunn.ch>
To: Igor Russkikh <Igor.Russkikh@aquantia.com>
Cc: "netdev@vger.kernel.org" <netdev@vger.kernel.org>,
	"davem@davemloft.net" <davem@davemloft.net>,
	"richardcochran@gmail.com" <richardcochran@gmail.com>,
	Egor Pomozov <Egor.Pomozov@aquantia.com>,
	Dmitry Bezrukov <Dmitry.Bezrukov@aquantia.com>,
	Simon Edelhaus <sedelhaus@marvell.com>,
	Pavel Belous <Pavel.Belous@aquantia.com>
Subject: Re: [PATCH v2 net-next 11/12] net: aquantia: add support for PIN funcs
Date: Tue, 15 Oct 2019 14:35:39 +0200	[thread overview]
Message-ID: <20191015123539.GL19861@lunn.ch> (raw)
In-Reply-To: <0142dcd43c84ab7bc26076c3eb48d43e67d195cc.1570531332.git.igor.russkikh@aquantia.com>

On Tue, Oct 08, 2019 at 10:56:59AM +0000, Igor Russkikh wrote:
> From: Dmitry Bezrukov <dmitry.bezrukov@aquantia.com>
> 
> Depending on FW configuration we can manage from 0 to 3 PINs for periodic output
> and from 0 to 1 ext ts PIN for getting TS for external event.
> 
> Ext TS PIN functionality is implemented via periodic timestamps polling
> directly from PHY, because right now there is now way to received
> PIN trigger interrupt from phy.

Hi Igor

Is that a hardware limitation? Is the PHY interrupt not connected at
all? Could future cards have the interrupt connected?

> +static int aq_ptp_hw_pin_conf(struct aq_nic_s *aq_nic, u32 pin_index, u64 start,
> +			      u64 period)
> +{
> +	if (period)
> +		netdev_info(aq_nic->ndev,
> +			    "Enable GPIO %d pulsing, start time %llu, period %u\n",
> +			    pin_index, start, (u32)period);
> +	else
> +		netdev_info(aq_nic->ndev,
> +			    "Disable GPIO %d pulsing, start time %llu, period %u\n",
> +			    pin_index, start, (u32)period);

_info is too high a log level. _dbg would be better..


> +
> +	/* Notify hardware of request to being sending pulses.
> +	 * If period is ZERO then pulsen is disabled.
> +	 */
> +	mutex_lock(&aq_nic->fwreq_mutex);
> +	aq_nic->aq_hw_ops->hw_gpio_pulse(aq_nic->aq_hw, pin_index,
> +					 start, (u32)period);
> +	mutex_unlock(&aq_nic->fwreq_mutex);
> +
> +	return 0;
> +}
> +
> +static int aq_ptp_perout_pin_configure(struct ptp_clock_info *ptp,
> +				       struct ptp_clock_request *rq, int on)
> +{
> +	struct aq_ptp_s *aq_ptp = container_of(ptp, struct aq_ptp_s, ptp_info);
> +	struct ptp_clock_time *t = &rq->perout.period;
> +	struct ptp_clock_time *s = &rq->perout.start;
> +	struct aq_nic_s *aq_nic = aq_ptp->aq_nic;
> +	u64 start, period;
> +	u32 pin_index = rq->perout.index;
> +
> +	/* verify the request channel is there */
> +	if (pin_index >= ptp->n_per_out)
> +		return -EINVAL;
> +
> +	/* we cannot support periods greater
> +	 * than 4 seconds due to reg limit
> +	 */
> +	if (t->sec > 4 || t->sec < 0)
> +		return -ERANGE;
> +
> +	/* convert to unsigned 64b ns,
> +	 * verify we can put it in a 32b register
> +	 */
> +	period = on ? t->sec * NSEC_PER_SEC + t->nsec : 0;
> +
> +	/* verify the value is in range supported by hardware */
> +	if (period > U32_MAX)
> +		return -ERANGE;

What is U32_MAX ns? Is it greater than 4 seconds?

     Andrew

  parent reply	other threads:[~2019-10-15 12:35 UTC|newest]

Thread overview: 32+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-10-08 10:56 [PATCH v2 net-next 00/12] net: aquantia: PTP support for AQC devices Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 01/12] net: aquantia: PTP skeleton declarations and callbacks Igor Russkikh
2019-10-12 18:49   ` Richard Cochran
2019-10-12 18:56   ` Richard Cochran
2019-10-08 10:56 ` [PATCH v2 net-next 02/12] net: aquantia: unify styling of bit enums Igor Russkikh
2019-10-14 15:50   ` Andrew Lunn
2019-10-08 10:56 ` [PATCH v2 net-next 03/12] net: aquantia: add basic ptp_clock callbacks Igor Russkikh
2019-10-12 19:02   ` Richard Cochran
2019-10-14 11:43     ` Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 04/12] net: aquantia: add PTP rings infrastructure Igor Russkikh
2019-10-14 16:14   ` Andrew Lunn
2019-10-15  9:02     ` Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 05/12] net: aquantia: styling fixes on ptp related functions Igor Russkikh
2019-10-14 16:16   ` Andrew Lunn
2019-10-08 10:56 ` [PATCH v2 net-next 06/12] net: aquantia: implement data PTP datapath Igor Russkikh
2019-10-14 16:36   ` Andrew Lunn
2019-10-15  9:09     ` Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 07/12] net: aquantia: rx filters for ptp Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 08/12] net: aquantia: add support for ptp ioctls Igor Russkikh
2019-10-14 16:23   ` Andrew Lunn
2019-10-15  9:06     ` Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 09/12] net: aquantia: implement get_ts_info ethtool Igor Russkikh
2019-10-12 19:07   ` Richard Cochran
2019-10-14 11:45     ` Igor Russkikh
2019-10-08 10:56 ` [PATCH v2 net-next 10/12] net: aquantia: add support for Phy access Igor Russkikh
2019-10-15 12:19   ` Andrew Lunn
2019-10-16 13:12     ` Igor Russkikh
2019-10-16 19:38       ` Andrew Lunn
2019-10-08 10:56 ` [PATCH v2 net-next 11/12] net: aquantia: add support for PIN funcs Igor Russkikh
2019-10-12 19:25   ` Richard Cochran
2019-10-15 12:35   ` Andrew Lunn [this message]
2019-10-08 10:57 ` [PATCH v2 net-next 12/12] net: aquantia: adding atlantic ptp maintainer Igor Russkikh

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20191015123539.GL19861@lunn.ch \
    --to=andrew@lunn.ch \
    --cc=Dmitry.Bezrukov@aquantia.com \
    --cc=Egor.Pomozov@aquantia.com \
    --cc=Igor.Russkikh@aquantia.com \
    --cc=Pavel.Belous@aquantia.com \
    --cc=davem@davemloft.net \
    --cc=netdev@vger.kernel.org \
    --cc=richardcochran@gmail.com \
    --cc=sedelhaus@marvell.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.