[PATCH v6 4/7] drm/msm: adreno: find bandwidth index of OPP and set it along freq index
Konrad Dybcio
konrad.dybcio at oss.qualcomm.com
Mon Dec 23 14:50:46 UTC 2024
On 17.12.2024 3:51 PM, Neil Armstrong wrote:
> The Adreno GPU Management Unit (GMU) can also scale the DDR Bandwidth
> along the Frequency and Power Domain level, until now we left the OPP
> core scale the OPP bandwidth via the interconnect path.
>
> In order to enable bandwidth voting via the GPU Management
> Unit (GMU), when an opp is set by devfreq we also look for
> the corresponding bandwidth index in the previously generated
> bw_table and pass this value along the frequency index to the GMU.
>
> The GMU also takes another vote called AB which is a 16bit quantized
> value of the floor bandwidth against the maximum supported bandwidth.
>
> The AB is calculated with a default 25% of the bandwidth like the
> downstream implementation too inform the GMU firmware the minimal
> quantity of bandwidth we require for this OPP. Only pass the AB
> vote starting from A750 GPUs.
>
> Since we now vote for all resources via the GMU, setting the OPP
> is no more needed, so we can completely skip calling
> dev_pm_opp_set_opp() in this situation.
>
> Reviewed-by: Dmitry Baryshkov <dmitry.baryshkov at linaro.org>
> Reviewed-by: Akhil P Oommen <quic_akhilpo at quicinc.com>
> Signed-off-by: Neil Armstrong <neil.armstrong at linaro.org>
> ---
Reviewed-by: Konrad Dybcio <konrad.dybcio at oss.qualcomm.com>
Konrad
>
> +#define AB_VOTE_MASK GENMASK(31, 16)
> +#define MAX_AB_VOTE (FIELD_MAX(AB_VOTE_MASK) - 1)
I'm just not 1000% sure about this -1 here
Konrad
More information about the dri-devel
mailing list