Lines Matching refs:ablk
3298 struct bfa_ablk_s *ablk = (struct bfa_ablk_s *)cbarg; in bfa_ablk_isr() local
3303 bfa_trc(ablk->ioc, msg->mh.msg_id); in bfa_ablk_isr()
3308 memcpy(ablk->cfg, ablk->dma_addr.kva, in bfa_ablk_isr()
3310 bfa_ablk_config_swap(ablk->cfg); in bfa_ablk_isr()
3311 ablk->cfg = NULL; in bfa_ablk_isr()
3318 ablk->ioc->port_mode_cfg = rsp->port_mode; in bfa_ablk_isr()
3328 *(ablk->pcifn) = rsp->pcifn; in bfa_ablk_isr()
3329 ablk->pcifn = NULL; in bfa_ablk_isr()
3336 ablk->busy = BFA_FALSE; in bfa_ablk_isr()
3337 if (ablk->cbfn) { in bfa_ablk_isr()
3338 cbfn = ablk->cbfn; in bfa_ablk_isr()
3339 ablk->cbfn = NULL; in bfa_ablk_isr()
3340 cbfn(ablk->cbarg, rsp->status); in bfa_ablk_isr()
3347 struct bfa_ablk_s *ablk = (struct bfa_ablk_s *)cbarg; in bfa_ablk_notify() local
3349 bfa_trc(ablk->ioc, event); in bfa_ablk_notify()
3353 WARN_ON(ablk->busy != BFA_FALSE); in bfa_ablk_notify()
3359 ablk->pcifn = NULL; in bfa_ablk_notify()
3360 if (ablk->busy) { in bfa_ablk_notify()
3361 if (ablk->cbfn) in bfa_ablk_notify()
3362 ablk->cbfn(ablk->cbarg, BFA_STATUS_FAILED); in bfa_ablk_notify()
3363 ablk->cbfn = NULL; in bfa_ablk_notify()
3364 ablk->busy = BFA_FALSE; in bfa_ablk_notify()
3381 bfa_ablk_memclaim(struct bfa_ablk_s *ablk, u8 *dma_kva, u64 dma_pa) in bfa_ablk_memclaim() argument
3383 ablk->dma_addr.kva = dma_kva; in bfa_ablk_memclaim()
3384 ablk->dma_addr.pa = dma_pa; in bfa_ablk_memclaim()
3388 bfa_ablk_attach(struct bfa_ablk_s *ablk, struct bfa_ioc_s *ioc) in bfa_ablk_attach() argument
3390 ablk->ioc = ioc; in bfa_ablk_attach()
3392 bfa_ioc_mbox_regisr(ablk->ioc, BFI_MC_ABLK, bfa_ablk_isr, ablk); in bfa_ablk_attach()
3393 bfa_q_qe_init(&ablk->ioc_notify); in bfa_ablk_attach()
3394 bfa_ioc_notify_init(&ablk->ioc_notify, bfa_ablk_notify, ablk); in bfa_ablk_attach()
3395 list_add_tail(&ablk->ioc_notify.qe, &ablk->ioc->notify_q); in bfa_ablk_attach()
3399 bfa_ablk_query(struct bfa_ablk_s *ablk, struct bfa_ablk_cfg_s *ablk_cfg, in bfa_ablk_query() argument
3406 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_query()
3407 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_query()
3411 if (ablk->busy) { in bfa_ablk_query()
3412 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_query()
3416 ablk->cfg = ablk_cfg; in bfa_ablk_query()
3417 ablk->cbfn = cbfn; in bfa_ablk_query()
3418 ablk->cbarg = cbarg; in bfa_ablk_query()
3419 ablk->busy = BFA_TRUE; in bfa_ablk_query()
3421 m = (struct bfi_ablk_h2i_query_s *)ablk->mb.msg; in bfa_ablk_query()
3423 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_query()
3424 bfa_dma_be_addr_set(m->addr, ablk->dma_addr.pa); in bfa_ablk_query()
3425 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_query()
3431 bfa_ablk_pf_create(struct bfa_ablk_s *ablk, u16 *pcifn, in bfa_ablk_pf_create() argument
3438 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_pf_create()
3439 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_pf_create()
3443 if (ablk->busy) { in bfa_ablk_pf_create()
3444 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_pf_create()
3448 ablk->pcifn = pcifn; in bfa_ablk_pf_create()
3449 ablk->cbfn = cbfn; in bfa_ablk_pf_create()
3450 ablk->cbarg = cbarg; in bfa_ablk_pf_create()
3451 ablk->busy = BFA_TRUE; in bfa_ablk_pf_create()
3453 m = (struct bfi_ablk_h2i_pf_req_s *)ablk->mb.msg; in bfa_ablk_pf_create()
3455 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_pf_create()
3460 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_pf_create()
3466 bfa_ablk_pf_delete(struct bfa_ablk_s *ablk, int pcifn, in bfa_ablk_pf_delete() argument
3471 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_pf_delete()
3472 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_pf_delete()
3476 if (ablk->busy) { in bfa_ablk_pf_delete()
3477 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_pf_delete()
3481 ablk->cbfn = cbfn; in bfa_ablk_pf_delete()
3482 ablk->cbarg = cbarg; in bfa_ablk_pf_delete()
3483 ablk->busy = BFA_TRUE; in bfa_ablk_pf_delete()
3485 m = (struct bfi_ablk_h2i_pf_req_s *)ablk->mb.msg; in bfa_ablk_pf_delete()
3487 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_pf_delete()
3489 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_pf_delete()
3495 bfa_ablk_adapter_config(struct bfa_ablk_s *ablk, enum bfa_mode_s mode, in bfa_ablk_adapter_config() argument
3500 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_adapter_config()
3501 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_adapter_config()
3505 if (ablk->busy) { in bfa_ablk_adapter_config()
3506 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_adapter_config()
3510 ablk->cbfn = cbfn; in bfa_ablk_adapter_config()
3511 ablk->cbarg = cbarg; in bfa_ablk_adapter_config()
3512 ablk->busy = BFA_TRUE; in bfa_ablk_adapter_config()
3514 m = (struct bfi_ablk_h2i_cfg_req_s *)ablk->mb.msg; in bfa_ablk_adapter_config()
3516 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_adapter_config()
3520 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_adapter_config()
3526 bfa_ablk_port_config(struct bfa_ablk_s *ablk, int port, enum bfa_mode_s mode, in bfa_ablk_port_config() argument
3531 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_port_config()
3532 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_port_config()
3536 if (ablk->busy) { in bfa_ablk_port_config()
3537 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_port_config()
3541 ablk->cbfn = cbfn; in bfa_ablk_port_config()
3542 ablk->cbarg = cbarg; in bfa_ablk_port_config()
3543 ablk->busy = BFA_TRUE; in bfa_ablk_port_config()
3545 m = (struct bfi_ablk_h2i_cfg_req_s *)ablk->mb.msg; in bfa_ablk_port_config()
3547 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_port_config()
3552 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_port_config()
3558 bfa_ablk_pf_update(struct bfa_ablk_s *ablk, int pcifn, u16 bw_min, in bfa_ablk_pf_update() argument
3563 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_pf_update()
3564 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_pf_update()
3568 if (ablk->busy) { in bfa_ablk_pf_update()
3569 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_pf_update()
3573 ablk->cbfn = cbfn; in bfa_ablk_pf_update()
3574 ablk->cbarg = cbarg; in bfa_ablk_pf_update()
3575 ablk->busy = BFA_TRUE; in bfa_ablk_pf_update()
3577 m = (struct bfi_ablk_h2i_pf_req_s *)ablk->mb.msg; in bfa_ablk_pf_update()
3579 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_pf_update()
3583 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_pf_update()
3589 bfa_ablk_optrom_en(struct bfa_ablk_s *ablk, bfa_ablk_cbfn_t cbfn, void *cbarg) in bfa_ablk_optrom_en() argument
3593 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_optrom_en()
3594 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_optrom_en()
3598 if (ablk->busy) { in bfa_ablk_optrom_en()
3599 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_optrom_en()
3603 ablk->cbfn = cbfn; in bfa_ablk_optrom_en()
3604 ablk->cbarg = cbarg; in bfa_ablk_optrom_en()
3605 ablk->busy = BFA_TRUE; in bfa_ablk_optrom_en()
3607 m = (struct bfi_ablk_h2i_optrom_s *)ablk->mb.msg; in bfa_ablk_optrom_en()
3609 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_optrom_en()
3610 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_optrom_en()
3616 bfa_ablk_optrom_dis(struct bfa_ablk_s *ablk, bfa_ablk_cbfn_t cbfn, void *cbarg) in bfa_ablk_optrom_dis() argument
3620 if (!bfa_ioc_is_operational(ablk->ioc)) { in bfa_ablk_optrom_dis()
3621 bfa_trc(ablk->ioc, BFA_STATUS_IOC_FAILURE); in bfa_ablk_optrom_dis()
3625 if (ablk->busy) { in bfa_ablk_optrom_dis()
3626 bfa_trc(ablk->ioc, BFA_STATUS_DEVBUSY); in bfa_ablk_optrom_dis()
3630 ablk->cbfn = cbfn; in bfa_ablk_optrom_dis()
3631 ablk->cbarg = cbarg; in bfa_ablk_optrom_dis()
3632 ablk->busy = BFA_TRUE; in bfa_ablk_optrom_dis()
3634 m = (struct bfi_ablk_h2i_optrom_s *)ablk->mb.msg; in bfa_ablk_optrom_dis()
3636 bfa_ioc_portid(ablk->ioc)); in bfa_ablk_optrom_dis()
3637 bfa_ioc_mbox_queue(ablk->ioc, &ablk->mb); in bfa_ablk_optrom_dis()