Lines Matching defs:ptpirq
1000 struct ksz_irq *ptpirq = dev_id;
1008 dev = ptpirq->dev;
1010 ret = ksz_read16(dev, ptpirq->reg_status, &data);
1015 ret = ksz_write16(dev, ptpirq->reg_status, data);
1019 for (n = 0; n < ptpirq->nirqs; ++n) {
1021 sub_irq = irq_find_mapping(ptpirq->domain, n);
1114 ptpmsg_irq->num = irq_find_mapping(port->ptpirq.domain, n);
1128 struct ksz_irq *ptpirq = &port->ptpirq;
1132 ptpirq->dev = dev;
1133 ptpirq->masked = 0;
1134 ptpirq->nirqs = 3;
1135 ptpirq->reg_mask = ops->get_port_addr(p, REG_PTP_PORT_TX_INT_ENABLE__2);
1136 ptpirq->reg_status = ops->get_port_addr(p,
1138 snprintf(ptpirq->name, sizeof(ptpirq->name), "ptp-irq-%d", p);
1142 ptpirq->domain = irq_domain_add_linear(dev->dev->of_node, ptpirq->nirqs,
1143 &ksz_ptp_irq_domain_ops, ptpirq);
1144 if (!ptpirq->domain)
1147 for (irq = 0; irq < ptpirq->nirqs; irq++)
1148 irq_create_mapping(ptpirq->domain, irq);
1150 ptpirq->irq_num = irq_find_mapping(port->pirq.domain, PORT_SRC_PTP_INT);
1151 if (ptpirq->irq_num < 0) {
1152 ret = ptpirq->irq_num;
1156 ret = request_threaded_irq(ptpirq->irq_num, NULL, ksz_ptp_irq_thread_fn,
1157 IRQF_ONESHOT, ptpirq->name, ptpirq);
1161 for (irq = 0; irq < ptpirq->nirqs; irq++) {
1170 free_irq(ptpirq->irq_num, ptpirq);
1174 for (irq = 0; irq < ptpirq->nirqs; irq++)
1177 irq_domain_remove(ptpirq->domain);
1186 struct ksz_irq *ptpirq = &port->ptpirq;
1189 for (n = 0; n < ptpirq->nirqs; n++)
1192 free_irq(ptpirq->irq_num, ptpirq);
1193 irq_dispose_mapping(ptpirq->irq_num);
1195 irq_domain_remove(ptpirq->domain);