Comments (16)
Do we still need this feature? @xiulipan
from linux.
@wenqingfu yes we do need this feature. This will be very helpful in making sure the IPC payload isnt tainted before it is sent to the DSP
from linux.
I actually wanted to have a "dump IPC" feature but for a completely different reason - to use a live system to record topology IPC messages to then create an object from those messages to be integrated with the DSP firmware image for the host-less mode. But I would actually use something different than the kernel logging for that. Something like debugfs / /proc / netlink or even a new ioctl to an existing device node... But I'm not sure how IPCs can be tainted - don't we have a much larger problem if IPC messages can be tainted on a system? @ranj063 could you clarify?
from linux.
@lyakh I do not think they are. This is related to the issue thesofproject/sof#766.
from linux.
@lyakh
Actually this feature originally is about reproduce some bug on host-less DSP on QEMU or some other simulator. And I think that is just what you think?
@ranj063
Good point! I think this will also have benefit about this kind of bugs. To help us make sure the payload is what we expect.
from linux.
@ranj063 @xiulipan @wenqingfu what if we do this as a debugfs file with a blocking read? I'm not a huge fan of polluting the kernel log with potentially many (dozens? hundreds?) messages per second.
from linux.
@lyakh
The point is that, we could not know when to read the payload from debugfs. The IPC is pretty quick to send.
Or you suggest we have another debugfs to store all IPC message in history order?
from linux.
@xiulipan it would be a different debugfs file, sure, similar to the logger. Yes, you would have to capture it explicitly, it wouldn't be saved automatically, and it would be more difficult to synchronise IPC messages with the rest of debugging output. So, we have to weigh the pros and the cons.
from linux.
@lyakh
That sound reasonable.
And if we could know what is the input date format for the host-less DSP system, then we can directly output in that format.
from linux.
@lyakh can you confirm you are working on this? there's been no update since Feb 14. I believe this is needed to help our firmware colleagues reproduce issues with the scripts.
from linux.
@plbossart @lgirdwood I'd like to have some more opinions on my proposal to implement this as a debugfs file in addition to @xiulipan's comment
from linux.
@lyakh I don't see any problems with saving the IPC payload with an appropriate format and time stamping in a debugfs file. We already have too many logs in dmesg, and adding all the content in dmesg isn't scalable/usable.
from linux.
@plbossart Mark had preference for this going via trace as ASCII hex data.
from linux.
@lgirdwood i was indicating my preference for a solution that doesn't rely on dmesg - as described in the title. we could do the debugfs first and then add the integration in the Linux trace. The latter would also need to be done for the sof-logger DSP trace btw if we want to be consistent.
from linux.
@plbossart @lgirdwood @wenqingfu @lbetlej Could we prioritize this feature? By parsing dumped payload we could recreate many sequences using our slim driver, which would speed up the process of debugging issues. The similar mechanism worked great for Windows. Of course to recreate the correct sequence the log would need to also have some additional information, like host stream buffer info, stream trigger etc.
from linux.
@tlauda what do you mean with additional information? If we dump the IPC payload in debugfs you'll get the IPC payload. If you want more context for this to be useful, then we'd have to instrument all IPC usages and define a syntax for what you want.
from linux.
Related Issues (20)
- [Bug] Unsupported DMIC blobs on Huawei Matebook X Pro 2024 (Intel Core Ultra 9 185H) HOT 67
- [BUG] Audio not working on Dell XPS 14 (9440) with Cirrus Logic CS42L43 HOT 2
- [Bug] PCI Audio card not recognized on Azulle Access 4, no audio plays HOT 5
- No sound with speakers but have with headphones : Laptop MSI Thin GF63 12UDX HOT 4
- missing MODULE_DESCRIPTION HOT 1
- No sound on Dell XPS 17 9700 after upgrading from kernel 6.8.9 to 6.9.0 HOT 11
- [BUG] [CML] [HDA] page allocation failure when system enter low memory HOT 10
- Samsung Galaxy Book4 Pro 14" (NP940XGK) - speakers do not work HOT 18
- [BUG] No Sound on Samsung Galaxy Book 4 Pro HOT 7
- [LNL] rcu_preempt self-detected stall on CPU HOT 3
- ba-mtlp-sdw-aioc-02: rt7111 codec lost, Msg ignored for Slave 0 HOT 8
- [MTL][SDW] rmmod stuck on kmod-load-unload tests HOT 8
- [BUG] Alder Lake Smart Sound Technology Audio Controller Headphones always reported as connected HOT 6
- [MTL] Attempting to sniff custom verbs, QEMU HDA passthrough not working HOT 9
- Microphone not working (Lenovo YOGA slim 7i) HOT 2
- Simultaneous audio capture from branched capture pipelines fail HOT 1
- HELP! Matebook 14 s does not install any external sound card drivers
- [HD-A] System does not wake up Playback/Capture-> pause -> suspend->resume scenario HOT 12
- [MTL] ThinkBook 13x Gen 4 speakers do not work HOT 5
- [BUG] Huawei MateBook E DRR-W76 - no soundcards found HOT 4
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from linux.