On 22.10.2024 12:09 AM, Akhil P Oommen wrote: > On Mon, Oct 21, 2024 at 11:38:41AM +0200, Konrad Dybcio wrote: >> On 11.10.2024 10:29 PM, Akhil P Oommen wrote: >>> ACD a.k.a Adaptive Clock Distribution is a feature which helps to reduce >>> the power consumption. In some chipsets, it is also a requirement to >>> support higher GPU frequencies. This patch adds support for GPU ACD by >>> sending necessary data to GMU and AOSS. The feature support for the >>> chipset is detected based on devicetree data. >>> >>> Signed-off-by: Akhil P Oommen <quic_akhilpo@xxxxxxxxxxx> >>> --- >> >> [...] >> >>> + >>> + /* Initialize qmp node to talk to AOSS */ >>> + gmu->qmp = qmp_get(gmu->dev); >>> + if (IS_ERR(gmu->qmp)) { >>> + cmd->enable_by_level = 0; >>> + return dev_err_probe(gmu->dev, PTR_ERR(gmu->qmp), "Failed to initialize qmp\n"); >>> + } >> >> I'm still in favor of keeping qmp_get where it currently is, so that >> probe can fail/defer faster > > Sorry, I somehow missed this email from you until now. > > If it fails, then it probably doesn't matter if it is a bit late. But for defer, isn't there > some optimizations to track the dependency from devicetree data? I am > not entirely sure! There's devlink for clocks/supplies etc, it doesn't apply universally for all phandle references IIUC. > > Since qmp node is related to ACD, I felt it is better to: > 1. Keep all acd probe related code in a single place. > 2. Be more opportunistic in skipping qmp_get() wherever possible. > > But if you still have strong opinion on this, I can move it back in the > next revision (v3). I suppose the answer is yes, I have a strong opinion :D Konrad