Posts
195
Following
32
Followers
215
Linux Kernel developer and maintainer
🇵🇱 🇪🇺 🇰🇷 🇮🇱 🇺🇦 🇨🇭
IRC: krzk
Kernel work related account. Other accounts of mine: @krzk@mastodon.social

Krzysztof Kozlowski

Manivannan Sadhasivam leading discussion on PCI Endpoint open items: virtio, QEMU and more. Linux Plumbers Conference 2024 #LinuxPlumbers2024 #lpc2024 #linux
https://lpc.events/event/18/contributions/1683/
0
2
2
@ljs Let's start with grabbing beers and we figure out paying later.
P.S. Is that an invitation for a date?
1
0
2

Krzysztof Kozlowski

The Linux Plumbers Conference is just in three days and I am looking forward to it. I see plenty of interesting topics, so the conference looks promising. If Devicetree is something of interest for you, please come visit "Devicetree Birds of Feather" session on Friday morning:
https://lpc.events/event/18/contributions/1783/

P.S. If you want to grab a beer or chat, find me in the halls or get in touch via email/fedi. I won't be attending OSSE, though. Only Plumbers.
2
7
11

I’m happy to announce the Amlogic ARM64 Device Tree is now fully documented in linux-next, ready for v6.12!

Since the beginning of Device Tree on Linux, we documented how it should be written so drivers could know what to expect, it’s called “bindings”, it’s a sort of “contract” between Device Tree and drivers.

But those were written in human readable open text format, without any automated way to verify Device Tree files. There were numerous attempts, but ultimately Rob Herring leveraged JSON Schema [1] into “dtschema” [2] leading to this patch serie https://lore.kernel.org/all/20181005165848.3474-1-robh@kernel.org/.

Thus “dtschema” made it possible to write bindings in YAML and the developed scripts would convert Device Tree in YAML and run a validation with JSON Schema validation. This was merged in end of 2018 then conversion of the text files in YAML files started.

For reference, there were 3278 text bindings in Linux 4.20 git tree, in today’s Linux next for v6.12 only 1250 text files remains but there’s 4345 yaml files now! In addition to the transition to yaml bindings, new platforms were introduced using the new format.

Around one year ago, I upstreamed support for the Snapdragon 8 Gen 3, and it was fully documented from day 1, and most of the changes was yaml bindings change since the SoC was mainly an upgrade from the Snapdragon 8 Gen 2 I helped upstream 2 years ago.

Let’s go back to Amlogic, were I started converting the text file to yaml bindings in August 2019 (see [3]), and finally ended the transition early this month with the patch [4]. This makes the Amlogic ARM64 Device Trees join fully documented along other platforms like Samsung Exynos

If you want to know more about Device Tree validation, you can look at my @LinaroLtd colleague @krzk talk he did in this year's in Seattle https://sched.co/1aBEf!

Now the links:
[1] https://json-schema.org/
[2] https://github.com/devicetree-org/dt-schema
[3] https://lore.kernel.org/all/20190801135644.12843-1-narmstrong@baylibre.com/
[4] https://lore.kernel.org/all/20240905-topic-amlogic-upstream-gxlx-drop-iio-compat-v2-1-7a690eb95bc2@linaro.org/
Thanks for reading !

1
13
4

Krzysztof Kozlowski

U-Boot on Qualcomm Snapdragon platforms - great work, @calebccff !
https://www.linaro.org/blog/initial-u-boot-release-for-qualcomm-platforms/

@calebccff, Are these releases already using upstream/Linux kernel DTS? Looking at your qcom_defconfig, it seems answer is yes (OF_UPSTREAM)?
0
1
3

Krzysztof Kozlowski

@kernellogger The problem is that Qualcomm ships devices with some weird ACPI tables which Linux simply cannot use. I don't know the details good enough to explain more. Maybe it would require rewriting several drivers to work with such Qcom-ACPI-variant.

RE: https://fosstodon.org/@kernellogger/112874114752280325
1
0
1

Krzysztof Kozlowski

@mripard Nothing, but the topic shifted towards why usage of such laptops is non-trivial in the beginning.

RE: https://fosstodon.org/@mripard/112874339733019220
1
0
0

Krzysztof Kozlowski

@kernellogger It boils down whether ACPI is properly implemented on given platform. There are ARM64 platforms running correctly under ACPI, e.g. most of the ARM64 servers, and you don't care about such differences.
The trouble starts when ACPI is not there (so almost all embedded designs, mobile phones/tables) or ACPI is somehow botched (e.g. Qualcomm Snapdragon compute platforms and laptops based on it), because then you go with Devicetree/DTS and everything starts... But such platforms are not consumer devices, usually. And really the Qualcomm Snapdragon for laptops should have just used ACPI.

