anyone tried this? it seems they are used in some rackmount Apple
machines and Dell 2650.


On 2009/05/23 00:51, Brad wrote:
> I've had some of these diffs sitting around for awhile so I might as well
> post them..
> 
> 
> Limit the BCM5701 B5 chipset to 32-bit mode as a workaround for a bug which
> causes data corruption in combination with certain bridges.
> 
> http://www.freebsd.org/cgi/query-pr.cgi?pr=128833
> 
> From FreeBSD
> 
> 
> Index: if_bge.c
> ===================================================================
> RCS file: /cvs/src/sys/dev/pci/if_bge.c,v
> retrieving revision 1.258
> diff -u -p -r1.258 if_bge.c
> --- if_bge.c  3 Dec 2008 23:51:52 -0000       1.258
> +++ if_bge.c  15 Dec 2008 21:18:08 -0000
> @@ -1329,6 +1232,16 @@ bge_chipinit(struct bge_softc *sc)
>  #endif
>  
>       /*
> +      * BCM5701 B5 have a bug causing data corruption when using
> +      * 64-bit DMA reads, which can be terminated early and then
> +      * completed later as 32-bit accesses, in combination with
> +      * certain bridges.
> +      */
> +     if (BGE_ASICREV(sc->bge_chipid) == BGE_ASICREV_BCM5701 &&
> +         sc->bge_chipid == BGE_CHIPID_BCM5701_B5)
> +             BGE_SETBIT(sc, BGE_MODE_CTL, BGE_MODECTL_FORCE_PCI32);
> +
> +     /*
>        * Disable memory write invalidate.  Apparently it is not supported
>        * properly by these devices.
>        */
> 
> -- 
> This message has been scanned for viruses and
> dangerous content by MailScanner, and is
> believed to be clean.

Reply via email to