Message ID | 1443623089-10039-3-git-send-email-hariprasad@chelsio.com |
---|---|
State | Superseded, archived |
Delegated to: | David Miller |
Headers | show |
Hello. On 09/30/2015 05:24 PM, Hariprasad Shenai wrote: > T4 doesn't have the Shadow copy of the register which we can read without > side effect. So don't read mbox control register for T4 adapter > > Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> > --- > drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 18 +++++++++++++----- > 1 file changed, 13 insertions(+), 5 deletions(-) > > diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c > index 0a87a32..c20b41c 100644 > --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c > +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c > @@ -1134,12 +1134,20 @@ static int mbox_show(struct seq_file *seq, void *v) > unsigned int mbox = (uintptr_t)seq->private & 7; > struct adapter *adap = seq->private - mbox; > void __iomem *addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A); > - unsigned int ctrl_reg = (is_t4(adap->params.chip) > - ? CIM_PF_MAILBOX_CTRL_A > - : CIM_PF_MAILBOX_CTRL_SHADOW_COPY_A); > - void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg); > > - i = MBOWNER_G(readl(ctrl)); > + /* For T4 we don't have a shadow copy of the Mailbox Control register. > + * And since reading that real register causes a side effect of > + * granting ownership, we're best of simply not reading it at all. > + */ > + if (is_t4(adap->params.chip)) > + i = 4; /* index of "<unread>" */ The kernel CodingStyle dictates that you should enclose all branches in {} if at least one branch has it. > + else { > + unsigned int ctrl_reg = CIM_PF_MAILBOX_CTRL_SHADOW_COPY_A; > + void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg); > + > + i = MBOWNER_G(readl(ctrl)); > + } > + > seq_printf(seq, "mailbox owned by %s\n\n", owner[i]); > > for (i = 0; i < MBOX_LEN; i += 8) MBR, Sergei -- To unsubscribe from this list: send the line "unsubscribe netdev" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c index 0a87a32..c20b41c 100644 --- a/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c +++ b/drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c @@ -1134,12 +1134,20 @@ static int mbox_show(struct seq_file *seq, void *v) unsigned int mbox = (uintptr_t)seq->private & 7; struct adapter *adap = seq->private - mbox; void __iomem *addr = adap->regs + PF_REG(mbox, CIM_PF_MAILBOX_DATA_A); - unsigned int ctrl_reg = (is_t4(adap->params.chip) - ? CIM_PF_MAILBOX_CTRL_A - : CIM_PF_MAILBOX_CTRL_SHADOW_COPY_A); - void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg); - i = MBOWNER_G(readl(ctrl)); + /* For T4 we don't have a shadow copy of the Mailbox Control register. + * And since reading that real register causes a side effect of + * granting ownership, we're best of simply not reading it at all. + */ + if (is_t4(adap->params.chip)) + i = 4; /* index of "<unread>" */ + else { + unsigned int ctrl_reg = CIM_PF_MAILBOX_CTRL_SHADOW_COPY_A; + void __iomem *ctrl = adap->regs + PF_REG(mbox, ctrl_reg); + + i = MBOWNER_G(readl(ctrl)); + } + seq_printf(seq, "mailbox owned by %s\n\n", owner[i]); for (i = 0; i < MBOX_LEN; i += 8)
T4 doesn't have the Shadow copy of the register which we can read without side effect. So don't read mbox control register for T4 adapter Signed-off-by: Hariprasad Shenai <hariprasad@chelsio.com> --- drivers/net/ethernet/chelsio/cxgb4/cxgb4_debugfs.c | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-)