Lines Matching refs:ddev
164 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
167 int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_pull_sod() argument
195 int digital_in_iso_dep_push_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_push_sod() argument
202 if (skb->len + 3 > ddev->target_fsc) in digital_in_iso_dep_push_sod()
207 *skb->data = DIGITAL_ISO_DEP_I_PCB | ddev->curr_nfc_dep_pni; in digital_in_iso_dep_push_sod()
209 ddev->curr_nfc_dep_pni = in digital_in_iso_dep_push_sod()
210 DIGITAL_ISO_DEP_PNI(ddev->curr_nfc_dep_pni + 1); in digital_in_iso_dep_push_sod()
215 static void digital_in_recv_ats(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_ats() argument
235 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_ats()
237 ddev->target_fsc = digital_ats_fsc[fsdi]; in digital_in_recv_ats()
239 ddev->curr_nfc_dep_pni = 0; in digital_in_recv_ats()
241 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443); in digital_in_recv_ats()
248 digital_poll_next_tech(ddev); in digital_in_recv_ats()
251 static int digital_in_send_rats(struct nfc_digital_dev *ddev, in digital_in_send_rats() argument
257 skb = digital_skb_alloc(ddev, 2); in digital_in_send_rats()
264 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_ats, in digital_in_send_rats()
272 static void digital_in_recv_sel_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sel_res() argument
286 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sel_res()
302 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sel_res()
316 rc = digital_in_send_rats(ddev, target); in digital_in_recv_sel_res()
329 rc = digital_target_found(ddev, target, nfc_proto); in digital_in_recv_sel_res()
338 digital_poll_next_tech(ddev); in digital_in_recv_sel_res()
341 static int digital_in_send_sel_req(struct nfc_digital_dev *ddev, in digital_in_send_sel_req() argument
350 skb = digital_skb_alloc(ddev, sizeof(struct digital_sel_req)); in digital_in_send_sel_req()
369 if (DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_send_sel_req()
370 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sel_req()
378 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sel_res, in digital_in_send_sel_req()
387 static void digital_in_recv_sdd_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sdd_res() argument
431 rc = digital_in_send_sel_req(ddev, target, sdd_res); in digital_in_recv_sdd_res()
438 digital_poll_next_tech(ddev); in digital_in_recv_sdd_res()
442 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev, in digital_in_send_sdd_req() argument
449 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sdd_req()
454 skb = digital_skb_alloc(ddev, 2); in digital_in_send_sdd_req()
468 return digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res, in digital_in_send_sdd_req()
472 static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sens_res() argument
504 rc = digital_target_found(ddev, target, NFC_PROTO_JEWEL); in digital_in_recv_sens_res()
506 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sens_res()
513 digital_poll_next_tech(ddev); in digital_in_recv_sens_res()
517 int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sens_req() argument
522 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sens_req()
527 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sens_req()
532 skb = digital_skb_alloc(ddev, 1); in digital_in_send_sens_req()
538 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sens_res, NULL); in digital_in_send_sens_req()
571 static void digital_in_recv_attrib_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_attrib_res() argument
598 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443_B); in digital_in_recv_attrib_res()
605 digital_poll_next_tech(ddev); in digital_in_recv_attrib_res()
608 static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev, in digital_in_send_attrib_req() argument
616 skb = digital_skb_alloc(ddev, sizeof(*attrib_req)); in digital_in_send_attrib_req()
633 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_attrib_res, in digital_in_send_attrib_req()
641 static void digital_in_recv_sensb_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensb_res() argument
683 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_sensb_res()
685 ddev->target_fsc = digital_ats_fsc[fsci]; in digital_in_recv_sensb_res()
693 rc = digital_in_send_attrib_req(ddev, target, sensb_res); in digital_in_recv_sensb_res()
700 digital_poll_next_tech(ddev); in digital_in_recv_sensb_res()
704 int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensb_req() argument
710 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sensb_req()
715 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensb_req()
720 skb = digital_skb_alloc(ddev, sizeof(*sensb_req)); in digital_in_send_sensb_req()
730 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensb_res, in digital_in_send_sensb_req()
738 static void digital_in_recv_sensf_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensf_res() argument
757 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sensf_res()
783 rc = digital_target_found(ddev, &target, proto); in digital_in_recv_sensf_res()
789 digital_poll_next_tech(ddev); in digital_in_recv_sensf_res()
792 int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensf_req() argument
799 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_in_send_sensf_req()
803 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensf_req()
810 skb = digital_skb_alloc(ddev, size); in digital_in_send_sensf_req()
825 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) in digital_in_send_sensf_req()
828 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensf_res, in digital_in_send_sensf_req()
836 static void digital_in_recv_iso15693_inv_res(struct nfc_digital_dev *ddev, in digital_in_recv_iso15693_inv_res() argument
872 rc = digital_target_found(ddev, target, NFC_PROTO_ISO15693); in digital_in_recv_iso15693_inv_res()
880 digital_poll_next_tech(ddev); in digital_in_recv_iso15693_inv_res()
883 int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_iso15693_inv_req() argument
889 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_iso15693_inv_req()
894 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_iso15693_inv_req()
899 skb = digital_skb_alloc(ddev, sizeof(*req)); in digital_in_send_iso15693_inv_req()
915 rc = digital_in_send_cmd(ddev, skb, 30, in digital_in_send_iso15693_inv_req()
923 static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev) in digital_tg_send_sel_res() argument
928 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_sel_res()
934 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sel_res()
937 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sel_res()
944 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_atr_req, in digital_tg_send_sel_res()
952 static void digital_tg_recv_sel_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sel_req() argument
963 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sel_req()
973 rc = digital_tg_send_sel_res(ddev); in digital_tg_recv_sel_req()
977 digital_poll_next_tech(ddev); in digital_tg_recv_sel_req()
982 static int digital_tg_send_sdd_res(struct nfc_digital_dev *ddev) in digital_tg_send_sdd_res() argument
988 skb = digital_skb_alloc(ddev, sizeof(struct digital_sdd_res)); in digital_tg_send_sdd_res()
1002 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sdd_res()
1009 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sel_req, in digital_tg_send_sdd_res()
1017 static void digital_tg_recv_sdd_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sdd_req() argument
1037 rc = digital_tg_send_sdd_res(ddev); in digital_tg_recv_sdd_req()
1041 digital_poll_next_tech(ddev); in digital_tg_recv_sdd_req()
1046 static int digital_tg_send_sens_res(struct nfc_digital_dev *ddev) in digital_tg_send_sens_res() argument
1052 skb = digital_skb_alloc(ddev, 2); in digital_tg_send_sens_res()
1061 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sens_res()
1068 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sdd_req, in digital_tg_send_sens_res()
1076 void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sens_req() argument
1096 rc = digital_tg_send_sens_res(ddev); in digital_tg_recv_sens_req()
1100 digital_poll_next_tech(ddev); in digital_tg_recv_sens_req()
1105 static void digital_tg_recv_atr_or_sensf_req(struct nfc_digital_dev *ddev, in digital_tg_recv_atr_or_sensf_req() argument
1110 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1112 digital_tg_recv_atr_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1117 static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev, in digital_tg_send_sensf_res() argument
1130 skb = digital_skb_alloc(ddev, size); in digital_tg_send_sensf_res()
1158 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sensf_res()
1161 rc = digital_tg_send_cmd(ddev, skb, 300, in digital_tg_send_sensf_res()
1169 void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sensf_req() argument
1181 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sensf_req()
1202 rc = digital_tg_send_sensf_res(ddev, sensf_req); in digital_tg_recv_sensf_req()
1206 digital_poll_next_tech(ddev); in digital_tg_recv_sensf_req()
1211 static int digital_tg_config_nfca(struct nfc_digital_dev *ddev) in digital_tg_config_nfca() argument
1215 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_tg_config_nfca()
1220 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfca()
1224 int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfca() argument
1228 rc = digital_tg_config_nfca(ddev); in digital_tg_listen_nfca()
1232 return digital_tg_listen(ddev, 300, digital_tg_recv_sens_req, NULL); in digital_tg_listen_nfca()
1235 static int digital_tg_config_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_config_nfcf() argument
1239 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_tg_config_nfcf()
1243 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfcf()
1247 int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfcf() argument
1251 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_listen_nfcf()
1255 return digital_tg_listen(ddev, 300, digital_tg_recv_sensf_req, NULL); in digital_tg_listen_nfcf()
1258 void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_md_req() argument
1269 rc = ddev->ops->tg_get_rf_tech(ddev, &rf_tech); in digital_tg_recv_md_req()
1275 rc = digital_tg_config_nfca(ddev); in digital_tg_recv_md_req()
1278 digital_tg_recv_sens_req(ddev, arg, resp); in digital_tg_recv_md_req()
1282 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_recv_md_req()
1285 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_md_req()
1294 digital_poll_next_tech(ddev); in digital_tg_recv_md_req()