sm8550: rewrite current patchset, may need maintainers attention#9414
sm8550: rewrite current patchset, may need maintainers attention#9414EvilOlaf wants to merge 1 commit intoarmbian:mainfrom
current patchset, may need maintainers attention#9414Conversation
📝 WalkthroughWalkthroughThis patchset introduces a comprehensive Qualcomm Iris video decoder driver for SM8550 with HFI communication, power management, buffer handling, and V4L2 integration, alongside new hardware drivers for panels, LEDs, input devices, PWM controllers, and miscellaneous device tree and kernel subsystem updates. Changes
Sequence DiagramsequenceDiagram
participant Client as V4L2 Client
participant Core as Iris Core
participant VPU as VPU/FW
participant HFI as HFI Queue
participant Firmware as Firmware
Note over Client,Firmware: Iris Video Decoder Initialization Flow
Client->>Core: iris_open()
Core->>Core: iris_core_init()
Core->>VPU: iris_fw_load()
VPU->>Firmware: Load firmware via MDT
Firmware-->>VPU: Firmware loaded
VPU->>VPU: iris_vpu_boot_firmware()
VPU-->>Core: Boot complete
Core->>HFI: iris_hfi_core_init()
HFI->>HFI: Initialize queues
HFI-->>Core: Queues ready
Core->>HFI: iris_hfi_isr_handler()
HFI->>Firmware: Send SYS_INIT
Firmware-->>HFI: SYS_INIT_DONE response
HFI->>Core: Complete core_init_done
Note over Client,Firmware: Stream Setup (per-session)
Client->>Core: REQBUF for OUTPUT
Core->>Core: iris_session_open()
Core->>HFI: session_open()
HFI->>Firmware: SESSION_INIT
Firmware-->>HFI: SESSION_INIT_DONE
HFI->>Core: Route to iris_inst
Core->>Core: iris_set_properties()
Core->>HFI: session_set_property()
HFI->>Firmware: Property update
Firmware-->>HFI: Property ACK
Core->>Core: iris_alloc_and_queue_internal_bufs()
HFI->>Firmware: SESSION_SET_BUFFERS (internal)
Note over Client,Firmware: Streaming
Client->>Core: STREAMON OUTPUT
Core->>Core: iris_vdec_streamon_output()
Core->>HFI: session_load_resources()
HFI->>Firmware: LOAD_RESOURCES
Firmware-->>HFI: LOAD_DONE
Core->>HFI: session_start()
HFI->>Firmware: SESSION_START
Firmware-->>HFI: START_DONE
Core->>Core: State→OUTPUT_STREAMING
Client->>Core: QBUF (input buffer)
Core->>HFI: session_empty_buffer()
HFI->>Firmware: Input data
Firmware->>Firmware: Decode
Firmware->>HFI: FTB_DONE (output buffer)
HFI->>Core: iris_hfi_gen2_response()
Core->>Core: iris_vb2_buffer_done()
Core-->>Client: Decoded frame ready
Estimated code review effort🎯 5 (Critical) | ⏱️ ~120 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Comment |
patch/kernel/archive/sm8550-6.12/0037_dt-bindings--phy--qcom,sc8280xp-qmp-usb43dp--Refer.patch
Show resolved
Hide resolved
patch/kernel/archive/sm8550-6.12/0050_arm64--dts--qcom--Add-AYN-Odin2.patch
Show resolved
Hide resolved
|
I just had discussion with @Squishy123 and i advise him to focus to 6.18.y, make it current, and ditch the rest to ease maintenance burden. Patches are coming somewhere from https://github.com/ROCKNIX so i guess we don't want to change them unless really necessary. There is only one device (Ayn Odin and its variants) behind this kernel. |
Description
quite a messy rewrite but any maintainer for sm8550 can look for themselves: https://paste.armbian.com/inajoromes
This isn't actually meant to be merged, more like a heads-up to check if there are potential issues.
Summary by CodeRabbit
Release Notes
New Features
Bug Fixes
Performance Improvements