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

From: Lee Jones
Date: Mon Jan 20 2020 - 06:11:47 EST


Adding Mark (the Regmap Maintainer) to the conversation.

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