Lines Matching defs:cee
510 * @param[in] cee - Pointer to the CEE module
516 bfa_cee_get_attr_isr(struct bfa_cee_s *cee, bfa_status_t status)
518 struct bfa_cee_lldp_cfg_s *lldp_cfg = &cee->attr->lldp_remote;
520 cee->get_attr_status = status;
521 bfa_trc(cee, 0);
523 bfa_trc(cee, 0);
524 memcpy(cee->attr, cee->attr_dma.kva,
530 cee->get_attr_pending = BFA_FALSE;
531 if (cee->cbfn.get_attr_cbfn) {
532 bfa_trc(cee, 0);
533 cee->cbfn.get_attr_cbfn(cee->cbfn.get_attr_cbarg, status);
542 * @param[in] cee - Pointer to the CEE module
548 bfa_cee_get_stats_isr(struct bfa_cee_s *cee, bfa_status_t status)
553 cee->get_stats_status = status;
554 bfa_trc(cee, 0);
556 bfa_trc(cee, 0);
557 memcpy(cee->stats, cee->stats_dma.kva,
559 /* swap the cee stats */
560 buffer = (u32 *)cee->stats;
565 cee->get_stats_pending = BFA_FALSE;
566 bfa_trc(cee, 0);
567 if (cee->cbfn.get_stats_cbfn) {
568 bfa_trc(cee, 0);
569 cee->cbfn.get_stats_cbfn(cee->cbfn.get_stats_cbarg, status);
578 * @param[in] cee - Pointer to the CEE module
584 bfa_cee_reset_stats_isr(struct bfa_cee_s *cee, bfa_status_t status)
586 cee->reset_stats_status = status;
587 cee->reset_stats_pending = BFA_FALSE;
588 if (cee->cbfn.reset_stats_cbfn)
589 cee->cbfn.reset_stats_cbfn(cee->cbfn.reset_stats_cbarg, status);
613 * @param[in] cee CEE module pointer
620 bfa_cee_mem_claim(struct bfa_cee_s *cee, u8 *dma_kva, u64 dma_pa)
622 cee->attr_dma.kva = dma_kva;
623 cee->attr_dma.pa = dma_pa;
624 cee->stats_dma.kva = dma_kva + BFA_ROUNDUP(
626 cee->stats_dma.pa = dma_pa + BFA_ROUNDUP(
628 cee->attr = (struct bfa_cee_attr_s *) dma_kva;
629 cee->stats = (struct bfa_cee_stats_s *) (dma_kva + BFA_ROUNDUP(
645 bfa_cee_get_attr(struct bfa_cee_s *cee, struct bfa_cee_attr_s *attr,
650 WARN_ON((cee == NULL) || (cee->ioc == NULL));
651 bfa_trc(cee, 0);
652 if (!bfa_ioc_is_operational(cee->ioc)) {
653 bfa_trc(cee, 0);
656 if (cee->get_attr_pending == BFA_TRUE) {
657 bfa_trc(cee, 0);
660 cee->get_attr_pending = BFA_TRUE;
661 cmd = (struct bfi_cee_get_req_s *) cee->get_cfg_mb.msg;
662 cee->attr = attr;
663 cee->cbfn.get_attr_cbfn = cbfn;
664 cee->cbfn.get_attr_cbarg = cbarg;
666 bfa_ioc_portid(cee->ioc));
667 bfa_dma_be_addr_set(cmd->dma_addr, cee->attr_dma.pa);
668 bfa_ioc_mbox_queue(cee->ioc, &cee->get_cfg_mb);
685 bfa_cee_get_stats(struct bfa_cee_s *cee, struct bfa_cee_stats_s *stats,
690 WARN_ON((cee == NULL) || (cee->ioc == NULL));
692 if (!bfa_ioc_is_operational(cee->ioc)) {
693 bfa_trc(cee, 0);
696 if (cee->get_stats_pending == BFA_TRUE) {
697 bfa_trc(cee, 0);
700 cee->get_stats_pending = BFA_TRUE;
701 cmd = (struct bfi_cee_get_req_s *) cee->get_stats_mb.msg;
702 cee->stats = stats;
703 cee->cbfn.get_stats_cbfn = cbfn;
704 cee->cbfn.get_stats_cbarg = cbarg;
706 bfa_ioc_portid(cee->ioc));
707 bfa_dma_be_addr_set(cmd->dma_addr, cee->stats_dma.pa);
708 bfa_ioc_mbox_queue(cee->ioc, &cee->get_stats_mb);
724 bfa_cee_reset_stats(struct bfa_cee_s *cee,
729 WARN_ON((cee == NULL) || (cee->ioc == NULL));
730 if (!bfa_ioc_is_operational(cee->ioc)) {
731 bfa_trc(cee, 0);
734 if (cee->reset_stats_pending == BFA_TRUE) {
735 bfa_trc(cee, 0);
738 cee->reset_stats_pending = BFA_TRUE;
739 cmd = (struct bfi_cee_reset_stats_s *) cee->reset_stats_mb.msg;
740 cee->cbfn.reset_stats_cbfn = cbfn;
741 cee->cbfn.reset_stats_cbarg = cbarg;
743 bfa_ioc_portid(cee->ioc));
744 bfa_ioc_mbox_queue(cee->ioc, &cee->reset_stats_mb);
764 struct bfa_cee_s *cee = (struct bfa_cee_s *) cbarg;
767 bfa_trc(cee, msg->mh.msg_id);
770 bfa_trc(cee, get_rsp->cmd_status);
771 bfa_cee_get_attr_isr(cee, get_rsp->cmd_status);
774 bfa_cee_get_stats_isr(cee, get_rsp->cmd_status);
777 bfa_cee_reset_stats_isr(cee, get_rsp->cmd_status);
798 struct bfa_cee_s *cee = (struct bfa_cee_s *) arg;
800 bfa_trc(cee, event);
805 if (cee->get_attr_pending == BFA_TRUE) {
806 cee->get_attr_status = BFA_STATUS_FAILED;
807 cee->get_attr_pending = BFA_FALSE;
808 if (cee->cbfn.get_attr_cbfn) {
809 cee->cbfn.get_attr_cbfn(
810 cee->cbfn.get_attr_cbarg,
814 if (cee->get_stats_pending == BFA_TRUE) {
815 cee->get_stats_status = BFA_STATUS_FAILED;
816 cee->get_stats_pending = BFA_FALSE;
817 if (cee->cbfn.get_stats_cbfn) {
818 cee->cbfn.get_stats_cbfn(
819 cee->cbfn.get_stats_cbarg,
823 if (cee->reset_stats_pending == BFA_TRUE) {
824 cee->reset_stats_status = BFA_STATUS_FAILED;
825 cee->reset_stats_pending = BFA_FALSE;
826 if (cee->cbfn.reset_stats_cbfn) {
827 cee->cbfn.reset_stats_cbfn(
828 cee->cbfn.reset_stats_cbarg,
844 * @param[in] cee - Pointer to the CEE module data structure
853 bfa_cee_attach(struct bfa_cee_s *cee, struct bfa_ioc_s *ioc,
856 WARN_ON(cee == NULL);
857 cee->dev = dev;
858 cee->ioc = ioc;
860 bfa_ioc_mbox_regisr(cee->ioc, BFI_MC_CEE, bfa_cee_isr, cee);
861 bfa_q_qe_init(&cee->ioc_notify);
862 bfa_ioc_notify_init(&cee->ioc_notify, bfa_cee_notify, cee);
863 list_add_tail(&cee->ioc_notify.qe, &cee->ioc->notify_q);