From: Mihai Moldovan <ionic@ionic.de>
To: ath11k@lists.infradead.org
Subject: Re: State of multiple PCI(e) modules since 2022
Date: Fri, 1 Nov 2024 18:05:28 +0100 [thread overview]
Message-ID: <a8874554-e618-48e8-8092-81bc2abb743a@ionic.de> (raw)
[-- Attachment #1.1: Type: text/plain, Size: 2348 bytes --]
* On 10/29/24 17:39, Denis Kenzior wrote:
> This RFC might be of interest then:
> https://lore.kernel.org/all/20241018181842.1368394-1-denkenz@gmail.com/
Wow, thank you!
I've tried applying Kalle's RFC to ath11k (and noticed that it already is part
of ath12k), force-enabled it and noticed that neither QCA6390 nor WNC7850 honor
the value written to the magic register. Since the initial firmware/bootloader
can't be easily updated, that approach isn't going to work for all supported
hardware.
My idea was to implement an optional proxy mode into qrtr, which identifies
messages from specific cards based on their PCI domain and bus number (which
should work at least for MHI, no idea about AHB), and uses one socket to
communicate with the device directly, and another socket that can be used as a
proxy socket which reads from the "normal" socket and modifies messages based on
the PCI data to replace the instance ID (and vice versa from driver back to the
card/MHI interface).
Your approach of using auxiliary data looks way easier, cleaner and generally
better and more promising.
I've applied your patch set and tried to resolve most nits that came up -
although I've neither understood what to change to use {WRITE,READ}_ONCCE or
where to remove locking, because the code referred to (BIND_ENDPOINT) doesn't
even use locking. Although I essentially tested V1.5, feel free to add a me as
Tested-By. It's successfully doing what it says it does.
Obviously that won't work out of the box for ath11k, because qmi_helpers is
still using the "old" API that doesn't use specific endpoint binding. I'm having
a hard time finding a way to make use of this feature in ath11k, though. We're
at the "wrong" side of the socket in ath11k/qmi_helpers, so can't access any
qrtr internals there. struct mhi_device is accessible from both ends, so I could
write the QRTR endpoint id into its driver data, read it in ath11k and pass it
down to qmi_helpers to bind to the specific endpoint. That certainly doesn't
sound elegant and it's hard to argue why QRTR data should be part of struct
mhi_device, and there is some potential for breakage because it would only be
available after the qrtr-mhi interface was initialized/probed, but that's the
only common ground I see.
Mihai
[-- Attachment #2: OpenPGP digital signature --]
[-- Type: application/pgp-signature, Size: 840 bytes --]
next reply other threads:[~2024-11-01 17:05 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2024-11-01 17:05 Mihai Moldovan [this message]
-- strict thread matches above, loose matches on Subject: below --
2024-11-01 17:17 State of multiple PCI(e) modules since 2022 Mihai Moldovan
2024-10-27 14:11 Mihai Moldovan
2024-10-29 16:39 ` Denis Kenzior
2024-10-31 14:49 ` Jeff Johnson
2024-11-05 6:52 ` Mihai Moldovan
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=a8874554-e618-48e8-8092-81bc2abb743a@ionic.de \
--to=ionic@ionic.de \
--cc=ath11k@lists.infradead.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox