[S390] qdio: dont convert timestamps to microseconds
Don't convert timestamps to microseconds, use timestamps returned by get_clock() directly. Signed-off-by: Jan Glauber <jang@linux.vnet.ibm.com> Signed-off-by: Martin Schwidefsky <schwidefsky@de.ibm.com>
This commit is contained in:
parent
5382fe11d9
commit
3a601bfef3
2 changed files with 6 additions and 11 deletions
|
@ -13,8 +13,8 @@
|
||||||
#include <asm/debug.h>
|
#include <asm/debug.h>
|
||||||
#include "chsc.h"
|
#include "chsc.h"
|
||||||
|
|
||||||
#define QDIO_BUSY_BIT_PATIENCE 100 /* 100 microseconds */
|
#define QDIO_BUSY_BIT_PATIENCE (100 << 12) /* 100 microseconds */
|
||||||
#define QDIO_INPUT_THRESHOLD 500 /* 500 microseconds */
|
#define QDIO_INPUT_THRESHOLD (500 << 12) /* 500 microseconds */
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* if an asynchronous HiperSockets queue runs full, the 10 seconds timer wait
|
* if an asynchronous HiperSockets queue runs full, the 10 seconds timer wait
|
||||||
|
@ -370,11 +370,6 @@ static inline int multicast_outbound(struct qdio_q *q)
|
||||||
(q->nr == q->irq_ptr->nr_output_qs - 1);
|
(q->nr == q->irq_ptr->nr_output_qs - 1);
|
||||||
}
|
}
|
||||||
|
|
||||||
static inline unsigned long long get_usecs(void)
|
|
||||||
{
|
|
||||||
return monotonic_clock() >> 12;
|
|
||||||
}
|
|
||||||
|
|
||||||
#define pci_out_supported(q) \
|
#define pci_out_supported(q) \
|
||||||
(q->irq_ptr->qib.ac & QIB_AC_OUTBOUND_PCI_SUPPORTED)
|
(q->irq_ptr->qib.ac & QIB_AC_OUTBOUND_PCI_SUPPORTED)
|
||||||
#define is_qebsm(q) (q->irq_ptr->sch_token != 0)
|
#define is_qebsm(q) (q->irq_ptr->sch_token != 0)
|
||||||
|
|
|
@ -336,10 +336,10 @@ static int qdio_siga_output(struct qdio_q *q, unsigned int *busy_bit)
|
||||||
WARN_ON(queue_type(q) != QDIO_IQDIO_QFMT || cc != 2);
|
WARN_ON(queue_type(q) != QDIO_IQDIO_QFMT || cc != 2);
|
||||||
|
|
||||||
if (!start_time) {
|
if (!start_time) {
|
||||||
start_time = get_usecs();
|
start_time = get_clock();
|
||||||
goto again;
|
goto again;
|
||||||
}
|
}
|
||||||
if ((get_usecs() - start_time) < QDIO_BUSY_BIT_PATIENCE)
|
if ((get_clock() - start_time) < QDIO_BUSY_BIT_PATIENCE)
|
||||||
goto again;
|
goto again;
|
||||||
}
|
}
|
||||||
return cc;
|
return cc;
|
||||||
|
@ -536,7 +536,7 @@ static int qdio_inbound_q_moved(struct qdio_q *q)
|
||||||
if ((bufnr != q->last_move) || q->qdio_error) {
|
if ((bufnr != q->last_move) || q->qdio_error) {
|
||||||
q->last_move = bufnr;
|
q->last_move = bufnr;
|
||||||
if (!is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR)
|
if (!is_thinint_irq(q->irq_ptr) && MACHINE_IS_LPAR)
|
||||||
q->u.in.timestamp = get_usecs();
|
q->u.in.timestamp = get_clock();
|
||||||
return 1;
|
return 1;
|
||||||
} else
|
} else
|
||||||
return 0;
|
return 0;
|
||||||
|
@ -567,7 +567,7 @@ static inline int qdio_inbound_q_done(struct qdio_q *q)
|
||||||
* At this point we know, that inbound first_to_check
|
* At this point we know, that inbound first_to_check
|
||||||
* has (probably) not moved (see qdio_inbound_processing).
|
* has (probably) not moved (see qdio_inbound_processing).
|
||||||
*/
|
*/
|
||||||
if (get_usecs() > q->u.in.timestamp + QDIO_INPUT_THRESHOLD) {
|
if (get_clock() > q->u.in.timestamp + QDIO_INPUT_THRESHOLD) {
|
||||||
DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "in done:%02x",
|
DBF_DEV_EVENT(DBF_INFO, q->irq_ptr, "in done:%02x",
|
||||||
q->first_to_check);
|
q->first_to_check);
|
||||||
return 1;
|
return 1;
|
||||||
|
|
Loading…
Add table
Reference in a new issue