Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Matt Sealey
Hi Rob,

On Thu, Apr 16, 2015 at 12:17 PM, Rob Clark  wrote:
> On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
>  wrote:
>
>> But I'm definitely going to discourage companies like Qualcomm
>> deliberately ignoring the existing booting protocols while trying to get
>> their code upstream. This patch series is posted by Qualcomm without
>> providing any technical reason on why they don't want to/couldn't use
>> PSCI (well, I guess there is no technical reason but they may not care
>> much about mainline either).
>
> Sure.. just trying to make sure the wrong people don't end up being
> the ones that suffer.  I would assume/expect that it is at least
> possible for qcom to change firmware/bootloader for their dev boards
> and future devices and whatnot, whether they grumble about it or not.
> But I guess most of what the general public has are devices w/ signed
> fw, which is why "go fix your firmware" is an option that sets off
> alarm bells for me.
>
> I guess the first device where this will matter to me and a large
> group of community folks would be the dragonboard 410c..  *hopefully*
> it does not require signed firmware or at least qcom could make
> available signed firmware which supports psci..

For development boards, one would hope there is a way to sign your own firmware.
You can't expect - even for a phone SoC - that the development boards require
entering some kind of Faustian contract for development of low-level
software. What if
someone wants to develop a platform that doesn't require signing?

That said most of these dev boards have completely mangled JTAG anyway, and
I know Inforce (and Hardkernel, and so on) love their barely-ever-updated custom
firmware binaries, so..

The best thing would be to pick up one of those boards and port a PSCI firmware
to it (ATF or your own..) and just embarrass the SoC vendor by having better
mainline power management support (implemented by 10 lines in a device tree)
with the complicated code hidden away behind the scenes there, like it
should have
been done in the first place..

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Catalin Marinas
On Thu, Apr 16, 2015 at 01:17:32PM -0400, Rob Clark wrote:
> On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
>  wrote:
> > On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
> >> There are folks who are working to get saner, more-upstream kernels
> >> working on devices.. and improving kernel infrastructure for
> >> device-needs (well, in my neck of the woods, there is drm/kms atomic
> >> and dsi/panel framework stuff.. I'm sure other similar things in other
> >> kernel domains).  And it seems like that is a good thing to encourage,
> >> rather than stymie.
> >
> > I'm not looking to discourage individuals trying to get upstream support
> > for older boards. Should the need arise, we'll look at options which may
> > or may not include kernel changes (e.g. wrap the kernel in a shim).
> 
> I had wondered about that, but afaiu psci is a smc interface, and I
> would assume bootloader drops you out of secure mode before entering
> the kernel or whatever comes after first stage bootloader if you are
> chain-loading?

One option is to run the shim at EL2 (hyp mode) which can intercept the
SMC calls from EL1. Another option is to release all the CPUs from
firmware into the shim and use a spin-table enable method.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Rob Clark
On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
 wrote:
> On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
>> On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
>>  wrote:
>> > On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
>> >> Just speaking as an outsider to this topic, but seems like most/all
>> >> tablets/phones/etc ship with signed firmware.  Which means for most of
>> >> the population, upgrading the firmware to a new version which did
>> >> support the standard (assuming it existed), isn't really an option on
>> >> our devices, any more than fixing buggy acpi tables is on our
>> >> laptops..
>> >
>> > I wouldn't expect most population to build their own kernels on
>> > tablets/phones. And even if you could install a custom kernel, mainline
>> > rarely runs on such devices because of tons of out of tree patches (just
>> > look at the Nexus 9 patches that Kumar pointed at; even ignoring the
>> > booting protocol they are extremely far from an upstreamable form).
>>
>> my point being, that it happens some times.. for example John Stultz's
>> work on nexus7:
>>
>> https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ
>>
>> If this had been a year or two in the future and on some 64b
>> snapdragon, and support for devices with non-PSCI fw is rejected, then
>> he'd be stuck.
>>
>> There are folks who are working to get saner, more-upstream kernels
>> working on devices.. and improving kernel infrastructure for
>> device-needs (well, in my neck of the woods, there is drm/kms atomic
>> and dsi/panel framework stuff.. I'm sure other similar things in other
>> kernel domains).  And it seems like that is a good thing to encourage,
>> rather than stymie.
>
> I'm not looking to discourage individuals trying to get upstream support
> for older boards. Should the need arise, we'll look at options which may
> or may not include kernel changes (e.g. wrap the kernel in a shim).

I had wondered about that, but afaiu psci is a smc interface, and I
would assume bootloader drops you out of secure mode before entering
the kernel or whatever comes after first stage bootloader if you are
chain-loading?  So wasn't sure even how that could work..   (ofc, well
outside of my areas so I could be quite off base)

If there is a workaround, then I am much less concerned, and would
rather talk about that :-)

> But I'm definitely going to discourage companies like Qualcomm
> deliberately ignoring the existing booting protocols while trying to get
> their code upstream. This patch series is posted by Qualcomm without
> providing any technical reason on why they don't want to/couldn't use
> PSCI (well, I guess there is no technical reason but they may not care
> much about mainline either).

Sure.. just trying to make sure the wrong people don't end up being
the ones that suffer.  I would assume/expect that it is at least
possible for qcom to change firmware/bootloader for their dev boards
and future devices and whatnot, whether they grumble about it or not.
But I guess most of what the general public has are devices w/ signed
fw, which is why "go fix your firmware" is an option that sets off
alarm bells for me.

I guess the first device where this will matter to me and a large
group of community folks would be the dragonboard 410c..  *hopefully*
it does not require signed firmware or at least qcom could make
available signed firmware which supports psci..

BR,
-R

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Catalin Marinas
On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
> On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
>  wrote:
> > On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
> >> Just speaking as an outsider to this topic, but seems like most/all
> >> tablets/phones/etc ship with signed firmware.  Which means for most of
> >> the population, upgrading the firmware to a new version which did
> >> support the standard (assuming it existed), isn't really an option on
> >> our devices, any more than fixing buggy acpi tables is on our
> >> laptops..
> >
> > I wouldn't expect most population to build their own kernels on
> > tablets/phones. And even if you could install a custom kernel, mainline
> > rarely runs on such devices because of tons of out of tree patches (just
> > look at the Nexus 9 patches that Kumar pointed at; even ignoring the
> > booting protocol they are extremely far from an upstreamable form).
> 
> my point being, that it happens some times.. for example John Stultz's
> work on nexus7:
> 
> https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ
> 
> If this had been a year or two in the future and on some 64b
> snapdragon, and support for devices with non-PSCI fw is rejected, then
> he'd be stuck.
> 
> There are folks who are working to get saner, more-upstream kernels
> working on devices.. and improving kernel infrastructure for
> device-needs (well, in my neck of the woods, there is drm/kms atomic
> and dsi/panel framework stuff.. I'm sure other similar things in other
> kernel domains).  And it seems like that is a good thing to encourage,
> rather than stymie.

I'm not looking to discourage individuals trying to get upstream support
for older boards. Should the need arise, we'll look at options which may
or may not include kernel changes (e.g. wrap the kernel in a shim).

But I'm definitely going to discourage companies like Qualcomm
deliberately ignoring the existing booting protocols while trying to get
their code upstream. This patch series is posted by Qualcomm without
providing any technical reason on why they don't want to/couldn't use
PSCI (well, I guess there is no technical reason but they may not care
much about mainline either).

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Catalin Marinas
On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
 On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
 catalin.mari...@arm.com wrote:
  On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
  Just speaking as an outsider to this topic, but seems like most/all
  tablets/phones/etc ship with signed firmware.  Which means for most of
  the population, upgrading the firmware to a new version which did
  support the standard (assuming it existed), isn't really an option on
  our devices, any more than fixing buggy acpi tables is on our
  laptops..
 
  I wouldn't expect most population to build their own kernels on
  tablets/phones. And even if you could install a custom kernel, mainline
  rarely runs on such devices because of tons of out of tree patches (just
  look at the Nexus 9 patches that Kumar pointed at; even ignoring the
  booting protocol they are extremely far from an upstreamable form).
 
 my point being, that it happens some times.. for example John Stultz's
 work on nexus7:
 
 https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ
 
 If this had been a year or two in the future and on some 64b
 snapdragon, and support for devices with non-PSCI fw is rejected, then
 he'd be stuck.
 
 There are folks who are working to get saner, more-upstream kernels
 working on devices.. and improving kernel infrastructure for
 device-needs (well, in my neck of the woods, there is drm/kms atomic
 and dsi/panel framework stuff.. I'm sure other similar things in other
 kernel domains).  And it seems like that is a good thing to encourage,
 rather than stymie.

I'm not looking to discourage individuals trying to get upstream support
for older boards. Should the need arise, we'll look at options which may
or may not include kernel changes (e.g. wrap the kernel in a shim).

But I'm definitely going to discourage companies like Qualcomm
deliberately ignoring the existing booting protocols while trying to get
their code upstream. This patch series is posted by Qualcomm without
providing any technical reason on why they don't want to/couldn't use
PSCI (well, I guess there is no technical reason but they may not care
much about mainline either).

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Rob Clark
On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
catalin.mari...@arm.com wrote:
 On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
 On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
 catalin.mari...@arm.com wrote:
  On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
  Just speaking as an outsider to this topic, but seems like most/all
  tablets/phones/etc ship with signed firmware.  Which means for most of
  the population, upgrading the firmware to a new version which did
  support the standard (assuming it existed), isn't really an option on
  our devices, any more than fixing buggy acpi tables is on our
  laptops..
 
  I wouldn't expect most population to build their own kernels on
  tablets/phones. And even if you could install a custom kernel, mainline
  rarely runs on such devices because of tons of out of tree patches (just
  look at the Nexus 9 patches that Kumar pointed at; even ignoring the
  booting protocol they are extremely far from an upstreamable form).

 my point being, that it happens some times.. for example John Stultz's
 work on nexus7:

 https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ

 If this had been a year or two in the future and on some 64b
 snapdragon, and support for devices with non-PSCI fw is rejected, then
 he'd be stuck.

 There are folks who are working to get saner, more-upstream kernels
 working on devices.. and improving kernel infrastructure for
 device-needs (well, in my neck of the woods, there is drm/kms atomic
 and dsi/panel framework stuff.. I'm sure other similar things in other
 kernel domains).  And it seems like that is a good thing to encourage,
 rather than stymie.

 I'm not looking to discourage individuals trying to get upstream support
 for older boards. Should the need arise, we'll look at options which may
 or may not include kernel changes (e.g. wrap the kernel in a shim).

