Re: [PATCH misc v2 2/2] misc: Add Renesas Synchronization Management Unit (SMU) support

From: Greg KH
Date: Thu Sep 16 2021 - 11:39:53 EST


On Thu, Sep 16, 2021 at 03:33:06PM +0000, Min Li wrote:
>
>
> > -----Original Message-----
> > From: Greg KH <gregkh@xxxxxxxxxxxxxxxxxxx>
> > Sent: September 16, 2021 1:26 AM
> > To: Min Li <min.li.xe@xxxxxxxxxxx>
> > Cc: arnd@xxxxxxxx; derek.kiernan@xxxxxxxxxx; dragan.cvetic@xxxxxxxxxx;
> > linux-kernel@xxxxxxxxxxxxxxx; lee.jones@xxxxxxxxx
> > Subject: Re: [PATCH misc v2 2/2] misc: Add Renesas Synchronization
> > Management Unit (SMU) support
> >
> > On Wed, Sep 15, 2021 at 02:47:09PM -0400, min.li.xe@xxxxxxxxxxx wrote:
> > > From: Min Li <min.li.xe@xxxxxxxxxxx>
> > >
> > > This driver is developed for the IDT ClockMatrix(TM) and 82P33xxx
> > > families of timing and synchronization devices.It will be used by
> > > Renesas PTP Clock Manager for Linux (pcm4l) software to provide
> > > support to GNSS assisted partial timing support (APTS) and other
> > networking timing functions.
> >
> > Where is that software?
>
> https://www.renesas.com/us/en/software-tool/ptp-clock-manager-linux

Please put that link in the changelog comment and in the .c code as well
so that people know where to find it.

> >
> > Why is this new api not a standard one?
> >
>
> There is no actual standard for the GNSS assisted partial timing support (APTS)
> In terms of Linux kernel API

Then make one! :)

> > What is the standard here?
> >
> > What do other devices do and why is this a new api?
> >
>
> There is really no standard for APTS and different company has its own hw/sw solutions

But userspace has to all deal with this in a standard way somehow,
right? What libraries and apis do they interact with there?

> > > Current version provides kernel API's to support the following
> > > functions -set combomode to enable SYNCE clock support -read dpll's
> > > state to determine if the dpll is locked to the GNSS channel -read
> > > dpll's ffo (fractional frequency offset) in ppqt
> >
> > Why do all of these have to be in the kernel at all?
> >
>
> Because all these API's need spi/i2c accesses to the RSMU card and spi/i2c accesses have been
> abstracted to the MFD driver in kernel

Why not just do this all from userspace then? You can have spi/i2c
userspace code, right? Why does this have to be a kernel driver?

thanks,

greg k-h