All of lore.kernel.org
 help / color / mirror / Atom feed
* Qualcomm Kryo core compatibles
@ 2023-03-08 10:44 Konrad Dybcio
  2023-03-10 22:39 ` Rob Herring
  0 siblings, 1 reply; 3+ messages in thread
From: Konrad Dybcio @ 2023-03-08 10:44 UTC (permalink / raw)
  To: lkml, dt, Rob Herring, Krzysztof Kozlowski

Hi!

I was recently debating what to do about Qualcomm Kryo compatibles.

There are basically 3 cases:

1. Falkor/"real Kryo" - the (never shipped?) server platform & MSM8996

This one's easy, it's actually Kryo so it should stay Kryo.


2. Fake Kryo ("customized" Arm Cortex cores) (MSM8998-SM8x50)

This one's tough.. Qualcomm marketing material seems to sometimes say
Cortex, sometimes Kryo, sometimes "customized Cortex".. They do use
their own arm IMPLEMENTER_ID in the MIDR_EL1 register and their
PART_NUM values are not Arm-stock, but these cores don't seem to be
any special.. Maybe some irq lines are routed differently? Not sure.

My proposition here is to do:

"qcom,kryoXXX", "arm,cortex-ABC"

or

"qcom,kryoXXX-PQR", "arm,cortex-ABC"

where PQR is one of:
- silver (LITTLE cores)
- gold (big cores)
- gold_plus (prime core(s))


3. Arm cores modified within Arm implementation-defined allowance (SC8280XP+)

These cores report Arm IMPLEMENTER_IDs and actual Arm PART_NUMs, which would
suggest they're bone stock Arm Cortex cores, with some Qualcomm-iness coming
as part of implementation details which are.. expected since Cortex allows for
some IMPLEMENTATION DEFINED things. The only non-obvious part here is that
the REVISION field they report does not always seem covered by the Arm TRMs.

In this case I think going with

"arm,cortex-ABC"

is fine.. I already did this for 8550 and 8280xp and Rob seems to have liked it.

So, I suppose the real question is what to do about 2., should they stay as
they are, or maybe my proposition seems attractive?

Konrad

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Qualcomm Kryo core compatibles
  2023-03-08 10:44 Qualcomm Kryo core compatibles Konrad Dybcio
@ 2023-03-10 22:39 ` Rob Herring
  2023-03-11  0:03   ` Konrad Dybcio
  0 siblings, 1 reply; 3+ messages in thread
From: Rob Herring @ 2023-03-10 22:39 UTC (permalink / raw)
  To: Konrad Dybcio; +Cc: lkml, dt, Krzysztof Kozlowski

On Wed, Mar 8, 2023 at 4:44 AM Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>
> Hi!
>
> I was recently debating what to do about Qualcomm Kryo compatibles.
>
> There are basically 3 cases:
>
> 1. Falkor/"real Kryo" - the (never shipped?) server platform & MSM8996
>
> This one's easy, it's actually Kryo so it should stay Kryo.
>
>
> 2. Fake Kryo ("customized" Arm Cortex cores) (MSM8998-SM8x50)
>
> This one's tough.. Qualcomm marketing material seems to sometimes say
> Cortex, sometimes Kryo, sometimes "customized Cortex".. They do use
> their own arm IMPLEMENTER_ID in the MIDR_EL1 register and their
> PART_NUM values are not Arm-stock, but these cores don't seem to be
> any special.. Maybe some irq lines are routed differently? Not sure.
>
> My proposition here is to do:
>
> "qcom,kryoXXX", "arm,cortex-ABC"
>
> or
>
> "qcom,kryoXXX-PQR", "arm,cortex-ABC"

I don't see much value in the fallback here. We don't do much with the
values anyways as everything uses ID registers anyways. Do you know
the level of modification?

> where PQR is one of:
> - silver (LITTLE cores)
> - gold (big cores)
> - gold_plus (prime core(s))
>
>
> 3. Arm cores modified within Arm implementation-defined allowance (SC8280XP+)
>
> These cores report Arm IMPLEMENTER_IDs and actual Arm PART_NUMs, which would
> suggest they're bone stock Arm Cortex cores, with some Qualcomm-iness coming
> as part of implementation details which are.. expected since Cortex allows for
> some IMPLEMENTATION DEFINED things. The only non-obvious part here is that
> the REVISION field they report does not always seem covered by the Arm TRMs.
>
> In this case I think going with
>
> "arm,cortex-ABC"
>
> is fine.. I already did this for 8550 and 8280xp and Rob seems to have liked it.
>
> So, I suppose the real question is what to do about 2., should they stay as
> they are, or maybe my proposition seems attractive?

What about the generic 'qcom,kryo' strings?

Rob

^ permalink raw reply	[flat|nested] 3+ messages in thread

* Re: Qualcomm Kryo core compatibles
  2023-03-10 22:39 ` Rob Herring
@ 2023-03-11  0:03   ` Konrad Dybcio
  0 siblings, 0 replies; 3+ messages in thread
From: Konrad Dybcio @ 2023-03-11  0:03 UTC (permalink / raw)
  To: Rob Herring; +Cc: lkml, dt, Krzysztof Kozlowski



On 10.03.2023 23:39, Rob Herring wrote:
> On Wed, Mar 8, 2023 at 4:44 AM Konrad Dybcio <konrad.dybcio@linaro.org> wrote:
>>
>> Hi!
>>
>> I was recently debating what to do about Qualcomm Kryo compatibles.
>>
>> There are basically 3 cases:
>>
>> 1. Falkor/"real Kryo" - the (never shipped?) server platform & MSM8996
>>
>> This one's easy, it's actually Kryo so it should stay Kryo.
>>
>>
>> 2. Fake Kryo ("customized" Arm Cortex cores) (MSM8998-SM8x50)
>>
>> This one's tough.. Qualcomm marketing material seems to sometimes say
>> Cortex, sometimes Kryo, sometimes "customized Cortex".. They do use
>> their own arm IMPLEMENTER_ID in the MIDR_EL1 register and their
>> PART_NUM values are not Arm-stock, but these cores don't seem to be
>> any special.. Maybe some irq lines are routed differently? Not sure.
>>
>> My proposition here is to do:
>>
>> "qcom,kryoXXX", "arm,cortex-ABC"
>>
>> or
>>
>> "qcom,kryoXXX-PQR", "arm,cortex-ABC"
> 
> I don't see much value in the fallback here. We don't do much with the
> values anyways as everything uses ID registers anyways. Do you know
> the level of modification?
Sadly no..

> 
>> where PQR is one of:
>> - silver (LITTLE cores)
>> - gold (big cores)
>> - gold_plus (prime core(s))
>>
>>
>> 3. Arm cores modified within Arm implementation-defined allowance (SC8280XP+)
>>
>> These cores report Arm IMPLEMENTER_IDs and actual Arm PART_NUMs, which would
>> suggest they're bone stock Arm Cortex cores, with some Qualcomm-iness coming
>> as part of implementation details which are.. expected since Cortex allows for
>> some IMPLEMENTATION DEFINED things. The only non-obvious part here is that
>> the REVISION field they report does not always seem covered by the Arm TRMs.
>>
>> In this case I think going with
>>
>> "arm,cortex-ABC"
>>
>> is fine.. I already did this for 8550 and 8280xp and Rob seems to have liked it.
>>
>> So, I suppose the real question is what to do about 2., should they stay as
>> they are, or maybe my proposition seems attractive?
> 
> What about the generic 'qcom,kryo' strings?
As I pointed out in 1., IMO it'd be most logical to only use them for
"true kryo" cores, which are a custom armv8.1-compliant design not
based on Cortex, used on MSM8996 and some dead server platform. Any other
"kryo" seems to either fall under 2. or 3.

Konrad

> 
> Rob

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2023-03-11  0:03 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2023-03-08 10:44 Qualcomm Kryo core compatibles Konrad Dybcio
2023-03-10 22:39 ` Rob Herring
2023-03-11  0:03   ` Konrad Dybcio

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.