On Saturday 17 April 2010 13:59:56 Brad wrote:
> Please test the following diff with any msk(4) adapters.
>
> Just check that the interfaces are working before and after
> applying the diff.
>
>
> This corrects the interrupt moderation timer ticks setting
> for the various generations of chipsets so that the
> SK_IM_USECS() macro works properly when used elsewhere in
> the code.
>
>
> Plase provide a dmesg.
>
This was tested with the following chipsets but it could use a bit more
testing on other ASIC revisions other than the Yukon-2 EC Ultra. Please
test especially if you have a Yukon-2 FE or Yukon-2 FE+ based chipset.
mskc0 at pci4 dev 0 function 0 "Marvell Yukon 88E8056" rev 0x12, Yukon-2 EC
Ultra rev. B0 (0x3): apic 4 int 17 (irq 10)
mskc0 at pci3 dev 0 function 0 "Marvell Yukon 88E8058" rev 0x13, Yukon-2 EC
Ultra rev. B0 (0x3): apic 1 int 17 (irq 7)
> Index: if_msk.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_msk.c,v
> retrieving revision 1.86
> diff -u -p -r1.86 if_msk.c
> --- if_msk.c 9 Jan 2010 02:40:18 -0000 1.86
> +++ if_msk.c 17 Apr 2010 17:39:18 -0000
> @@ -754,10 +754,21 @@ mskc_reset(struct sk_softc *sc)
> */
> switch (sc->sk_type) {
> case SK_YUKON_EC:
> - case SK_YUKON_XL:
> - case SK_YUKON_FE:
> + case SK_YUKON_EC_U:
> + case SK_YUKON_EX:
> + case SK_YUKON_SUPR:
> + case SK_YUKON_ULTRA2:
> imtimer_ticks = SK_IMTIMER_TICKS_YUKON_EC;
> break;
> + case SK_YUKON_FE:
> + imtimer_ticks = SK_IMTIMER_TICKS_YUKON_FE;
> + break;
> + case SK_YUKON_FE_P:
> + imtimer_ticks = SK_IMTIMER_TICKS_YUKON_FE_P;
> + break;
> + case SK_YUKON_XL:
> + imtimer_ticks = SK_IMTIMER_TICKS_YUKON_XL;
> + break;
> default:
> imtimer_ticks = SK_IMTIMER_TICKS_YUKON;
> }
> Index: if_skreg.h
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_skreg.h,v
> retrieving revision 1.53
> diff -u -p -r1.53 if_skreg.h
> --- if_skreg.h 29 Mar 2009 14:36:34 -0000 1.53
> +++ if_skreg.h 4 Mar 2010 00:15:36 -0000
> @@ -394,9 +394,12 @@
> #define SK_IMCTL_START 0x04
>
> /* Number of ticks per usec for interrupt moderation */
> +#define SK_IMTIMER_TICKS_YUKON_FE_P 50
> #define SK_IMTIMER_TICKS_GENESIS 53
> #define SK_IMTIMER_TICKS_YUKON 78
> +#define SK_IMTIMER_TICKS_YUKON_FE 100
> #define SK_IMTIMER_TICKS_YUKON_EC 125
> +#define SK_IMTIMER_TICKS_YUKON_XL 156
> #define SK_IM_USECS(x) ((x) * imtimer_ticks)
>
> /*
--
This message has been scanned for viruses and
dangerous content by MailScanner, and is
believed to be clean.