• Home
  • Raw
  • Download

Lines Matching refs:diag

4713 	struct bfa_diag_s *diag = diag_arg;  in bfa_diag_notify()  local
4715 bfa_trc(diag, event); in bfa_diag_notify()
4716 bfa_trc(diag, diag->block); in bfa_diag_notify()
4717 bfa_trc(diag, diag->fwping.lock); in bfa_diag_notify()
4718 bfa_trc(diag, diag->tsensor.lock); in bfa_diag_notify()
4723 if (diag->fwping.lock) { in bfa_diag_notify()
4724 diag->fwping.status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4725 diag->fwping.cbfn(diag->fwping.cbarg, in bfa_diag_notify()
4726 diag->fwping.status); in bfa_diag_notify()
4727 diag->fwping.lock = 0; in bfa_diag_notify()
4730 if (diag->tsensor.lock) { in bfa_diag_notify()
4731 diag->tsensor.status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4732 diag->tsensor.cbfn(diag->tsensor.cbarg, in bfa_diag_notify()
4733 diag->tsensor.status); in bfa_diag_notify()
4734 diag->tsensor.lock = 0; in bfa_diag_notify()
4737 if (diag->block) { in bfa_diag_notify()
4738 if (diag->timer_active) { in bfa_diag_notify()
4739 bfa_timer_stop(&diag->timer); in bfa_diag_notify()
4740 diag->timer_active = 0; in bfa_diag_notify()
4743 diag->status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4744 diag->cbfn(diag->cbarg, diag->status); in bfa_diag_notify()
4745 diag->block = 0; in bfa_diag_notify()
4757 struct bfa_diag_s *diag = cbarg; in bfa_diag_memtest_done() local
4758 struct bfa_ioc_s *ioc = diag->ioc; in bfa_diag_memtest_done()
4759 struct bfa_diag_memtest_result *res = diag->result; in bfa_diag_memtest_done()
4778 bfa_trc(diag, res->status); in bfa_diag_memtest_done()
4781 diag->status = BFA_STATUS_OK; in bfa_diag_memtest_done()
4783 diag->status = BFA_STATUS_MEMTEST_FAILED; in bfa_diag_memtest_done()
4790 bfa_trc(diag, res->addr); in bfa_diag_memtest_done()
4791 bfa_trc(diag, res->exp); in bfa_diag_memtest_done()
4792 bfa_trc(diag, res->act); in bfa_diag_memtest_done()
4793 bfa_trc(diag, res->err_status); in bfa_diag_memtest_done()
4794 bfa_trc(diag, res->err_status1); in bfa_diag_memtest_done()
4795 bfa_trc(diag, res->err_addr); in bfa_diag_memtest_done()
4797 diag->timer_active = 0; in bfa_diag_memtest_done()
4798 diag->cbfn(diag->cbarg, diag->status); in bfa_diag_memtest_done()
4799 diag->block = 0; in bfa_diag_memtest_done()
4810 diag_fwping_send(struct bfa_diag_s *diag) in diag_fwping_send() argument
4815 bfa_trc(diag, diag->fwping.dbuf_pa); in diag_fwping_send()
4819 *((u32 *)diag->fwping.dbuf_kva + i) = diag->fwping.data; in diag_fwping_send()
4822 fwping_req = (struct bfi_diag_fwping_req_s *)diag->fwping.mbcmd.msg; in diag_fwping_send()
4826 diag->fwping.dbuf_pa); in diag_fwping_send()
4828 fwping_req->count = cpu_to_be32(diag->fwping.count); in diag_fwping_send()
4830 fwping_req->data = diag->fwping.data; in diag_fwping_send()
4834 bfa_ioc_portid(diag->ioc)); in diag_fwping_send()
4837 bfa_ioc_mbox_queue(diag->ioc, &diag->fwping.mbcmd); in diag_fwping_send()
4841 diag_fwping_comp(struct bfa_diag_s *diag, in diag_fwping_comp() argument
4847 bfa_trc(diag, rsp_data); in diag_fwping_comp()
4848 bfa_trc(diag, rsp_dma_status); in diag_fwping_comp()
4852 pat = (diag->fwping.count & 0x1) ? ~(diag->fwping.data) : in diag_fwping_comp()
4853 diag->fwping.data; in diag_fwping_comp()
4855 if (diag->fwping.data != rsp_data) { in diag_fwping_comp()
4856 bfa_trc(diag, rsp_data); in diag_fwping_comp()
4857 diag->fwping.result->dmastatus = in diag_fwping_comp()
4859 diag->fwping.status = BFA_STATUS_DATACORRUPTED; in diag_fwping_comp()
4860 diag->fwping.cbfn(diag->fwping.cbarg, in diag_fwping_comp()
4861 diag->fwping.status); in diag_fwping_comp()
4862 diag->fwping.lock = 0; in diag_fwping_comp()
4867 if (*((u32 *)diag->fwping.dbuf_kva + i) != pat) { in diag_fwping_comp()
4868 bfa_trc(diag, i); in diag_fwping_comp()
4869 bfa_trc(diag, pat); in diag_fwping_comp()
4870 bfa_trc(diag, in diag_fwping_comp()
4871 *((u32 *)diag->fwping.dbuf_kva + i)); in diag_fwping_comp()
4872 diag->fwping.result->dmastatus = in diag_fwping_comp()
4874 diag->fwping.status = BFA_STATUS_DATACORRUPTED; in diag_fwping_comp()
4875 diag->fwping.cbfn(diag->fwping.cbarg, in diag_fwping_comp()
4876 diag->fwping.status); in diag_fwping_comp()
4877 diag->fwping.lock = 0; in diag_fwping_comp()
4881 diag->fwping.result->dmastatus = BFA_STATUS_OK; in diag_fwping_comp()
4882 diag->fwping.status = BFA_STATUS_OK; in diag_fwping_comp()
4883 diag->fwping.cbfn(diag->fwping.cbarg, diag->fwping.status); in diag_fwping_comp()
4884 diag->fwping.lock = 0; in diag_fwping_comp()
4886 diag->fwping.status = BFA_STATUS_HDMA_FAILED; in diag_fwping_comp()
4887 diag->fwping.cbfn(diag->fwping.cbarg, diag->fwping.status); in diag_fwping_comp()
4888 diag->fwping.lock = 0; in diag_fwping_comp()
4897 diag_tempsensor_send(struct bfa_diag_s *diag) in diag_tempsensor_send() argument
4901 msg = (struct bfi_diag_ts_req_s *)diag->tsensor.mbcmd.msg; in diag_tempsensor_send()
4902 bfa_trc(diag, msg->temp); in diag_tempsensor_send()
4905 bfa_ioc_portid(diag->ioc)); in diag_tempsensor_send()
4907 bfa_ioc_mbox_queue(diag->ioc, &diag->tsensor.mbcmd); in diag_tempsensor_send()
4911 diag_tempsensor_comp(struct bfa_diag_s *diag, bfi_diag_ts_rsp_t *rsp) in diag_tempsensor_comp() argument
4913 if (!diag->tsensor.lock) { in diag_tempsensor_comp()
4915 bfa_trc(diag, diag->tsensor.lock); in diag_tempsensor_comp()
4923 diag->tsensor.temp->temp = be16_to_cpu(rsp->temp); in diag_tempsensor_comp()
4924 diag->tsensor.temp->ts_junc = rsp->ts_junc; in diag_tempsensor_comp()
4925 diag->tsensor.temp->ts_brd = rsp->ts_brd; in diag_tempsensor_comp()
4929 diag->tsensor.temp->status = rsp->status; in diag_tempsensor_comp()
4931 diag->tsensor.temp->brd_temp = in diag_tempsensor_comp()
4934 diag->tsensor.temp->brd_temp = 0; in diag_tempsensor_comp()
4937 bfa_trc(diag, rsp->status); in diag_tempsensor_comp()
4938 bfa_trc(diag, rsp->ts_junc); in diag_tempsensor_comp()
4939 bfa_trc(diag, rsp->temp); in diag_tempsensor_comp()
4940 bfa_trc(diag, rsp->ts_brd); in diag_tempsensor_comp()
4941 bfa_trc(diag, rsp->brd_temp); in diag_tempsensor_comp()
4944 diag->tsensor.status = BFA_STATUS_OK; in diag_tempsensor_comp()
4945 diag->tsensor.cbfn(diag->tsensor.cbarg, diag->tsensor.status); in diag_tempsensor_comp()
4946 diag->tsensor.lock = 0; in diag_tempsensor_comp()
4953 diag_ledtest_send(struct bfa_diag_s *diag, struct bfa_diag_ledtest_s *ledtest) in diag_ledtest_send() argument
4957 msg = (struct bfi_diag_ledtest_req_s *)diag->ledtest.mbcmd.msg; in diag_ledtest_send()
4960 bfa_ioc_portid(diag->ioc)); in diag_ledtest_send()
4972 bfa_trc(diag, ledtest->freq); in diag_ledtest_send()
4976 msg->portid = bfa_ioc_portid(diag->ioc); in diag_ledtest_send()
4981 bfa_ioc_mbox_queue(diag->ioc, &diag->ledtest.mbcmd); in diag_ledtest_send()
4985 diag_ledtest_comp(struct bfa_diag_s *diag, struct bfi_diag_ledtest_rsp_s *msg) in diag_ledtest_comp() argument
4987 bfa_trc(diag, diag->ledtest.lock); in diag_ledtest_comp()
4988 diag->ledtest.lock = BFA_FALSE; in diag_ledtest_comp()
4996 diag_portbeacon_send(struct bfa_diag_s *diag, bfa_boolean_t beacon, u32 sec) in diag_portbeacon_send() argument
5000 msg = (struct bfi_diag_portbeacon_req_s *)diag->beacon.mbcmd.msg; in diag_portbeacon_send()
5003 bfa_ioc_portid(diag->ioc)); in diag_portbeacon_send()
5007 bfa_ioc_mbox_queue(diag->ioc, &diag->beacon.mbcmd); in diag_portbeacon_send()
5011 diag_portbeacon_comp(struct bfa_diag_s *diag) in diag_portbeacon_comp() argument
5013 bfa_trc(diag, diag->beacon.state); in diag_portbeacon_comp()
5014 diag->beacon.state = BFA_FALSE; in diag_portbeacon_comp()
5015 if (diag->cbfn_beacon) in diag_portbeacon_comp()
5016 diag->cbfn_beacon(diag->dev, BFA_FALSE, diag->beacon.link_e2e); in diag_portbeacon_comp()
5025 struct bfa_diag_s *diag = diagarg; in bfa_diag_intr() local
5029 diag_portbeacon_comp(diag); in bfa_diag_intr()
5032 diag_fwping_comp(diag, (struct bfi_diag_fwping_rsp_s *) msg); in bfa_diag_intr()
5035 diag_tempsensor_comp(diag, (bfi_diag_ts_rsp_t *) msg); in bfa_diag_intr()
5038 diag_ledtest_comp(diag, (struct bfi_diag_ledtest_rsp_s *) msg); in bfa_diag_intr()
5041 bfa_trc(diag, msg->mh.msg_id); in bfa_diag_intr()
5059 bfa_diag_memtest(struct bfa_diag_s *diag, struct bfa_diag_memtest_s *memtest, in bfa_diag_memtest() argument
5065 bfa_trc(diag, pattern); in bfa_diag_memtest()
5067 if (!bfa_ioc_adapter_is_disabled(diag->ioc)) in bfa_diag_memtest()
5071 if (diag->block) { in bfa_diag_memtest()
5072 bfa_trc(diag, diag->block); in bfa_diag_memtest()
5075 diag->block = 1; in bfa_diag_memtest()
5077 diag->result = result; in bfa_diag_memtest()
5078 diag->cbfn = cbfn; in bfa_diag_memtest()
5079 diag->cbarg = cbarg; in bfa_diag_memtest()
5082 bfa_ioc_boot(diag->ioc, BFI_FWBOOT_TYPE_MEMTEST, BFI_FWBOOT_ENV_OS); in bfa_diag_memtest()
5084 memtest_tov = (bfa_ioc_asic_gen(diag->ioc) == BFI_ASIC_GEN_CT2) ? in bfa_diag_memtest()
5086 bfa_timer_begin(diag->ioc->timer_mod, &diag->timer, in bfa_diag_memtest()
5087 bfa_diag_memtest_done, diag, memtest_tov); in bfa_diag_memtest()
5088 diag->timer_active = 1; in bfa_diag_memtest()
5105 bfa_diag_fwping(struct bfa_diag_s *diag, u32 cnt, u32 data, in bfa_diag_fwping() argument
5109 bfa_trc(diag, cnt); in bfa_diag_fwping()
5110 bfa_trc(diag, data); in bfa_diag_fwping()
5112 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_fwping()
5115 if (bfa_asic_id_ct2(bfa_ioc_devid((diag->ioc))) && in bfa_diag_fwping()
5116 ((diag->ioc)->clscode == BFI_PCIFN_CLASS_ETH)) in bfa_diag_fwping()
5120 if (diag->block || diag->fwping.lock) { in bfa_diag_fwping()
5121 bfa_trc(diag, diag->block); in bfa_diag_fwping()
5122 bfa_trc(diag, diag->fwping.lock); in bfa_diag_fwping()
5127 diag->fwping.lock = 1; in bfa_diag_fwping()
5128 diag->fwping.cbfn = cbfn; in bfa_diag_fwping()
5129 diag->fwping.cbarg = cbarg; in bfa_diag_fwping()
5130 diag->fwping.result = result; in bfa_diag_fwping()
5131 diag->fwping.data = data; in bfa_diag_fwping()
5132 diag->fwping.count = cnt; in bfa_diag_fwping()
5135 diag->fwping.result->data = 0; in bfa_diag_fwping()
5136 diag->fwping.result->status = BFA_STATUS_OK; in bfa_diag_fwping()
5139 diag_fwping_send(diag); in bfa_diag_fwping()
5154 bfa_diag_tsensor_query(struct bfa_diag_s *diag, in bfa_diag_tsensor_query() argument
5159 if (diag->block || diag->tsensor.lock) { in bfa_diag_tsensor_query()
5160 bfa_trc(diag, diag->block); in bfa_diag_tsensor_query()
5161 bfa_trc(diag, diag->tsensor.lock); in bfa_diag_tsensor_query()
5165 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_tsensor_query()
5169 diag->tsensor.lock = 1; in bfa_diag_tsensor_query()
5170 diag->tsensor.temp = result; in bfa_diag_tsensor_query()
5171 diag->tsensor.cbfn = cbfn; in bfa_diag_tsensor_query()
5172 diag->tsensor.cbarg = cbarg; in bfa_diag_tsensor_query()
5173 diag->tsensor.status = BFA_STATUS_OK; in bfa_diag_tsensor_query()
5176 diag_tempsensor_send(diag); in bfa_diag_tsensor_query()
5190 bfa_diag_ledtest(struct bfa_diag_s *diag, struct bfa_diag_ledtest_s *ledtest) in bfa_diag_ledtest() argument
5192 bfa_trc(diag, ledtest->cmd); in bfa_diag_ledtest()
5194 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_ledtest()
5197 if (diag->beacon.state) in bfa_diag_ledtest()
5200 if (diag->ledtest.lock) in bfa_diag_ledtest()
5204 diag->ledtest.lock = BFA_TRUE; in bfa_diag_ledtest()
5205 diag_ledtest_send(diag, ledtest); in bfa_diag_ledtest()
5221 bfa_diag_beacon_port(struct bfa_diag_s *diag, bfa_boolean_t beacon, in bfa_diag_beacon_port() argument
5224 bfa_trc(diag, beacon); in bfa_diag_beacon_port()
5225 bfa_trc(diag, link_e2e_beacon); in bfa_diag_beacon_port()
5226 bfa_trc(diag, sec); in bfa_diag_beacon_port()
5228 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_beacon_port()
5231 if (diag->ledtest.lock) in bfa_diag_beacon_port()
5234 if (diag->beacon.state && beacon) /* beacon alread on */ in bfa_diag_beacon_port()
5237 diag->beacon.state = beacon; in bfa_diag_beacon_port()
5238 diag->beacon.link_e2e = link_e2e_beacon; in bfa_diag_beacon_port()
5239 if (diag->cbfn_beacon) in bfa_diag_beacon_port()
5240 diag->cbfn_beacon(diag->dev, beacon, link_e2e_beacon); in bfa_diag_beacon_port()
5243 diag_portbeacon_send(diag, beacon, sec); in bfa_diag_beacon_port()
5261 bfa_diag_attach(struct bfa_diag_s *diag, struct bfa_ioc_s *ioc, void *dev, in bfa_diag_attach() argument
5264 diag->dev = dev; in bfa_diag_attach()
5265 diag->ioc = ioc; in bfa_diag_attach()
5266 diag->trcmod = trcmod; in bfa_diag_attach()
5268 diag->block = 0; in bfa_diag_attach()
5269 diag->cbfn = NULL; in bfa_diag_attach()
5270 diag->cbarg = NULL; in bfa_diag_attach()
5271 diag->result = NULL; in bfa_diag_attach()
5272 diag->cbfn_beacon = cbfn_beacon; in bfa_diag_attach()
5274 bfa_ioc_mbox_regisr(diag->ioc, BFI_MC_DIAG, bfa_diag_intr, diag); in bfa_diag_attach()
5275 bfa_q_qe_init(&diag->ioc_notify); in bfa_diag_attach()
5276 bfa_ioc_notify_init(&diag->ioc_notify, bfa_diag_notify, diag); in bfa_diag_attach()
5277 list_add_tail(&diag->ioc_notify.qe, &diag->ioc->notify_q); in bfa_diag_attach()
5281 bfa_diag_memclaim(struct bfa_diag_s *diag, u8 *dm_kva, u64 dm_pa) in bfa_diag_memclaim() argument
5283 diag->fwping.dbuf_kva = dm_kva; in bfa_diag_memclaim()
5284 diag->fwping.dbuf_pa = dm_pa; in bfa_diag_memclaim()
5285 memset(diag->fwping.dbuf_kva, 0, BFI_DIAG_DMA_BUF_SZ); in bfa_diag_memclaim()