Commit 8482d5d1 authored by Mike Marciniszyn's avatar Mike Marciniszyn Committed by Roland Dreier

IB/qib: Eliminate 64-bit jiffies use

The qib driver makes use of the the 64-bit jiffies API.

Code inspection reveals that that version of the API is not really
required.  This patch converts to use the "normal" jiffies.
Reviewed-by: default avatarRam Vepa <ram.vepa@qlogic.com>
Signed-off-by: default avatarMike Marciniszyn <mike.marciniszyn@qlogic.com>
Signed-off-by: default avatarRoland Dreier <roland@purestorage.com>
parent 865b64be
...@@ -97,7 +97,7 @@ struct qib_chippport_specific { ...@@ -97,7 +97,7 @@ struct qib_chippport_specific {
u64 iblnkerrsnap; u64 iblnkerrsnap;
u64 ibcctrl; /* kr_ibcctrl shadow */ u64 ibcctrl; /* kr_ibcctrl shadow */
u64 ibcddrctrl; /* kr_ibcddrctrl shadow */ u64 ibcddrctrl; /* kr_ibcddrctrl shadow */
u64 chase_end; unsigned long chase_end;
u32 last_delay_mult; u32 last_delay_mult;
}; };
......
...@@ -1051,7 +1051,7 @@ static void reenable_7220_chase(unsigned long opaque) ...@@ -1051,7 +1051,7 @@ static void reenable_7220_chase(unsigned long opaque)
static void handle_7220_chase(struct qib_pportdata *ppd, u64 ibcst) static void handle_7220_chase(struct qib_pportdata *ppd, u64 ibcst)
{ {
u8 ibclt; u8 ibclt;
u64 tnow; unsigned long tnow;
ibclt = (u8)SYM_FIELD(ibcst, IBCStatus, LinkTrainingState); ibclt = (u8)SYM_FIELD(ibcst, IBCStatus, LinkTrainingState);
...@@ -1066,9 +1066,9 @@ static void handle_7220_chase(struct qib_pportdata *ppd, u64 ibcst) ...@@ -1066,9 +1066,9 @@ static void handle_7220_chase(struct qib_pportdata *ppd, u64 ibcst)
case IB_7220_LT_STATE_CFGWAITRMT: case IB_7220_LT_STATE_CFGWAITRMT:
case IB_7220_LT_STATE_TXREVLANES: case IB_7220_LT_STATE_TXREVLANES:
case IB_7220_LT_STATE_CFGENH: case IB_7220_LT_STATE_CFGENH:
tnow = get_jiffies_64(); tnow = jiffies;
if (ppd->cpspec->chase_end && if (ppd->cpspec->chase_end &&
time_after64(tnow, ppd->cpspec->chase_end)) { time_after(tnow, ppd->cpspec->chase_end)) {
ppd->cpspec->chase_end = 0; ppd->cpspec->chase_end = 0;
qib_set_ib_7220_lstate(ppd, qib_set_ib_7220_lstate(ppd,
QLOGIC_IB_IBCC_LINKCMD_DOWN, QLOGIC_IB_IBCC_LINKCMD_DOWN,
......
...@@ -615,8 +615,8 @@ struct qib_chippport_specific { ...@@ -615,8 +615,8 @@ struct qib_chippport_specific {
u64 ibmalfsnap; u64 ibmalfsnap;
u64 ibcctrl_a; /* krp_ibcctrl_a shadow */ u64 ibcctrl_a; /* krp_ibcctrl_a shadow */
u64 ibcctrl_b; /* krp_ibcctrl_b shadow */ u64 ibcctrl_b; /* krp_ibcctrl_b shadow */
u64 qdr_dfe_time; unsigned long qdr_dfe_time;
u64 chase_end; unsigned long chase_end;
u32 autoneg_tries; u32 autoneg_tries;
u32 recovery_init; u32 recovery_init;
u32 qdr_dfe_on; u32 qdr_dfe_on;
...@@ -1672,7 +1672,8 @@ static void reenable_chase(unsigned long opaque) ...@@ -1672,7 +1672,8 @@ static void reenable_chase(unsigned long opaque)
QLOGIC_IB_IBCC_LINKINITCMD_POLL); QLOGIC_IB_IBCC_LINKINITCMD_POLL);
} }
static void disable_chase(struct qib_pportdata *ppd, u64 tnow, u8 ibclt) static void disable_chase(struct qib_pportdata *ppd, unsigned long tnow,
u8 ibclt)
{ {
ppd->cpspec->chase_end = 0; ppd->cpspec->chase_end = 0;
...@@ -1688,7 +1689,7 @@ static void disable_chase(struct qib_pportdata *ppd, u64 tnow, u8 ibclt) ...@@ -1688,7 +1689,7 @@ static void disable_chase(struct qib_pportdata *ppd, u64 tnow, u8 ibclt)
static void handle_serdes_issues(struct qib_pportdata *ppd, u64 ibcst) static void handle_serdes_issues(struct qib_pportdata *ppd, u64 ibcst)
{ {
u8 ibclt; u8 ibclt;
u64 tnow; unsigned long tnow;
ibclt = (u8)SYM_FIELD(ibcst, IBCStatusA_0, LinkTrainingState); ibclt = (u8)SYM_FIELD(ibcst, IBCStatusA_0, LinkTrainingState);
...@@ -1703,9 +1704,9 @@ static void handle_serdes_issues(struct qib_pportdata *ppd, u64 ibcst) ...@@ -1703,9 +1704,9 @@ static void handle_serdes_issues(struct qib_pportdata *ppd, u64 ibcst)
case IB_7322_LT_STATE_CFGWAITRMT: case IB_7322_LT_STATE_CFGWAITRMT:
case IB_7322_LT_STATE_TXREVLANES: case IB_7322_LT_STATE_TXREVLANES:
case IB_7322_LT_STATE_CFGENH: case IB_7322_LT_STATE_CFGENH:
tnow = get_jiffies_64(); tnow = jiffies;
if (ppd->cpspec->chase_end && if (ppd->cpspec->chase_end &&
time_after64(tnow, ppd->cpspec->chase_end)) time_after(tnow, ppd->cpspec->chase_end))
disable_chase(ppd, tnow, ibclt); disable_chase(ppd, tnow, ibclt);
else if (!ppd->cpspec->chase_end) else if (!ppd->cpspec->chase_end)
ppd->cpspec->chase_end = tnow + QIB_CHASE_TIME; ppd->cpspec->chase_end = tnow + QIB_CHASE_TIME;
...@@ -2714,7 +2715,7 @@ static noinline void unknown_7322_gpio_intr(struct qib_devdata *dd) ...@@ -2714,7 +2715,7 @@ static noinline void unknown_7322_gpio_intr(struct qib_devdata *dd)
pins >>= SYM_LSB(EXTStatus, GPIOIn); pins >>= SYM_LSB(EXTStatus, GPIOIn);
if (!(pins & mask)) { if (!(pins & mask)) {
++handled; ++handled;
qd->t_insert = get_jiffies_64(); qd->t_insert = jiffies;
queue_work(ib_wq, &qd->work); queue_work(ib_wq, &qd->work);
} }
} }
...@@ -4794,7 +4795,7 @@ static void qib_get_7322_faststats(unsigned long opaque) ...@@ -4794,7 +4795,7 @@ static void qib_get_7322_faststats(unsigned long opaque)
(ppd->lflags & (QIBL_LINKINIT | QIBL_LINKARMED | (ppd->lflags & (QIBL_LINKINIT | QIBL_LINKARMED |
QIBL_LINKACTIVE)) && QIBL_LINKACTIVE)) &&
ppd->cpspec->qdr_dfe_time && ppd->cpspec->qdr_dfe_time &&
time_after64(get_jiffies_64(), ppd->cpspec->qdr_dfe_time)) { time_is_before_jiffies(ppd->cpspec->qdr_dfe_time)) {
ppd->cpspec->qdr_dfe_on = 0; ppd->cpspec->qdr_dfe_on = 0;
qib_write_kreg_port(ppd, krp_static_adapt_dis(2), qib_write_kreg_port(ppd, krp_static_adapt_dis(2),
...@@ -5240,7 +5241,7 @@ static int qib_7322_ib_updown(struct qib_pportdata *ppd, int ibup, u64 ibcs) ...@@ -5240,7 +5241,7 @@ static int qib_7322_ib_updown(struct qib_pportdata *ppd, int ibup, u64 ibcs)
/* schedule the qsfp refresh which should turn the link /* schedule the qsfp refresh which should turn the link
off */ off */
if (ppd->dd->flags & QIB_HAS_QSFP) { if (ppd->dd->flags & QIB_HAS_QSFP) {
qd->t_insert = get_jiffies_64(); qd->t_insert = jiffies;
queue_work(ib_wq, &qd->work); queue_work(ib_wq, &qd->work);
} }
spin_lock_irqsave(&ppd->sdma_lock, flags); spin_lock_irqsave(&ppd->sdma_lock, flags);
...@@ -5592,7 +5593,7 @@ static void qsfp_7322_event(struct work_struct *work) ...@@ -5592,7 +5593,7 @@ static void qsfp_7322_event(struct work_struct *work)
{ {
struct qib_qsfp_data *qd; struct qib_qsfp_data *qd;
struct qib_pportdata *ppd; struct qib_pportdata *ppd;
u64 pwrup; unsigned long pwrup;
unsigned long flags; unsigned long flags;
int ret; int ret;
u32 le2; u32 le2;
...@@ -5620,8 +5621,7 @@ static void qsfp_7322_event(struct work_struct *work) ...@@ -5620,8 +5621,7 @@ static void qsfp_7322_event(struct work_struct *work)
* to insertion. * to insertion.
*/ */
while (1) { while (1) {
u64 now = get_jiffies_64(); if (time_is_before_jiffies(pwrup))
if (time_after64(now, pwrup))
break; break;
msleep(20); msleep(20);
} }
...@@ -7506,7 +7506,7 @@ static int serdes_7322_init_old(struct qib_pportdata *ppd) ...@@ -7506,7 +7506,7 @@ static int serdes_7322_init_old(struct qib_pportdata *ppd)
static int serdes_7322_init_new(struct qib_pportdata *ppd) static int serdes_7322_init_new(struct qib_pportdata *ppd)
{ {
u64 tstart; unsigned long tend;
u32 le_val, rxcaldone; u32 le_val, rxcaldone;
int chan, chan_done = (1 << SERDES_CHANS) - 1; int chan, chan_done = (1 << SERDES_CHANS) - 1;
...@@ -7611,10 +7611,8 @@ static int serdes_7322_init_new(struct qib_pportdata *ppd) ...@@ -7611,10 +7611,8 @@ static int serdes_7322_init_new(struct qib_pportdata *ppd)
msleep(20); msleep(20);
/* Start Calibration */ /* Start Calibration */
ibsd_wr_allchans(ppd, 4, (1 << 10), BMASK(10, 10)); ibsd_wr_allchans(ppd, 4, (1 << 10), BMASK(10, 10));
tstart = get_jiffies_64(); tend = jiffies + msecs_to_jiffies(500);
while (chan_done && while (chan_done && !time_is_before_jiffies(tend)) {
!time_after64(get_jiffies_64(),
tstart + msecs_to_jiffies(500))) {
msleep(20); msleep(20);
for (chan = 0; chan < SERDES_CHANS; ++chan) { for (chan = 0; chan < SERDES_CHANS; ++chan) {
rxcaldone = ahb_mod(ppd->dd, IBSD(ppd->hw_pidx), rxcaldone = ahb_mod(ppd->dd, IBSD(ppd->hw_pidx),
......
...@@ -177,7 +177,7 @@ struct qib_qsfp_data { ...@@ -177,7 +177,7 @@ struct qib_qsfp_data {
struct qib_pportdata *ppd; struct qib_pportdata *ppd;
struct work_struct work; struct work_struct work;
struct qib_qsfp_cache cache; struct qib_qsfp_cache cache;
u64 t_insert; unsigned long t_insert;
u8 modpresent; u8 modpresent;
}; };
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment