vmeUniverse.c patch for DMA MBLT via UniverseII

Kate Feng feng at bnl.gov
Tue Jun 12 03:04:31 UTC 2012


Hi Joe,

     Should I file a PR since there is no objection regarding the
patch ?  Please advise.

    Regards,
    Kate

On 06/06/2012 01:48 PM, Kate Feng wrote:
> Hi,
>
>    I thought that the "64-bit PCI bus transactions" bit should be enabled
> for the DMA MBLT transfer via  UniverseII, using a patch such as the one
> suggested below.  Is there any reason for not to enable that bit ? Please
> advise.
>
>   Regards,
>   Kate
>
> ---------------------------------------------------------------------------------------------------- 
>
> diff -Naur 
> rtems-4.10/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c.orig 
> rtems-4.10/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c
>
> --- 
> rtems-4.10/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c.orig    
> 2011-05-24 14:03:41.000000000 -0400
> +++ rtems-4.10/c/src/lib/libbsp/shared/vmeUniverse/vmeUniverse.c    
> 2012-06-06 13:11:14.019038585 -0400
> @@ -1295,9 +1295,9 @@
>  #include "bspVmeDmaListP.h"
>  #include <bsp/vmeUniverseDMA.h>
>
> -/* Filter valid bits of DCTL */
> +/* Filter valid bits of DCTL , Kate Feng 5/2012: added the 
> UNIV_DCTL_LD64EN */
>  #define DCTL_MODE_MASK \
> -    ( UNIV_DCTL_VDW_MSK | UNIV_DCTL_VAS_MSK | UNIV_DCTL_PGM | 
> UNIV_DCTL_SUPER | UNIV_DCTL_VCT )
> +    ( UNIV_DCTL_VDW_MSK | UNIV_DCTL_VAS_MSK | UNIV_DCTL_PGM | 
> UNIV_DCTL_SUPER | UNIV_DCTL_VCT | UNIV_DCTL_LD64EN )
>
>  static uint32_t
>  xfer_mode2dctl(uint32_t xfer_mode)
> @@ -1342,11 +1342,15 @@
>               * if data width is 64-bit so we go back to 32-bit
>               * if they didn't explicitely ask for MBLT cycles
>               */
> -            if (   (xfer_mode & 0xb) != 8 /* MBLT */
> - && ( UNIV_DCTL_VDW_64 == (dctl & UNIV_DCTL_VDW_MSK) ) ) {
> +                if ( UNIV_DCTL_VDW_64 == (dctl & UNIV_DCTL_VDW_MSK) ) {
> +               if (   (xfer_mode & 0xb) != 8 ) /* not MBLT */ {
>                  dctl &= ~UNIV_DCTL_VDW_MSK;
>                  dctl |= UNIV_DCTL_VDW_32;
> -            }
> +               }
> +               else /* MBLT */
> +                  /* Kate Feng 5/2012: enable 64-bit PCI bus 
> transactions */
> +                  dctl |= UNIV_DCTL_LD64EN;
> +                }
>              break;
>
>          case UNIV_DCTL_VAS_A16:
>
> _______________________________________________
> rtems-users mailing list
> rtems-users at rtems.org
> http://www.rtems.org/mailman/listinfo/rtems-users




More information about the users mailing list