aboutsummaryrefslogtreecommitdiff
path: root/sys/pci/if_dcreg.h
diff options
context:
space:
mode:
authorMartin Blapp <mbr@FreeBSD.org>2003-10-05 19:57:10 +0000
committerMartin Blapp <mbr@FreeBSD.org>2003-10-05 19:57:10 +0000
commit87f4fa15128dee89a4a46e342c63dba52376f4f6 (patch)
tree4a64fbae4d1af750d11e3aa40d55dfc554aedf94 /sys/pci/if_dcreg.h
parent640c9cb2972ea57eca3df01dc52302222218b8db (diff)
downloadsrc-87f4fa15128dee89a4a46e342c63dba52376f4f6.tar.gz
src-87f4fa15128dee89a4a46e342c63dba52376f4f6.zip
Ignore CSR13, CSR14, CSR15 'Media Specific Data' registers
for 21143 based cards which use SIA mode. This fixes 10mbit mode for ZNYX ZX346Q cards and other 21143 based cards. PR: 32118 Submitted by: Rene de Vries <rene@tunix.nl> Geert Jan de Groot <GeertJan.deGroot@tunix.nl> Obtained from: BSDI MFC after: 2 weeks
Notes
Notes: svn path=/head/; revision=120822
Diffstat (limited to 'sys/pci/if_dcreg.h')
-rw-r--r--sys/pci/if_dcreg.h14
1 files changed, 11 insertions, 3 deletions
diff --git a/sys/pci/if_dcreg.h b/sys/pci/if_dcreg.h
index 204b1d156d43..14912b5bb457 100644
--- a/sys/pci/if_dcreg.h
+++ b/sys/pci/if_dcreg.h
@@ -1171,9 +1171,17 @@ struct dc_eblock_hdr {
struct dc_eblock_sia {
struct dc_eblock_hdr dc_sia_hdr;
u_int8_t dc_sia_code;
- u_int8_t dc_sia_mediaspec[6]; /* CSR13, CSR14, CSR15 */
- u_int8_t dc_sia_gpio_ctl[2];
- u_int8_t dc_sia_gpio_dat[2];
+ union {
+ struct dc_sia_ext { /* if (dc_sia_code & DC_SIA_CODE_EXT) */
+ u_int8_t dc_sia_mediaspec[6]; /* CSR13, CSR14, CSR15 */
+ u_int8_t dc_sia_gpio_ctl[2];
+ u_int8_t dc_sia_gpio_dat[2];
+ } dc_sia_ext;
+ struct dc_sia_noext {
+ u_int8_t dc_sia_gpio_ctl[2];
+ u_int8_t dc_sia_gpio_dat[2];
+ } dc_sia_noext;
+ } dc_un;
};
#define DC_SIA_CODE_10BT 0x00