Skip to content

Commit

Permalink
---
Browse files Browse the repository at this point in the history
yaml
---
r: 272084
b: refs/heads/master
c: a2b8601
h: refs/heads/master
v: v3
  • Loading branch information
Jan Glauber authored and Martin Schwidefsky committed Oct 30, 2011
1 parent 2906e87 commit 77161c6
Show file tree
Hide file tree
Showing 5 changed files with 17 additions and 6 deletions.
2 changes: 1 addition & 1 deletion [refs]
Original file line number Diff line number Diff line change
@@ -1,2 +1,2 @@
---
refs/heads/master: 80376f347d70ce5fcfb98105d83624518e0911d6
refs/heads/master: a2b86019826cb97fd964fbaf101410c64cd78681
5 changes: 5 additions & 0 deletions trunk/drivers/s390/cio/qdio.h
Original file line number Diff line number Diff line change
Expand Up @@ -290,6 +290,9 @@ struct qdio_q {
/* error condition during a data transfer */
unsigned int qdio_error;

/* last scan of the queue */
u64 timestamp;

struct tasklet_struct tasklet;
struct qdio_queue_perf_stat q_stats;

Expand Down Expand Up @@ -449,6 +452,8 @@ static inline int shared_ind(struct qdio_q *q)
return references_shared_dsci(i) || has_multiple_inq_on_dsci(i);
}

extern u64 last_ai_time;

/* prototypes for thin interrupt */
void qdio_setup_thinint(struct qdio_irq *irq_ptr);
int qdio_establish_thinint(struct qdio_irq *irq_ptr);
Expand Down
10 changes: 6 additions & 4 deletions trunk/drivers/s390/cio/qdio_debug.c
Original file line number Diff line number Diff line change
Expand Up @@ -54,15 +54,17 @@ static int qstat_show(struct seq_file *m, void *v)
if (!q)
return 0;

seq_printf(m, "DSCI: %d nr_used: %d\n",
*(u32 *)q->irq_ptr->dsci, atomic_read(&q->nr_buf_used));
seq_printf(m, "ftc: %d last_move: %d\n",
seq_printf(m, "Timestamp: %Lx Last AI: %Lx\n",
q->timestamp, last_ai_time);
seq_printf(m, "nr_used: %d ftc: %d last_move: %d\n",
atomic_read(&q->nr_buf_used),
q->first_to_check, q->last_move);
if (q->is_input_q) {
seq_printf(m, "polling: %d ack start: %d ack count: %d\n",
q->u.in.polling, q->u.in.ack_start,
q->u.in.ack_count);
seq_printf(m, "IRQs disabled: %u\n",
seq_printf(m, "DSCI: %d IRQs disabled: %u\n",
*(u32 *)q->irq_ptr->dsci,
test_bit(QDIO_QUEUE_IRQS_DISABLED,
&q->u.in.queue_irq_state));
}
Expand Down
4 changes: 4 additions & 0 deletions trunk/drivers/s390/cio/qdio_main.c
Original file line number Diff line number Diff line change
Expand Up @@ -512,6 +512,8 @@ static int get_inbound_buffer_frontier(struct qdio_q *q)
int count, stop;
unsigned char state = 0;

q->timestamp = get_clock_fast();

/*
* Don't check 128 buffers, as otherwise qdio_inbound_q_moved
* would return 0.
Expand Down Expand Up @@ -781,6 +783,8 @@ static int get_outbound_buffer_frontier(struct qdio_q *q)
int count, stop;
unsigned char state = 0;

q->timestamp = get_clock_fast();

if (need_siga_sync(q))
if (((queue_type(q) != QDIO_IQDIO_QFMT) &&
!pci_out_supported(q)) ||
Expand Down
2 changes: 1 addition & 1 deletion trunk/drivers/s390/cio/qdio_thinint.c
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@ static u8 *tiqdio_alsi;

struct indicator_t *q_indicators;

static u64 last_ai_time;
u64 last_ai_time;

/* returns addr for the device state change indicator */
static u32 *get_indicator(void)
Expand Down

0 comments on commit 77161c6

Please sign in to comment.