📄 core_exp.h
字号:
#if !defined(CORE_EXPOSE_H)#define CORE_EXPOSE_H#include "core_header.h"#include "hba_exp.h"#ifdef __MM_SE__#define __ext_to_core(_ext) ((PCore_Driver_Extension) (_ext))#define __ext_to_parent_ops(_ext) (__ext_to_core(_ext)->desc->parent->ops)#define core_start_cmpl_notify(_ext) \ { \ __ext_to_core(_ext)->desc->status = MV_MOD_STARTED; \ HBA_ModuleStarted(__ext_to_core(_ext)->desc); \ }#define Core_ModuleSendRequest(_ext, _req) \ __ext_to_core(_ext)->desc->ops->module_sendrequest(_ext, _req)#define Core_ModuleShutdown(_ext) \ __ext_to_core(_ext)->desc->ops->module_stop(_ext)#define Core_ModuleInitialize(_ext, _size, _max_io) \ __ext_to_core(_ext)->desc->ops->module_initialize(_ext, \ _size, \ _max_io)#define Core_ModuleStart(_ext) \ __ext_to_core(_ext)->desc->ops->module_start(_ext)#define Core_ModuleMonitor(_ext) \ __ext_to_core(_ext)->desc->ops->module_monitor(_ext)#define Core_ModuleReset(_ext) \ __ext_to_core(_ext)->desc->ops->module_reset(_ext)#ifdef SUPPORT_PMvoid SATA_PM_HandleDeviceUnplug (PCore_Driver_Extension pCore, PDomain_PM pPM);void SATA_PM_HandleDevicePlugin (PCore_Driver_Extension pCore, PDomain_PM pPM);#endif /* SUPPORT_PM */#define core_generate_event(ext, eid, did, slv, pc, ptr) \ { \ struct mod_notif_param _param = {ptr, 0, 0, eid, did, slv, pc}; \ __ext_to_core(ext)->desc->parent->ops->module_notification( \ ext->desc->parent->extension, \ EVENT_LOG_GENERATED, \ &_param); \ }#define core_notify_device_hotplug(ext, eid, did) \ { \ struct mod_notif_param _param; \ _param.lo = did; \ __ext_to_core(ext)->desc->parent->ops->module_notification( \ ext->desc->parent->extension, \ eid, \ &_param); \ }#else /* __MM_SE__ *//* Product device id */#define VENDOR_ID 0x11AB#define DEVICE_ID_THORLITE_2S1P 0x6121#define DEVICE_ID_THORLITE_0S1P 0x6101#define DEVICE_ID_THORLITE_1S1P 0x6111#define DEVICE_ID_THOR_4S1P 0x6141#define DEVICE_ID_THOR_4S1P_NEW 0x6145#define DEVICE_ID_THORLITE_2S1P_WITH_FLASH 0x6122 /* Revision ID starts from B1 */#define DEVICE_ID_6320 0x6320 /* Odin lite version */#define DEVICE_ID_6340 0x6340 #define DEVICE_ID_6440 0x6440 /* mule-board */#define DEVICE_ID_6480 0x6480 /* mule-board */extern struct mv_module_ops __core_mod_ops;#define core_start_cmpl_notify(_ext) HBA_ModuleStarted(_ext)#define Core_ModuleGetResourceQuota __core_mod_ops.get_res_desc#define Core_ModuleInitialize __core_mod_ops.module_initialize#define Core_ModuleStart __core_mod_ops.module_start#define Core_ModuleShutdown __core_mod_ops.module_stop#define Core_ModuleSendRequest __core_mod_ops.module_sendrequest#define Core_ModuleMonitor __core_mod_ops.module_monitor#define Core_ModuleReset __core_mod_ops.module_resetvoid Core_ModuleNotification(MV_PVOID, enum Module_Event, struct mod_notif_param*);MV_BOOLEAN Core_InterruptServiceRoutine(MV_PVOID This);#ifdef RAID_DRIVERvoid Core_ModuleSendXORRequest(MV_PVOID This, PMV_XOR_Request pXORReq);#endifvoid SATA_HandleDeviceUnplug (PCore_Driver_Extension pCore, PDomain_Port pPort);#ifdef SUPPORT_PMvoid SATA_PM_HandleDeviceUnplug (PCore_Driver_Extension pCore, PDomain_PM pPM);void SATA_PM_HandleDevicePlugin (PCore_Driver_Extension pCore, PDomain_PM pPM);#endif#define core_generate_event(ext, eid, did, slv, pc, ptr) \ { \ struct mod_notif_param param = {ptr, 0, 0, eid, did, slv, pc}; \ HBA_ModuleNotification(ext, EVENT_LOG_GENERATED, ¶m); \ }static inline MV_VOID core_notify_device_hotplug(MV_PVOID core_ext, enum Module_Event evt, MV_U16 devid){ struct mod_notif_param param; MV_PVOID pUpperLayer; MV_VOID (*NotificationFunc)(MV_PVOID, enum Module_Event, struct mod_notif_param *); HBA_GetUpperModuleNotificationFunction(core_ext, &pUpperLayer, &NotificationFunc ); param.lo = devid; NotificationFunc( pUpperLayer, evt, ¶m );}#endif /* __MM_SE__ */#endif /* CORE_EXPOSE_H */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -