/**************************************************************** * Copyright (c) 2008 by Quanta Computer, Inc. All rights reserved. * * File Name: ca_offload_struct.h 1.00 * * Abstract: * Description: Cache Offload Diagnostics Struct header file * * Project Name: Aurora * Software Component: Adma Diagnostics * * Exported Functions: * None * * Notes: * History: * 2005/12/01 Lecter - Initial Implement *** END OF REVISION HISTORY ***********************************/ #ifndef __CA_OFFLOAD_STRUCT_H__ #define __CA_OFFLOAD_STRUCT_H__ #include #include #include "commMEC.h" #include "commRpt.h" #include "commDebug.h" #ifdef CTRLER_PIKESPEAK #define PCI_DEVICE_ID_PCH 0x3B22 #else #define PCI_DEVICE_ID_PCH 0x1D02 #endif #define SATA_TEST_DEFAULT_SSD_DEVICE 1 #define SATA_TEST_MAX_SSD_DEVICE 64 #define SATA_DEVICE_MAX_TRANSFER_SIZE MB #define SATA_TEST_PERFORMANCE_UNIT_PRORCESS 15 #define SATA_TEST_DATA_PRESERVE_PRORCESS (100 - 2 * SATA_RAND_WRITE_VERIFY_MAX_CMD) #define SATA_TEST_TOTAL_PROGRESS_UINT 100 #define SATA_TEST_MAX_REPEAT_TIME 3 #define SATA_TEST_OFFSET_IN_SECTOR 0x40000 /*128 MB*/ #define SATA_TRANSFER_TEST_SIZE 1 #define SATA_RAND_WRITE_VERIFY_TEST_SIZE SATA_DEVICE_MAX_TRANSFER_SIZE #define SATA_RAND_WRITE_VERIFY_TEST_CMD_NUM 256 #define SATA_RAND_WRITE_VERIFY_TEST_RPT_UNIT 16 #define SATA_RAND_WRITE_VERIFY_TEST_TIMEOUT msecs_to_jiffies(600000) #define SATA_RAND_WRITE_VERIFY_MAX_CMD 32 #define SATA_DEVICE_PERFORMANCE_TEST_SIZE (100 * MB) #define SATA_DEVICE_PERFORMANCE_TEST_TARGET 55 #define SATA_DEVICE_PERFORMANCE_TEST_ROUND 3 #define SATA_DEVICE_PERFORMANCE_TEST_RAMP_UP 1 #define SATA_DEVICE_PERFORMANCE_BIAS 5 #define SATA_DEVICE_PERFORMANCE_RPT_VALUE (100 / SATA_TEST_PERFORMANCE_UNIT_PRORCESS) typedef struct SATARandWriteVerifyTest { struct list_head threads; wait_queue_head_t waitqueue; /* The completion used to inform the Board Stress have completed */ UINT64* pTestArea; spinlock_t lock; atomic_t numThread; UINT8 idxPort; }SATA_RWVT; typedef struct SATARandWriteVerifyThread { struct list_head node; UINT8 idxThread; struct task_struct* pTask; struct scsi_device* pSDev; SATA_RWVT* pSATAtest; UINT64 sectorBase; UINT8* pSrcBuf; UINT8* pDstBuf; BOOLEAN isComplete; }SATA_RWVT_THREAD; #endif //__CA_OFFLOAD_STRUCT_H__