Lines Matching refs:cd

31 static void __iomem *gpcv2_idx_to_reg(struct gpcv2_irqchip_data *cd, int i)
33 return cd->gpc_base + cd->cpu2wakeup + i * 4;
38 struct gpcv2_irqchip_data *cd;
42 cd = imx_gpcv2_instance;
43 if (!cd)
47 reg = gpcv2_idx_to_reg(cd, i);
48 cd->saved_irq_mask[i] = readl_relaxed(reg);
49 writel_relaxed(cd->wakeup_sources[i], reg);
57 struct gpcv2_irqchip_data *cd;
60 cd = imx_gpcv2_instance;
61 if (!cd)
65 writel_relaxed(cd->saved_irq_mask[i], gpcv2_idx_to_reg(cd, i));
75 struct gpcv2_irqchip_data *cd = d->chip_data;
80 raw_spin_lock_irqsave(&cd->rlock, flags);
82 val = cd->wakeup_sources[idx];
84 cd->wakeup_sources[idx] = on ? (val & ~mask) : (val | mask);
85 raw_spin_unlock_irqrestore(&cd->rlock, flags);
97 struct gpcv2_irqchip_data *cd = d->chip_data;
101 raw_spin_lock(&cd->rlock);
102 reg = gpcv2_idx_to_reg(cd, d->hwirq / 32);
106 raw_spin_unlock(&cd->rlock);
113 struct gpcv2_irqchip_data *cd = d->chip_data;
117 raw_spin_lock(&cd->rlock);
118 reg = gpcv2_idx_to_reg(cd, d->hwirq / 32);
122 raw_spin_unlock(&cd->rlock);
206 struct gpcv2_irqchip_data *cd;
230 cd = kzalloc(sizeof(struct gpcv2_irqchip_data), GFP_KERNEL);
231 if (!cd)
234 raw_spin_lock_init(&cd->rlock);
236 cd->gpc_base = of_iomap(node, 0);
237 if (!cd->gpc_base) {
239 kfree(cd);
244 node, &gpcv2_irqchip_data_domain_ops, cd);
246 iounmap(cd->gpc_base);
247 kfree(cd);
254 void __iomem *reg = cd->gpc_base + i * 4;
265 cd->wakeup_sources[i] = ~0;
269 cd->cpu2wakeup = GPC_IMR1_CORE0;
276 writel_relaxed(~0x1, cd->gpc_base + cd->cpu2wakeup);
278 imx_gpcv2_instance = cd;