• Home
  • Raw
  • Download

Lines Matching refs:diag

4718 	struct bfa_diag_s *diag = diag_arg;  in bfa_diag_notify()  local
4720 bfa_trc(diag, event); in bfa_diag_notify()
4721 bfa_trc(diag, diag->block); in bfa_diag_notify()
4722 bfa_trc(diag, diag->fwping.lock); in bfa_diag_notify()
4723 bfa_trc(diag, diag->tsensor.lock); in bfa_diag_notify()
4728 if (diag->fwping.lock) { in bfa_diag_notify()
4729 diag->fwping.status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4730 diag->fwping.cbfn(diag->fwping.cbarg, in bfa_diag_notify()
4731 diag->fwping.status); in bfa_diag_notify()
4732 diag->fwping.lock = 0; in bfa_diag_notify()
4735 if (diag->tsensor.lock) { in bfa_diag_notify()
4736 diag->tsensor.status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4737 diag->tsensor.cbfn(diag->tsensor.cbarg, in bfa_diag_notify()
4738 diag->tsensor.status); in bfa_diag_notify()
4739 diag->tsensor.lock = 0; in bfa_diag_notify()
4742 if (diag->block) { in bfa_diag_notify()
4743 if (diag->timer_active) { in bfa_diag_notify()
4744 bfa_timer_stop(&diag->timer); in bfa_diag_notify()
4745 diag->timer_active = 0; in bfa_diag_notify()
4748 diag->status = BFA_STATUS_IOC_FAILURE; in bfa_diag_notify()
4749 diag->cbfn(diag->cbarg, diag->status); in bfa_diag_notify()
4750 diag->block = 0; in bfa_diag_notify()
4762 struct bfa_diag_s *diag = cbarg; in bfa_diag_memtest_done() local
4763 struct bfa_ioc_s *ioc = diag->ioc; in bfa_diag_memtest_done()
4764 struct bfa_diag_memtest_result *res = diag->result; in bfa_diag_memtest_done()
4785 bfa_trc(diag, res->status); in bfa_diag_memtest_done()
4788 diag->status = BFA_STATUS_OK; in bfa_diag_memtest_done()
4790 diag->status = BFA_STATUS_MEMTEST_FAILED; in bfa_diag_memtest_done()
4797 bfa_trc(diag, res->addr); in bfa_diag_memtest_done()
4798 bfa_trc(diag, res->exp); in bfa_diag_memtest_done()
4799 bfa_trc(diag, res->act); in bfa_diag_memtest_done()
4800 bfa_trc(diag, res->err_status); in bfa_diag_memtest_done()
4801 bfa_trc(diag, res->err_status1); in bfa_diag_memtest_done()
4802 bfa_trc(diag, res->err_addr); in bfa_diag_memtest_done()
4804 diag->timer_active = 0; in bfa_diag_memtest_done()
4805 diag->cbfn(diag->cbarg, diag->status); in bfa_diag_memtest_done()
4806 diag->block = 0; in bfa_diag_memtest_done()
4817 diag_fwping_send(struct bfa_diag_s *diag) in diag_fwping_send() argument
4822 bfa_trc(diag, diag->fwping.dbuf_pa); in diag_fwping_send()
4826 *((u32 *)diag->fwping.dbuf_kva + i) = diag->fwping.data; in diag_fwping_send()
4829 fwping_req = (struct bfi_diag_fwping_req_s *)diag->fwping.mbcmd.msg; in diag_fwping_send()
4833 diag->fwping.dbuf_pa); in diag_fwping_send()
4835 fwping_req->count = cpu_to_be32(diag->fwping.count); in diag_fwping_send()
4837 fwping_req->data = diag->fwping.data; in diag_fwping_send()
4841 bfa_ioc_portid(diag->ioc)); in diag_fwping_send()
4844 bfa_ioc_mbox_queue(diag->ioc, &diag->fwping.mbcmd); in diag_fwping_send()
4848 diag_fwping_comp(struct bfa_diag_s *diag, in diag_fwping_comp() argument
4854 bfa_trc(diag, rsp_data); in diag_fwping_comp()
4855 bfa_trc(diag, rsp_dma_status); in diag_fwping_comp()
4859 pat = (diag->fwping.count & 0x1) ? ~(diag->fwping.data) : in diag_fwping_comp()
4860 diag->fwping.data; in diag_fwping_comp()
4862 if (diag->fwping.data != rsp_data) { in diag_fwping_comp()
4863 bfa_trc(diag, rsp_data); in diag_fwping_comp()
4864 diag->fwping.result->dmastatus = in diag_fwping_comp()
4866 diag->fwping.status = BFA_STATUS_DATACORRUPTED; in diag_fwping_comp()
4867 diag->fwping.cbfn(diag->fwping.cbarg, in diag_fwping_comp()
4868 diag->fwping.status); in diag_fwping_comp()
4869 diag->fwping.lock = 0; in diag_fwping_comp()
4874 if (*((u32 *)diag->fwping.dbuf_kva + i) != pat) { in diag_fwping_comp()
4875 bfa_trc(diag, i); in diag_fwping_comp()
4876 bfa_trc(diag, pat); in diag_fwping_comp()
4877 bfa_trc(diag, in diag_fwping_comp()
4878 *((u32 *)diag->fwping.dbuf_kva + i)); in diag_fwping_comp()
4879 diag->fwping.result->dmastatus = in diag_fwping_comp()
4881 diag->fwping.status = BFA_STATUS_DATACORRUPTED; in diag_fwping_comp()
4882 diag->fwping.cbfn(diag->fwping.cbarg, in diag_fwping_comp()
4883 diag->fwping.status); in diag_fwping_comp()
4884 diag->fwping.lock = 0; in diag_fwping_comp()
4888 diag->fwping.result->dmastatus = BFA_STATUS_OK; in diag_fwping_comp()
4889 diag->fwping.status = BFA_STATUS_OK; in diag_fwping_comp()
4890 diag->fwping.cbfn(diag->fwping.cbarg, diag->fwping.status); in diag_fwping_comp()
4891 diag->fwping.lock = 0; in diag_fwping_comp()
4893 diag->fwping.status = BFA_STATUS_HDMA_FAILED; in diag_fwping_comp()
4894 diag->fwping.cbfn(diag->fwping.cbarg, diag->fwping.status); in diag_fwping_comp()
4895 diag->fwping.lock = 0; in diag_fwping_comp()
4904 diag_tempsensor_send(struct bfa_diag_s *diag) in diag_tempsensor_send() argument
4908 msg = (struct bfi_diag_ts_req_s *)diag->tsensor.mbcmd.msg; in diag_tempsensor_send()
4909 bfa_trc(diag, msg->temp); in diag_tempsensor_send()
4912 bfa_ioc_portid(diag->ioc)); in diag_tempsensor_send()
4914 bfa_ioc_mbox_queue(diag->ioc, &diag->tsensor.mbcmd); in diag_tempsensor_send()
4918 diag_tempsensor_comp(struct bfa_diag_s *diag, bfi_diag_ts_rsp_t *rsp) in diag_tempsensor_comp() argument
4920 if (!diag->tsensor.lock) { in diag_tempsensor_comp()
4922 bfa_trc(diag, diag->tsensor.lock); in diag_tempsensor_comp()
4930 diag->tsensor.temp->temp = be16_to_cpu(rsp->temp); in diag_tempsensor_comp()
4931 diag->tsensor.temp->ts_junc = rsp->ts_junc; in diag_tempsensor_comp()
4932 diag->tsensor.temp->ts_brd = rsp->ts_brd; in diag_tempsensor_comp()
4936 diag->tsensor.temp->status = rsp->status; in diag_tempsensor_comp()
4938 diag->tsensor.temp->brd_temp = in diag_tempsensor_comp()
4941 diag->tsensor.temp->brd_temp = 0; in diag_tempsensor_comp()
4944 bfa_trc(diag, rsp->status); in diag_tempsensor_comp()
4945 bfa_trc(diag, rsp->ts_junc); in diag_tempsensor_comp()
4946 bfa_trc(diag, rsp->temp); in diag_tempsensor_comp()
4947 bfa_trc(diag, rsp->ts_brd); in diag_tempsensor_comp()
4948 bfa_trc(diag, rsp->brd_temp); in diag_tempsensor_comp()
4951 diag->tsensor.status = BFA_STATUS_OK; in diag_tempsensor_comp()
4952 diag->tsensor.cbfn(diag->tsensor.cbarg, diag->tsensor.status); in diag_tempsensor_comp()
4953 diag->tsensor.lock = 0; in diag_tempsensor_comp()
4960 diag_ledtest_send(struct bfa_diag_s *diag, struct bfa_diag_ledtest_s *ledtest) in diag_ledtest_send() argument
4964 msg = (struct bfi_diag_ledtest_req_s *)diag->ledtest.mbcmd.msg; in diag_ledtest_send()
4967 bfa_ioc_portid(diag->ioc)); in diag_ledtest_send()
4979 bfa_trc(diag, ledtest->freq); in diag_ledtest_send()
4983 msg->portid = bfa_ioc_portid(diag->ioc); in diag_ledtest_send()
4988 bfa_ioc_mbox_queue(diag->ioc, &diag->ledtest.mbcmd); in diag_ledtest_send()
4992 diag_ledtest_comp(struct bfa_diag_s *diag, struct bfi_diag_ledtest_rsp_s *msg) in diag_ledtest_comp() argument
4994 bfa_trc(diag, diag->ledtest.lock); in diag_ledtest_comp()
4995 diag->ledtest.lock = BFA_FALSE; in diag_ledtest_comp()
5003 diag_portbeacon_send(struct bfa_diag_s *diag, bfa_boolean_t beacon, u32 sec) in diag_portbeacon_send() argument
5007 msg = (struct bfi_diag_portbeacon_req_s *)diag->beacon.mbcmd.msg; in diag_portbeacon_send()
5010 bfa_ioc_portid(diag->ioc)); in diag_portbeacon_send()
5014 bfa_ioc_mbox_queue(diag->ioc, &diag->beacon.mbcmd); in diag_portbeacon_send()
5018 diag_portbeacon_comp(struct bfa_diag_s *diag) in diag_portbeacon_comp() argument
5020 bfa_trc(diag, diag->beacon.state); in diag_portbeacon_comp()
5021 diag->beacon.state = BFA_FALSE; in diag_portbeacon_comp()
5022 if (diag->cbfn_beacon) in diag_portbeacon_comp()
5023 diag->cbfn_beacon(diag->dev, BFA_FALSE, diag->beacon.link_e2e); in diag_portbeacon_comp()
5032 struct bfa_diag_s *diag = diagarg; in bfa_diag_intr() local
5036 diag_portbeacon_comp(diag); in bfa_diag_intr()
5039 diag_fwping_comp(diag, (struct bfi_diag_fwping_rsp_s *) msg); in bfa_diag_intr()
5042 diag_tempsensor_comp(diag, (bfi_diag_ts_rsp_t *) msg); in bfa_diag_intr()
5045 diag_ledtest_comp(diag, (struct bfi_diag_ledtest_rsp_s *) msg); in bfa_diag_intr()
5048 bfa_trc(diag, msg->mh.msg_id); in bfa_diag_intr()
5066 bfa_diag_memtest(struct bfa_diag_s *diag, struct bfa_diag_memtest_s *memtest, in bfa_diag_memtest() argument
5072 bfa_trc(diag, pattern); in bfa_diag_memtest()
5074 if (!bfa_ioc_adapter_is_disabled(diag->ioc)) in bfa_diag_memtest()
5078 if (diag->block) { in bfa_diag_memtest()
5079 bfa_trc(diag, diag->block); in bfa_diag_memtest()
5082 diag->block = 1; in bfa_diag_memtest()
5084 diag->result = result; in bfa_diag_memtest()
5085 diag->cbfn = cbfn; in bfa_diag_memtest()
5086 diag->cbarg = cbarg; in bfa_diag_memtest()
5089 bfa_ioc_boot(diag->ioc, BFI_FWBOOT_TYPE_MEMTEST, BFI_FWBOOT_ENV_OS); in bfa_diag_memtest()
5091 memtest_tov = (bfa_ioc_asic_gen(diag->ioc) == BFI_ASIC_GEN_CT2) ? in bfa_diag_memtest()
5093 bfa_timer_begin(diag->ioc->timer_mod, &diag->timer, in bfa_diag_memtest()
5094 bfa_diag_memtest_done, diag, memtest_tov); in bfa_diag_memtest()
5095 diag->timer_active = 1; in bfa_diag_memtest()
5112 bfa_diag_fwping(struct bfa_diag_s *diag, u32 cnt, u32 data, in bfa_diag_fwping() argument
5116 bfa_trc(diag, cnt); in bfa_diag_fwping()
5117 bfa_trc(diag, data); in bfa_diag_fwping()
5119 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_fwping()
5122 if (bfa_asic_id_ct2(bfa_ioc_devid((diag->ioc))) && in bfa_diag_fwping()
5123 ((diag->ioc)->clscode == BFI_PCIFN_CLASS_ETH)) in bfa_diag_fwping()
5127 if (diag->block || diag->fwping.lock) { in bfa_diag_fwping()
5128 bfa_trc(diag, diag->block); in bfa_diag_fwping()
5129 bfa_trc(diag, diag->fwping.lock); in bfa_diag_fwping()
5134 diag->fwping.lock = 1; in bfa_diag_fwping()
5135 diag->fwping.cbfn = cbfn; in bfa_diag_fwping()
5136 diag->fwping.cbarg = cbarg; in bfa_diag_fwping()
5137 diag->fwping.result = result; in bfa_diag_fwping()
5138 diag->fwping.data = data; in bfa_diag_fwping()
5139 diag->fwping.count = cnt; in bfa_diag_fwping()
5142 diag->fwping.result->data = 0; in bfa_diag_fwping()
5143 diag->fwping.result->status = BFA_STATUS_OK; in bfa_diag_fwping()
5146 diag_fwping_send(diag); in bfa_diag_fwping()
5161 bfa_diag_tsensor_query(struct bfa_diag_s *diag, in bfa_diag_tsensor_query() argument
5166 if (diag->block || diag->tsensor.lock) { in bfa_diag_tsensor_query()
5167 bfa_trc(diag, diag->block); in bfa_diag_tsensor_query()
5168 bfa_trc(diag, diag->tsensor.lock); in bfa_diag_tsensor_query()
5172 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_tsensor_query()
5176 diag->tsensor.lock = 1; in bfa_diag_tsensor_query()
5177 diag->tsensor.temp = result; in bfa_diag_tsensor_query()
5178 diag->tsensor.cbfn = cbfn; in bfa_diag_tsensor_query()
5179 diag->tsensor.cbarg = cbarg; in bfa_diag_tsensor_query()
5180 diag->tsensor.status = BFA_STATUS_OK; in bfa_diag_tsensor_query()
5183 diag_tempsensor_send(diag); in bfa_diag_tsensor_query()
5197 bfa_diag_ledtest(struct bfa_diag_s *diag, struct bfa_diag_ledtest_s *ledtest) in bfa_diag_ledtest() argument
5199 bfa_trc(diag, ledtest->cmd); in bfa_diag_ledtest()
5201 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_ledtest()
5204 if (diag->beacon.state) in bfa_diag_ledtest()
5207 if (diag->ledtest.lock) in bfa_diag_ledtest()
5211 diag->ledtest.lock = BFA_TRUE; in bfa_diag_ledtest()
5212 diag_ledtest_send(diag, ledtest); in bfa_diag_ledtest()
5228 bfa_diag_beacon_port(struct bfa_diag_s *diag, bfa_boolean_t beacon, in bfa_diag_beacon_port() argument
5231 bfa_trc(diag, beacon); in bfa_diag_beacon_port()
5232 bfa_trc(diag, link_e2e_beacon); in bfa_diag_beacon_port()
5233 bfa_trc(diag, sec); in bfa_diag_beacon_port()
5235 if (!bfa_ioc_is_operational(diag->ioc)) in bfa_diag_beacon_port()
5238 if (diag->ledtest.lock) in bfa_diag_beacon_port()
5241 if (diag->beacon.state && beacon) /* beacon alread on */ in bfa_diag_beacon_port()
5244 diag->beacon.state = beacon; in bfa_diag_beacon_port()
5245 diag->beacon.link_e2e = link_e2e_beacon; in bfa_diag_beacon_port()
5246 if (diag->cbfn_beacon) in bfa_diag_beacon_port()
5247 diag->cbfn_beacon(diag->dev, beacon, link_e2e_beacon); in bfa_diag_beacon_port()
5250 diag_portbeacon_send(diag, beacon, sec); in bfa_diag_beacon_port()
5268 bfa_diag_attach(struct bfa_diag_s *diag, struct bfa_ioc_s *ioc, void *dev, in bfa_diag_attach() argument
5271 diag->dev = dev; in bfa_diag_attach()
5272 diag->ioc = ioc; in bfa_diag_attach()
5273 diag->trcmod = trcmod; in bfa_diag_attach()
5275 diag->block = 0; in bfa_diag_attach()
5276 diag->cbfn = NULL; in bfa_diag_attach()
5277 diag->cbarg = NULL; in bfa_diag_attach()
5278 diag->result = NULL; in bfa_diag_attach()
5279 diag->cbfn_beacon = cbfn_beacon; in bfa_diag_attach()
5281 bfa_ioc_mbox_regisr(diag->ioc, BFI_MC_DIAG, bfa_diag_intr, diag); in bfa_diag_attach()
5282 bfa_q_qe_init(&diag->ioc_notify); in bfa_diag_attach()
5283 bfa_ioc_notify_init(&diag->ioc_notify, bfa_diag_notify, diag); in bfa_diag_attach()
5284 list_add_tail(&diag->ioc_notify.qe, &diag->ioc->notify_q); in bfa_diag_attach()
5288 bfa_diag_memclaim(struct bfa_diag_s *diag, u8 *dm_kva, u64 dm_pa) in bfa_diag_memclaim() argument
5290 diag->fwping.dbuf_kva = dm_kva; in bfa_diag_memclaim()
5291 diag->fwping.dbuf_pa = dm_pa; in bfa_diag_memclaim()
5292 memset(diag->fwping.dbuf_kva, 0, BFI_DIAG_DMA_BUF_SZ); in bfa_diag_memclaim()