I had wondered about that, but afaiu psci is a smc interface, and I
would assume bootloader drops you out of secure mode before entering
the kernel or whatever comes after first stage bootloader if you are
chain-loading?  So wasn't sure even how that could work..   (ofc, well
outside of my areas so I could be quite off base)

If there is a workaround, then I am much less concerned, and would
rather talk about that :-)

 But I'm definitely going to discourage companies like Qualcomm
 deliberately ignoring the existing booting protocols while trying to get
 their code upstream. This patch series is posted by Qualcomm without
 providing any technical reason on why they don't want to/couldn't use
 PSCI (well, I guess there is no technical reason but they may not care
 much about mainline either).

Sure.. just trying to make sure the wrong people don't end up being
the ones that suffer.  I would assume/expect that it is at least
possible for qcom to change firmware/bootloader for their dev boards
and future devices and whatnot, whether they grumble about it or not.
But I guess most of what the general public has are devices w/ signed
fw, which is why go fix your firmware is an option that sets off
alarm bells for me.

I guess the first device where this will matter to me and a large
group of community folks would be the dragonboard 410c..  *hopefully*
it does not require signed firmware or at least qcom could make
available signed firmware which supports psci..

BR,
-R

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Catalin Marinas
On Thu, Apr 16, 2015 at 01:17:32PM -0400, Rob Clark wrote:
 On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
 catalin.mari...@arm.com wrote:
  On Wed, Apr 15, 2015 at 11:01:17AM -0400, Rob Clark wrote:
  There are folks who are working to get saner, more-upstream kernels
  working on devices.. and improving kernel infrastructure for
  device-needs (well, in my neck of the woods, there is drm/kms atomic
  and dsi/panel framework stuff.. I'm sure other similar things in other
  kernel domains).  And it seems like that is a good thing to encourage,
  rather than stymie.
 
  I'm not looking to discourage individuals trying to get upstream support
  for older boards. Should the need arise, we'll look at options which may
  or may not include kernel changes (e.g. wrap the kernel in a shim).
 
 I had wondered about that, but afaiu psci is a smc interface, and I
 would assume bootloader drops you out of secure mode before entering
 the kernel or whatever comes after first stage bootloader if you are
 chain-loading?

One option is to run the shim at EL2 (hyp mode) which can intercept the
SMC calls from EL1. Another option is to release all the CPUs from
firmware into the shim and use a spin-table enable method.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-16 Thread Matt Sealey
Hi Rob,

On Thu, Apr 16, 2015 at 12:17 PM, Rob Clark robdcl...@gmail.com wrote:
 On Thu, Apr 16, 2015 at 11:21 AM, Catalin Marinas
 catalin.mari...@arm.com wrote:

 But I'm definitely going to discourage companies like Qualcomm
 deliberately ignoring the existing booting protocols while trying to get
 their code upstream. This patch series is posted by Qualcomm without
 providing any technical reason on why they don't want to/couldn't use
 PSCI (well, I guess there is no technical reason but they may not care
 much about mainline either).

 Sure.. just trying to make sure the wrong people don't end up being
 the ones that suffer.  I would assume/expect that it is at least
 possible for qcom to change firmware/bootloader for their dev boards
 and future devices and whatnot, whether they grumble about it or not.
 But I guess most of what the general public has are devices w/ signed
 fw, which is why go fix your firmware is an option that sets off
 alarm bells for me.

 I guess the first device where this will matter to me and a large
 group of community folks would be the dragonboard 410c..  *hopefully*
 it does not require signed firmware or at least qcom could make
 available signed firmware which supports psci..

For development boards, one would hope there is a way to sign your own firmware.
You can't expect - even for a phone SoC - that the development boards require
entering some kind of Faustian contract for development of low-level
software. What if
someone wants to develop a platform that doesn't require signing?

That said most of these dev boards have completely mangled JTAG anyway, and
I know Inforce (and Hardkernel, and so on) love their barely-ever-updated custom
firmware binaries, so..

The best thing would be to pick up one of those boards and port a PSCI firmware
to it (ATF or your own..) and just embarrass the SoC vendor by having better
mainline power management support (implemented by 10 lines in a device tree)
with the complicated code hidden away behind the scenes there, like it
should have
been done in the first place..

Ta.
Matt Sealey n...@bakuhatsu.net
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Lorenzo Pieralisi
On Wed, Apr 15, 2015 at 05:17:59PM +0100, Lina Iyer wrote:
> On Tue, Apr 14 2015 at 16:32 -0600, Lorenzo Pieralisi wrote:
> >On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:
> >
> >[...]
> >
> >> > Looking beyond this set of patches, I can foresee that you won't care
> >> > about the generic arm64 cpuidle driver either, or more precisely the
> >> > separation between cpuidle subsystem+driver and the SoC-specific
> >> > back-end (cpu_operations).
> >>
> >> That's probably true for what I guess are a number of reasons.  I'm 
> >> guessing the arm64 cpuidle driver expects PSCI.
> >
> >Wrap lines sensibly please.
> >
> >The arm64 cpuidle driver, that is now arm generic cpuidle driver does
> >not expect anything apart from an enable-method (and you pulled
> >part of its back-end implementation for arm32 Qualcomm platforms, FYI).
> >
> The backend for this SoC would leverage the same platform code as ARM32.
> The cpu_operations callbacks for init and suspend will call into the the
> same platform functions used by arm32 QCOM SoCs.

It is understood, but this does not mean we should merge this patchset,
actually it is the other way around. It was extremely complicated
to factor out some common CPUidle bits because of the prolification
of power down interfaces in arm/mach code, each with its quirks
du jour.

If we had a standard interface (that encompasses what all ARM mach code
power interfaces do, basically PSCI) when arm32 power management code
was being pushed upstream we would not have that power management arm/mach
code today.

PSCI is there to solve that problem, and it predates v8, there is no
reason to merge code that provides no added value (I am obviously
talking about the pseudo-boot protocol this patchset is enabling, not
the platforms themselves which we definitely want to support upstream,
with some preconditions that are equal for everyone) and to leverage
a legacy that does not exist for arm64.

Thanks,
Lorenzo

> 
> Thanks,
> Lina
> 
> >It took years to consolidate it and the main reason was the lack of
> >standard interfaces for power down/up sequences that this patchset of
> >yours wants to promote in arm64 world.
> >
> >The lack of standard power interfaces may not have been an issue for you,
> >who cares about Qualcomm code, it has been a sore issue for people
> >trying to generalize things across ARM platforms in the kernel, which is
> >the only sensible way forward.
> >
> >PSCI is a standard interface (and Qualcomm are already contributing to
> >it, for the records) that can certainly be extended, and you are welcome
> >to contribute to it, but certainly not ignored.
> >
> >Thanks,
> >Lorenzo
> >--
> >To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
> >the body of a message to majord...@vger.kernel.org
> >More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Lina Iyer

On Tue, Apr 14 2015 at 16:32 -0600, Lorenzo Pieralisi wrote:

On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:

[...]


> Looking beyond this set of patches, I can foresee that you won't care
> about the generic arm64 cpuidle driver either, or more precisely the
> separation between cpuidle subsystem+driver and the SoC-specific
> back-end (cpu_operations).

That's probably true for what I guess are a number of reasons.  I'm guessing 
the arm64 cpuidle driver expects PSCI.


Wrap lines sensibly please.

The arm64 cpuidle driver, that is now arm generic cpuidle driver does
not expect anything apart from an enable-method (and you pulled
part of its back-end implementation for arm32 Qualcomm platforms, FYI).


The backend for this SoC would leverage the same platform code as ARM32.
The cpu_operations callbacks for init and suspend will call into the the
same platform functions used by arm32 QCOM SoCs.

Thanks,
Lina


It took years to consolidate it and the main reason was the lack of
standard interfaces for power down/up sequences that this patchset of
yours wants to promote in arm64 world.

The lack of standard power interfaces may not have been an issue for you,
who cares about Qualcomm code, it has been a sore issue for people
trying to generalize things across ARM platforms in the kernel, which is
the only sensible way forward.

PSCI is a standard interface (and Qualcomm are already contributing to
it, for the records) that can certainly be extended, and you are welcome
to contribute to it, but certainly not ignored.

Thanks,
Lorenzo
--
To unsubscribe from this list: send the line "unsubscribe linux-arm-msm" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Rob Clark
On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
 wrote:
> On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
>> Just speaking as an outsider to this topic, but seems like most/all
>> tablets/phones/etc ship with signed firmware.  Which means for most of
>> the population, upgrading the firmware to a new version which did
>> support the standard (assuming it existed), isn't really an option on
>> our devices, any more than fixing buggy acpi tables is on our
>> laptops..
>
> I wouldn't expect most population to build their own kernels on
> tablets/phones. And even if you could install a custom kernel, mainline
> rarely runs on such devices because of tons of out of tree patches (just
> look at the Nexus 9 patches that Kumar pointed at; even ignoring the
> booting protocol they are extremely far from an upstreamable form).
>

my point being, that it happens some times.. for example John Stultz's
work on nexus7:

https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ

If this had been a year or two in the future and on some 64b
snapdragon, and support for devices with non-PSCI fw is rejected, then
he'd be stuck.

There are folks who are working to get saner, more-upstream kernels
working on devices.. and improving kernel infrastructure for
device-needs (well, in my neck of the woods, there is drm/kms atomic
and dsi/panel framework stuff.. I'm sure other similar things in other
kernel domains).  And it seems like that is a good thing to encourage,
rather than stymie.

BR,
-R

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 09:21:17AM -0500, Kumar Gala wrote:
> On Apr 13, 2015, at 4:41 AM, Catalin Marinas  wrote:
> > On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
> >> On Apr 10, 2015, at 11:10 AM, Catalin Marinas  
> >> wrote:
> >> Qualcomm choose for whatever reasons to not implement it.  There are
> >> examples on other architectures supporting non-standard platforms all
> >> the time (x86 supported Voyager and SGI VIS for a long time).  As far
> >> as I can tell you are just wanting uniformity to impose this rule.
> > 
> > Don't confuse non-standard hardware (which has always been acceptable on
> > ARM) with non-standard ways of entering the kernel from firmware,
> > whether it's a primary or secondary CPU. Just look at how many smp_ops
> > structures are defined on x86.
> 
> When Voyager was supported it had a unique means for SMP bring up.

And was it fixed afterwards on newer board revisions?

> In the 4.0 kernel MIPS supports 13 different means, PowerPC has 14
> different means, ARM has 36 different means.

Obviously you don't think there is any problem with having 36 different
ways to enable secondary CPUs. I have a completely different opinion.
While it was not feasible to change the rules on arm32, it's a good
opportunity to impose some rules on arm64, given the new AArch64
exception model.

> > Looking beyond this set of patches, I can foresee that you won't care
> > about the generic arm64 cpuidle driver either, or more precisely the
> > separation between cpuidle subsystem+driver and the SoC-specific
> > back-end (cpu_operations).
> 
> That’s probably true for what I guess are a number of reasons.  I’m
> guessing the arm64 cpuidle driver expects PSCI.

Lorenzo replied already. It expects a cpu_operations back-end
implementing the cpu_suspend function. The only enable-method we have
providing cpu_suspend functionality is PSCI.

> >>> We haven't really asked for anything difficult like hardware changes,
> >>> such decisions are left with Qualcomm. We asked for a standard secure
> >>> firmware interface, either an existing one or, if not suitable (with
> >>> good arguments), to come up with a proposal for an alternative
> >>> _standard_ interface. I don't even have the certitude that the firmware
> >>> interface used in these patches would be consistent across Qualcomm
> >>> SoCs, let alone being properly documented.
> >> 
> >> If and when those issues arise we can accept or reject that code.
> >> Right now when I look at the impact to supporting this to generic
> >> arch/arm64 kernel it is either non-existant if we use the
> >> CPU_OF_TABLES or extremely minor if we just add an entry to the
> >> supported_cpu_ops struct.
> > 
> > Again, see above about how such change is no longer small when each SoC
> > does the same.
> 
> There are so many places that we already deal with per SoC uniqueness.
> We setup a software interface in the kernel and people develop towards
> it.
> 
> Are you saying that going forward all SoCs should have the same
> clocking programming interface to ease portability?  Do you expect
> them all to have the same pin control programming interface if someone
> defines a firmware abstraction?

What you said is primarily about device interfaces and given how
different they are, most of them not even requiring firmware
interaction, it doesn't make sense to come up with a firmware
abstraction (well, it may actually be impossible). But if you spot some
common pattern, it's fine by me to propose such interface.

However, what I'm not talking about devices but CPUs. The ARM CPUs are
defined by an architecture spec and they have a consistent behaviour.
Hardware for CPU powering on/off is not architected/standardised and
that's not because ARM wouldn't want to but because SoC vendors want to
be able differentiate. Given that (on ARMv8 especially) Linux is not the
first thing to run on a CPU out of reset and it may need to go back to
firmware for deeper sleep states, it makes sense to at least hide some
of the implementation specific SoC details behind a standard firmware
interface. It keeps the hardware folk happy as they can design CPU power
on/off as they like with little impact on the software world. Yes, I
said "little" impact overall, the only thing needed is a shift of such
CPU enabling code from the kernel to firmware. ARM even provides an open
source (BSD) firmware to make things easier for partners and there is
similar work going into U-Boot.

Ideally you shouldn't place all the firmware in ROM (just part of it)
but even if it is and we find bugs that require working around in the
kernel, we can apply quirks on a case by case basis. But what you are
arguing about is to plainly ignore this standardisation effort.

Long term plan is to avoid most of the SoC specific code in the kernel
before device_initcall() level (wouldn't it be nice if you could load
the SoC support from modules in initramfs?). The clocks are an exception
for the time being but it's 

Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
> Just speaking as an outsider to this topic, but seems like most/all
> tablets/phones/etc ship with signed firmware.  Which means for most of
> the population, upgrading the firmware to a new version which did
> support the standard (assuming it existed), isn't really an option on
> our devices, any more than fixing buggy acpi tables is on our
> laptops..

I wouldn't expect most population to build their own kernels on
tablets/phones. And even if you could install a custom kernel, mainline
rarely runs on such devices because of tons of out of tree patches (just
look at the Nexus 9 patches that Kumar pointed at; even ignoring the
booting protocol they are extremely far from an upstreamable form).

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
 Just speaking as an outsider to this topic, but seems like most/all
 tablets/phones/etc ship with signed firmware.  Which means for most of
 the population, upgrading the firmware to a new version which did
 support the standard (assuming it existed), isn't really an option on
 our devices, any more than fixing buggy acpi tables is on our
 laptops..

I wouldn't expect most population to build their own kernels on
tablets/phones. And even if you could install a custom kernel, mainline
rarely runs on such devices because of tons of out of tree patches (just
look at the Nexus 9 patches that Kumar pointed at; even ignoring the
booting protocol they are extremely far from an upstreamable form).

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 09:21:17AM -0500, Kumar Gala wrote:
 On Apr 13, 2015, at 4:41 AM, Catalin Marinas catalin.mari...@arm.com wrote:
  On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
  On Apr 10, 2015, at 11:10 AM, Catalin Marinas catalin.mari...@arm.com 
  wrote:
  Qualcomm choose for whatever reasons to not implement it.  There are
  examples on other architectures supporting non-standard platforms all
  the time (x86 supported Voyager and SGI VIS for a long time).  As far
  as I can tell you are just wanting uniformity to impose this rule.
  
  Don't confuse non-standard hardware (which has always been acceptable on
  ARM) with non-standard ways of entering the kernel from firmware,
  whether it's a primary or secondary CPU. Just look at how many smp_ops
  structures are defined on x86.
 
 When Voyager was supported it had a unique means for SMP bring up.

And was it fixed afterwards on newer board revisions?

 In the 4.0 kernel MIPS supports 13 different means, PowerPC has 14
 different means, ARM has 36 different means.

Obviously you don't think there is any problem with having 36 different
ways to enable secondary CPUs. I have a completely different opinion.
While it was not feasible to change the rules on arm32, it's a good
opportunity to impose some rules on arm64, given the new AArch64
exception model.

  Looking beyond this set of patches, I can foresee that you won't care
  about the generic arm64 cpuidle driver either, or more precisely the
  separation between cpuidle subsystem+driver and the SoC-specific
  back-end (cpu_operations).
 
 That’s probably true for what I guess are a number of reasons.  I’m
 guessing the arm64 cpuidle driver expects PSCI.

Lorenzo replied already. It expects a cpu_operations back-end
implementing the cpu_suspend function. The only enable-method we have
providing cpu_suspend functionality is PSCI.

  We haven't really asked for anything difficult like hardware changes,
  such decisions are left with Qualcomm. We asked for a standard secure
  firmware interface, either an existing one or, if not suitable (with
  good arguments), to come up with a proposal for an alternative
  _standard_ interface. I don't even have the certitude that the firmware
  interface used in these patches would be consistent across Qualcomm
  SoCs, let alone being properly documented.
  
  If and when those issues arise we can accept or reject that code.
  Right now when I look at the impact to supporting this to generic
  arch/arm64 kernel it is either non-existant if we use the
  CPU_OF_TABLES or extremely minor if we just add an entry to the
  supported_cpu_ops struct.
  
  Again, see above about how such change is no longer small when each SoC
  does the same.
 
 There are so many places that we already deal with per SoC uniqueness.
 We setup a software interface in the kernel and people develop towards
 it.
 
 Are you saying that going forward all SoCs should have the same
 clocking programming interface to ease portability?  Do you expect
 them all to have the same pin control programming interface if someone
 defines a firmware abstraction?

What you said is primarily about device interfaces and given how
different they are, most of them not even requiring firmware
interaction, it doesn't make sense to come up with a firmware
abstraction (well, it may actually be impossible). But if you spot some
common pattern, it's fine by me to propose such interface.

However, what I'm not talking about devices but CPUs. The ARM CPUs are
defined by an architecture spec and they have a consistent behaviour.
Hardware for CPU powering on/off is not architected/standardised and
that's not because ARM wouldn't want to but because SoC vendors want to
be able differentiate. Given that (on ARMv8 especially) Linux is not the
first thing to run on a CPU out of reset and it may need to go back to
firmware for deeper sleep states, it makes sense to at least hide some
of the implementation specific SoC details behind a standard firmware
interface. It keeps the hardware folk happy as they can design CPU power
on/off as they like with little impact on the software world. Yes, I
said little impact overall, the only thing needed is a shift of such
CPU enabling code from the kernel to firmware. ARM even provides an open
source (BSD) firmware to make things easier for partners and there is
similar work going into U-Boot.

Ideally you shouldn't place all the firmware in ROM (just part of it)
but even if it is and we find bugs that require working around in the
kernel, we can apply quirks on a case by case basis. But what you are
arguing about is to plainly ignore this standardisation effort.

Long term plan is to avoid most of the SoC specific code in the kernel
before device_initcall() level (wouldn't it be nice if you could load
the SoC support from modules in initramfs?). The clocks are an exception
for the time being but it's something that could be sorted by sane prior
firmware initialisation 

Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Rob Clark
On Wed, Apr 15, 2015 at 9:34 AM, Catalin Marinas
catalin.mari...@arm.com wrote:
 On Tue, Apr 14, 2015 at 05:48:48PM -0400, Rob Clark wrote:
 Just speaking as an outsider to this topic, but seems like most/all
 tablets/phones/etc ship with signed firmware.  Which means for most of
 the population, upgrading the firmware to a new version which did
 support the standard (assuming it existed), isn't really an option on
 our devices, any more than fixing buggy acpi tables is on our
 laptops..

 I wouldn't expect most population to build their own kernels on
 tablets/phones. And even if you could install a custom kernel, mainline
 rarely runs on such devices because of tons of out of tree patches (just
 look at the Nexus 9 patches that Kumar pointed at; even ignoring the
 booting protocol they are extremely far from an upstreamable form).


my point being, that it happens some times.. for example John Stultz's
work on nexus7:

https://plus.google.com/111524780435806926688/posts/DzvpMLmzQiQ

If this had been a year or two in the future and on some 64b
snapdragon, and support for devices with non-PSCI fw is rejected, then
he'd be stuck.

There are folks who are working to get saner, more-upstream kernels
working on devices.. and improving kernel infrastructure for
device-needs (well, in my neck of the woods, there is drm/kms atomic
and dsi/panel framework stuff.. I'm sure other similar things in other
kernel domains).  And it seems like that is a good thing to encourage,
rather than stymie.

BR,
-R

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Lina Iyer

On Tue, Apr 14 2015 at 16:32 -0600, Lorenzo Pieralisi wrote:

On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:

[...]


 Looking beyond this set of patches, I can foresee that you won't care
 about the generic arm64 cpuidle driver either, or more precisely the
 separation between cpuidle subsystem+driver and the SoC-specific
 back-end (cpu_operations).

That's probably true for what I guess are a number of reasons.  I'm guessing 
the arm64 cpuidle driver expects PSCI.


Wrap lines sensibly please.

The arm64 cpuidle driver, that is now arm generic cpuidle driver does
not expect anything apart from an enable-method (and you pulled
part of its back-end implementation for arm32 Qualcomm platforms, FYI).


The backend for this SoC would leverage the same platform code as ARM32.
The cpu_operations callbacks for init and suspend will call into the the
same platform functions used by arm32 QCOM SoCs.

Thanks,
Lina


It took years to consolidate it and the main reason was the lack of
standard interfaces for power down/up sequences that this patchset of
yours wants to promote in arm64 world.

The lack of standard power interfaces may not have been an issue for you,
who cares about Qualcomm code, it has been a sore issue for people
trying to generalize things across ARM platforms in the kernel, which is
the only sensible way forward.

PSCI is a standard interface (and Qualcomm are already contributing to
it, for the records) that can certainly be extended, and you are welcome
to contribute to it, but certainly not ignored.

Thanks,
Lorenzo
--
To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-15 Thread Lorenzo Pieralisi
On Wed, Apr 15, 2015 at 05:17:59PM +0100, Lina Iyer wrote:
 On Tue, Apr 14 2015 at 16:32 -0600, Lorenzo Pieralisi wrote:
 On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:
 
 [...]
 
   Looking beyond this set of patches, I can foresee that you won't care
   about the generic arm64 cpuidle driver either, or more precisely the
   separation between cpuidle subsystem+driver and the SoC-specific
   back-end (cpu_operations).
 
  That's probably true for what I guess are a number of reasons.  I'm 
  guessing the arm64 cpuidle driver expects PSCI.
 
 Wrap lines sensibly please.
 
 The arm64 cpuidle driver, that is now arm generic cpuidle driver does
 not expect anything apart from an enable-method (and you pulled
 part of its back-end implementation for arm32 Qualcomm platforms, FYI).
 
 The backend for this SoC would leverage the same platform code as ARM32.
 The cpu_operations callbacks for init and suspend will call into the the
 same platform functions used by arm32 QCOM SoCs.

It is understood, but this does not mean we should merge this patchset,
actually it is the other way around. It was extremely complicated
to factor out some common CPUidle bits because of the prolification
of power down interfaces in arm/mach code, each with its quirks
du jour.

If we had a standard interface (that encompasses what all ARM mach code
power interfaces do, basically PSCI) when arm32 power management code
was being pushed upstream we would not have that power management arm/mach
code today.

PSCI is there to solve that problem, and it predates v8, there is no
reason to merge code that provides no added value (I am obviously
talking about the pseudo-boot protocol this patchset is enabling, not
the platforms themselves which we definitely want to support upstream,
with some preconditions that are equal for everyone) and to leverage
a legacy that does not exist for arm64.

Thanks,
Lorenzo

 
 Thanks,
 Lina
 
 It took years to consolidate it and the main reason was the lack of
 standard interfaces for power down/up sequences that this patchset of
 yours wants to promote in arm64 world.
 
 The lack of standard power interfaces may not have been an issue for you,
 who cares about Qualcomm code, it has been a sore issue for people
 trying to generalize things across ARM platforms in the kernel, which is
 the only sensible way forward.
 
 PSCI is a standard interface (and Qualcomm are already contributing to
 it, for the records) that can certainly be extended, and you are welcome
 to contribute to it, but certainly not ignored.
 
 Thanks,
 Lorenzo
 --
 To unsubscribe from this list: send the line unsubscribe linux-arm-msm in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Lorenzo Pieralisi
On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:

[...]

> > Looking beyond this set of patches, I can foresee that you won't care
> > about the generic arm64 cpuidle driver either, or more precisely the
> > separation between cpuidle subsystem+driver and the SoC-specific
> > back-end (cpu_operations).
> 
> That's probably true for what I guess are a number of reasons.  I'm guessing 
> the arm64 cpuidle driver expects PSCI.

Wrap lines sensibly please.

The arm64 cpuidle driver, that is now arm generic cpuidle driver does
not expect anything apart from an enable-method (and you pulled
part of its back-end implementation for arm32 Qualcomm platforms, FYI).

It took years to consolidate it and the main reason was the lack of
standard interfaces for power down/up sequences that this patchset of
yours wants to promote in arm64 world.

The lack of standard power interfaces may not have been an issue for you,
who cares about Qualcomm code, it has been a sore issue for people
trying to generalize things across ARM platforms in the kernel, which is
the only sensible way forward.

PSCI is a standard interface (and Qualcomm are already contributing to
it, for the records) that can certainly be extended, and you are welcome
to contribute to it, but certainly not ignored.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Rob Clark
On Tue, Apr 14, 2015 at 5:17 PM, Catalin Marinas
 wrote:
> On Tue, Apr 14, 2015 at 02:49:04PM -0500, Kumar Gala wrote:
>> On Apr 14, 2015, at 11:36 AM, Mark Rutland  wrote:
>> > On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
>> >> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
>> >>> This patch set adds support for SMP boot on the MSM8x16 family of 
>> >>> Qualcomm SoCs.
>> >>>
>> >>> To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
>> >>> interfaces to
>> >>> setup the boot/release addresses for the secondary CPUs.  In addition we 
>> >>> need
>> >>> a uniquie set of cpu ops.  I'm aware the desired methods for booting 
>> >>> secondary
>> >>> CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
>> >>> with a
>> >>> firmware that does not support those methods.
>> >>
>> >> And the reason is? Some guesses:
>> >>
>> >> a) QC doesn't think boot interface (and cpuidle) standardisation is
>> >>   worth the effort (to put it nicely)
>> >> b) The hardware was available before we even mentioned PSCI
>> >> c) PSCI is not suitable for the QC's SCM interface
>> >> d) Any combination of the above
>> >>
>> >> I strongly suspect it's point (a). Should we expect future QC hardware
>> >> to do the same?
>> >>
>> >> You could argue the reason was (b), though we've been discussing PSCI
>> >> for at least two years and, according to QC press releases, MSM8916
>> >> started sampling in 2014.
>> >>
>> >> The only valid reason is (c) and if that's the case, I would expect a
>> >> proposal for a new firmware interface protocol (it could be PSCI-based),
>> >> well documented, that can be shared with others that may encounter the
>> >> same shortcomings.
>> >
>> > There's no need to even fork PSCI. The PSCI specification will evolve
>> > over time as vendors request changes and we try to accomodate them.
>> >
>> > If there's something that PSCI doesn't do that you need it to, contact
>> > ARM. Other vendors already have.
>
> Mostly yes but there may be valid reasons for not being able to use
> PSCI. The spin-table method is still a firmware interface, though not
> necessarily secure (a.k.a. SMC-based). The ACPI parking protocol is
> another and, who knows, maybe we define a way to park CPUs back to
> firmware without SMC calls (when EL3 is not available).
>
>> But what is someone to do between the period of getting PSCI spec
>> updated and needing to ship a product with firmware?
>>
>> The take still sounds like if you don’t implement an exact version of
>> PSCI you are screwed from being supported in the upstream ARM64
>> kernel.
>
> These are silly arguments. There is a big difference between "we
> couldn't get the firmware implementing the standard for the early
> silicon but we are working on fixing it for future revisions" vs. "we
> don't give a s**t about these standards, the kernel must be inclusive".
> So please make up your mind on which direction you want to pursue.
>

Just speaking as an outsider to this topic, but seems like most/all
tablets/phones/etc ship with signed firmware.  Which means for most of
the population, upgrading the firmware to a new version which did
support the standard (assuming it existed), isn't really an option on
our devices, any more than fixing buggy acpi tables is on our
laptops..

BR,
-R


