Hi Richard,

Thank you for your detailed feedback. I'm working on it now, but I feel it will 
take a little extra time to complete. Therefor I'm planning to remove PTP 
support from this patch series, and resubmit it in a new patch later.

I also have a few questions below.

> -----Original Message-----
> From: Richard Cochran [mailto:richardcoch...@gmail.com]
> Sent: Thursday, July 12, 2018 11:32 PM
> To: Bryan Whitehead - C21958 <bryan.whiteh...@microchip.com>
> Cc: da...@davemloft.net; netdev@vger.kernel.org; UNGLinuxDriver
> <unglinuxdri...@microchip.com>
> Subject: Re: [PATCH v2 net-next 9/9] lan743x: Add PTP support
> 
...
> > +   if (cleanup) {
> > +           lan743x_ptp_unrequest_tx_timestamp(tx->adapter);
> > +           dev_kfree_skb(buffer_info->skb);
> > +   } else {
> > +           lan743x_ptp_tx_timestamp_skb(tx->adapter,
> > +                                        buffer_info->skb,
> > +                                        (buffer_info->flags &
> > +
> TX_BUFFER_INFO_FLAG_IGNORE_SYNC)
> > +                                        != 0);
> 
> This is poor coding style.  Please find a better way.

Can you clarify what is poor and what would be better?
For example, should I change "X != 0" to "X ? true : false".

> > +#ifdef CONFIG_PTP_1588_CLOCK
> > +static int lan743x_ptp_enable_pps(struct lan743x_adapter *adapter) {
> > +   struct lan743x_ptp *ptp = &adapter->ptp;
> > +   u32 current_seconds = 0;
> > +   u32 target_seconds = 0;
> > +   u32 general_config = 0;
> > +   int result = -ENODEV;
> > +   int pps_bit = 0;
> 
> So this function is really *not* implementing the PTP_CLK_REQ_PPS feature
> but rather the PTP_CLK_REQ_PEROUT with a period of once per second.
> 
> PTP_CLK_REQ_PPS means placing a PPS event into the kernel's "hardpps"
> subsystem by calling ptp_clock_event().
> 
> I'm sorry this isn't really documented.  I should fix that.
> 
> If you HW can output arbitrary signals, then you should implement
> PTP_CLK_REQ_PEROUT.  In any case, you shouldn't advertise the
> ptp_clock_info.pps capability.

So you mean PPS is not intended to generate a physical signal?
It is only intended to call ptp_clock_event?
I can configure the hardware to generate an interrupt each second and then call 
ptp_clock_event. Would that satisfy the pps requirements?

Regarding PTP_CLK_REQ_PEROUT. Is that intended for physical signals?

Thanks,
Bryan

Reply via email to