Re: [PATCH v3 35/36] platform/x86: intel_pmc_ipc: Convert to MFD

From: Lee Jones
Date: Mon Jan 20 2020 - 06:13:01 EST


> Adding Mark (the Regmap Maintainer) to the conversation.

Fingers faster than brain!

I'll actually add him this time - sorry for the noise!

> On Mon, 20 Jan 2020, Mika Westerberg wrote:
> > On Fri, Jan 17, 2020 at 11:32:02AM +0000, Lee Jones wrote:
> > > [...]
> > >
> > > > > Looks like Regmap could save you the trouble here.
> > > >
> > > > Agreed.
> > >
> > > Great.
> >
> > I started to implement regmap for this driver but I run into some
> > problems. The registers we read/write are all 64-bit and accessed trough
> > readq/writeq accessors. However, the regmap API takes unsigned int:
> >
> > int regmap_write(struct regmap *map, unsigned int reg, unsigned int val);
> > int regmap_read(struct regmap *map, unsigned int reg, unsigned int *val);
> >
> > I'm not sure how we can take advantage of this API with the 64-bit
> > registers. There are "raw" versions of the functions that take void
> > pointer like:
> >
> > int regmap_raw_read(struct regmap *map, unsigned int reg,
> > void *val, size_t val_len);
> >
> > but looking at the implementation if the register gets cached it
> > internally does reads in unsigned int sized chunks (if I understand it
> > right).
> >
> > Any ideas how this can be done?

Mark,

Does Regmap support 64bit accesses?

--
Lee Jones [æçæ]
Linaro Services Technical Lead
Linaro.org â Open source software for ARM SoCs
Follow Linaro: Facebook | Twitter | Blog