• Home
  • Raw
  • Download

Lines Matching full: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; member
204 /* Head of a doubly linked list of signalled pipes */
525 pipe = dev->pipes[id]; in signalled_pipes_add_locked()
582 /* Iterate over the signalled pipes and wake them one by one */ in goldfish_interrupt_task()
611 * 2. IRQ handler reads the signalled pipes and their count from the device
613 * it only resets the IRQ if it has returned all signalled pipes,
616 * 4. IRQ handler adds all returned pipes to the device's signalled pipes list
617 * 5. IRQ handler launches a tasklet to process the signalled pipes from the
630 /* Request the signalled pipes from the device */ in goldfish_pipe_interrupt()
657 if (!dev->pipes[id]) in get_free_pipe_id_locked()
666 struct goldfish_pipe **pipes = in get_free_pipe_id_locked() local
667 kcalloc(new_capacity, sizeof(*pipes), GFP_ATOMIC); in get_free_pipe_id_locked()
668 if (!pipes) in get_free_pipe_id_locked()
670 memcpy(pipes, dev->pipes, sizeof(*pipes) * dev->pipes_capacity); in get_free_pipe_id_locked()
671 kfree(dev->pipes); in get_free_pipe_id_locked()
672 dev->pipes = pipes; in get_free_pipe_id_locked()
735 dev->pipes[id] = pipe; in goldfish_pipe_open()
754 dev->pipes[id] = NULL; in goldfish_pipe_open()
773 dev->pipes[pipe->id] = NULL; in goldfish_pipe_release()
835 dev->pipes = kcalloc(dev->pipes_capacity, sizeof(*dev->pipes), in goldfish_pipe_device_init()
837 if (!dev->pipes) { in goldfish_pipe_device_init()
852 kfree(dev->pipes); in goldfish_pipe_device_init()
878 kfree(dev->pipes); in goldfish_pipe_device_deinit()