mtip32xx: cleanup internal tag assumptions

We don't decode the internal tag to the proper group or tag
indx. This works fine because we have hard wired it as 0 for now,
but could break if we get rid of that.

Signed-off-by: Jens Axboe <axboe@fb.com>
This commit is contained in:
Jens Axboe 2017-05-02 09:53:04 -06:00
parent 7a148c2fcf
commit 994ff079e8
1 changed files with 9 additions and 10 deletions

View File

@ -847,16 +847,15 @@ static inline void mtip_process_legacy(struct driver_data *dd, u32 port_stat)
struct mtip_port *port = dd->port; struct mtip_port *port = dd->port;
struct mtip_cmd *cmd = mtip_cmd_from_tag(dd, MTIP_TAG_INTERNAL); struct mtip_cmd *cmd = mtip_cmd_from_tag(dd, MTIP_TAG_INTERNAL);
if (test_bit(MTIP_PF_IC_ACTIVE_BIT, &port->flags) && if (test_bit(MTIP_PF_IC_ACTIVE_BIT, &port->flags) && cmd) {
(cmd != NULL) && !(readl(port->cmd_issue[MTIP_TAG_INTERNAL]) int group = MTIP_TAG_INDEX(MTIP_TAG_INTERNAL);
& (1 << MTIP_TAG_INTERNAL))) { int status = readl(port->cmd_issue[group]);
if (cmd->comp_func) {
cmd->comp_func(port, MTIP_TAG_INTERNAL, cmd, 0);
return;
}
}
return; if (!(status & (1 << MTIP_TAG_BIT(MTIP_TAG_INTERNAL)))) {
if (cmd->comp_func)
cmd->comp_func(port, MTIP_TAG_INTERNAL, cmd, 0);
}
}
} }
/* /*
@ -1213,8 +1212,8 @@ static int mtip_exec_internal_command(struct mtip_port *port,
goto exec_ic_exit; goto exec_ic_exit;
} }
if (readl(port->cmd_issue[MTIP_TAG_INTERNAL]) if (readl(port->cmd_issue[MTIP_TAG_INDEX(MTIP_TAG_INTERNAL)])
& (1 << MTIP_TAG_INTERNAL)) { & (1 << MTIP_TAG_BIT(MTIP_TAG_INTERNAL))) {
rv = -ENXIO; rv = -ENXIO;
if (!test_bit(MTIP_DDF_REMOVE_PENDING_BIT, &dd->dd_flag)) { if (!test_bit(MTIP_DDF_REMOVE_PENDING_BIT, &dd->dd_flag)) {
mtip_device_reset(dd); mtip_device_reset(dd);