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


Groups > linux.kernel > #1207996 > unrolled thread

Re: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator

Started byMark Brown <broonie@kernel.org>
First post2015-08-15 04:20 +0200
Last post2015-08-19 20:20 +0200
Articles 3 — 2 participants

Back to article view | Back to linux.kernel

This discussion starts older than the indexed window; earlier articles aren't shown. The article labeled Started by below is the oldest one visible, not the original post.


Contents

  Re: [PATCH 1/2] regulator: pbias: use untranslated address to  program pbias regulator Mark Brown <broonie@kernel.org> - 2015-08-15 04:20 +0200
    Re: [PATCH 1/2] regulator: pbias: use untranslated address to program  pbias regulator Kishon Vijay Abraham I <kishon@ti.com> - 2015-08-18 08:00 +0200
      Re: [PATCH 1/2] regulator: pbias: use untranslated address to  program pbias regulator Mark Brown <broonie@kernel.org> - 2015-08-19 20:20 +0200

#1207996 — Re: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator

FromMark Brown <broonie@kernel.org>
Date2015-08-15 04:20 +0200
SubjectRe: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator
Message-ID<pXzeG-3OQ-33@gated-at.bofh.it>

[Multipart message — attachments visible in raw view] — view raw

On Mon, Jul 27, 2015 at 04:54:09PM +0530, Kishon Vijay Abraham I wrote:

> vsel_reg and enable_reg of the pbias regulator descriptor should actually
> have the offset from syscon. However after the pbias device tree node

I'm having a hard time understanding this statement, sorry.  What makes
you say that they "shouild actually have the offset from syscon"?  What
is the problem that this is supposed to fix?

> is moved as a child node of syscon, vsel_reg and enable_reg has the
> absolute address because of the address translation that happens while
> creating device from device tree node.
> So avoid using platform_get_resource and use of_get_address in order to
> get only the offset (untranslated address) and populate these in
> vsel_reg and enable_reg.

This sounds like we're going in the wrong direction, we're moving from a
more generic API to a firmware specific one.  Why is this a good fix?

[toc] | [next] | [standalone]


#1209055 — Re: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator

FromKishon Vijay Abraham I <kishon@ti.com>
Date2015-08-18 08:00 +0200
SubjectRe: [PATCH 1/2] regulator: pbias: use untranslated address to program pbias regulator
Message-ID<pYI6d-5Co-3@gated-at.bofh.it>
In reply to#1207996
Hi Mark Brown,

On Friday 14 August 2015 11:30 PM, Mark Brown wrote:
> On Mon, Jul 27, 2015 at 04:54:09PM +0530, Kishon Vijay Abraham I wrote:
> 
>> vsel_reg and enable_reg of the pbias regulator descriptor should actually
>> have the offset from syscon. However after the pbias device tree node
> 
> I'm having a hard time understanding this statement, sorry.  What makes
> you say that they "shouild actually have the offset from syscon"?  What
> is the problem that this is supposed to fix?

The register to program pbias regulator is 0x4A002E00. The syscon base address
is 0x4a002000. So the vsel_reg and enable_reg should have the offset from
syscon base address. regulator_enable_regmap gets the base address from
'regmap' and offset from 'enable_reg' in order to program the pbias regulator.

But without this patch vsel_reg and enable_reg have the absolute address
instead of just the offset.
> 
>> is moved as a child node of syscon, vsel_reg and enable_reg has the
>> absolute address because of the address translation that happens while
>> creating device from device tree node.
>> So avoid using platform_get_resource and use of_get_address in order to
>> get only the offset (untranslated address) and populate these in
>> vsel_reg and enable_reg.
> 
> This sounds like we're going in the wrong direction, we're moving from a
> more generic API to a firmware specific one.  Why is this a good fix?

platform_get_resource can be used if we need the absolute address but here we
need only the offset.

Thanks
Kishon
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

[toc] | [prev] | [next] | [standalone]


#1209975

FromMark Brown <broonie@kernel.org>
Date2015-08-19 20:20 +0200
Message-ID<pZg7U-5iE-9@gated-at.bofh.it>
In reply to#1209055

[Multipart message — attachments visible in raw view] — view raw

On Tue, Aug 18, 2015 at 11:23:54AM +0530, Kishon Vijay Abraham I wrote:
> On Friday 14 August 2015 11:30 PM, Mark Brown wrote:
> > On Mon, Jul 27, 2015 at 04:54:09PM +0530, Kishon Vijay Abraham I wrote:

> >> is moved as a child node of syscon, vsel_reg and enable_reg has the
> >> absolute address because of the address translation that happens while
> >> creating device from device tree node.
> >> So avoid using platform_get_resource and use of_get_address in order to
> >> get only the offset (untranslated address) and populate these in
> >> vsel_reg and enable_reg.

> > This sounds like we're going in the wrong direction, we're moving from a
> > more generic API to a firmware specific one.  Why is this a good fix?

> platform_get_resource can be used if we need the absolute address but here we
> need only the offset.

So substract this address from the start of the resource to get the
offset?  Or provide a wrapper function in the resource code which does
that.  What you're saying above is pretty much "this happens to work"
but my concern is that the solution that happens to work isn't really
what we want to do.

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web