> --
> Catalin
>
> ___
> linux-arm-kernel mailing list
> linux-arm-ker...@lists.infradead.org
> http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 02:49:04PM -0500, Kumar Gala wrote:
> On Apr 14, 2015, at 11:36 AM, Mark Rutland  wrote:
> > On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
> >> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
> >>> This patch set adds support for SMP boot on the MSM8x16 family of 
> >>> Qualcomm SoCs.
> >>> 
> >>> To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
> >>> interfaces to
> >>> setup the boot/release addresses for the secondary CPUs.  In addition we 
> >>> need
> >>> a uniquie set of cpu ops.  I'm aware the desired methods for booting 
> >>> secondary
> >>> CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
> >>> with a
> >>> firmware that does not support those methods.
> >> 
> >> And the reason is? Some guesses:
> >> 
> >> a) QC doesn't think boot interface (and cpuidle) standardisation is
> >>   worth the effort (to put it nicely)
> >> b) The hardware was available before we even mentioned PSCI
> >> c) PSCI is not suitable for the QC's SCM interface
> >> d) Any combination of the above
> >> 
> >> I strongly suspect it's point (a). Should we expect future QC hardware
> >> to do the same?
> >> 
> >> You could argue the reason was (b), though we've been discussing PSCI
> >> for at least two years and, according to QC press releases, MSM8916
> >> started sampling in 2014.
> >> 
> >> The only valid reason is (c) and if that's the case, I would expect a
> >> proposal for a new firmware interface protocol (it could be PSCI-based),
> >> well documented, that can be shared with others that may encounter the
> >> same shortcomings.
> > 
> > There's no need to even fork PSCI. The PSCI specification will evolve
> > over time as vendors request changes and we try to accomodate them.
> > 
> > If there's something that PSCI doesn't do that you need it to, contact
> > ARM. Other vendors already have.

Mostly yes but there may be valid reasons for not being able to use
PSCI. The spin-table method is still a firmware interface, though not
necessarily secure (a.k.a. SMC-based). The ACPI parking protocol is
another and, who knows, maybe we define a way to park CPUs back to
firmware without SMC calls (when EL3 is not available).

> But what is someone to do between the period of getting PSCI spec
> updated and needing to ship a product with firmware?
> 
> The take still sounds like if you don’t implement an exact version of
> PSCI you are screwed from being supported in the upstream ARM64
> kernel.

These are silly arguments. There is a big difference between "we
couldn't get the firmware implementing the standard for the early
silicon but we are working on fixing it for future revisions" vs. "we
don't give a s**t about these standards, the kernel must be inclusive".
So please make up your mind on which direction you want to pursue.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

> On Apr 14, 2015, at 11:36 AM, Mark Rutland  wrote:
> 
> On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
>> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
>>> This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm 
>>> SoCs.
>>> 
>>> To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
>>> interfaces to
>>> setup the boot/release addresses for the secondary CPUs.  In addition we 
>>> need
>>> a uniquie set of cpu ops.  I'm aware the desired methods for booting 
>>> secondary
>>> CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
>>> with a
>>> firmware that does not support those methods.
>> 
>> And the reason is? Some guesses:
>> 
>> a) QC doesn't think boot interface (and cpuidle) standardisation is
>>   worth the effort (to put it nicely)
>> b) The hardware was available before we even mentioned PSCI
>> c) PSCI is not suitable for the QC's SCM interface
>> d) Any combination of the above
>> 
>> I strongly suspect it's point (a). Should we expect future QC hardware
>> to do the same?
>> 
>> You could argue the reason was (b), though we've been discussing PSCI
>> for at least two years and, according to QC press releases, MSM8916
>> started sampling in 2014.
>> 
>> The only valid reason is (c) and if that's the case, I would expect a
>> proposal for a new firmware interface protocol (it could be PSCI-based),
>> well documented, that can be shared with others that may encounter the
>> same shortcomings.
> 
> There's no need to even fork PSCI. The PSCI specification will evolve
> over time as vendors request changes and we try to accomodate them.
> 
> If there's something that PSCI doesn't do that you need it to, contact
> ARM. Other vendors already have.

But what is someone to do between the period of getting PSCI spec updated and 
needing to ship a product with firmware?

The take still sounds like if you don’t implement an exact version of PSCI you 
are screwed from being supported in the upstream ARM64 kernel.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Mark Rutland
On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
> > This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm 
> > SoCs.
> > 
> > To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
> > interfaces to
> > setup the boot/release addresses for the secondary CPUs.  In addition we 
> > need
> > a uniquie set of cpu ops.  I'm aware the desired methods for booting 
> > secondary
> > CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
> > with a
> > firmware that does not support those methods.
> 
> And the reason is? Some guesses:
> 
> a) QC doesn't think boot interface (and cpuidle) standardisation is
>worth the effort (to put it nicely)
> b) The hardware was available before we even mentioned PSCI
> c) PSCI is not suitable for the QC's SCM interface
> d) Any combination of the above
> 
> I strongly suspect it's point (a). Should we expect future QC hardware
> to do the same?
> 
> You could argue the reason was (b), though we've been discussing PSCI
> for at least two years and, according to QC press releases, MSM8916
> started sampling in 2014.
> 
> The only valid reason is (c) and if that's the case, I would expect a
> proposal for a new firmware interface protocol (it could be PSCI-based),
> well documented, that can be shared with others that may encounter the
> same shortcomings.

There's no need to even fork PSCI. The PSCI specification will evolve
over time as vendors request changes and we try to accomodate them.

If there's something that PSCI doesn't do that you need it to, contact
ARM. Other vendors already have.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Mark Rutland
On Tue, Apr 14, 2015 at 03:44:11PM +0100, Kumar Gala wrote:
> 
> > On Apr 14, 2015, at 9:21 AM, Kumar Gala  wrote:
> > 
>  
>  So please come up with proper technical arguments rather than the kernel
>  should take whatever SoC vendors dreamt of.
> >>> 
> >>> There is no technical argument to be made.  This is about the
> >>> community and you as maintainer wanting to accept code that complies
> >>> to your decision or not.
> >> 
> >> If you are not willing to make technical arguments, I don't have to
> >> provide any further reasons in this thread. It's your choice. In the
> >> meantime, the short answer is NAK.
> 
> I assume you would than NAK someone trying to get support for their
> Nexus 9 Tablet using a Tegra K1.

That would depend on how they try to boot secondary CPUs. It's
unfortunate that a product is shipping with an arbitrary implementation
specific SMP bringup mechanism, but its existence doesn't necessitate
that we support it.

People are currently working on PSCI support for 32-bit Tegra platforms
in U-Boot, and it's my understanding that a reasonable proportion of
that could should be possible to reuse for 64-bit. That may be
applicable to the Nexus 9.

Otherwise it's possible to have a shim which can place the secondaries
into a spin-table. It looks like that would be necessary anyway; there
seem to be some egregious boot protocol violations. 

> It appears the shipping code for that device didn’t use PSCI (again guessing 
> because it wasn’t available at the time).
> 
> https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/mach-tegra/platsmp.c

Commit e790f1deb26a2e23 ("arm64: psci: add support for PSCI invocations
from the kernel") has been upstream since v3.9-rc1. It's even in the
(v3.10 derived) tree you link to:

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/kernel/psci.c

As is spin-table:

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/kernel/smp_spin_table.c

> If so, I find this counter to the Linux kernel communities normal desire to 
> support the most hardware platforms.

Supporting hardware platforms doesn't mean that we must accept code
which we believe to be problematic.

We don't want implementation-specific SMP bringup mechanisms because
we've learnt from the lessons of the past. They're almost always
ill-defined, not reusable, and they're a maintenance burden for all
system software targeting ARM which gets worse over time.

If there are technical problems with the existing mechanisms, we're open
to solving them. Others have engaged with the kernel community and/or
ARM (in the case of PSCI) to do so, and all others upstream so far have
used common enable methods.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

> On Apr 14, 2015, at 9:21 AM, Kumar Gala  wrote:
> 
 
 So please come up with proper technical arguments rather than the kernel
 should take whatever SoC vendors dreamt of.
>>> 
>>> There is no technical argument to be made.  This is about the
>>> community and you as maintainer wanting to accept code that complies
>>> to your decision or not.
>> 
>> If you are not willing to make technical arguments, I don't have to
>> provide any further reasons in this thread. It's your choice. In the
>> meantime, the short answer is NAK.

I assume you would than NAK someone trying to get support for their Nexus 9 
Tablet using a Tegra K1.  It appears the shipping code for that device didn’t 
use PSCI (again guessing because it wasn’t available at the time).

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/mach-tegra/platsmp.c

If so, I find this counter to the Linux kernel communities normal desire to 
support the most hardware platforms.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

> On Apr 13, 2015, at 4:41 AM, Catalin Marinas  wrote:
> 
> On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
>> On Apr 10, 2015, at 11:10 AM, Catalin Marinas  
>> wrote:
>>> On Fri, Apr 10, 2015 at 10:24:46AM -0500, Kumar Gala wrote:
 On Apr 10, 2015, at 5:05 AM, Catalin Marinas  
 wrote:
> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
>> This patch set adds support for SMP boot on the MSM8x16 family of 
>> Qualcomm SoCs.
>> 
>> To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
>> interfaces to
>> setup the boot/release addresses for the secondary CPUs.  In addition we 
>> need
>> a uniquie set of cpu ops.  I'm aware the desired methods for booting 
>> secondary
>> CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
>> with a
>> firmware that does not support those methods.
> 
> And the reason is? Some guesses:
> 
> a) QC doesn't think boot interface (and cpuidle) standardisation is
> worth the effort (to put it nicely)
> b) The hardware was available before we even mentioned PSCI
> c) PSCI is not suitable for the QC's SCM interface
> d) Any combination of the above
> 
> I strongly suspect it's point (a). Should we expect future QC hardware
> to do the same?
> 
> You could argue the reason was (b), though we've been discussing PSCI
> for at least two years and, according to QC press releases, MSM8916
> started sampling in 2014.
> 
> The only valid reason is (c) and if that's the case, I would expect a
> proposal for a new firmware interface protocol (it could be PSCI-based),
> well documented, that can be shared with others that may encounter the
> same shortcomings.
 
 Does it matter?  I’ve always felt the kernel was a place of inclusion.
 Qualcomm choose for whatever reason to not use PSCI or spin table.
 You don’t like it, I might not like it, but it is what it is.
>>> 
>>> Yes, it matters, but only if Qualcomm wants the SoC support in mainline.
>>> Just because Qualcomm Inc does not want to invest in implementing a
>>> standard firmware interface is not a good enough reason to merge the
>>> kernel code.
>> 
>> The reason to merge the code upstream it expands functionality for a
>> platform.
> 
> This alone has never been a good enough reason. Code (both design and
> style) needs to pass the review.

You haven’t really made any comments about the code itself, other than just not 
liking the firmware interface.

> There is nothing that says when someone licenses an ARM core that they
>> must also implement this standard.
> 
> Just to be perfectly clear: this has nothing to do with ARM Ltd nor the
> ARM hardware licensing terms. ARM Ltd doesn't even require you to use
> Linux, that's your choice. But when you make an OS choice, you have to
> abide by its rules.

But Linux has tended to support hardware as broadly as it can.  Yes it tries to 
get firmware to improve but there are numerous devices with embedded firmware 
interfaces that Linux probably would love to change but deals with because they 
are fixed.

> Qualcomm choose for whatever reasons to not implement it.  There are
>> examples on other architectures supporting non-standard platforms all
>> the time (x86 supported Voyager and SGI VIS for a long time).  As far
>> as I can tell you are just wanting uniformity to impose this rule.
> 
> Don't confuse non-standard hardware (which has always been acceptable on
> ARM) with non-standard ways of entering the kernel from firmware,
> whether it's a primary or secondary CPU. Just look at how many smp_ops
> structures are defined on x86.

When Voyager was supported it had a unique means for SMP bring up.  In the 4.0 
kernel MIPS supports 13 different means, PowerPC has 14 different means, ARM 
has 36 different means.

>>> What if Qualcomm decides that it doesn't like DT, nor ACPI but comes up
>>> with yet another way to describe hardware because that's what the
>>> firmware provides? Should the kernel community take it? You could argue
>>> that this is a significant change but it's about the principle. And each
>>> SoC with its own non-standard boot protocol for no good reason is
>>> significant.
>> 
>> I wouldn’t argue that because we are talking about something that has
>> an extremely small impact on the maintainability or changes to how the
>> kernel actually functions.
> 
> It's not about one particular case but about where to draw the line.
> Just multiply this change by the number of SoC variants and you'll no
> longer see this as "extremely small impact". Why would we accept it for
> Qualcomm and reject it for others? It's either giving up trying to
> standardise this altogether or enforcing rules. Since you only care
> about Qualcomm hardware, you don't care about the overall picture.
> 
> By your reasoning, Qualcomm may solely decide to change the booting for
> the primary CPU 

Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Mark Rutland
On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
 On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
  This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm 
  SoCs.
  
  To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
  interfaces to
  setup the boot/release addresses for the secondary CPUs.  In addition we 
  need
  a uniquie set of cpu ops.  I'm aware the desired methods for booting 
  secondary
  CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
  with a
  firmware that does not support those methods.
 
 And the reason is? Some guesses:
 
 a) QC doesn't think boot interface (and cpuidle) standardisation is
worth the effort (to put it nicely)
 b) The hardware was available before we even mentioned PSCI
 c) PSCI is not suitable for the QC's SCM interface
 d) Any combination of the above
 
 I strongly suspect it's point (a). Should we expect future QC hardware
 to do the same?
 
 You could argue the reason was (b), though we've been discussing PSCI
 for at least two years and, according to QC press releases, MSM8916
 started sampling in 2014.
 
 The only valid reason is (c) and if that's the case, I would expect a
 proposal for a new firmware interface protocol (it could be PSCI-based),
 well documented, that can be shared with others that may encounter the
 same shortcomings.

There's no need to even fork PSCI. The PSCI specification will evolve
over time as vendors request changes and we try to accomodate them.

If there's something that PSCI doesn't do that you need it to, contact
ARM. Other vendors already have.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

 On Apr 13, 2015, at 4:41 AM, Catalin Marinas catalin.mari...@arm.com wrote:
 
 On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
 On Apr 10, 2015, at 11:10 AM, Catalin Marinas catalin.mari...@arm.com 
 wrote:
 On Fri, Apr 10, 2015 at 10:24:46AM -0500, Kumar Gala wrote:
 On Apr 10, 2015, at 5:05 AM, Catalin Marinas catalin.mari...@arm.com 
 wrote:
 On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
 This patch set adds support for SMP boot on the MSM8x16 family of 
 Qualcomm SoCs.
 
 To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
 interfaces to
 setup the boot/release addresses for the secondary CPUs.  In addition we 
 need
 a uniquie set of cpu ops.  I'm aware the desired methods for booting 
 secondary
 CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
 with a
 firmware that does not support those methods.
 
 And the reason is? Some guesses:
 
 a) QC doesn't think boot interface (and cpuidle) standardisation is
 worth the effort (to put it nicely)
 b) The hardware was available before we even mentioned PSCI
 c) PSCI is not suitable for the QC's SCM interface
 d) Any combination of the above
 
 I strongly suspect it's point (a). Should we expect future QC hardware
 to do the same?
 
 You could argue the reason was (b), though we've been discussing PSCI
 for at least two years and, according to QC press releases, MSM8916
 started sampling in 2014.
 
 The only valid reason is (c) and if that's the case, I would expect a
 proposal for a new firmware interface protocol (it could be PSCI-based),
 well documented, that can be shared with others that may encounter the
 same shortcomings.
 
 Does it matter?  I’ve always felt the kernel was a place of inclusion.
 Qualcomm choose for whatever reason to not use PSCI or spin table.
 You don’t like it, I might not like it, but it is what it is.
 
 Yes, it matters, but only if Qualcomm wants the SoC support in mainline.
 Just because Qualcomm Inc does not want to invest in implementing a
 standard firmware interface is not a good enough reason to merge the
 kernel code.
 
 The reason to merge the code upstream it expands functionality for a
 platform.
 
 This alone has never been a good enough reason. Code (both design and
 style) needs to pass the review.

You haven’t really made any comments about the code itself, other than just not 
liking the firmware interface.

 There is nothing that says when someone licenses an ARM core that they
 must also implement this standard.
 
 Just to be perfectly clear: this has nothing to do with ARM Ltd nor the
 ARM hardware licensing terms. ARM Ltd doesn't even require you to use
 Linux, that's your choice. But when you make an OS choice, you have to
 abide by its rules.

But Linux has tended to support hardware as broadly as it can.  Yes it tries to 
get firmware to improve but there are numerous devices with embedded firmware 
interfaces that Linux probably would love to change but deals with because they 
are fixed.

 Qualcomm choose for whatever reasons to not implement it.  There are
 examples on other architectures supporting non-standard platforms all
 the time (x86 supported Voyager and SGI VIS for a long time).  As far
 as I can tell you are just wanting uniformity to impose this rule.
 
 Don't confuse non-standard hardware (which has always been acceptable on
 ARM) with non-standard ways of entering the kernel from firmware,
 whether it's a primary or secondary CPU. Just look at how many smp_ops
 structures are defined on x86.

When Voyager was supported it had a unique means for SMP bring up.  In the 4.0 
kernel MIPS supports 13 different means, PowerPC has 14 different means, ARM 
has 36 different means.

 What if Qualcomm decides that it doesn't like DT, nor ACPI but comes up
 with yet another way to describe hardware because that's what the
 firmware provides? Should the kernel community take it? You could argue
 that this is a significant change but it's about the principle. And each
 SoC with its own non-standard boot protocol for no good reason is
 significant.
 
 I wouldn’t argue that because we are talking about something that has
 an extremely small impact on the maintainability or changes to how the
 kernel actually functions.
 
 It's not about one particular case but about where to draw the line.
 Just multiply this change by the number of SoC variants and you'll no
 longer see this as extremely small impact. Why would we accept it for
 Qualcomm and reject it for others? It's either giving up trying to
 standardise this altogether or enforcing rules. Since you only care
 about Qualcomm hardware, you don't care about the overall picture.
 
 By your reasoning, Qualcomm may solely decide to change the booting for
 the primary CPU as well, ignore single Image requirements (well, why
 would Qualcomm care about other SoCs) and so on. The kernel community
 should just accept such changes without questioning because they expand
 platform functionality. I 

Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Mark Rutland
On Tue, Apr 14, 2015 at 03:44:11PM +0100, Kumar Gala wrote:
 
  On Apr 14, 2015, at 9:21 AM, Kumar Gala ga...@codeaurora.org wrote:
  
  
  So please come up with proper technical arguments rather than the kernel
  should take whatever SoC vendors dreamt of.
  
  There is no technical argument to be made.  This is about the
  community and you as maintainer wanting to accept code that complies
  to your decision or not.
  
  If you are not willing to make technical arguments, I don't have to
  provide any further reasons in this thread. It's your choice. In the
  meantime, the short answer is NAK.
 
 I assume you would than NAK someone trying to get support for their
 Nexus 9 Tablet using a Tegra K1.

That would depend on how they try to boot secondary CPUs. It's
unfortunate that a product is shipping with an arbitrary implementation
specific SMP bringup mechanism, but its existence doesn't necessitate
that we support it.

People are currently working on PSCI support for 32-bit Tegra platforms
in U-Boot, and it's my understanding that a reasonable proportion of
that could should be possible to reuse for 64-bit. That may be
applicable to the Nexus 9.

Otherwise it's possible to have a shim which can place the secondaries
into a spin-table. It looks like that would be necessary anyway; there
seem to be some egregious boot protocol violations. 

 It appears the shipping code for that device didn’t use PSCI (again guessing 
 because it wasn’t available at the time).
 
 https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/mach-tegra/platsmp.c

Commit e790f1deb26a2e23 (arm64: psci: add support for PSCI invocations
from the kernel) has been upstream since v3.9-rc1. It's even in the
(v3.10 derived) tree you link to:

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/kernel/psci.c

As is spin-table:

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/kernel/smp_spin_table.c

 If so, I find this counter to the Linux kernel communities normal desire to 
 support the most hardware platforms.

Supporting hardware platforms doesn't mean that we must accept code
which we believe to be problematic.

We don't want implementation-specific SMP bringup mechanisms because
we've learnt from the lessons of the past. They're almost always
ill-defined, not reusable, and they're a maintenance burden for all
system software targeting ARM which gets worse over time.

