msm: kgsl: Fix gpu boot ab vote

The ab is in megabytes and ddr_table is in kilobytes. So do
the conversion to fix the first ab vote out of slumber.

Also fix the ib vote units for the very first gmu boot.

Change-Id: I57efd80fa2de8262842475e02a363e0436a7b0f2
Signed-off-by: Harshdeep Dhatt <hdhatt@codeaurora.org>
This commit is contained in:
Harshdeep Dhatt 2020-04-28 12:00:44 -07:00
commit f44d1a49b9
2 changed files with 6 additions and 3 deletions

View file

@ -35,9 +35,12 @@ static u32 _ab_buslevel_update(struct kgsl_pwrctrl *pwr,
if (!ib)
return 0;
/* In the absence of any other settings, make ab 25% of ib */
/*
* In the absence of any other settings, make ab 25% of ib
* where the ib vote is in kbps
*/
if ((!pwr->bus_percent_ab) && (!pwr->bus_ab_mbytes))
return 25 * ib / 100;
return 25 * ib / 100000;
if (pwr->bus_width)
return pwr->bus_ab_mbytes;

View file

@ -1594,7 +1594,7 @@ static int gmu_start(struct kgsl_device *device)
/* Vote for minimal DDR BW for GMU to init */
level = pwr->pwrlevels[pwr->default_pwrlevel].bus_min;
icc_set_bw(pwr->icc_path, 0,
MBps_to_icc(pwr->ddr_table[level]));
kBps_to_icc(pwr->ddr_table[level]));
ret = gmu_dev_ops->rpmh_gpu_pwrctrl(device, GMU_FW_START,
GMU_COLD_BOOT, 0);