ql4_inline.h

来自「linux 内核源代码」· C头文件 代码 · 共 85 行

H
85
字号
/* * QLogic iSCSI HBA Driver * Copyright (c)  2003-2006 QLogic Corporation * * See LICENSE.qla4xxx for copyright and licensing details. *//* * * qla4xxx_lookup_ddb_by_fw_index *	This routine locates a device handle given the firmware device *	database index.	 If device doesn't exist, returns NULL. * * Input: *	ha - Pointer to host adapter structure. *	fw_ddb_index - Firmware's device database index * * Returns: *	Pointer to the corresponding internal device database structure */static inline struct ddb_entry *qla4xxx_lookup_ddb_by_fw_index(struct scsi_qla_host *ha, uint32_t fw_ddb_index){	struct ddb_entry *ddb_entry = NULL;	if ((fw_ddb_index < MAX_DDB_ENTRIES) &&	    (ha->fw_ddb_index_map[fw_ddb_index] !=		(struct ddb_entry *) INVALID_ENTRY)) {		ddb_entry = ha->fw_ddb_index_map[fw_ddb_index];	}	DEBUG3(printk("scsi%d: %s: index [%d], ddb_entry = %p\n",	    ha->host_no, __func__, fw_ddb_index, ddb_entry));	return ddb_entry;}static inline void__qla4xxx_enable_intrs(struct scsi_qla_host *ha){	if (is_qla4022(ha) | is_qla4032(ha)) {		writel(set_rmask(IMR_SCSI_INTR_ENABLE),		       &ha->reg->u1.isp4022.intr_mask);		readl(&ha->reg->u1.isp4022.intr_mask);	} else {		writel(set_rmask(CSR_SCSI_INTR_ENABLE), &ha->reg->ctrl_status);		readl(&ha->reg->ctrl_status);	}	set_bit(AF_INTERRUPTS_ON, &ha->flags);}static inline void__qla4xxx_disable_intrs(struct scsi_qla_host *ha){	if (is_qla4022(ha) | is_qla4032(ha)) {		writel(clr_rmask(IMR_SCSI_INTR_ENABLE),		       &ha->reg->u1.isp4022.intr_mask);		readl(&ha->reg->u1.isp4022.intr_mask);	} else {		writel(clr_rmask(CSR_SCSI_INTR_ENABLE), &ha->reg->ctrl_status);		readl(&ha->reg->ctrl_status);	}	clear_bit(AF_INTERRUPTS_ON, &ha->flags);}static inline voidqla4xxx_enable_intrs(struct scsi_qla_host *ha){	unsigned long flags;	spin_lock_irqsave(&ha->hardware_lock, flags);	__qla4xxx_enable_intrs(ha);	spin_unlock_irqrestore(&ha->hardware_lock, flags);}static inline voidqla4xxx_disable_intrs(struct scsi_qla_host *ha){	unsigned long flags;	spin_lock_irqsave(&ha->hardware_lock, flags);	__qla4xxx_disable_intrs(ha);	spin_unlock_irqrestore(&ha->hardware_lock, flags);}

⌨️ 快捷键说明

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