⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mvialcommonutils.h

📁 此为marvell 6081芯片驱动源码
💻 H
字号:
/*******************************************************************************
*              (c), Copyright 2001, Marvell International Ltd.                 *
* THIS CODE CONTAINS CONFIDENTIAL INFORMATION OF MARVELL SEMICONDUCTOR, INC.   *
* NO RIGHTS ARE GRANTED HEREIN UNDER ANY PATENT, MASK WORK RIGHT OR COPYRIGHT  *
* OF MARVELL OR ANY THIRD PARTY. MARVELL RESERVES THE RIGHT AT ITS SOLE        *
* DISCRETION TO REQUEST THAT THIS CODE BE IMMEDIATELY RETURNED TO MARVELL.     *
* THIS CODE IS PROVIDED "AS IS". MARVELL MAKES NO WARRANTIES, EXPRESSED,       *
* IMPLIED OR OTHERWISE, REGARDING ITS ACCURACY, COMPLETENESS OR PERFORMANCE.   *
********************************************************************************
* mvIALCommon.h
*
* DESCRIPTION: Header file for common functions that can be used by different 
*           IAL's
*
* DEPENDENCIES:
*       mvSata.h
*
*******************************************************************************/
#ifndef __INCmvIALCommonUtilsh
#define __INCmvIALCommonUtilsh

#ifdef __cplusplus
extern "C" {
#endif /* __cplusplus */

/* includes */
#include "mvSata.h"
#include "mvStorageDev.h"

/* defines */
#define MV_IAL_COMMON_LOG_ID            2

#define CT_MAX_PMPort 4

/* typedefs */
typedef struct serialATACapabilites
{
    MV_BOOLEAN  SATA_GEN_I_supported;
    MV_BOOLEAN  SATA_GEN_II_supported;
    MV_BOOLEAN  NCQSupported;/*native command queuing*/
    MV_BOOLEAN  RxHostInitiatedPMSupported;/* Supports receipt of host-initiated
                                              interface power management 
                                              requests*/
    MV_BOOLEAN  TxDeviceInitiatedPMSupported;/* device supports initiating
                                                interface power management*/
    MV_BOOLEAN  TxDeviceInitiatedPMEnabled;
    MV_BOOLEAN  DMASetupAutoActiveSupported;/* supports DMA Setup Auto-Activate
                                               optimization*/
    MV_BOOLEAN  DMASetupAutoActiveEnables;
    MV_BOOLEAN  NonZeroBufferOffsetSupported;/* supports non-zero buffer offsets
                                                in DMA Setup FIS*/
    MV_BOOLEAN  NonZeroBufferOffsetEnabled;
}SERIAL_ATA_CAPABILITIES;

typedef struct ATAIdentifyInfo
{
    MV_U32          version;
	MV_U16			model[IDEN_MODEL_SIZE];
	MV_U16			firmware[IDEN_FIRMWARE_SIZE];
    MV_U8           UdmaMode;
    MV_U8           PIOMode;
    MV_BOOLEAN      LBA48Supported;/* used for READ/WRITE commands*/
    MV_BOOLEAN      writeCacheSupported;
    MV_BOOLEAN      writeCacheEnabled;
    MV_BOOLEAN      readAheadSupported;
    MV_BOOLEAN      readAheadEnabled;
    MV_BOOLEAN      DMAQueuedModeSupported;
    MV_U8           DMAQueuedModeDepth;
    MV_U32          ATADiskSize;
    SERIAL_ATA_CAPABILITIES SATACapabilities;/*valid only for ATA-7 or higher*/
} ATA_IDENTIFY_INFO;


typedef struct mvSataPMDeviceInfo
{
    MV_U16      vendorId;
    MV_U16      deviceId;
    MV_U8       productRevision;
    MV_U8       PMSpecRevision;
    MV_U8       numberOfPorts;
} MV_SATA_PM_DEVICE_INFO;


MV_BOOLEAN mvParseIdentifyResult(MV_U16_PTR  iden,ATA_IDENTIFY_INFO *pIdentifyInfo);

MV_SATA_DEVICE_TYPE mvGetSataDeviceType(MV_STORAGE_DEVICE_REGISTERS *mvStorageDevRegisters);

MV_BOOLEAN mvInitSataDisk(MV_SATA_ADAPTER   *pSataAdapter, MV_U8 channelIndex,
                          MV_U8 PMPort, ATA_IDENTIFY_INFO   *pIdentifyInfo,
                          MV_U16_PTR identifyBuffer 
                         );

MV_BOOLEAN  mvGetPMDeviceInfo(MV_SATA_ADAPTER   *pSataAdapter,
                              MV_U8 channelIndex, 
                              MV_SATA_PM_DEVICE_INFO *pPMDeviceInfo);


#ifdef __cplusplus
}
#endif /* __cplusplus */

#endif /* __INCmvIALCommonh */

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -