Lines Matching refs:ddev
172 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
175 int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_pull_sod() argument
203 int digital_in_iso_dep_push_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_push_sod() argument
210 if (skb->len + 3 > ddev->target_fsc) in digital_in_iso_dep_push_sod()
215 *skb->data = DIGITAL_ISO_DEP_I_PCB | ddev->curr_nfc_dep_pni; in digital_in_iso_dep_push_sod()
217 ddev->curr_nfc_dep_pni = in digital_in_iso_dep_push_sod()
218 DIGITAL_ISO_DEP_PNI(ddev->curr_nfc_dep_pni + 1); in digital_in_iso_dep_push_sod()
223 static void digital_in_recv_ats(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_ats() argument
243 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_ats()
245 ddev->target_fsc = digital_ats_fsc[fsdi]; in digital_in_recv_ats()
247 ddev->curr_nfc_dep_pni = 0; in digital_in_recv_ats()
249 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443); in digital_in_recv_ats()
256 digital_poll_next_tech(ddev); in digital_in_recv_ats()
259 static int digital_in_send_rats(struct nfc_digital_dev *ddev, in digital_in_send_rats() argument
265 skb = digital_skb_alloc(ddev, 2); in digital_in_send_rats()
272 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_ats, in digital_in_send_rats()
280 static void digital_in_recv_sel_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sel_res() argument
294 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sel_res()
310 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sel_res()
324 rc = digital_in_send_rats(ddev, target); in digital_in_recv_sel_res()
337 rc = digital_target_found(ddev, target, nfc_proto); in digital_in_recv_sel_res()
346 digital_poll_next_tech(ddev); in digital_in_recv_sel_res()
349 static int digital_in_send_sel_req(struct nfc_digital_dev *ddev, in digital_in_send_sel_req() argument
358 skb = digital_skb_alloc(ddev, sizeof(struct digital_sel_req)); in digital_in_send_sel_req()
377 if (DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_send_sel_req()
378 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sel_req()
386 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sel_res, in digital_in_send_sel_req()
395 static void digital_in_recv_sdd_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sdd_res() argument
439 rc = digital_in_send_sel_req(ddev, target, sdd_res); in digital_in_recv_sdd_res()
446 digital_poll_next_tech(ddev); in digital_in_recv_sdd_res()
450 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev, in digital_in_send_sdd_req() argument
457 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sdd_req()
462 skb = digital_skb_alloc(ddev, 2); in digital_in_send_sdd_req()
476 return digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res, in digital_in_send_sdd_req()
480 static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sens_res() argument
512 rc = digital_target_found(ddev, target, NFC_PROTO_JEWEL); in digital_in_recv_sens_res()
514 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sens_res()
521 digital_poll_next_tech(ddev); in digital_in_recv_sens_res()
525 int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sens_req() argument
530 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sens_req()
535 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sens_req()
540 skb = digital_skb_alloc(ddev, 1); in digital_in_send_sens_req()
546 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sens_res, NULL); in digital_in_send_sens_req()
579 static void digital_in_recv_attrib_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_attrib_res() argument
606 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443_B); in digital_in_recv_attrib_res()
613 digital_poll_next_tech(ddev); in digital_in_recv_attrib_res()
616 static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev, in digital_in_send_attrib_req() argument
624 skb = digital_skb_alloc(ddev, sizeof(*attrib_req)); in digital_in_send_attrib_req()
642 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_attrib_res, in digital_in_send_attrib_req()
650 static void digital_in_recv_sensb_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensb_res() argument
692 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_sensb_res()
694 ddev->target_fsc = digital_ats_fsc[fsci]; in digital_in_recv_sensb_res()
702 rc = digital_in_send_attrib_req(ddev, target, sensb_res); in digital_in_recv_sensb_res()
709 digital_poll_next_tech(ddev); in digital_in_recv_sensb_res()
713 int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensb_req() argument
719 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sensb_req()
724 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensb_req()
729 skb = digital_skb_alloc(ddev, sizeof(*sensb_req)); in digital_in_send_sensb_req()
740 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensb_res, in digital_in_send_sensb_req()
748 static void digital_in_recv_sensf_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensf_res() argument
767 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sensf_res()
793 rc = digital_target_found(ddev, &target, proto); in digital_in_recv_sensf_res()
799 digital_poll_next_tech(ddev); in digital_in_recv_sensf_res()
802 int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensf_req() argument
809 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_in_send_sensf_req()
813 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensf_req()
820 skb = digital_skb_alloc(ddev, size); in digital_in_send_sensf_req()
835 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) in digital_in_send_sensf_req()
838 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensf_res, in digital_in_send_sensf_req()
846 static void digital_in_recv_iso15693_inv_res(struct nfc_digital_dev *ddev, in digital_in_recv_iso15693_inv_res() argument
882 rc = digital_target_found(ddev, target, NFC_PROTO_ISO15693); in digital_in_recv_iso15693_inv_res()
890 digital_poll_next_tech(ddev); in digital_in_recv_iso15693_inv_res()
893 int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_iso15693_inv_req() argument
899 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_iso15693_inv_req()
904 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_iso15693_inv_req()
909 skb = digital_skb_alloc(ddev, sizeof(*req)); in digital_in_send_iso15693_inv_req()
925 rc = digital_in_send_cmd(ddev, skb, 30, in digital_in_send_iso15693_inv_req()
933 static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev) in digital_tg_send_sel_res() argument
938 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_sel_res()
944 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sel_res()
947 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sel_res()
954 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_atr_req, in digital_tg_send_sel_res()
962 static void digital_tg_recv_sel_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sel_req() argument
973 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sel_req()
983 rc = digital_tg_send_sel_res(ddev); in digital_tg_recv_sel_req()
987 digital_poll_next_tech(ddev); in digital_tg_recv_sel_req()
992 static int digital_tg_send_sdd_res(struct nfc_digital_dev *ddev) in digital_tg_send_sdd_res() argument
998 skb = digital_skb_alloc(ddev, sizeof(struct digital_sdd_res)); in digital_tg_send_sdd_res()
1012 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sdd_res()
1019 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sel_req, in digital_tg_send_sdd_res()
1027 static void digital_tg_recv_sdd_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sdd_req() argument
1047 rc = digital_tg_send_sdd_res(ddev); in digital_tg_recv_sdd_req()
1051 digital_poll_next_tech(ddev); in digital_tg_recv_sdd_req()
1056 static int digital_tg_send_sens_res(struct nfc_digital_dev *ddev) in digital_tg_send_sens_res() argument
1062 skb = digital_skb_alloc(ddev, 2); in digital_tg_send_sens_res()
1071 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sens_res()
1078 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sdd_req, in digital_tg_send_sens_res()
1086 void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sens_req() argument
1106 rc = digital_tg_send_sens_res(ddev); in digital_tg_recv_sens_req()
1110 digital_poll_next_tech(ddev); in digital_tg_recv_sens_req()
1115 static void digital_tg_recv_atr_or_sensf_req(struct nfc_digital_dev *ddev, in digital_tg_recv_atr_or_sensf_req() argument
1120 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1122 digital_tg_recv_atr_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1127 static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev, in digital_tg_send_sensf_res() argument
1140 skb = digital_skb_alloc(ddev, size); in digital_tg_send_sensf_res()
1168 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sensf_res()
1171 rc = digital_tg_send_cmd(ddev, skb, 300, in digital_tg_send_sensf_res()
1179 void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sensf_req() argument
1191 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sensf_req()
1212 rc = digital_tg_send_sensf_res(ddev, sensf_req); in digital_tg_recv_sensf_req()
1216 digital_poll_next_tech(ddev); in digital_tg_recv_sensf_req()
1221 static int digital_tg_config_nfca(struct nfc_digital_dev *ddev) in digital_tg_config_nfca() argument
1225 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_tg_config_nfca()
1230 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfca()
1234 int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfca() argument
1238 rc = digital_tg_config_nfca(ddev); in digital_tg_listen_nfca()
1242 return digital_tg_listen(ddev, 300, digital_tg_recv_sens_req, NULL); in digital_tg_listen_nfca()
1245 static int digital_tg_config_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_config_nfcf() argument
1249 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_tg_config_nfcf()
1253 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfcf()
1257 int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfcf() argument
1262 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_listen_nfcf()
1274 return digital_tg_listen(ddev, 300, digital_tg_recv_sensf_req, nfcid2); in digital_tg_listen_nfcf()
1277 void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_md_req() argument
1288 rc = ddev->ops->tg_get_rf_tech(ddev, &rf_tech); in digital_tg_recv_md_req()
1294 rc = digital_tg_config_nfca(ddev); in digital_tg_recv_md_req()
1297 digital_tg_recv_sens_req(ddev, arg, resp); in digital_tg_recv_md_req()
1301 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_recv_md_req()
1304 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_md_req()
1313 digital_poll_next_tech(ddev); in digital_tg_recv_md_req()