[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <69ee8a60-3134-4b7a-8217-be9bbc79a8fa@lunn.ch>
Date: Fri, 27 Jun 2025 09:46:26 +0200
From: Andrew Lunn <andrew@...n.ch>
To: Wen Gu <guwen@...ux.alibaba.com>
Cc: richardcochran@...il.com, andrew+netdev@...n.ch, davem@...emloft.net,
edumazet@...gle.com, kuba@...nel.org, pabeni@...hat.com,
xuanzhuo@...ux.alibaba.com, dust.li@...ux.alibaba.com,
netdev@...r.kernel.org, linux-kernel@...r.kernel.org
Subject: Re: [PATCH net-next v2] ptp: add Alibaba CIPU PTP clock driver
> +#define DRV_VER_MAJOR 1
> +#define DRV_VER_MINOR 3
> +#define DRV_VER_SUBMINOR 0
> +#define LINUX_UPSTREAM 0x1F
> +static int ptp_cipu_set_drv_version(struct ptp_cipu_ctx *ptp_ctx)
> +{
> + struct ptp_cipu_regs *regs = &ptp_ctx->regs;
> + int version, patchlevel, sublevel;
> + u32 env_ver, drv_ver;
> + int rc;
> +
> + if (sscanf(utsname()->release, "%u.%u.%u",
> + &version, &patchlevel, &sublevel) != 3)
> + return -EINVAL;
> + sublevel = sublevel < 0xFF ? sublevel : 0xFF;
> +
> + env_ver = (LINUX_UPSTREAM << 27) | (version << 16) |
> + (patchlevel << 8) | sublevel;
> +
> + rc = cipu_iowrite32_and_check(ptp_ctx->reg_addr +
> + PTP_CIPU_REG(env_ver),
> + env_ver, ®s->env_ver);
> + if (rc)
> + return rc;
> +
> + drv_ver = (DRV_TYPE << 24) | (DRV_VER_MAJOR << 16) |
> + (DRV_VER_MINOR << 8) | DRV_VER_SUBMINOR;
> +
> + return cipu_iowrite32_and_check(ptp_ctx->reg_addr +
> + PTP_CIPU_REG(drv_ver), drv_ver,
> + ®s->drv_ver);
> +}
Please could you explain what this is doing.
Andrew
Powered by blists - more mailing lists