Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1363379

Re: regmap: mmio: regression in pre-v4.6-rc1

From Alexander Stein <alexander.stein@systec-electronic.com>
Newsgroups linux.kernel
Subject Re: regmap: mmio: regression in pre-v4.6-rc1
Date 2016-03-23 13:00 +0100
Message-ID <rfPCa-2QN-15@gated-at.bofh.it> (permalink)
References <rfMEi-Or-7@gated-at.bofh.it> <rfOZs-2wg-19@gated-at.bofh.it> <rfPiO-2K3-11@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Wednesday 23 March 2016 11:39:39, Mark Brown wrote:
> On Wed, Mar 23, 2016 at 12:16:13PM +0100, Alexander Stein wrote:
> > On Wednesday 23 March 2016 10:34:15, Mark Brown wrote:
> 
> > > Are you *sure* that this is actually big endian?  Are you basing this on
> > > documentation or on what happened to work for you in the past.
> 
> > Please refer to QorIQ LS1021A Reference Manual (REV 0) table 2.2 (CCSR block 
> > base address map) which states that this peripheral (among _most_ but not all) 
> > requires byte swapping. Same for DSPI.
> > Yeah, it sounds strange.
> 
> I don't have that document.

Nothing wrong with that, I just wanted to state where it is actually documented.

> > > Have you tried tracing through the code to see what ends up happening to
> > > the I/O?  It should come out using your architecture's big endian
> > > accessors.
> 
> > In regmap_mmio_gen_context ctx->reg_read is set to regmap_mmio_read32le and 
> > ctx->reg_write to regmap_mmio_write32le respectively.
> 
> So how does that happen then?  We set these values if the bus is
> default, little or native endian but if it's big endian we go into a
> completely different case...

Well, in regmap_mmio_gen_context config->reg_format_endian is still set to REGMAP_ENDIAN_DEFAULT. of_syscon_register sets config.val_format_endian (notice val_ instead of reg_) depending on "big-endian" (or "little-endian") property.
I'm kinda confused regarding reg_format_endian and val_format_endian. Dunno what should be set in which way.

Best regards,
Alexander

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

regmap: mmio: regression in pre-v4.6-rc1 Alexander Stein <alexander.stein@systec-electronic.com> - 2016-03-23 09:50 +0100
  Re: regmap: mmio: regression in pre-v4.6-rc1 Alexander Stein <alexander.stein@systec-electronic.com> - 2016-03-23 10:50 +0100
  Re: regmap: mmio: regression in pre-v4.6-rc1 Mark Brown <broonie@kernel.org> - 2016-03-23 11:40 +0100
    Re: regmap: mmio: regression in pre-v4.6-rc1 Alexander Stein <alexander.stein@systec-electronic.com> - 2016-03-23 12:20 +0100
      Re: regmap: mmio: regression in pre-v4.6-rc1 Mark Brown <broonie@kernel.org> - 2016-03-23 12:40 +0100
        Re: regmap: mmio: regression in pre-v4.6-rc1 Alexander Stein <alexander.stein@systec-electronic.com> - 2016-03-23 13:00 +0100
          Re: regmap: mmio: regression in pre-v4.6-rc1 Mark Brown <broonie@kernel.org> - 2016-03-23 13:10 +0100

csiph-web