If there are technical problems with the existing mechanisms, we're open
to solving them. Others have engaged with the kernel community and/or
ARM (in the case of PSCI) to do so, and all others upstream so far have
used common enable methods.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

 On Apr 14, 2015, at 9:21 AM, Kumar Gala ga...@codeaurora.org wrote:
 
 
 So please come up with proper technical arguments rather than the kernel
 should take whatever SoC vendors dreamt of.
 
 There is no technical argument to be made.  This is about the
 community and you as maintainer wanting to accept code that complies
 to your decision or not.
 
 If you are not willing to make technical arguments, I don't have to
 provide any further reasons in this thread. It's your choice. In the
 meantime, the short answer is NAK.

I assume you would than NAK someone trying to get support for their Nexus 9 
Tablet using a Tegra K1.  It appears the shipping code for that device didn’t 
use PSCI (again guessing because it wasn’t available at the time).

https://android.googlesource.com/kernel/tegra/+/android-tegra-flounder-3.10-lollipop-release/arch/arm64/mach-tegra/platsmp.c

If so, I find this counter to the Linux kernel communities normal desire to 
support the most hardware platforms.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Rob Clark
On Tue, Apr 14, 2015 at 5:17 PM, Catalin Marinas
catalin.mari...@arm.com wrote:
 On Tue, Apr 14, 2015 at 02:49:04PM -0500, Kumar Gala wrote:
 On Apr 14, 2015, at 11:36 AM, Mark Rutland mark.rutl...@arm.com wrote:
  On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
  On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
  This patch set adds support for SMP boot on the MSM8x16 family of 
  Qualcomm SoCs.
 
  To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
  interfaces to
  setup the boot/release addresses for the secondary CPUs.  In addition we 
  need
  a uniquie set of cpu ops.  I'm aware the desired methods for booting 
  secondary
  CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
  with a
  firmware that does not support those methods.
 
  And the reason is? Some guesses:
 
  a) QC doesn't think boot interface (and cpuidle) standardisation is
worth the effort (to put it nicely)
  b) The hardware was available before we even mentioned PSCI
  c) PSCI is not suitable for the QC's SCM interface
  d) Any combination of the above
 
  I strongly suspect it's point (a). Should we expect future QC hardware
  to do the same?
 
  You could argue the reason was (b), though we've been discussing PSCI
  for at least two years and, according to QC press releases, MSM8916
  started sampling in 2014.
 
  The only valid reason is (c) and if that's the case, I would expect a
  proposal for a new firmware interface protocol (it could be PSCI-based),
  well documented, that can be shared with others that may encounter the
  same shortcomings.
 
  There's no need to even fork PSCI. The PSCI specification will evolve
  over time as vendors request changes and we try to accomodate them.
 
  If there's something that PSCI doesn't do that you need it to, contact
  ARM. Other vendors already have.

 Mostly yes but there may be valid reasons for not being able to use
 PSCI. The spin-table method is still a firmware interface, though not
 necessarily secure (a.k.a. SMC-based). The ACPI parking protocol is
 another and, who knows, maybe we define a way to park CPUs back to
 firmware without SMC calls (when EL3 is not available).

 But what is someone to do between the period of getting PSCI spec
 updated and needing to ship a product with firmware?

 The take still sounds like if you don’t implement an exact version of
 PSCI you are screwed from being supported in the upstream ARM64
 kernel.

 These are silly arguments. There is a big difference between we
 couldn't get the firmware implementing the standard for the early
 silicon but we are working on fixing it for future revisions vs. we
 don't give a s**t about these standards, the kernel must be inclusive.
 So please make up your mind on which direction you want to pursue.


Just speaking as an outsider to this topic, but seems like most/all
tablets/phones/etc ship with signed firmware.  Which means for most of
the population, upgrading the firmware to a new version which did
support the standard (assuming it existed), isn't really an option on
our devices, any more than fixing buggy acpi tables is on our
laptops..

BR,
-R


 --
 Catalin

 ___
 linux-arm-kernel mailing list
 linux-arm-ker...@lists.infradead.org
 http://lists.infradead.org/mailman/listinfo/linux-arm-kernel
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Kumar Gala

 On Apr 14, 2015, at 11:36 AM, Mark Rutland mark.rutl...@arm.com wrote:
 
 On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
 On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
 This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm 
 SoCs.
 
 To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
 interfaces to
 setup the boot/release addresses for the secondary CPUs.  In addition we 
 need
 a uniquie set of cpu ops.  I'm aware the desired methods for booting 
 secondary
 CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
 with a
 firmware that does not support those methods.
 
 And the reason is? Some guesses:
 
 a) QC doesn't think boot interface (and cpuidle) standardisation is
   worth the effort (to put it nicely)
 b) The hardware was available before we even mentioned PSCI
 c) PSCI is not suitable for the QC's SCM interface
 d) Any combination of the above
 
 I strongly suspect it's point (a). Should we expect future QC hardware
 to do the same?
 
 You could argue the reason was (b), though we've been discussing PSCI
 for at least two years and, according to QC press releases, MSM8916
 started sampling in 2014.
 
 The only valid reason is (c) and if that's the case, I would expect a
 proposal for a new firmware interface protocol (it could be PSCI-based),
 well documented, that can be shared with others that may encounter the
 same shortcomings.
 
 There's no need to even fork PSCI. The PSCI specification will evolve
 over time as vendors request changes and we try to accomodate them.
 
 If there's something that PSCI doesn't do that you need it to, contact
 ARM. Other vendors already have.

But what is someone to do between the period of getting PSCI spec updated and 
needing to ship a product with firmware?

The take still sounds like if you don’t implement an exact version of PSCI you 
are screwed from being supported in the upstream ARM64 kernel.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Lorenzo Pieralisi
On Tue, Apr 14, 2015 at 03:21:17PM +0100, Kumar Gala wrote:

[...]

  Looking beyond this set of patches, I can foresee that you won't care
  about the generic arm64 cpuidle driver either, or more precisely the
  separation between cpuidle subsystem+driver and the SoC-specific
  back-end (cpu_operations).
 
 That's probably true for what I guess are a number of reasons.  I'm guessing 
 the arm64 cpuidle driver expects PSCI.

Wrap lines sensibly please.

The arm64 cpuidle driver, that is now arm generic cpuidle driver does
not expect anything apart from an enable-method (and you pulled
part of its back-end implementation for arm32 Qualcomm platforms, FYI).

It took years to consolidate it and the main reason was the lack of
standard interfaces for power down/up sequences that this patchset of
yours wants to promote in arm64 world.

The lack of standard power interfaces may not have been an issue for you,
who cares about Qualcomm code, it has been a sore issue for people
trying to generalize things across ARM platforms in the kernel, which is
the only sensible way forward.

PSCI is a standard interface (and Qualcomm are already contributing to
it, for the records) that can certainly be extended, and you are welcome
to contribute to it, but certainly not ignored.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-14 Thread Catalin Marinas
On Tue, Apr 14, 2015 at 02:49:04PM -0500, Kumar Gala wrote:
 On Apr 14, 2015, at 11:36 AM, Mark Rutland mark.rutl...@arm.com wrote:
  On Fri, Apr 10, 2015 at 11:05:29AM +0100, Catalin Marinas wrote:
  On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
  This patch set adds support for SMP boot on the MSM8x16 family of 
  Qualcomm SoCs.
  
  To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
  interfaces to
  setup the boot/release addresses for the secondary CPUs.  In addition we 
  need
  a uniquie set of cpu ops.  I'm aware the desired methods for booting 
  secondary
  CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
  with a
  firmware that does not support those methods.
  
  And the reason is? Some guesses:
  
  a) QC doesn't think boot interface (and cpuidle) standardisation is
worth the effort (to put it nicely)
  b) The hardware was available before we even mentioned PSCI
  c) PSCI is not suitable for the QC's SCM interface
  d) Any combination of the above
  
  I strongly suspect it's point (a). Should we expect future QC hardware
  to do the same?
  
  You could argue the reason was (b), though we've been discussing PSCI
  for at least two years and, according to QC press releases, MSM8916
  started sampling in 2014.
  
  The only valid reason is (c) and if that's the case, I would expect a
  proposal for a new firmware interface protocol (it could be PSCI-based),
  well documented, that can be shared with others that may encounter the
  same shortcomings.
  
  There's no need to even fork PSCI. The PSCI specification will evolve
  over time as vendors request changes and we try to accomodate them.
  
  If there's something that PSCI doesn't do that you need it to, contact
  ARM. Other vendors already have.

Mostly yes but there may be valid reasons for not being able to use
PSCI. The spin-table method is still a firmware interface, though not
necessarily secure (a.k.a. SMC-based). The ACPI parking protocol is
another and, who knows, maybe we define a way to park CPUs back to
firmware without SMC calls (when EL3 is not available).

 But what is someone to do between the period of getting PSCI spec
 updated and needing to ship a product with firmware?
 
 The take still sounds like if you don’t implement an exact version of
 PSCI you are screwed from being supported in the upstream ARM64
 kernel.

These are silly arguments. There is a big difference between we
couldn't get the firmware implementing the standard for the early
silicon but we are working on fixing it for future revisions vs. we
don't give a s**t about these standards, the kernel must be inclusive.
So please make up your mind on which direction you want to pursue.

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


Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-13 Thread Catalin Marinas
On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
> On Apr 10, 2015, at 11:10 AM, Catalin Marinas  wrote:
> > On Fri, Apr 10, 2015 at 10:24:46AM -0500, Kumar Gala wrote:
> >> On Apr 10, 2015, at 5:05 AM, Catalin Marinas  
> >> wrote:
> >>> On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
>  This patch set adds support for SMP boot on the MSM8x16 family of 
>  Qualcomm SoCs.
>  
>  To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
>  interfaces to
>  setup the boot/release addresses for the secondary CPUs.  In addition we 
>  need
>  a uniquie set of cpu ops.  I'm aware the desired methods for booting 
>  secondary
>  CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
>  with a
>  firmware that does not support those methods.
> >>> 
> >>> And the reason is? Some guesses:
> >>> 
> >>> a) QC doesn't think boot interface (and cpuidle) standardisation is
> >>>  worth the effort (to put it nicely)
> >>> b) The hardware was available before we even mentioned PSCI
> >>> c) PSCI is not suitable for the QC's SCM interface
> >>> d) Any combination of the above
> >>> 
> >>> I strongly suspect it's point (a). Should we expect future QC hardware
> >>> to do the same?
> >>> 
> >>> You could argue the reason was (b), though we've been discussing PSCI
> >>> for at least two years and, according to QC press releases, MSM8916
> >>> started sampling in 2014.
> >>> 
> >>> The only valid reason is (c) and if that's the case, I would expect a
> >>> proposal for a new firmware interface protocol (it could be PSCI-based),
> >>> well documented, that can be shared with others that may encounter the
> >>> same shortcomings.
> >> 
> >> Does it matter?  I’ve always felt the kernel was a place of inclusion.
> >> Qualcomm choose for whatever reason to not use PSCI or spin table.
> >> You don’t like it, I might not like it, but it is what it is.
> > 
> > Yes, it matters, but only if Qualcomm wants the SoC support in mainline.
> > Just because Qualcomm Inc does not want to invest in implementing a
> > standard firmware interface is not a good enough reason to merge the
> > kernel code.
> 
> The reason to merge the code upstream it expands functionality for a
> platform.

