1
0
mirror of https://git.FreeBSD.org/src.git synced 2024-12-18 10:35:55 +00:00

Add a microcode to implement receive bundling for 82551 chipsets with

a revision ID of 0x0f (D102 E-step).

MFC after:	2 weeks
Tested by:	pav
This commit is contained in:
Maxime Henrion 2005-04-21 19:34:57 +00:00
parent 163609768e
commit de57160389
Notes: svn2git 2020-12-20 02:59:44 +00:00
svn path=/head/; revision=145368
3 changed files with 152 additions and 20 deletions

View File

@ -2622,6 +2622,7 @@ static uint32_t fxp_ucode_d101ma[] = D101M_B_RCVBUNDLE_UCODE;
static uint32_t fxp_ucode_d101s[] = D101S_RCVBUNDLE_UCODE;
static uint32_t fxp_ucode_d102[] = D102_B_RCVBUNDLE_UCODE;
static uint32_t fxp_ucode_d102c[] = D102_C_RCVBUNDLE_UCODE;
static uint32_t fxp_ucode_d102e[] = D102_E_RCVBUNDLE_UCODE;
#define UCODE(x) x, sizeof(x)/sizeof(uint32_t)
@ -2642,6 +2643,8 @@ struct ucode {
D102_B_CPUSAVER_DWORD, D102_B_CPUSAVER_BUNDLE_MAX_DWORD },
{ FXP_REV_82550_C, UCODE(fxp_ucode_d102c),
D102_C_CPUSAVER_DWORD, D102_C_CPUSAVER_BUNDLE_MAX_DWORD },
{ FXP_REV_82551, UCODE(fxp_ucode_d102e),
D102_E_CPUSAVER_DWORD, D102_E_CPUSAVER_BUNDLE_MAX_DWORD },
{ 0, NULL, 0, 0, 0 }
};

View File

@ -468,3 +468,4 @@ struct fxp_stats {
#define FXP_REV_82559S_A 9 /* 82559S A stepping */
#define FXP_REV_82550 12
#define FXP_REV_82550_C 13 /* 82550 C stepping */
#define FXP_REV_82551 15 /* 82551 */

View File

@ -40,7 +40,7 @@ Version: 3.28
This file contains the loadable micro code arrays to implement receive bundling on the
D101 A-step, D101 B-step, D101M (B-step only), D101S, D102 B-step,
D102 B-step with TCO work around and D012 C-step.
D102 B-step with TCO work around, D102 C-step and D102 E-step.
Each controller has its own specific micro code array. The array for one controller
is totally incompatible with any other controller, and if used will most likely
@ -51,25 +51,6 @@ rcvbundl.h file given above).
*/
/* Size of loadable micro code image for each supported chip. */
#ifndef D100_NUM_MICROCODE_DWORDS
#define D100_NUM_MICROCODE_DWORDS 66
#endif
#ifndef D101_NUM_MICROCODE_DWORDS
#define D101_NUM_MICROCODE_DWORDS 102
#endif
#ifndef D101M_NUM_MICROCODE_DWORDS
#define D101M_NUM_MICROCODE_DWORDS 134
#endif
#ifndef D101S_NUM_MICROCODE_DWORDS
#define D101S_NUM_MICROCODE_DWORDS 134
#endif
#ifndef D102_NUM_MICROCODE_DWORDS
#define D102_NUM_MICROCODE_DWORDS 134
#endif
#ifndef D102_NUM_TCO_MICROCODE_DWORDS
#define D102_NUM_TCO_MICROCODE_DWORDS 134
#endif
/*************************************************************************
@ -1127,3 +1108,150 @@ rcvbundl.h file given above).
0x00000000, \
0x00000000, \
}
/********************************************************/
/* Micro code for the D102 E-step */
/********************************************************/
/* Parameter values for the D102 E-step */
#define D102_E_CPUSAVER_DWORD 42
#define D102_E_CPUSAVER_BUNDLE_MAX_DWORD 54
#define D102_E_CPUSAVER_MIN_SIZE_DWORD 46
#define D102_E_RCVBUNDLE_UCODE \
{\
0x007D028F, \
0x0E4204F9, \
0x14ED0C85, \
0x14FA14E9, \
0x0EF70E36, \
0x1FFF1FFF, \
0x00E014B9, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00E014BD, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00E014D5, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00E014C1, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00E014C8, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00200600, \
0x00E014EE, \
0x00000000, \
0x00000000, \
0x0030FF80, \
0x00940E46, \
0x00038200, \
0x00102000, \
0x00E00E43, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00300006, \
0x00E014FB, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00906E41, \
0x00800E3C, \
0x00E00E39, \
0x00000000, \
0x00906EFD, \
0x00900EFD, \
0x00E00EF8, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
0x00000000, \
}