drivers/scsi/mpt3sas/mpt3sas_trigger_diag.h

Source file repositories/reference/linux-study-clean/drivers/scsi/mpt3sas/mpt3sas_trigger_diag.h

File Facts

System
Linux kernel
Corpus path
drivers/scsi/mpt3sas/mpt3sas_trigger_diag.h
Extension
.h
Size
6939 bytes
Lines
195
Domain
Driver Families
Bucket
drivers/scsi
Inferred role
Driver Families: implementation source
Status
source implementation candidate

Why This File Exists

Repeatable hardware-adapter layer. Deep compatibility for every driver is out of scope; this atlas records patterns, probe lifecycles, bus glue, IRQ/DMA usage, and links back to core abstractions.

Dependency Surface

Detected Declarations

Annotated Snippet

struct SL_WH_MASTER_TRIGGER_T {
	uint32_t MasterData;
};

/**
 * struct SL_WH_EVENT_TRIGGER_T -  Definition of an event trigger element
 * @EventValue: Event Code to trigger on
 * @LogEntryQualifier: Type of FW event that logged (Log Entry Added Event only)
 *
 * Defines an event that should induce a DIAG_TRIGGER driver event if observed.
 */
struct SL_WH_EVENT_TRIGGER_T {
	uint16_t EventValue;
	uint16_t LogEntryQualifier;
};

/**
 * struct SL_WH_EVENT_TRIGGERS_T -  Structure passed to/from sysfs containing a
 *    list of Event Triggers to be monitored for.
 * @ValidEntries: Number of _SL_WH_EVENT_TRIGGER_T structures contained in this
 *    structure.
 * @EventTriggerEntry: List of Event trigger elements.
 *
 * This binary structure is transferred via sysfs to get/set Event Triggers
 * in the Linux Driver.
 */

struct SL_WH_EVENT_TRIGGERS_T {
	uint32_t ValidEntries;
	struct SL_WH_EVENT_TRIGGER_T EventTriggerEntry[NUM_VALID_ENTRIES];
};

/**
 * struct SL_WH_SCSI_TRIGGER_T -  Definition of a SCSI trigger element
 * @ASCQ: Additional Sense Code Qualifier.  Can be specific or 0xFF for
 *     wildcard.
 * @ASC: Additional Sense Code.  Can be specific or 0xFF for wildcard
 * @SenseKey: SCSI Sense Key
 *
 * Defines a sense key (single or many variants) that should induce a
 * DIAG_TRIGGER driver event if observed.
 */
struct SL_WH_SCSI_TRIGGER_T {
	U8 ASCQ;
	U8 ASC;
	U8 SenseKey;
	U8 Reserved;
};

/**
 * struct SL_WH_SCSI_TRIGGERS_T -  Structure passed to/from sysfs containing a
 *    list of SCSI sense codes that should trigger a DIAG_SERVICE event when
 *    observed.
 * @ValidEntries: Number of _SL_WH_SCSI_TRIGGER_T structures contained in this
 *    structure.
 * @SCSITriggerEntry: List of SCSI Sense Code trigger elements.
 *
 * This binary structure is transferred via sysfs to get/set SCSI Sense Code
 * Triggers in the Linux Driver.
 */
struct SL_WH_SCSI_TRIGGERS_T {
	uint32_t ValidEntries;
	struct SL_WH_SCSI_TRIGGER_T SCSITriggerEntry[NUM_VALID_ENTRIES];
};

/**
 * struct SL_WH_MPI_TRIGGER_T -  Definition of an MPI trigger element
 * @IOCStatus: MPI IOCStatus
 * @IocLogInfo: MPI IocLogInfo.  Can be specific or 0xFFFFFFFF for wildcard
 *
 * Defines a MPI IOCStatus/IocLogInfo pair that should induce a DIAG_TRIGGER
 * driver event if observed.
 */
struct SL_WH_MPI_TRIGGER_T {
	uint16_t IOCStatus;
	uint16_t Reserved;
	uint32_t IocLogInfo;
};

/**
 * struct SL_WH_MPI_TRIGGERS_T -  Structure passed to/from sysfs containing a
 *    list of MPI IOCStatus/IocLogInfo pairs that should trigger a DIAG_SERVICE
 *    event when observed.
 * @ValidEntries: Number of _SL_WH_MPI_TRIGGER_T structures contained in this
 *    structure.
 * @MPITriggerEntry: List of MPI IOCStatus/IocLogInfo trigger elements.
 *
 * This binary structure is transferred via sysfs to get/set MPI Error Triggers
 * in the Linux Driver.
 */

Annotation

Implementation Notes