Message ID | 4A9D2793.1020502@ring3k.org |
---|---|
State | Accepted, archived |
Delegated to: | David Miller |
Headers | show |
On Tue, 01 Sep 2009 22:54:27 +0900 Mike McCormack <mikem@ring3k.org> wrote: > B0_CTST is a 24bit register according to the vendor driver (sk98lin). > A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), > so use a 32bit read when testing Y2_VAUX_AVAIL > > Signed-off-by: Mike McCormack <mikem@ring3k.org> > --- > drivers/net/sky2.c | 2 +- > drivers/net/sky2.h | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/net/sky2.c b/drivers/net/sky2.c > index 7108b12..d1f3b46 100644 > --- a/drivers/net/sky2.c > +++ b/drivers/net/sky2.c > @@ -273,7 +273,7 @@ static void sky2_power_aux(struct sky2_hw *hw) > Y2_COR_CLK_LNK2_DIS | Y2_CLK_GAT_LNK2_DIS); > > /* switch power to VAUX */ > - if (sky2_read16(hw, B0_CTST) & Y2_VAUX_AVAIL) > + if (sky2_read32(hw, B0_CTST) & Y2_VAUX_AVAIL) > sky2_write8(hw, B0_POWER_CTRL, > (PC_VAUX_ENA | PC_VCC_ENA | > PC_VAUX_ON | PC_VCC_OFF)); > diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h > index 34042ff..e0f23a1 100644 > --- a/drivers/net/sky2.h > +++ b/drivers/net/sky2.h > @@ -260,7 +260,7 @@ enum csr_regs { > Y2_CFG_AER = 0x1d00, /* PCI Advanced Error Report region */ > }; > > -/* B0_CTST 16 bit Control/Status register */ > +/* B0_CTST 24 bit Control/Status register */ > enum { > Y2_VMAIN_AVAIL = 1<<17,/* VMAIN available (YUKON-2 only) */ > Y2_VAUX_AVAIL = 1<<16,/* VAUX available (YUKON-2 only) */ Acked-by: Stephen Hemminger <shemminger@vyatta.com> -- 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
From: Stephen Hemminger <shemminger@vyatta.com> Date: Tue, 1 Sep 2009 08:57:57 -0700 > On Tue, 01 Sep 2009 22:54:27 +0900 > Mike McCormack <mikem@ring3k.org> wrote: > >> B0_CTST is a 24bit register according to the vendor driver (sk98lin). >> A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), >> so use a 32bit read when testing Y2_VAUX_AVAIL >> >> Signed-off-by: Mike McCormack <mikem@ring3k.org> ... > Acked-by: Stephen Hemminger <shemminger@vyatta.com> Applied. -- 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/sky2.c b/drivers/net/sky2.c index 7108b12..d1f3b46 100644 --- a/drivers/net/sky2.c +++ b/drivers/net/sky2.c @@ -273,7 +273,7 @@ static void sky2_power_aux(struct sky2_hw *hw) Y2_COR_CLK_LNK2_DIS | Y2_CLK_GAT_LNK2_DIS); /* switch power to VAUX */ - if (sky2_read16(hw, B0_CTST) & Y2_VAUX_AVAIL) + if (sky2_read32(hw, B0_CTST) & Y2_VAUX_AVAIL) sky2_write8(hw, B0_POWER_CTRL, (PC_VAUX_ENA | PC_VCC_ENA | PC_VAUX_ON | PC_VCC_OFF)); diff --git a/drivers/net/sky2.h b/drivers/net/sky2.h index 34042ff..e0f23a1 100644 --- a/drivers/net/sky2.h +++ b/drivers/net/sky2.h @@ -260,7 +260,7 @@ enum csr_regs { Y2_CFG_AER = 0x1d00, /* PCI Advanced Error Report region */ }; -/* B0_CTST 16 bit Control/Status register */ +/* B0_CTST 24 bit Control/Status register */ enum { Y2_VMAIN_AVAIL = 1<<17,/* VMAIN available (YUKON-2 only) */ Y2_VAUX_AVAIL = 1<<16,/* VAUX available (YUKON-2 only) */
B0_CTST is a 24bit register according to the vendor driver (sk98lin). A 16bit read on B0_CTST will always return 0 for Y2_VAUX_AVAIL (1<<16), so use a 32bit read when testing Y2_VAUX_AVAIL Signed-off-by: Mike McCormack <mikem@ring3k.org> --- drivers/net/sky2.c | 2 +- drivers/net/sky2.h | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)