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. -- viresh