Re: [PATCH 1/2] soc: qcom: geni-se: Correct QUP Core ICC vote constants

From: Viken Dadhaniya

Date: Sun Sep 13 2026 - 04:43:07 EST




On 9/9/2026 5:12 PM, Konrad Dybcio wrote:
> On 9/8/26 9:05 PM, Viken Dadhaniya wrote:
>> The GENI_TO_CORE ("qup-core") ICC vote selects the QUP Core 2X clock
>> rate. The CORE_2X_*_MHZ constants are expressed in Bps, but their
>> values are several orders of magnitude too small. For example, the
>> 50 MHz threshold is represented by 2500 rather than 25000000 Bps.
>
> [...]
>
>> /*
>> - * Define bandwidth thresholds that cause the underlying Core 2X interconnect
>> - * clock to run at the named frequency. These baseline values are recommended
>> - * by the hardware team, and are not dynamically scaled with GENI bandwidth
>> - * beyond basic on/off.
>> + * ICC bandwidth values in Bps for the GENI_TO_CORE ("qup-core") path.
>> + * Convert them with Bps_to_icc() before setting avg_bw. The QUP ICC provider
>> + * maps each threshold to the Core 2X rate named by the macro suffix.
>> + *
>> + * These values are core clock votes, not GENI transfer bandwidths.
>> */
>> -#define CORE_2X_19_2_MHZ 960
>> -#define CORE_2X_50_MHZ 2500
>> -#define CORE_2X_100_MHZ 5000
>> -#define CORE_2X_150_MHZ 7500
>> -#define CORE_2X_200_MHZ 10000
>> -#define CORE_2X_236_MHZ 16383
>> +#define CORE_2X_19_2_MHZ 9600000
>> +#define CORE_2X_50_MHZ 25000000
>> +#define CORE_2X_100_MHZ 50000000
>> +#define CORE_2X_150_MHZ 75000000
>> +#define CORE_2X_200_MHZ 100000000
>> +#define CORE_2X_236_MHZ 118000000
>
> Today, even with patch 2 applied, many of these rates are unused.
> Are we going to?
>
> Is there any logic we could apply to derive them?

These represent QUP Core 2X clock-rate levels for GENI clients, not
protocol bandwidth. Currently only the 19.2 and 50 MHz levels are used;
there is no planned user for the higher levels. I’ll drop the unused
definitions.

>
> Konrad