RE: https://fosstodon.org/@kernellogger/112871174600451364
3
0
3
@artagnon It is paid. Paid Google.
0
0
0

Krzysztof Kozlowski

Edited 4 months ago

@artagnon @kernellogger

I’ve edited out the link. The LKML patch clearly states that the GPU requires OEM signing; nothing more.

Correct but why is that a problem? The ZAP firmware file needed for this will be most likely available. At least it is available already for two of mentioned earlier Lenovo laptops: Thinkpad Yoga Slim 7 and ThinkPad T14s.

Dmitry’s unimportant and harmless cleanup spurred some weird, harming gossips or uncertainties…

1
0
2
@artagnon @kernellogger And I forgot - also Lenovo ThinkPad T14s, the third consumer-available laptop.
0
0
0

Krzysztof Kozlowski

Edited 4 months ago
@artagnon @kernellogger Since I am one of folks who receives/gets-cc all the patches for all Qualcomm Snapdragon X1 Elite laptops (and I work on this with Dmitry), I can tell you that several laptops are already supported in decent way. The support varies, because it is work in progress and laptops do not work with ACPI under Linux (ask Qualcomm), thus require DTS.

Except reference or developer devices we already have: Lenovo Thinkpad Yoga Slim 7x and ASUS Vivobook S15.

There could be more easily, but someone has to actually buy that device and submit DTS. Adding support Lenovo Slim 7x was pretty trivial, according to Srinivas who posted the patches.

So which exactly "first-hands" reports do you mean? People trying to run random kernel without DTS hoping that ACPI will work? That never worked any of these devices...
1
0
1

Krzysztof Kozlowski

Edited 4 months ago
@artagnon @kernellogger With such clickbaits, Phoronix goes from poor source of knowledge about Linux kernel to "junk" source.
0
0
0
@artagnon @kernellogger The Phoronix clickbait still goes? That's so bollocks and so weird because Michael Larabel usually understands that stuff... Can we stop spreading this sort of FUD?

All GPUs for all upstream supported boards are enabled. Nothing got disabled by
"default". You have usable laptops. And whatever shady deals you mention, is so imprecise that not worth responding...
1
0
1
A video directly confirms a Russian missile strike on "Okhmatdyt" in Kyiv. It wasn't intercepted and didn't deviate from its coordinates - it was aimed precisely there to cause maximum casualties and inflict the most pain.

SBU investigators have determined that Russia struck "Okhmatdyt" with a Kh-101 missile.

#RussiaIsATerroristState #ArmUkraineNow #Ukraine #EU #Europe #NATOSummit #NatoAllies
2
5
2

Krzysztof Kozlowski

Edited 7 months ago
Since a year we got some contributions for converting Devicetree bindings from TXT to DT schema as part of some sort mentorship programs. This is great although leads to some misunderstandings in that work, considering mentorships did not ask DT maintainers about some sort of guidance. To clarify:

1. Please convert bindings which have active DTS users. First choose bindings with DTS built by arm64 defconfig, then next choice by arm multi_v7 defconfig. Then any other ARM or different architecture DTS.

2. Be sure dt_bindings_check (including yamllint) and checkpatch pass without any warnings. See writing-schema.rst document.

3. Be sure DTS using this binding passes dtbs_check validation. If this means binding needs to be adapted during conversion, mention briefly in commit message changes done comparing to pure TXT->DT schema conversion. Sometimes DTS has to be fixed. Sometimes both - DTS and binding - must be changed, because actual ABI (Linux drivers) is different.
1
0
5

Krzysztof Kozlowski

That's an interesting session: @cas explaining current status of upstream U-Boot on Qualcomm robotic platforms - using mainline kernel DTS and getting to SystemReady IR.
Slides: https://calebs.dev/u-boot24.pdf
https://www.kitefor.events/events/linaro-connect-24/submissions/183
0
11
29

Krzysztof Kozlowski

Edited 7 months ago
@abelvesa explaining the hacking setup used during his bringing up of the Qualcomm X Elite compute platform in Linaro:
https://www.kitefor.events/events/linaro-connect-24/submissions/182
1
1
4
@kernellogger And the cherry on the cake is last sentence: "We’ve published an experimental, raw disk image for a Debian installer..."
so good luck finding there any Qualcomm commits:
https://git.codelinaro.org/linaro/qcomlt/demos/debian-12-installer-image/-/commits/master
1
0
2
Show older