This alone has never been a good enough reason. Code (both design and
style) needs to pass the review.

> There is nothing that says when someone licenses an ARM core that they
> must also implement this standard.

Just to be perfectly clear: this has nothing to do with ARM Ltd nor the
ARM hardware licensing terms. ARM Ltd doesn't even require you to use
Linux, that's your choice. But when you make an OS choice, you have to
abide by its rules.

> Qualcomm choose for whatever reasons to not implement it.  There are
> examples on other architectures supporting non-standard platforms all
> the time (x86 supported Voyager and SGI VIS for a long time).  As far
> as I can tell you are just wanting uniformity to impose this rule.

Don't confuse non-standard hardware (which has always been acceptable on
ARM) with non-standard ways of entering the kernel from firmware,
whether it's a primary or secondary CPU. Just look at how many smp_ops
structures are defined on x86.

> > What if Qualcomm decides that it doesn't like DT, nor ACPI but comes up
> > with yet another way to describe hardware because that's what the
> > firmware provides? Should the kernel community take it? You could argue
> > that this is a significant change but it's about the principle. And each
> > SoC with its own non-standard boot protocol for no good reason is
> > significant.
> 
> I wouldn’t argue that because we are talking about something that has
> an extremely small impact on the maintainability or changes to how the
> kernel actually functions.

It's not about one particular case but about where to draw the line.
Just multiply this change by the number of SoC variants and you'll no
longer see this as "extremely small impact". Why would we accept it for
Qualcomm and reject it for others? It's either giving up trying to
standardise this altogether or enforcing rules. Since you only care
about Qualcomm hardware, you don't care about the overall picture.

By your reasoning, Qualcomm may solely decide to change the booting for
the primary CPU as well, ignore single Image requirements (well, why
would Qualcomm care about other SoCs) and so on. The kernel community
should just accept such changes without questioning because they expand
platform functionality. I am not asking for *hardware* standardisation
here, but common software interfaces.

> Also, if Qualcomm did come up with some other means to replace DT or
> ACPI and felt it was worth trying to get accepted upstream, I would
> hope the upstream would look at it before just saying it was not using
> some standard.

We would still expect proper technical arguments. That's exactly what
I'm asking here; is PSCI not suitable for Qualcomm? If not, can 

Re: [RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-13 Thread Catalin Marinas
On Fri, Apr 10, 2015 at 02:06:33PM -0500, Kumar Gala wrote:
 On Apr 10, 2015, at 11:10 AM, Catalin Marinas catalin.mari...@arm.com wrote:
  On Fri, Apr 10, 2015 at 10:24:46AM -0500, Kumar Gala wrote:
  On Apr 10, 2015, at 5:05 AM, Catalin Marinas catalin.mari...@arm.com 
  wrote:
  On Thu, Apr 09, 2015 at 12:37:06PM -0500, Kumar Gala wrote:
  This patch set adds support for SMP boot on the MSM8x16 family of 
  Qualcomm SoCs.
  
  To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM 
  interfaces to
  setup the boot/release addresses for the secondary CPUs.  In addition we 
  need
  a uniquie set of cpu ops.  I'm aware the desired methods for booting 
  secondary
  CPUs is either via spintable or PSCI.  However, these SoCs are shipping 
  with a
  firmware that does not support those methods.
  
  And the reason is? Some guesses:
  
  a) QC doesn't think boot interface (and cpuidle) standardisation is
   worth the effort (to put it nicely)
  b) The hardware was available before we even mentioned PSCI
  c) PSCI is not suitable for the QC's SCM interface
  d) Any combination of the above
  
  I strongly suspect it's point (a). Should we expect future QC hardware
  to do the same?
  
  You could argue the reason was (b), though we've been discussing PSCI
  for at least two years and, according to QC press releases, MSM8916
  started sampling in 2014.
  
  The only valid reason is (c) and if that's the case, I would expect a
  proposal for a new firmware interface protocol (it could be PSCI-based),
  well documented, that can be shared with others that may encounter the
  same shortcomings.
  
  Does it matter?  I’ve always felt the kernel was a place of inclusion.
  Qualcomm choose for whatever reason to not use PSCI or spin table.
  You don’t like it, I might not like it, but it is what it is.
  
  Yes, it matters, but only if Qualcomm wants the SoC support in mainline.
  Just because Qualcomm Inc does not want to invest in implementing a
  standard firmware interface is not a good enough reason to merge the
  kernel code.
 
 The reason to merge the code upstream it expands functionality for a
 platform.

This alone has never been a good enough reason. Code (both design and
style) needs to pass the review.

 There is nothing that says when someone licenses an ARM core that they
 must also implement this standard.

Just to be perfectly clear: this has nothing to do with ARM Ltd nor the
ARM hardware licensing terms. ARM Ltd doesn't even require you to use
Linux, that's your choice. But when you make an OS choice, you have to
abide by its rules.

 Qualcomm choose for whatever reasons to not implement it.  There are
 examples on other architectures supporting non-standard platforms all
 the time (x86 supported Voyager and SGI VIS for a long time).  As far
 as I can tell you are just wanting uniformity to impose this rule.

Don't confuse non-standard hardware (which has always been acceptable on
ARM) with non-standard ways of entering the kernel from firmware,
whether it's a primary or secondary CPU. Just look at how many smp_ops
structures are defined on x86.

  What if Qualcomm decides that it doesn't like DT, nor ACPI but comes up
  with yet another way to describe hardware because that's what the
  firmware provides? Should the kernel community take it? You could argue
  that this is a significant change but it's about the principle. And each
  SoC with its own non-standard boot protocol for no good reason is
  significant.
 
 I wouldn’t argue that because we are talking about something that has
 an extremely small impact on the maintainability or changes to how the
 kernel actually functions.

It's not about one particular case but about where to draw the line.
Just multiply this change by the number of SoC variants and you'll no
longer see this as extremely small impact. Why would we accept it for
Qualcomm and reject it for others? It's either giving up trying to
standardise this altogether or enforcing rules. Since you only care
about Qualcomm hardware, you don't care about the overall picture.

By your reasoning, Qualcomm may solely decide to change the booting for
the primary CPU as well, ignore single Image requirements (well, why
would Qualcomm care about other SoCs) and so on. The kernel community
should just accept such changes without questioning because they expand
platform functionality. I am not asking for *hardware* standardisation
here, but common software interfaces.

 Also, if Qualcomm did come up with some other means to replace DT or
 ACPI and felt it was worth trying to get accepted upstream, I would
 hope the upstream would look at it before just saying it was not using
 some standard.

We would still expect proper technical arguments. That's exactly what
I'm asking here; is PSCI not suitable for Qualcomm? If not, can it be
improved? If you have completely different needs, can you come up with a
standard firmware interface, which may only be used by Qualcomm for the
time 

[RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-10 Thread Kumar Gala
This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm SoCs.

To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM interfaces to
setup the boot/release addresses for the secondary CPUs.  In addition we need
a uniquie set of cpu ops.  I'm aware the desired methods for booting secondary
CPUs is either via spintable or PSCI.  However, these SoCs are shipping with a
firmware that does not support those methods.

v2:
* Dropped introduction and use of CPU_METHOD_OF_DECLARE
* Moved qcom cpu ops from drivers/soc/qcom to arch/arm64/kernel
* Renamed msm to qcom in cpu ops code, minor cleans (remove dead defines/code)

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-10 Thread Kumar Gala
This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm SoCs.

To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM interfaces to
setup the boot/release addresses for the secondary CPUs.  In addition we need
a uniquie set of cpu ops.  I'm aware the desired methods for booting secondary
CPUs is either via spintable or PSCI.  However, these SoCs are shipping with a
firmware that does not support those methods.

v2:
* Dropped introduction and use of CPU_METHOD_OF_DECLARE
* Moved qcom cpu ops from drivers/soc/qcom to arch/arm64/kernel
* Renamed msm to qcom in cpu ops code, minor cleans (remove dead defines/code)

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-09 Thread Kumar Gala
This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm SoCs.

To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM interfaces to
setup the boot/release addresses for the secondary CPUs.  In addition we need
a uniquie set of cpu ops.  I'm aware the desired methods for booting secondary
CPUs is either via spintable or PSCI.  However, these SoCs are shipping with a
firmware that does not support those methods.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/


[RFC PATCH 0/5] Add smp booting support for Qualcomm ARMv8 SoCs

2015-04-09 Thread Kumar Gala
This patch set adds support for SMP boot on the MSM8x16 family of Qualcomm SoCs.

To support SMP on the MSM8x16 SoCs we need to add ARMv8/64-bit SCM interfaces to
setup the boot/release addresses for the secondary CPUs.  In addition we need
a uniquie set of cpu ops.  I'm aware the desired methods for booting secondary
CPUs is either via spintable or PSCI.  However, these SoCs are shipping with a
firmware that does not support those methods.

- k

-- 
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project
--
To unsubscribe from this list: send the line unsubscribe linux-kernel in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/