Lines Matching refs:ip
11 #define pmu_write(reg, data) writel(data, ip->iomem + reg)
12 #define pmu_read(reg) readl(ip->iomem + reg)
14 static int lima_pmu_wait_cmd(struct lima_ip *ip) in lima_pmu_wait_cmd() argument
16 struct lima_device *dev = ip->dev; in lima_pmu_wait_cmd()
20 err = readl_poll_timeout(ip->iomem + LIMA_PMU_INT_RAWSTAT, in lima_pmu_wait_cmd()
25 lima_ip_name(ip)); in lima_pmu_wait_cmd()
33 static u32 lima_pmu_get_ip_mask(struct lima_ip *ip) in lima_pmu_get_ip_mask() argument
35 struct lima_device *dev = ip->dev; in lima_pmu_get_ip_mask()
44 if (dev->ip[lima_ip_pp0 + i].present) in lima_pmu_get_ip_mask()
48 if (dev->ip[lima_ip_pp0].present) in lima_pmu_get_ip_mask()
51 if (dev->ip[i].present) { in lima_pmu_get_ip_mask()
57 if (dev->ip[i].present) { in lima_pmu_get_ip_mask()
67 static int lima_pmu_hw_init(struct lima_ip *ip) in lima_pmu_hw_init() argument
85 err = lima_pmu_wait_cmd(ip); in lima_pmu_hw_init()
92 static void lima_pmu_hw_fini(struct lima_ip *ip) in lima_pmu_hw_fini() argument
96 if (!ip->data.mask) in lima_pmu_hw_fini()
97 ip->data.mask = lima_pmu_get_ip_mask(ip); in lima_pmu_hw_fini()
99 stat = ~pmu_read(LIMA_PMU_STATUS) & ip->data.mask; in lima_pmu_hw_fini()
107 if (ip->dev->id == lima_gpu_mali400) in lima_pmu_hw_fini()
110 lima_pmu_wait_cmd(ip); in lima_pmu_hw_fini()
114 int lima_pmu_resume(struct lima_ip *ip) in lima_pmu_resume() argument
116 return lima_pmu_hw_init(ip); in lima_pmu_resume()
119 void lima_pmu_suspend(struct lima_ip *ip) in lima_pmu_suspend() argument
121 lima_pmu_hw_fini(ip); in lima_pmu_suspend()
124 int lima_pmu_init(struct lima_ip *ip) in lima_pmu_init() argument
126 return lima_pmu_hw_init(ip); in lima_pmu_init()
129 void lima_pmu_fini(struct lima_ip *ip) in lima_pmu_fini() argument
131 lima_pmu_hw_fini(ip); in lima_pmu_fini()