Lines Matching refs:pc

53 	struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip);
58 c = pc->clk_rate;
67 c = pc->clk_rate;
73 pm_runtime_get_sync(pc->chip.dev);
75 value = readw(pc->mmio_base + ECCTL2);
80 writew(value, pc->mmio_base + ECCTL2);
84 writel(duty_cycles, pc->mmio_base + CAP2);
85 writel(period_cycles, pc->mmio_base + CAP1);
92 writel(duty_cycles, pc->mmio_base + CAP4);
93 writel(period_cycles, pc->mmio_base + CAP3);
97 value = readw(pc->mmio_base + ECCTL2);
100 writew(value, pc->mmio_base + ECCTL2);
103 pm_runtime_put_sync(pc->chip.dev);
111 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip);
114 pm_runtime_get_sync(pc->chip.dev);
116 value = readw(pc->mmio_base + ECCTL2);
125 writew(value, pc->mmio_base + ECCTL2);
127 pm_runtime_put_sync(pc->chip.dev);
134 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip);
138 pm_runtime_get_sync(pc->chip.dev);
144 value = readw(pc->mmio_base + ECCTL2);
146 writew(value, pc->mmio_base + ECCTL2);
153 struct ecap_pwm_chip *pc = to_ecap_pwm_chip(chip);
160 value = readw(pc->mmio_base + ECCTL2);
162 writew(value, pc->mmio_base + ECCTL2);
165 pm_runtime_put_sync(pc->chip.dev);
221 struct ecap_pwm_chip *pc;
225 pc = devm_kzalloc(&pdev->dev, sizeof(*pc), GFP_KERNEL);
226 if (!pc)
242 pc->clk_rate = clk_get_rate(clk);
243 if (!pc->clk_rate) {
248 pc->chip.dev = &pdev->dev;
249 pc->chip.ops = &ecap_pwm_ops;
250 pc->chip.npwm = 1;
252 pc->mmio_base = devm_platform_ioremap_resource(pdev, 0);
253 if (IS_ERR(pc->mmio_base))
254 return PTR_ERR(pc->mmio_base);
256 ret = devm_pwmchip_add(&pdev->dev, &pc->chip);
262 platform_set_drvdata(pdev, pc);
274 static void ecap_pwm_save_context(struct ecap_pwm_chip *pc)
276 pm_runtime_get_sync(pc->chip.dev);
277 pc->ctx.ecctl2 = readw(pc->mmio_base + ECCTL2);
278 pc->ctx.cap4 = readl(pc->mmio_base + CAP4);
279 pc->ctx.cap3 = readl(pc->mmio_base + CAP3);
280 pm_runtime_put_sync(pc->chip.dev);
283 static void ecap_pwm_restore_context(struct ecap_pwm_chip *pc)
285 writel(pc->ctx.cap3, pc->mmio_base + CAP3);
286 writel(pc->ctx.cap4, pc->mmio_base + CAP4);
287 writew(pc->ctx.ecctl2, pc->mmio_base + ECCTL2);
292 struct ecap_pwm_chip *pc = dev_get_drvdata(dev);
293 struct pwm_device *pwm = pc->chip.pwms;
295 ecap_pwm_save_context(pc);
306 struct ecap_pwm_chip *pc = dev_get_drvdata(dev);
307 struct pwm_device *pwm = pc->chip.pwms;
313 ecap_pwm_restore_context(pc);