/* pm8001_hw_event_ack_req- For PM8001,some events need to acknowage to FW. @pm8001_ha: our hba card information @Qnum: the outbound queue message number. @SEA: source of event to ack @port_id: port id. @phyId: phy id.  */
static void pm8001_hw_event_ack_req(struct pm8001_hba_info *pm8001_ha, u32 Qnum, u32 SEA, u32 port_id, u32 phyId, u32 param0, u32 param1)
/* pm8001_hw_event_ack_req- For PM8001,some events need to acknowage to FW. @pm8001_ha: our hba card information @Qnum: the outbound queue message number. @SEA: source of event to ack @port_id: port id. @phyId: phy id.  */
static void pm8001_hw_event_ack_req(struct pm8001_hba_info *pm8001_ha, u32 Qnum, u32 SEA, u32 port_id, u32 phyId, u32 param0, u32 param1)
{
	struct hw_event_ack_req	 payload;
	u32 opc = OPC_INB_SAS_HW_EVENT_ACK;
	struct inbound_queue_table *circularQ;
	memset((u8 *)&payload, 0, sizeof(payload));
	circularQ = &pm8001_ha->inbnd_q_tbl[Qnum];
	payload.tag = 1;
	payload.sea_phyid_portid = cpu_to_le32(((SEA & 0xFFFF) << 8) |
		((phyId & 0x0F) << 4) | (port_id & 0x0F));
	payload.param0 = cpu_to_le32(param0);
	payload.param1 = cpu_to_le32(param1);
	mpi_build_cmd(pm8001_ha, circularQ, opc, &payload);
}