On 6/16/26 12:15 AM, Dmitry Baryshkov wrote:
> On Mon, Jun 15, 2026 at 05:33:15PM +0200, Daniel Lezcano wrote:
>>
>>
>> Le 15/06/2026 à 17:14, Dmitry Baryshkov a écrit :
>>> On Mon, Jun 15, 2026 at 04:33:38PM +0200, Daniel Lezcano wrote:
[...]
>>> I was thinking about something like:
>>>
>>> #define QCOM_TMD_DSP 0
>>> #define QCOM_TMD_PA 1
>>
>> Ah ok, it is correct if:
>>
>> tmd-names = "dsp", "pa"
>>
>> Or
>>
>> #define QCOM_TMD_PA 0
>> #define QCOM_TMD_DSP 1
>>
>> tmd-names = "pa", "dsp"
>
> I was more inclined about having the standard indices for the standard
> mitigations.
>
> BTW, I checked, which mitigations are being returned by the DSPs. Few
> examples, just to provide some context.
>
> SC8280XP, X13s:
>
> TMD service: instance=0x01 (adsp) node=5 port=9
> 1 mitigation device(s):
> [ 0] cpuv_restriction_cold max_mitigation_level=1
>
> TMD service: instance=0x53 (slpi) node=9 port=9
> 1 mitigation device(s):
> [ 0] cpuv_restriction_cold max_mitigation_level=1
So, are we converging towards something like:
-- include/dt-bindings/...
/* Common indices for all devices */
#define QCOM_TMD_FOO 0
#define QCOM_TMD_BAR 1
-- qcom_tmd.c
static const char * const mitigation_map[] = {
[QCOM_TMD_FOO] = "mmw_skin1_dsc",
[QCOM_TMD_BAR] = "cpuv_restriction_cold",
};
...
static int qcom_tmd_retrieve_avail_mitigations(...) {
data = qmi_get_data(...);
while (data.tmd_list++) {
// mark available on this rproc
}
}
?
Perhaps split from a global index space to DSP-specific indices
given Dmitry's list that reveals there's a lot of variability?
Konrad