[PATCH 4/4] wifi: ath12k: Connect to the QMI server belonging to the device owned by this driver
Mihai Moldovan
ionic at ionic.de
Sat Sep 19 08:45:37 PDT 2026
* On 9/18/26 18:51, Juha-Matti Tilli wrote:
>> But now, QRTR provides each MHI endpoint a unique node id which is
>> different from the node id announced by the device. So use the same id to
>> pick the correct server. Add a get_qrtr_node_id() HIF callback that returns
>> the node id derived from the MHI controller index and zero for transports
>> that do not assign one. In the new_server callback, skip any service whose
>> node id does not match. A node id of zero disables the check, so transports
>> that do not assign one keep their current behavior.
>>
>> Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam at oss.qualcomm.com>
>
> CC'ing Mihai. He is known to have a platform with two ath12k cards,
> but he said he's been busy recently, so his testing input is uncertain.
I probably could change the setup to use 2 x ath12k modules, yes, but really I
have always been testing with one module using ath11k and the other module using
ath12k. Never tested two ath11k or ath12k at a time. There might be even more
obstacles to getting that to work correctly.
My "test setup" is in the new flat where I don't have a proper networking setup,
though, so... meh. Don't count on me testing it this year still.
The proposed code looks simple enough, though, and generally makes sense. It
also does away with aux data on the qrtr socket, and if both endpoints can
access the same MHI data, it probably makes sense to let them both determine the
node ID via the shared MHI controller index (the important part here is that the
node ID knowledge is not stored or passed through anywhere in a common qrtr data
structure, but essentially becomes a "shared secret" that both end points
determine individually, but also in a deterministic, matching way).
Since this changes the endpoint ID completely, this might even make the
user-space qrtr tools work transparently with multiple devices, i.e., not
requiring any changes to that part. That would be my hope at least. Definitely
needs testing, though. It would be great if the user-space tools could directly
communicate with the servers on the modules, but I'm not quite sure how the
user-space tools would come to the correct node ID conclusion. This might be one
drawback of the "shared knowledge" architecture - it might be difficult to make
it work outside of the driver realm.
Indeed a cleaner and more simple approach, though.
Mihai
More information about the ath12k
mailing list