Lines Matching refs:ov

97 static ktime_t acc_ts2ktime(struct acc_ov *ov, u64 ts)
109 void acc_init_ov(struct acc_ov *ov, struct device *dev)
113 temp = acc_ov_read32(ov, ACC_OV_OF_VERSION);
114 ov->version = temp;
115 ov->features = (temp >> 16);
117 temp = acc_ov_read32(ov, ACC_OV_OF_INFO);
118 ov->total_cores = temp;
119 ov->active_cores = (temp >> 8);
121 ov->core_frequency = acc_ov_read32(ov, ACC_OV_OF_CANCORE_FREQ);
122 ov->timestamp_frequency = acc_ov_read32(ov, ACC_OV_OF_TS_FREQ_LO);
127 if (ov->features & ACC_OV_REG_FEAT_MASK_NEW_PSC) {
128 acc_ov_set_bits(ov, ACC_OV_OF_MODE,
131 ov->core_frequency /= 2;
136 ov->version, ov->core_frequency, ov->timestamp_frequency,
137 ov->features, acc_ov_read32(ov, ACC_OV_OF_INFO) >> 16,
138 ov->active_cores, ov->total_cores);
141 void acc_init_bm_ptr(struct acc_ov *ov, struct acc_core *cores, const void *mem)
146 * implemented in the FPGA, i.e. N = ov->total_cores
159 ov->bmfifo.messages = mem;
160 ov->bmfifo.irq_cnt = mem + (ov->total_cores + 1U) * ACC_CORE_DMABUF_SIZE;
162 for (u = 0U; u < ov->active_cores; u++) {
166 core->bmfifo.irq_cnt = ov->bmfifo.irq_cnt + (u + 1U);
360 if (priv->ov->features & ACC_OV_REG_FEAT_MASK_CANFD) {
420 acc_ts2ktime(priv->ov, msg->ts);
455 skb_hwtstamps(skb)->hwtstamp = acc_ts2ktime(priv->ov, msg->ts);
514 skb_hwtstamps(skb)->hwtstamp = acc_ts2ktime(priv->ov, msg->ts);
571 skb_hwtstamps(skb)->hwtstamp = acc_ts2ktime(priv->ov, msg->ts);
624 skb_hwtstamps(skb)->hwtstamp = acc_ts2ktime(priv->ov, msg->ts);
679 * @ov: overview module structure
711 irqreturn_t acc_card_interrupt(struct acc_ov *ov, struct acc_core *cores)
722 if (READ_ONCE(*ov->bmfifo.irq_cnt) != ov->bmfifo.local_irq_cnt) {
724 ov->bmfifo.local_irq_cnt = READ_ONCE(*ov->bmfifo.irq_cnt);
727 for (i = 0; i < ov->active_cores; i++) {
740 * call handle_{ov|core}_interrupt and then acknowledge the
743 acc_ov_write32(ov, ACC_OV_OF_BM_IRQ_MASK, irqmask);
747 acc_ov_write32(ov, ACC_OV_OF_BM_IRQ_COUNTER,
748 ov->bmfifo.local_irq_cnt);
751 for (i = 0; i < ov->active_cores; i++) {
761 acc_ov_write32(ov, ACC_OV_OF_BM_IRQ_MASK, ACC_BM_IRQ_UNMASK_ALL);