Subject: Re: [PATCH net 1/4] ptp: ptp_idt82p33: update to support adjphase

From: Pavel Machek <[email-masked]>
Date: Sat, 17 Oct 2020 12:33:54 +0200

Hi!

> +static int idt82p33_adjwritephase(struct ptp_clock_info *ptp, s32 
> +offsetNs) {

adj_write_phase?

> +	struct idt82p33_channel *channel =
> +		container_of(ptp, struct idt82p33_channel, caps);
> +	struct idt82p33 *idt82p33 = channel->idt82p33;
> +	s64 offsetInFs;
> +	s64 offsetRegVal;
> +	u8 val[4] = {0};
> +	int err;
> +
> +	offsetInFs = (s64)(-offsetNs) * 1000000;
> +
> +	if (offsetInFs > WRITE_PHASE_OFFSET_LIMIT)
> +		offsetInFs = WRITE_PHASE_OFFSET_LIMIT;
> +	else if (offsetInFs < -WRITE_PHASE_OFFSET_LIMIT)
> +		offsetInFs = -WRITE_PHASE_OFFSET_LIMIT;

I'm sure we have macro for this.

> +	/* Convert from phaseOffsetInFs to register value */
> +	offsetRegVal = ((offsetInFs * 1000) / IDT_T0DPLL_PHASE_RESOL);
> +
> +	val[0] = offsetRegVal & 0xFF;
> +	val[1] = (offsetRegVal >> 8) & 0xFF;
> +	val[2] = (offsetRegVal >> 16) & 0xFF;
> +	val[3] = (offsetRegVal >> 24) & 0x1F;
> +	val[3] |= PH_OFFSET_EN;

ThisIsReally far away from usual coding style.

Best regards,
								Pavel
-- 
http://www.livejournal.com/~pavelmachek