Re: [PATCH v5 5/5] PCI: qcom: Add OPP support to scale performance state of power domain

From: Krishna Chaitanya Chundru
Date: Wed Jan 10 2024 - 02:12:52 EST



On 1/10/2024 12:27 PM, Viresh Kumar wrote:
On 08-01-24, 18:49, Krishna Chaitanya Chundru wrote:
We calculate ICC BW voting based up on PCIe speed and PCIe width.

Right now we are adding the opp table based up on PCIe speed.

Each PCIe controller can support multiple lane configurations like x1, x2,
x4, x8, x16 based up on controller capability.

So for each GEN speed we need  up to 5 entries in OPP table. This will make
OPP table very long.

It is best to calculate the ICC BW voting in the driver itself and apply
them through ICC driver.
I see. Are the lane configurations fixed for a platform ? I mean, do you change
those configurations at runtime or is that something that never changes, but the
driver can end up getting used on a hardware that supports any one of them ?

If they are fixed (second case), then you can use dev_pm_opp_set_prop_name() to
make that easier for you. With that you will only need 5 OPP entries, but each
of them will have five values of bw:

bw-x1, bw-x2, .... and you can select one of them during initialization.

Hi Viresh,

At present we are not changing the link width after link is initialized, but we have plans to

add support change link width dynamically at runtime.

So, I think it is better to have ICC BW voting in the driver itself.

Thanks & Regards,

Krishna Chaitanya.