Lines Matching refs:pipe
58 struct glink_rpm_pipe *pipe = to_rpm_pipe(glink_pipe);
62 head = readl(pipe->head);
63 tail = readl(pipe->tail);
66 return pipe->native.length - tail + head;
74 struct glink_rpm_pipe *pipe = to_rpm_pipe(glink_pipe);
78 tail = readl(pipe->tail);
80 if (tail >= pipe->native.length)
81 tail -= pipe->native.length;
83 len = min_t(size_t, count, pipe->native.length - tail);
85 __ioread32_copy(data, pipe->fifo + tail,
90 __ioread32_copy(data + len, pipe->fifo,
98 struct glink_rpm_pipe *pipe = to_rpm_pipe(glink_pipe);
101 tail = readl(pipe->tail);
104 if (tail >= pipe->native.length)
105 tail -= pipe->native.length;
107 writel(tail, pipe->tail);
112 struct glink_rpm_pipe *pipe = to_rpm_pipe(glink_pipe);
116 head = readl(pipe->head);
117 tail = readl(pipe->tail);
120 return pipe->native.length - head + tail;
125 static unsigned int glink_rpm_tx_write_one(struct glink_rpm_pipe *pipe,
131 len = min_t(size_t, count, pipe->native.length - head);
133 __iowrite32_copy(pipe->fifo + head, data,
138 __iowrite32_copy(pipe->fifo, data + len,
143 if (head >= pipe->native.length)
144 head -= pipe->native.length;
153 struct glink_rpm_pipe *pipe = to_rpm_pipe(glink_pipe);
172 head = readl(pipe->head);
173 head = glink_rpm_tx_write_one(pipe, head, hdr, hlen);
174 head = glink_rpm_tx_write_one(pipe, head, data, aligned_dlen);
178 head = glink_rpm_tx_write_one(pipe, head, padding, pad);
179 writel(head, pipe->head);