lkml.org 
[lkml]   [2014]   [Feb]   [11]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
Date
From
SubjectRe: [PATCH v2 1/2] dp83640: Support a configurable number of periodic outputs
On Tue, Feb 11, 2014 at 04:29:21PM +0100, Stefan Sørensen wrote:

> diff --git a/drivers/net/phy/dp83640.c b/drivers/net/phy/dp83640.c
> index 547725f..d4fe95d 100644
> --- a/drivers/net/phy/dp83640.c
> +++ b/drivers/net/phy/dp83640.c
> @@ -38,15 +38,11 @@
> #define LAYER4 0x02
> #define LAYER2 0x01
> #define MAX_RXTS 64
> -#define N_EXT_TS 6
> +#define N_EXT 8
> #define PSF_PTPVER 2
> #define PSF_EVNT 0x4000
> #define PSF_RX 0x2000
> #define PSF_TX 0x1000
> -#define EXT_EVENT 1

Regarding this EXT_EVENT thing ...

> @@ -430,12 +419,12 @@ static int ptp_dp83640_enable(struct ptp_clock_info *ptp,
> switch (rq->type) {
> case PTP_CLK_REQ_EXTTS:
> index = rq->extts.index;
> - if (index < 0 || index >= N_EXT_TS)
> + if (index < 0 || index >= n_ext_ts)
> return -EINVAL;
> - event_num = EXT_EVENT + index;
> + event_num = index;

there was a mapping between the "event numbers" and the external time
stamp channels. I don't remember off the top of my head why this these
two differ by one, but there was a good reason.

Are you sure this is still working with this change?

I am especially wondering about the event decoding here:

> @@ -642,7 +631,7 @@ static void recalibrate(struct dp83640_clock *clock)
>
> static inline u16 exts_chan_to_edata(int ch)
> {
> - return 1 << ((ch + EXT_EVENT) * 2);
> + return 1 << ((ch) * 2);
> }

Maybe I am just paranoid, but can you remind me how these event
numbers are supposed to work, before and after the change?

Thanks,
Richard
--
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/

\
 
 \ /
  Last update: 2014-02-12 10:01    [W:0.070 / U:0.104 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site