Lines Matching refs:cd

42 	struct mst_intc_chip_data *cd = irq_data_get_irq_chip_data(d);
49 raw_spin_lock_irqsave(&cd->lock, flags);
50 val = readw_relaxed(cd->base + offset) | mask;
51 writew_relaxed(val, cd->base + offset);
52 raw_spin_unlock_irqrestore(&cd->lock, flags);
58 struct mst_intc_chip_data *cd = irq_data_get_irq_chip_data(d);
65 raw_spin_lock_irqsave(&cd->lock, flags);
66 val = readw_relaxed(cd->base + offset) & ~mask;
67 writew_relaxed(val, cd->base + offset);
68 raw_spin_unlock_irqrestore(&cd->lock, flags);
85 struct mst_intc_chip_data *cd = irq_data_get_irq_chip_data(d);
87 if (!cd->no_eoi)
128 static void mst_intc_polarity_save(struct mst_intc_chip_data *cd)
131 void __iomem *addr = cd->base + INTC_REV_POLARITY;
133 for (i = 0; i < DIV_ROUND_UP(cd->nr_irqs, 16); i++)
134 cd->saved_polarity_conf[i] = readw_relaxed(addr + i * 4);
137 static void mst_intc_polarity_restore(struct mst_intc_chip_data *cd)
140 void __iomem *addr = cd->base + INTC_REV_POLARITY;
142 for (i = 0; i < DIV_ROUND_UP(cd->nr_irqs, 16); i++)
143 writew_relaxed(cd->saved_polarity_conf[i], addr + i * 4);
148 struct mst_intc_chip_data *cd;
150 list_for_each_entry(cd, &mst_intc_list, entry)
151 mst_intc_polarity_restore(cd);
156 struct mst_intc_chip_data *cd;
158 list_for_each_entry(cd, &mst_intc_list, entry)
159 mst_intc_polarity_save(cd);
181 struct mst_intc_chip_data *cd = d->host_data;
191 if (fwspec->param[1] >= cd->nr_irqs)
208 struct mst_intc_chip_data *cd = domain->host_data;
226 parent_fwspec.param[1] = cd->irq_start + hwirq;
249 struct mst_intc_chip_data *cd;
262 cd = kzalloc(sizeof(*cd), GFP_KERNEL);
263 if (!cd)
266 cd->base = of_iomap(dn, 0);
267 if (!cd->base) {
268 kfree(cd);
272 cd->no_eoi = of_property_read_bool(dn, "mstar,intc-no-eoi");
273 raw_spin_lock_init(&cd->lock);
274 cd->irq_start = irq_start;
275 cd->nr_irqs = irq_end - irq_start + 1;
276 domain = irq_domain_add_hierarchy(domain_parent, 0, cd->nr_irqs, dn,
277 &mst_intc_domain_ops, cd);
279 iounmap(cd->base);
280 kfree(cd);
285 INIT_LIST_HEAD(&cd->entry);
286 list_add_tail(&cd->entry, &mst_intc_list);