fru               109 drivers/scsi/aic7xxx/aiclib.h 	uint8_t fru;
fru               167 drivers/scsi/bfa/bfa_core.c 	struct bfa_fru_s	*fru = BFA_FRU(bfa);
fru               170 drivers/scsi/bfa/bfa_core.c 	bfa_fru_attach(fru, &bfa->ioc, bfa, bfa->trcmod, mincfg);
fru               171 drivers/scsi/bfa/bfa_core.c 	bfa_fru_memclaim(fru, fru_dma->kva_curp, fru_dma->dma_curp, mincfg);
fru              6195 drivers/scsi/bfa/bfa_ioc.c 	struct bfa_fru_s *fru = cbarg;
fru              6197 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, event);
fru              6202 drivers/scsi/bfa/bfa_ioc.c 		if (fru->op_busy) {
fru              6203 drivers/scsi/bfa/bfa_ioc.c 			fru->status = BFA_STATUS_IOC_FAILURE;
fru              6204 drivers/scsi/bfa/bfa_ioc.c 			fru->cbfn(fru->cbarg, fru->status);
fru              6205 drivers/scsi/bfa/bfa_ioc.c 			fru->op_busy = 0;
fru              6222 drivers/scsi/bfa/bfa_ioc.c 	struct bfa_fru_s *fru = cbarg;
fru              6224 drivers/scsi/bfa/bfa_ioc.c 			(struct bfi_fru_write_req_s *) fru->mb.msg;
fru              6227 drivers/scsi/bfa/bfa_ioc.c 	msg->offset = cpu_to_be32(fru->addr_off + fru->offset);
fru              6228 drivers/scsi/bfa/bfa_ioc.c 	len = (fru->residue < BFA_FRU_DMA_BUF_SZ) ?
fru              6229 drivers/scsi/bfa/bfa_ioc.c 				fru->residue : BFA_FRU_DMA_BUF_SZ;
fru              6235 drivers/scsi/bfa/bfa_ioc.c 	msg->last = (len == fru->residue) ? 1 : 0;
fru              6237 drivers/scsi/bfa/bfa_ioc.c 	msg->trfr_cmpl = (len == fru->residue) ? fru->trfr_cmpl : 0;
fru              6238 drivers/scsi/bfa/bfa_ioc.c 	bfi_h2i_set(msg->mh, BFI_MC_FRU, msg_type, bfa_ioc_portid(fru->ioc));
fru              6239 drivers/scsi/bfa/bfa_ioc.c 	bfa_alen_set(&msg->alen, len, fru->dbuf_pa);
fru              6241 drivers/scsi/bfa/bfa_ioc.c 	memcpy(fru->dbuf_kva, fru->ubuf + fru->offset, len);
fru              6242 drivers/scsi/bfa/bfa_ioc.c 	bfa_ioc_mbox_queue(fru->ioc, &fru->mb);
fru              6244 drivers/scsi/bfa/bfa_ioc.c 	fru->residue -= len;
fru              6245 drivers/scsi/bfa/bfa_ioc.c 	fru->offset += len;
fru              6256 drivers/scsi/bfa/bfa_ioc.c 	struct bfa_fru_s *fru = cbarg;
fru              6258 drivers/scsi/bfa/bfa_ioc.c 			(struct bfi_fru_read_req_s *) fru->mb.msg;
fru              6261 drivers/scsi/bfa/bfa_ioc.c 	msg->offset = cpu_to_be32(fru->addr_off + fru->offset);
fru              6262 drivers/scsi/bfa/bfa_ioc.c 	len = (fru->residue < BFA_FRU_DMA_BUF_SZ) ?
fru              6263 drivers/scsi/bfa/bfa_ioc.c 				fru->residue : BFA_FRU_DMA_BUF_SZ;
fru              6265 drivers/scsi/bfa/bfa_ioc.c 	bfi_h2i_set(msg->mh, BFI_MC_FRU, msg_type, bfa_ioc_portid(fru->ioc));
fru              6266 drivers/scsi/bfa/bfa_ioc.c 	bfa_alen_set(&msg->alen, len, fru->dbuf_pa);
fru              6267 drivers/scsi/bfa/bfa_ioc.c 	bfa_ioc_mbox_queue(fru->ioc, &fru->mb);
fru              6295 drivers/scsi/bfa/bfa_ioc.c bfa_fru_attach(struct bfa_fru_s *fru, struct bfa_ioc_s *ioc, void *dev,
fru              6298 drivers/scsi/bfa/bfa_ioc.c 	fru->ioc = ioc;
fru              6299 drivers/scsi/bfa/bfa_ioc.c 	fru->trcmod = trcmod;
fru              6300 drivers/scsi/bfa/bfa_ioc.c 	fru->cbfn = NULL;
fru              6301 drivers/scsi/bfa/bfa_ioc.c 	fru->cbarg = NULL;
fru              6302 drivers/scsi/bfa/bfa_ioc.c 	fru->op_busy = 0;
fru              6304 drivers/scsi/bfa/bfa_ioc.c 	bfa_ioc_mbox_regisr(fru->ioc, BFI_MC_FRU, bfa_fru_intr, fru);
fru              6305 drivers/scsi/bfa/bfa_ioc.c 	bfa_q_qe_init(&fru->ioc_notify);
fru              6306 drivers/scsi/bfa/bfa_ioc.c 	bfa_ioc_notify_init(&fru->ioc_notify, bfa_fru_notify, fru);
fru              6307 drivers/scsi/bfa/bfa_ioc.c 	list_add_tail(&fru->ioc_notify.qe, &fru->ioc->notify_q);
fru              6311 drivers/scsi/bfa/bfa_ioc.c 		fru->dbuf_kva = NULL;
fru              6312 drivers/scsi/bfa/bfa_ioc.c 		fru->dbuf_pa = 0;
fru              6325 drivers/scsi/bfa/bfa_ioc.c bfa_fru_memclaim(struct bfa_fru_s *fru, u8 *dm_kva, u64 dm_pa,
fru              6331 drivers/scsi/bfa/bfa_ioc.c 	fru->dbuf_kva = dm_kva;
fru              6332 drivers/scsi/bfa/bfa_ioc.c 	fru->dbuf_pa = dm_pa;
fru              6333 drivers/scsi/bfa/bfa_ioc.c 	memset(fru->dbuf_kva, 0, BFA_FRU_DMA_BUF_SZ);
fru              6351 drivers/scsi/bfa/bfa_ioc.c bfa_fruvpd_update(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset,
fru              6354 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, BFI_FRUVPD_H2I_WRITE_REQ);
fru              6355 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, len);
fru              6356 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, offset);
fru              6358 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2 &&
fru              6359 drivers/scsi/bfa/bfa_ioc.c 		fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK2)
fru              6362 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK)
fru              6365 drivers/scsi/bfa/bfa_ioc.c 	if (!bfa_ioc_is_operational(fru->ioc))
fru              6368 drivers/scsi/bfa/bfa_ioc.c 	if (fru->op_busy) {
fru              6369 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, fru->op_busy);
fru              6373 drivers/scsi/bfa/bfa_ioc.c 	fru->op_busy = 1;
fru              6375 drivers/scsi/bfa/bfa_ioc.c 	fru->cbfn = cbfn;
fru              6376 drivers/scsi/bfa/bfa_ioc.c 	fru->cbarg = cbarg;
fru              6377 drivers/scsi/bfa/bfa_ioc.c 	fru->residue = len;
fru              6378 drivers/scsi/bfa/bfa_ioc.c 	fru->offset = 0;
fru              6379 drivers/scsi/bfa/bfa_ioc.c 	fru->addr_off = offset;
fru              6380 drivers/scsi/bfa/bfa_ioc.c 	fru->ubuf = buf;
fru              6381 drivers/scsi/bfa/bfa_ioc.c 	fru->trfr_cmpl = trfr_cmpl;
fru              6383 drivers/scsi/bfa/bfa_ioc.c 	bfa_fru_write_send(fru, BFI_FRUVPD_H2I_WRITE_REQ);
fru              6401 drivers/scsi/bfa/bfa_ioc.c bfa_fruvpd_read(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset,
fru              6404 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, BFI_FRUVPD_H2I_READ_REQ);
fru              6405 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, len);
fru              6406 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, offset);
fru              6408 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2)
fru              6411 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK &&
fru              6412 drivers/scsi/bfa/bfa_ioc.c 		fru->ioc->attr->card_type != BFA_MFG_TYPE_CHINOOK2)
fru              6415 drivers/scsi/bfa/bfa_ioc.c 	if (!bfa_ioc_is_operational(fru->ioc))
fru              6418 drivers/scsi/bfa/bfa_ioc.c 	if (fru->op_busy) {
fru              6419 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, fru->op_busy);
fru              6423 drivers/scsi/bfa/bfa_ioc.c 	fru->op_busy = 1;
fru              6425 drivers/scsi/bfa/bfa_ioc.c 	fru->cbfn = cbfn;
fru              6426 drivers/scsi/bfa/bfa_ioc.c 	fru->cbarg = cbarg;
fru              6427 drivers/scsi/bfa/bfa_ioc.c 	fru->residue = len;
fru              6428 drivers/scsi/bfa/bfa_ioc.c 	fru->offset = 0;
fru              6429 drivers/scsi/bfa/bfa_ioc.c 	fru->addr_off = offset;
fru              6430 drivers/scsi/bfa/bfa_ioc.c 	fru->ubuf = buf;
fru              6431 drivers/scsi/bfa/bfa_ioc.c 	bfa_fru_read_send(fru, BFI_FRUVPD_H2I_READ_REQ);
fru              6445 drivers/scsi/bfa/bfa_ioc.c bfa_fruvpd_get_max_size(struct bfa_fru_s *fru, u32 *max_size)
fru              6447 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2)
fru              6450 drivers/scsi/bfa/bfa_ioc.c 	if (!bfa_ioc_is_operational(fru->ioc))
fru              6453 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->attr->card_type == BFA_MFG_TYPE_CHINOOK ||
fru              6454 drivers/scsi/bfa/bfa_ioc.c 		fru->ioc->attr->card_type == BFA_MFG_TYPE_CHINOOK2)
fru              6473 drivers/scsi/bfa/bfa_ioc.c bfa_tfru_write(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset,
fru              6476 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, BFI_TFRU_H2I_WRITE_REQ);
fru              6477 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, len);
fru              6478 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, offset);
fru              6479 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, *((u8 *) buf));
fru              6481 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2)
fru              6484 drivers/scsi/bfa/bfa_ioc.c 	if (!bfa_ioc_is_operational(fru->ioc))
fru              6487 drivers/scsi/bfa/bfa_ioc.c 	if (fru->op_busy) {
fru              6488 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, fru->op_busy);
fru              6492 drivers/scsi/bfa/bfa_ioc.c 	fru->op_busy = 1;
fru              6494 drivers/scsi/bfa/bfa_ioc.c 	fru->cbfn = cbfn;
fru              6495 drivers/scsi/bfa/bfa_ioc.c 	fru->cbarg = cbarg;
fru              6496 drivers/scsi/bfa/bfa_ioc.c 	fru->residue = len;
fru              6497 drivers/scsi/bfa/bfa_ioc.c 	fru->offset = 0;
fru              6498 drivers/scsi/bfa/bfa_ioc.c 	fru->addr_off = offset;
fru              6499 drivers/scsi/bfa/bfa_ioc.c 	fru->ubuf = buf;
fru              6501 drivers/scsi/bfa/bfa_ioc.c 	bfa_fru_write_send(fru, BFI_TFRU_H2I_WRITE_REQ);
fru              6519 drivers/scsi/bfa/bfa_ioc.c bfa_tfru_read(struct bfa_fru_s *fru, void *buf, u32 len, u32 offset,
fru              6522 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, BFI_TFRU_H2I_READ_REQ);
fru              6523 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, len);
fru              6524 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, offset);
fru              6526 drivers/scsi/bfa/bfa_ioc.c 	if (fru->ioc->asic_gen != BFI_ASIC_GEN_CT2)
fru              6529 drivers/scsi/bfa/bfa_ioc.c 	if (!bfa_ioc_is_operational(fru->ioc))
fru              6532 drivers/scsi/bfa/bfa_ioc.c 	if (fru->op_busy) {
fru              6533 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, fru->op_busy);
fru              6537 drivers/scsi/bfa/bfa_ioc.c 	fru->op_busy = 1;
fru              6539 drivers/scsi/bfa/bfa_ioc.c 	fru->cbfn = cbfn;
fru              6540 drivers/scsi/bfa/bfa_ioc.c 	fru->cbarg = cbarg;
fru              6541 drivers/scsi/bfa/bfa_ioc.c 	fru->residue = len;
fru              6542 drivers/scsi/bfa/bfa_ioc.c 	fru->offset = 0;
fru              6543 drivers/scsi/bfa/bfa_ioc.c 	fru->addr_off = offset;
fru              6544 drivers/scsi/bfa/bfa_ioc.c 	fru->ubuf = buf;
fru              6545 drivers/scsi/bfa/bfa_ioc.c 	bfa_fru_read_send(fru, BFI_TFRU_H2I_READ_REQ);
fru              6559 drivers/scsi/bfa/bfa_ioc.c 	struct bfa_fru_s *fru = fruarg;
fru              6563 drivers/scsi/bfa/bfa_ioc.c 	bfa_trc(fru, msg->mh.msg_id);
fru              6565 drivers/scsi/bfa/bfa_ioc.c 	if (!fru->op_busy) {
fru              6569 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, 0x9999);
fru              6577 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, status);
fru              6579 drivers/scsi/bfa/bfa_ioc.c 		if (status != BFA_STATUS_OK || fru->residue == 0) {
fru              6580 drivers/scsi/bfa/bfa_ioc.c 			fru->status = status;
fru              6581 drivers/scsi/bfa/bfa_ioc.c 			fru->op_busy = 0;
fru              6582 drivers/scsi/bfa/bfa_ioc.c 			if (fru->cbfn)
fru              6583 drivers/scsi/bfa/bfa_ioc.c 				fru->cbfn(fru->cbarg, fru->status);
fru              6585 drivers/scsi/bfa/bfa_ioc.c 			bfa_trc(fru, fru->offset);
fru              6587 drivers/scsi/bfa/bfa_ioc.c 				bfa_fru_write_send(fru,
fru              6590 drivers/scsi/bfa/bfa_ioc.c 				bfa_fru_write_send(fru,
fru              6597 drivers/scsi/bfa/bfa_ioc.c 		bfa_trc(fru, status);
fru              6600 drivers/scsi/bfa/bfa_ioc.c 			fru->status = status;
fru              6601 drivers/scsi/bfa/bfa_ioc.c 			fru->op_busy = 0;
fru              6602 drivers/scsi/bfa/bfa_ioc.c 			if (fru->cbfn)
fru              6603 drivers/scsi/bfa/bfa_ioc.c 				fru->cbfn(fru->cbarg, fru->status);
fru              6607 drivers/scsi/bfa/bfa_ioc.c 			bfa_trc(fru, fru->offset);
fru              6608 drivers/scsi/bfa/bfa_ioc.c 			bfa_trc(fru, len);
fru              6610 drivers/scsi/bfa/bfa_ioc.c 			memcpy(fru->ubuf + fru->offset, fru->dbuf_kva, len);
fru              6611 drivers/scsi/bfa/bfa_ioc.c 			fru->residue -= len;
fru              6612 drivers/scsi/bfa/bfa_ioc.c 			fru->offset += len;
fru              6614 drivers/scsi/bfa/bfa_ioc.c 			if (fru->residue == 0) {
fru              6615 drivers/scsi/bfa/bfa_ioc.c 				fru->status = status;
fru              6616 drivers/scsi/bfa/bfa_ioc.c 				fru->op_busy = 0;
fru              6617 drivers/scsi/bfa/bfa_ioc.c 				if (fru->cbfn)
fru              6618 drivers/scsi/bfa/bfa_ioc.c 					fru->cbfn(fru->cbarg, fru->status);
fru              6621 drivers/scsi/bfa/bfa_ioc.c 					bfa_fru_read_send(fru,
fru              6624 drivers/scsi/bfa/bfa_ioc.c 					bfa_fru_read_send(fru,
fru               736 drivers/scsi/bfa/bfa_ioc.h #define BFA_FRU(__bfa)	(&(__bfa)->modules.fru)
fru               739 drivers/scsi/bfa/bfa_ioc.h bfa_status_t bfa_fruvpd_update(struct bfa_fru_s *fru,
fru               742 drivers/scsi/bfa/bfa_ioc.h bfa_status_t bfa_fruvpd_read(struct bfa_fru_s *fru,
fru               745 drivers/scsi/bfa/bfa_ioc.h bfa_status_t bfa_fruvpd_get_max_size(struct bfa_fru_s *fru, u32 *max_size);
fru               746 drivers/scsi/bfa/bfa_ioc.h bfa_status_t bfa_tfru_write(struct bfa_fru_s *fru,
fru               749 drivers/scsi/bfa/bfa_ioc.h bfa_status_t bfa_tfru_read(struct bfa_fru_s *fru,
fru               753 drivers/scsi/bfa/bfa_ioc.h void bfa_fru_attach(struct bfa_fru_s *fru, struct bfa_ioc_s *ioc,
fru               755 drivers/scsi/bfa/bfa_ioc.h void bfa_fru_memclaim(struct bfa_fru_s *fru,
fru                41 drivers/scsi/bfa/bfa_modules.h 	struct bfa_fru_s	fru;		/*  fru module		*/