Ticket #703: ata_mode_available_patch.diff

File ata_mode_available_patch.diff, 13.1 KB (added by thomas.doerfler, on 12/03/06 at 13:31:12)

ata_mode_available_patch.diff

  • c/src/lib/libbsp/i386/pc386/ChangeLog

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/i386/pc386/ChangeLog rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/i386/pc386/ChangeLog
    old new  
     12004-10-21      Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
     2
     3        PR 703/filesystem
     4        * ide/ide.c
     5        - extend the "modes_available" and "mode_active" parameters to
     6          unsigned16 for UDMA support
     7
    182004-10-13      Eric Norum <norume@aps.anl.gov>
    29
    310        PR 688/bsps
  • c/src/lib/libbsp/i386/pc386/ide/ide.c

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/i386/pc386/ide/ide.c rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/i386/pc386/ide/ide.c
    old new  
    288288+---------------------------------------------------------------------------+
    289289| Input Parameters:                                                         |
    290290\*-------------------------------------------------------------------------*/
    291  int       minor,                   /* controller minor number       */
    292  unsigned8 modes_avail              /* optional argument             */
     291 int        minor,                   /* controller minor number       */
     292 unsigned16 modes_avail              /* optional argument             */
    293293 )
    294294/*-------------------------------------------------------------------------*\
    295295| Return Value:                                                             |
  • c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/powerpc/mbx8xx/ChangeLog
    old new  
     12004-10-21      Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
     2
     3        PR 703/filesystem
     4        * ide/pcmcia_ide.c
     5        - extend the "modes_available" and "mode_active" parameters to
     6          unsigned16 for UDMA support
     7
    182003-12-29      Ralf Corsepius <corsepiu@faw.uni-ulm.de>
    29
    310        * startup/Makefile.am: start.S instead of start.s.
  • c/src/lib/libbsp/powerpc/mbx8xx/ide/pcmcia_ide.c

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/powerpc/mbx8xx/ide/pcmcia_ide.c rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/powerpc/mbx8xx/ide/pcmcia_ide.c
    old new  
    356356+---------------------------------------------------------------------------+
    357357| Input Parameters:                                                         |
    358358\*-------------------------------------------------------------------------*/
    359  int       minor,                   /* controller minor number       */
    360  unsigned8 modes_avail              /* optional argument             */
     359 int        minor,                   /* controller minor number       */
     360 unsigned16 modes_avail              /* optional argument             */
    361361 )
    362362/*-------------------------------------------------------------------------*\
    363363| Return Value:                                                             |
  • c/src/lib/libbsp/shared/ChangeLog

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/shared/ChangeLog rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/shared/ChangeLog
    old new  
     12004-10-21      Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
     2
     3        PR 703/filesystem
     4        * ide_ctrl.c
     5        - extend the "modes_available" and "mode_active" parameters to
     6          unsigned16 for UDMA support
     7
    182004-10-13      Eric Norum <norume@aps.anl.gov>
    29
    310        PR 688/bsps
  • c/src/lib/libbsp/shared/ide_ctrl.c

    diff -Nur rtems-4.6.2/c/src/lib/libbsp/shared/ide_ctrl.c rtems-4.6.2-bigimfs-ackhack/c/src/lib/libbsp/shared/ide_ctrl.c
    old new  
    163163 *     Set controller's speed of IO operations
    164164 *
    165165 * PARAMETERS:
    166  *     minor         - minor number of controller
    167  *     modes_avaible - speeds available
     166 *     minor           - minor number of controller
     167 *     modes_available - speeds available
    168168 *
    169169 * RETURNS:
    170170 *     RTEMS_SUCCESSFUL on success, or error code if
    171171 *     error occured
    172172 */
    173173rtems_status_code
    174 ide_controller_config_io_speed(int minor, unsigned8 modes_avaible)
     174ide_controller_config_io_speed(int minor, unsigned16 modes_available)
    175175{
    176176    return IDE_Controller_Table[minor].fns->ctrl_config_io_speed(
    177177               minor,
    178                modes_avaible);
     178               modes_available);
    179179}
  • c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c

    diff -Nur rtems-4.6.2/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c rtems-4.6.2-bigimfs-ackhack/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.c
    old new  
    4040    case PPC_620:               return "MPC620";
    4141    case PPC_860:               return "MPC860";
    4242    case PPC_8260:              return "MPC8260";
     43    case PPC_603le:             return "MPC603le";
    4344    default:
    4445      printk("Unknown CPU value of 0x%x. Please add it to <libcpu/powerpc/shared/include/cpuIdent.c>\n", cpu );
    4546  }
     
    6263    case PPC_620:
    6364    case PPC_860:
    6465    case PPC_8260:
     66    case PPC_603le:
    6567      return current_ppc_cpu;
    6668    default:
    6769      printk("Unknown PVR value of 0x%x. Please add it to <libcpu/powerpc/shared/include/cpuIdent.c>\n", pvr );
  • c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h

    diff -Nur rtems-4.6.2/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h rtems-4.6.2-bigimfs-ackhack/c/src/lib/libcpu/powerpc/shared/include/cpuIdent.h
    old new  
    3232  PPC_860 = 0x50,
    3333  PPC_821 = PPC_860,
    3434  PPC_8260 = 0x81,
     35  PPC_603le = 0x8082, /* 603le core, in MGT5100 and MPC5200 */
    3536  PPC_UNKNOWN = 0xff
    3637} ppc_cpu_id_t;
    3738
  • c/src/libchip/ChangeLog

    diff -Nur rtems-4.6.2/c/src/libchip/ChangeLog rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ChangeLog
    old new  
     12004-10-21      Thomas Doerfler <Thomas.Doerfler@imd-systems.de>
     2
     3        PR 703/filesystem
     4        * ata_internal.h ide_ctrl_cfg.h ide_ctrl_io.h ata.c ide_controller.c:
     5        - move definitions for ATA modes into ide_ctrl_cfg.h, to make them
     6        available for BSPS/device drivers
     7        - extend the "modes_available" and "mode_active" parameters to
     8          unsigned16 for UDMA support
     9
    1102004-10-13      Eric Norum <norume@aps.anl.gov>
    211
    312        PR 688/bsps
  • c/src/libchip/ide/ata.c

    diff -Nur rtems-4.6.2/c/src/libchip/ide/ata.c rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ide/ata.c
    old new  
    11591159              ATA_DEV_INFO(ctrl_minor, dev).mode_active = ATA_MODES_PIO3;
    11601160            }
    11611161            else {
    1162               ATA_DEV_INFO(ctrl_minor, dev).modes_avaible =
     1162              ATA_DEV_INFO(ctrl_minor, dev).modes_available =
    11631163                ((CF_LE_W(buffer[64]) & 0x1) ? ATA_MODES_PIO3 : 0) |
    11641164                ((CF_LE_W(buffer[64]) & 0x2) ? ATA_MODES_PIO4 : 0) |
    11651165                ((CF_LE_W(buffer[63]) & 0x1) ? ATA_MODES_DMA0 : 0) |
     
    11671167                 ATA_MODES_DMA0 | ATA_MODES_DMA1 : 0) |
    11681168                ((CF_LE_W(buffer[63]) & 0x4) ?
    11691169                 ATA_MODES_DMA0 | ATA_MODES_DMA1 | ATA_MODES_DMA2 : 0);
    1170               if (ATA_DEV_INFO(ctrl_minor, dev).modes_avaible == 0)
     1170              if (ATA_DEV_INFO(ctrl_minor, dev).modes_available == 0)
    11711171                continue;
    11721172              /*
    11731173               * choose most appropriate ATA device data I/O speed supported
     
    11751175               */
    11761176              status = ide_controller_config_io_speed(
    11771177                ctrl_minor,
    1178                 ATA_DEV_INFO(ctrl_minor, dev).modes_avaible);
     1178                ATA_DEV_INFO(ctrl_minor, dev).modes_available);
    11791179              if (status != RTEMS_SUCCESSFUL)
    11801180                continue;
    11811181            }     
  • c/src/libchip/ide/ata_internal.h

    diff -Nur rtems-4.6.2/c/src/libchip/ide/ata_internal.h rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ide/ata_internal.h
    old new  
    5252
    5353#define ATA_MAX_CMD_REG_OFFSET          8
    5454
    55 /* ATA modes */
    56 #define ATA_MODES_PIO3    0x001
    57 #define ATA_MODES_PIO4    0x002
    58 
    59 #define ATA_MODES_PIO     0x003
    60 
    61 #define ATA_MODES_DMA0    0x004
    62 #define ATA_MODES_DMA1    0x008
    63 #define ATA_MODES_DMA2    0x010
    64 
    65 #define ATA_MODES_UDMA0   0x020
    66 #define ATA_MODES_UDMA1   0x040
    67 #define ATA_MODES_UDMA2   0x080
    68 #define ATA_MODES_UDMA3   0x100
    69 #define ATA_MODES_UDMA4   0x200
    70 #define ATA_MODES_UDMA5   0x400
    71 
    72 #define ATA_MODES_UDMA    0x7e0
    73 #define ATA_MODES_DMA     0x7fc
    74 
    7555
    7656/* ATA Commands */
    7757
     
    308288    unsigned8   max_multiple; /* 0 if READ/WRITE MULTIPLE is unsupported */
    309289    unsigned8   current_multiple;
    310290
    311     unsigned8   modes_avaible; /* OR of values for this modes */
    312     unsigned8   mode_active;
     291    unsigned16   modes_available; /* OR of values for this modes */
     292    unsigned16   mode_active;
    313293} ata_dev_t;
    314294
    315295/*
  • c/src/libchip/ide/ide_controller.c

    diff -Nur rtems-4.6.2/c/src/libchip/ide/ide_controller.c rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ide/ide_controller.c
    old new  
    163163 *     Set controller's speed of IO operations
    164164 *
    165165 * PARAMETERS:
    166  *     minor         - minor number of controller
    167  *     modes_avaible - speeds available
     166 *     minor           - minor number of controller
     167 *     modes_available - speeds available
    168168 *
    169169 * RETURNS:
    170170 *     RTEMS_SUCCESSFUL on success, or error code if
    171171 *     error occured
    172172 */
    173173rtems_status_code
    174 ide_controller_config_io_speed(int minor, unsigned8 modes_avaible)
     174ide_controller_config_io_speed(int minor, unsigned16 modes_available)
    175175{
    176176    return IDE_Controller_Table[minor].fns->ctrl_config_io_speed(
    177177               minor,
    178                modes_avaible);
     178               modes_available);
    179179}
  • c/src/libchip/ide/ide_ctrl_cfg.h

    diff -Nur rtems-4.6.2/c/src/libchip/ide/ide_ctrl_cfg.h rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ide/ide_ctrl_cfg.h
    old new  
    11/*
    22 * ide_ctrl_cfg.h
    33 *
    4  * LibChip library IDE controller header file - structuers used for
     4 * LibChip library IDE controller header file - structures used for
    55 * configuration and plugin interface definition.
    66 *
    77 * Copyright (C) 2002 OKTET Ltd., St.-Petersburg, Russia
     
    3030    IDE_CUSTOM                /* BSP specific driver */
    3131} ide_ctrl_devs_t;
    3232
     33/* ATA modes: bit masks used in ctrl_config_io_speed call */
     34#define ATA_MODES_PIO3    0x001
     35#define ATA_MODES_PIO4    0x002
     36
     37#define ATA_MODES_PIO     0x003
     38
     39#define ATA_MODES_DMA0    0x004
     40#define ATA_MODES_DMA1    0x008
     41#define ATA_MODES_DMA2    0x010
     42
     43#define ATA_MODES_UDMA0   0x020
     44#define ATA_MODES_UDMA1   0x040
     45#define ATA_MODES_UDMA2   0x080
     46#define ATA_MODES_UDMA3   0x100
     47#define ATA_MODES_UDMA4   0x200
     48#define ATA_MODES_UDMA5   0x400
     49
     50#define ATA_MODES_UDMA    0x7e0
     51#define ATA_MODES_DMA     0x7fc
     52
     53
    3354/*
    3455 * Each driver for a particular controller have to provide following
    3556 * functions in such a structure. The only field which should not be NULL
     
    6081                              rtems_unsigned32 *pos);
    6182   
    6283    rtems_status_code (*ctrl_config_io_speed)(int minor,
    63                                               unsigned8 modes_available);
     84                                              unsigned16 modes_available);
    6485} ide_ctrl_fns_t;
    6586
    6687/*
  • c/src/libchip/ide/ide_ctrl_io.h

    diff -Nur rtems-4.6.2/c/src/libchip/ide/ide_ctrl_io.h rtems-4.6.2-bigimfs-ackhack/c/src/libchip/ide/ide_ctrl_io.h
    old new  
    167167 *     Set controller's speed of IO operations
    168168 *
    169169 * PARAMETERS:
    170  *     minor         - minor number of controller
    171  *     modes_avaible - speeds available
     170 *     minor           - minor number of controller
     171 *     modes_available - speeds available
    172172 *
    173173 * RETURNS:
    174174 *     RTEMS_SUCCESSFUL on success, or error code if
    175175 *     error occured
    176176 */
    177177rtems_status_code
    178 ide_controller_config_io_speed(int minor, unsigned8 modes_avaible);
     178ide_controller_config_io_speed(int minor, unsigned16 modes_available);
    179179
    180180#ifdef __cplusplus
    181181}