lists.openwall.net   lists  /  announce  owl-users  owl-dev  john-users  john-dev  passwdqc-users  yescrypt  popa3d-users  /  oss-security  kernel-hardening  musl  sabotage  tlsify  passwords  /  crypt-dev  xvendor  /  Bugtraq  Full-Disclosure  linux-kernel  linux-netdev  linux-ext4  linux-hardening  linux-cve-announce  PHC 
Open Source and information security mailing list archives
 
Hash Suite: Windows password security audit tool. GUI, reports in PDF.
[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <33ee8446-aa01-47df-8e20-5ae2d384ed0e@kwiboo.se>
Date: Sat, 1 Jun 2024 01:15:03 +0200
From: Jonas Karlman <jonas@...boo.se>
To: Dragan Simic <dsimic@...jaro.org>
Cc: Alexey Charkov <alchark@...il.com>, linux-rockchip@...ts.infradead.org,
 heiko@...ech.de, linux-arm-kernel@...ts.infradead.org,
 devicetree@...r.kernel.org, robh+dt@...nel.org, krzk+dt@...nel.org,
 conor+dt@...nel.org, linux-kernel@...r.kernel.org,
 quentin.schulz@...rry.de, wens@...nel.org, daniel.lezcano@...aro.org,
 didi.debian@...ow.org, krzysztof.kozlowski+dt@...aro.org,
 viresh.kumar@...aro.org
Subject: Re: [RFC PATCH] arm64: dts: rockchip: Make preparations for
 per-RK3588-variant OPPs

Hello Dragan,

On 2024-05-31 23:24, Dragan Simic wrote:
> Hello Jonas,
> 
> On 2024-05-31 13:27, Jonas Karlman wrote:
>> On 2024-05-30 21:31, Dragan Simic wrote:
>> [snip]
>>
>>>>>>> That way we'll have no roadblocks if, at some point, we end up 
>>>>>>> with
>>>>>>> having
>>>>>>> different OPPs defined for the RK3588 and the RK3588S variants.  
>>>>>>> Or
>>>>>>> maybe
>>>>>>> even for the RK3582, which we don't know much about yet.
>>>>>>
>>>>>> Guess we'll deal with that one once we stumble upon an actual 
>>>>>> RK3582
>>>>>> board out in the wild and heading to the mainline kernel tree :)
>>>>>
>>>>> Of course, that was just an example for the future use.
>>>>
>>>> In fact, I've just discovered that Radxa has recently released Rock 
>>>> 5C
>>>> Lite which is based on RK3582, and starts at just $29 for the 1GB
>>>> version, making it interesting for tinkering. Especially given that
>>>> its GPU, one of the big-core clusters and one of the VPU cores seem 
>>>> to
>>>> be disabled in software (u-boot) rather than in hardware, which means
>>>> there is some chance that a particular SoC specimen would actually
>>>> have them in a working condition and possible to re-enable at no 
>>>> cost.
>>>> Ordered myself one to investigate :)
>>>
>>> Yes, I also saw the RK3582-based ROCK 5C Lite a couple of days ago. :)
>>> It seems that the disabled IP blocks are detected as defective during
>>> the manufacturing, which means that they might work correctly, or 
>>> might
>>> actually misbehave.  It seems similar to the way old three-core AMD
>>> Phenom II CPUs could sometimes be made quad-core.
>>
>> I can confirm that the RK3582 include ip-state in OTP indicating
>> unusable cores, any unusable cpu core cannot be taken online and stalls
>> Linux kernel a few extra seconds during boot.
> 
> Thanks for this confirmation!
> 
>> Started working on a patch for U-Boot to remove any broken cpu core
>> and/or cluster nodes, similar to what vendor U-Boot does, adopted to
>> work with a mainline DT for RK3588.
> 
> Nice, thanks for working on that. :)
> 
>> On one of my ROCK 5C Lite board one of the cpu cores is unusable, 
>> U-Boot
>> removes the related cpu cluster nodes. On another ROCK 5C Lite board 
>> one
>> rkvdec core is only marked unusable and all cpu cores can be taken
>> online, U-Boot does nothing in this case. Guessing we should apply
>> similar policy as vendor U-Boot and disable cores anyway.
> 
> Just checking, you're referring to disabling the rkvdec core only,
> for the latter case?

No, the vendor U-Boot will remove cluster2 if no cpu core is bad.

RK3582 policy:
- always remove gpu node
- always remove both rkvdec nodes
- remove bad rkvenc node, if both are normal, remove rkvenc1 anyway

RK3583 policy:
- remove bad rkvdec node, if both are normal, remove rkvdec1 anyway
- remove bad rkvenc node, if both are normal, remove rkvenc1 anyway

CPU core policy:
- remove both cores within a cluster having a bad core
- if core4~7 are all normal, remove core6 and core7 anyway

Regards,
Jonas

> 
>> Following commit contains early work-in-progress and some debug output.
>>
>> https://github.com/Kwiboo/u-boot-rockchip/commit/8cdf606e616baa36751f3b4adcfaefc781126c8c
>>
>> Booting ROCK 5C Lite boards using U-Boot generic-rk3588_defconfig:
>>
>> ROCK 5C Lite v1.1 (RK3582 with 1 bad cpu core):
>>
>>   cpu-code: 3582
>>   cpu-version: 08 10
>>   data: fe 21
>>   package: 11
>>   specification: 01
>>   ip-state: 10 00 00
>>   bad-state: cpu core 4
>>
>> ROCK 5C Lite v1.1 (RK3582 with 1 bad rkvdec core):
>>
>>   cpu-code: 3582
>>   cpu-version: 08 00
>>   data: fe 21
>>   package: 11
>>   specification: 01
>>   ip-state: 00 80 00
>>   bad-state: rkvdec core 1
> 
> Thanks again for these nice details!


Powered by blists - more mailing lists

Powered by Openwall GNU/*/Linux Powered by OpenVZ