Lines Matching refs:pipes
127 /* pipe ID - index into goldfish_pipe_dev::pipes array */
144 /* doubly linked list of signalled pipes, protected by
177 * - pipes, pipes_capacity
178 * - [*pipes, *pipes + pipes_capacity) - array data
183 * in all allocated pipes
187 * the only operation that happens often is the signalled pipes array
195 * Array of the pipes of |pipes_capacity| elements,
198 struct goldfish_pipe **pipes;
204 /* Head of a doubly linked list of signalled pipes */
522 pipe = dev->pipes[id];
579 /* Iterate over the signalled pipes and wake them one by one */
609 * 2. IRQ handler reads the signalled pipes and their count from the device
611 * it only resets the IRQ if it has returned all signalled pipes,
614 * 4. IRQ handler adds all returned pipes to the device's signalled pipes list
615 * 5. IRQ handler defers processing the signalled pipes from the list in a
628 /* Request the signalled pipes from the device */
654 if (!dev->pipes[id])
663 struct goldfish_pipe **pipes =
664 kcalloc(new_capacity, sizeof(*pipes), GFP_ATOMIC);
665 if (!pipes)
667 memcpy(pipes, dev->pipes, sizeof(*pipes) * dev->pipes_capacity);
668 kfree(dev->pipes);
669 dev->pipes = pipes;
732 dev->pipes[id] = pipe;
751 dev->pipes[id] = NULL;
770 dev->pipes[pipe->id] = NULL;
830 dev->pipes = kcalloc(dev->pipes_capacity, sizeof(*dev->pipes),
832 if (!dev->pipes) {
847 kfree(dev->pipes);
872 kfree(dev->pipes);