[PATCH v10 06/12] peci: Add a PECI adapter driver for Aspeed AST24xx/AST25xx

Joel Stanley joel at jms.id.au
Wed Jan 16 10:14:26 AEDT 2019


On Tue, 15 Jan 2019 at 09:49, Jae Hyun Yoo <jae.hyun.yoo at linux.intel.com> wrote:
> >> +       /**
> >> +        * We check that the regmap works on this very first access,
> >> +        * but as this is an MMIO-backed regmap, subsequent regmap
> >> +        * access is not going to fail and we skip error checks from
> >> +        * this point.
> >
> > Why do you use a regmap for this driver? AFAICT it has exclusive
> > ownership over the register range it uses, which is sometimes a reason
> > to use a regmap over a mmio region.
> >
> > I'm not sure if you've ever disassembled drivers/base/regmap/regmap.o,
> > but if you do you will find that a single mmio read turns into
> > hundreds of instructions.
> >
>
> No specific reason. regmap makes some overhead as you mentioned but it
> also provides some advantages on access simplification, endianness
> handling and register dump at run time. I would not insist using of
> regmap if you prefer using of raw readl and writel. Do you want replace
> regmap with readl and writel in this driver?

I think that would be best.

You raise some good points about the regmap API, and you're not alone
in using it for these reasons. We should look in to providing a
suitable API without the overhead, or making regmap more efficient for
the mmio case.


More information about the openbmc mailing list