Skip to content

fastrpcdlkm: Add recipe to support fastrpc DLKM#857

Closed
ekanshibu wants to merge 1 commit intoqualcomm-linux:masterfrom
ekanshibu:fastrpcdlkm
Closed

fastrpcdlkm: Add recipe to support fastrpc DLKM#857
ekanshibu wants to merge 1 commit intoqualcomm-linux:masterfrom
ekanshibu:fastrpcdlkm

Conversation

@ekanshibu
Copy link
Contributor

FastRPC DLKM carries additional features like static PD restart and enhanced invocation support. Add recipe to support fastrpc DLKM.

FastRPC DLKM carries additional features like static PD restart
and enhanced invocation support. Add recipe to support fastrpc
DLKM.

Signed-off-by: Ekansh Gupta <[email protected]>
@github-actions
Copy link

Test Results

 3 files  ±0   6 suites  ±0   2m 18s ⏱️ ±0s
23 tests ±0  23 ✅ ±0  0 💤 ±0  0 ❌ ±0 
57 runs  ±0  57 ✅ ±0  0 💤 ±0  0 ❌ ±0 

Results for commit 3ed4f50. ± Comparison against base commit e701e3a.

@github-actions
Copy link

@sbanerjee-quic
Copy link
Member

@quic-ekangupt need the corresponding change to include this in the CI

@vkraleti
Copy link
Contributor

@quic-ekangupt as discussed in #854 (comment) as this is a kernel module recipe, place it under recipes-kernel/fastrpc-module.


RPROVIDES:${PN} += "kernel-module-fastrpc-kernel"

FILESPATH =+ "${WORKSPACE}:"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why?


EXTRA_OEMAKE += "M=${S}"

RPROVIDES:${PN} += "kernel-module-fastrpc-kernel"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Why to use an additional RPROVIDES? Which other recipe is referring this module as "fastrpc-kernel" ?


MAKE_TARGETS = "modules"

MODULES_INSTALL_TARGET = "modules_install"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

No need. modules.bbclass already defaults to this.


SRC_URI = "git://git.codelinaro.org/clo/la/platform/vendor/qcom/opensource/dsp-kernel.git;protocol=https;branch=dsp-kernel.lnx.3.3;destsuffix=vendor/qcom/opensource/dsp-kernel"

S = "${WORKDIR}/vendor/qcom/opensource/dsp-kernel"
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

remove destsuffix in SRC_URI and set S = "${WORKDIR}/git"

@lumag
Copy link
Contributor

lumag commented Apr 30, 2025

Definite NAK. Please include the relevant patches into the linux-yocto / linux-qcom rather than pulling full DKML.
DKLMs are a way to provide missing drivers for the IP blocks that we don't support upstream (like vidc, camera ISP, etc). If we have a driver, we should not be using DKLMs in a way to circumvent upstreaming rules / requirements.

@ricardosalveti
Copy link
Contributor

Didn't compare the sources, but is this a fork of the upstream driver? If so I'm also aligned with @lumag, should be proposed as kernel patches instead.

@ekanshibu
Copy link
Contributor Author

Definite NAK. Please include the relevant patches into the linux-yocto / linux-qcom rather than pulling full DKML. DKLMs are a way to provide missing drivers for the IP blocks that we don't support upstream (like vidc, camera ISP, etc). If we have a driver, we should not be using DKLMs in a way to circumvent upstreaming rules / requirements.

I have 1 question regarding maintaining patches into linux-yocto / linux-qcom, what are the expectations for any patch carrying uAPI change?

@ekanshibu
Copy link
Contributor Author

Definite NAK. Please include the relevant patches into the linux-yocto / linux-qcom rather than pulling full DKML. DKLMs are a way to provide missing drivers for the IP blocks that we don't support upstream (like vidc, camera ISP, etc). If we have a driver, we should not be using DKLMs in a way to circumvent upstreaming rules / requirements.

I have 1 question regarding maintaining patches into linux-yocto / linux-qcom, what are the expectations for any patch carrying uAPI change?

I'm seeking details for this, please help with your comments. @lumag, @ricardosalveti

@ndechesne
Copy link
Contributor

if the uAPI change has been discussed and reviewed upstream it's not a problem. If it's a custom never-going-upstream uAPI, we are going to push back on it.

Please note that we are moving soon away from linux-yocto-dev, and we will be using a QCOM hosted kernel (qcom-next). At this point we will no longer carry any kernel patches in meta-qcom.

@ekanshibu
Copy link
Contributor Author

if the uAPI change has been discussed and reviewed upstream it's not a problem. If it's a custom never-going-upstream uAPI, we are going to push back on it.

Please note that we are moving soon away from linux-yocto-dev, and we will be using a QCOM hosted kernel (qcom-next). At this point we will no longer carry any kernel patches in meta-qcom.

Thanks for the explanation. I have 2 follow-up questions:

  1. For any feature which uAPI change with no immediate upstream plans, What should be the steps once migration to qcom-next is done? I believe such changes cannot be merged in qcom-next(or topic branches).

  2. Say if any uAPI change is under review upstream and is merged onto qcom-next, can I pull the corresponding user library change over here to meta-qcom(maybe as a .patch)?

@ndechesne
Copy link
Contributor

Thanks for the explanation. I have 2 follow-up questions:

  1. For any feature which uAPI change with no immediate upstream plans, What should be the steps once migration to qcom-next is done? I believe such changes cannot be merged in qcom-next(or topic branches).

That's when we get into issues :) and when we need to deep dive a bit more.
The right approach would be to have a 'less features' variant of your software (e.g. what we call the base variant). Which is intended to work purely on top of upstream.

Note that with the 'clean overlay' approach and ongoing discussions, this will be no longer acceptable anyway. e.g. any of our QCOM 'value add' (or non upstream, proprietary, ...) solutions will need to work with a vanilla upstream kernel.

  1. Say if any uAPI change is under review upstream and is merged onto qcom-next, can I pull the corresponding user library change over here to meta-qcom(maybe as a .patch)?

Yes, if the uAPI change is actively being upstream and with some hints that it will eventually get merged, then it will be accepted in qcom-next, and then we will accept corresponding user space changes in meta-qcom, of course.

@lumag
Copy link
Contributor

lumag commented May 16, 2025

@quic-ekangupt for the sake of it. No, adding extra uAPI to fastrpc driver is not possible. If I read it correctly, it was vetoed by Simona.

@ekanshibu
Copy link
Contributor Author

Closing the PR as this dlkm change is dropped and the polling feature is discussed to be brought from upstream.

@ekanshibu ekanshibu closed this Aug 2, 2025
@ekanshibu ekanshibu deleted the fastrpcdlkm branch August 29, 2025 10:52
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants