示例#1
0
static void setup_queues(struct qdio_irq *irq_ptr,
			 struct qdio_initialize *qdio_init)
{
	struct qdio_q *q;
	void **input_sbal_array = qdio_init->input_sbal_addr_array;
	void **output_sbal_array = qdio_init->output_sbal_addr_array;
	struct qdio_outbuf_state *output_sbal_state_array =
				  qdio_init->output_sbal_state_array;
	int i;

	for_each_input_queue(irq_ptr, q, i) {
		DBF_EVENT("inq:%1d", i);
		setup_queues_misc(q, irq_ptr, qdio_init->input_handler, i);

		q->is_input_q = 1;
		q->u.in.queue_start_poll = qdio_init->queue_start_poll_array ?
				qdio_init->queue_start_poll_array[i] : NULL;

		setup_storage_lists(q, irq_ptr, input_sbal_array, i);
		input_sbal_array += QDIO_MAX_BUFFERS_PER_Q;

		if (is_thinint_irq(irq_ptr)) {
			tasklet_init(&q->tasklet, tiqdio_inbound_processing,
				     (unsigned long) q);
		} else {
			tasklet_init(&q->tasklet, qdio_inbound_processing,
				     (unsigned long) q);
		}
	}
示例#2
0
    for_each_output_queue(irq_ptr, q, i) {
        DBF_EVENT("outq:%1d", i);
        setup_queues_misc(q, irq_ptr, qdio_init->output_handler, i);

        q->is_input_q = 0;
        setup_storage_lists(q, irq_ptr, output_sbal_array, i);
        output_sbal_array += QDIO_MAX_BUFFERS_PER_Q;

        tasklet_init(&q->tasklet, qdio_outbound_processing,
                     (unsigned long) q);
        setup_timer(&q->u.out.timer, (void(*)(unsigned long))
                    &qdio_outbound_timer, (unsigned long)q);
    }
static void setup_queues(struct qdio_irq *irq_ptr,
			 struct qdio_initialize *qdio_init)
{
	struct qdio_q *q;
	void **input_sbal_array = qdio_init->input_sbal_addr_array;
	void **output_sbal_array = qdio_init->output_sbal_addr_array;
	int i;

	for_each_input_queue(irq_ptr, q, i) {
		DBF_EVENT("in-q:%1d", i);
		setup_queues_misc(q, irq_ptr, qdio_init->input_handler, i);

		q->is_input_q = 1;
<<<<<<< HEAD