[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <d657f059d384419fe4df02580a4af9cf69e0e9c2.camel@redhat.com>
Date: Tue, 05 Dec 2023 10:28:56 +0100
From: Paolo Abeni <pabeni@...hat.com>
To: Simon Horman <horms@...nel.org>, Min Li <lnimi@...mail.com>
Cc: richardcochran@...il.com, lee@...nel.org, linux-kernel@...r.kernel.org,
netdev@...r.kernel.org, Min Li <min.li.xe@...esas.com>
Subject: Re: [PATCH net-next v6 1/6] ptp: clockmatrix: support 32-bit
address space
On Tue, 2023-12-05 at 09:24 +0000, Simon Horman wrote:
> On Thu, Nov 30, 2023 at 01:46:29PM -0500, Min Li wrote:
> > From: Min Li <min.li.xe@...esas.com>
> >
> > We used to assume 0x2010xxxx address. Now that
> > we need to access 0x2011xxxx address, we need
> > to support read/write the whole 32-bit address space.
> >
> > Signed-off-by: Min Li <min.li.xe@...esas.com>
>
> ...
>
> > diff --git a/drivers/ptp/ptp_clockmatrix.c b/drivers/ptp/ptp_clockmatrix.c
> > index f6f9d4adce04..f8556627befa 100644
> > --- a/drivers/ptp/ptp_clockmatrix.c
> > +++ b/drivers/ptp/ptp_clockmatrix.c
> > @@ -41,8 +41,8 @@ module_param(firmware, charp, 0);
> > static int _idtcm_adjfine(struct idtcm_channel *channel, long scaled_ppm);
> >
> > static inline int idtcm_read(struct idtcm *idtcm,
> > - u16 module,
> > - u16 regaddr,
> > + u32 module,
> > + u32 regaddr,
> > u8 *buf,
> > u16 count)
> > {
> > @@ -50,8 +50,8 @@ static inline int idtcm_read(struct idtcm *idtcm,
> > }
> >
> > static inline int idtcm_write(struct idtcm *idtcm,
> > - u16 module,
> > - u16 regaddr,
> > + u32 module,
> > + u32 regaddr,
> > u8 *buf,
> > u16 count)
> > {
>
> Hi Min Li,
>
> My understanding of Paolo's review of v5 was that it would be cleaner to:
>
> 1. Leave the type of the module parameter as u16
> 2. Update the type of the regaddr parameter to u32
[almost over the air conflict here ;) ]
I think the module parameter as u32 is needed, as later macro
definitions will leverage that.
>
> And...
>
> ...
>
> > @@ -553,11 +554,11 @@ static int _sync_pll_output(struct idtcm *idtcm,
> > val = SYNCTRL1_MASTER_SYNC_RST;
> >
> > /* Place master sync in reset */
> > - err = idtcm_write(idtcm, 0, sync_ctrl1, &val, sizeof(val));
> > + err = idtcm_write(idtcm, sync_ctrl1, 0, &val, sizeof(val));
> > if (err)
> > return err;
> >
> > - err = idtcm_write(idtcm, 0, sync_ctrl0, &sync_src, sizeof(sync_src));
> > + err = idtcm_write(idtcm, sync_ctrl0, 0, &sync_src, sizeof(sync_src));
> > if (err)
> > return err;
> >
>
> ... avoid the need for changes like the two above.
This part is correct/what I meant ;)
Cheers,
Paolo
Powered by blists - more mailing lists