gpu: nvgpu: simplify nvgpu_timeout_init

nvgpu_timeout_init() returns an error code only when the flags parameter
is invalid. There are very few possible values for flags, so extract the
two most common cases - cpu clock based and a retry based timeout - to
functions that cannot fail and thus return nothing. Adjust all callers
to use those, simplfying error handling quite a bit.

Change-Id: I985fe7fa988ebbae25601d15cf57fd48eda0c677
Signed-off-by: Konsta Hölttä <kholtta@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvgpu/+/2613833
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
Konsta Hölttä
2021-10-20 18:01:06 +03:00
committed by mobile promotions
parent 9b3f3ea4be
commit f4ec400d5f
65 changed files with 222 additions and 510 deletions

View File

@@ -665,13 +665,8 @@ int ga10b_perf_wait_for_idle_pma(struct gk20a *g)
u32 status, rbufempty_status;
u32 timeout_ms = 1;
u32 reg_val;
int err;
err = nvgpu_timeout_init(g, &timeout, timeout_ms, NVGPU_TIMER_CPU_TIMER);
if (err != 0) {
nvgpu_err(g, "failed to init timeout");
return err;
}
nvgpu_timeout_init_cpu_timer(g, &timeout, timeout_ms);
do {
reg_val = nvgpu_readl(g, perf_pmasys_enginestatus_r());