Lines Matching refs:ddev

173 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev,
176 int digital_in_iso_dep_pull_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_pull_sod() argument
204 int digital_in_iso_dep_push_sod(struct nfc_digital_dev *ddev, in digital_in_iso_dep_push_sod() argument
211 if (skb->len + 3 > ddev->target_fsc) in digital_in_iso_dep_push_sod()
216 *skb->data = DIGITAL_ISO_DEP_I_PCB | ddev->curr_nfc_dep_pni; in digital_in_iso_dep_push_sod()
218 ddev->curr_nfc_dep_pni = in digital_in_iso_dep_push_sod()
219 DIGITAL_ISO_DEP_PNI(ddev->curr_nfc_dep_pni + 1); in digital_in_iso_dep_push_sod()
224 static void digital_in_recv_ats(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_ats() argument
244 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_ats()
246 ddev->target_fsc = digital_ats_fsc[fsdi]; in digital_in_recv_ats()
248 ddev->curr_nfc_dep_pni = 0; in digital_in_recv_ats()
250 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443); in digital_in_recv_ats()
257 digital_poll_next_tech(ddev); in digital_in_recv_ats()
260 static int digital_in_send_rats(struct nfc_digital_dev *ddev, in digital_in_send_rats() argument
266 skb = digital_skb_alloc(ddev, 2); in digital_in_send_rats()
273 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_ats, in digital_in_send_rats()
281 static void digital_in_recv_sel_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sel_res() argument
295 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sel_res()
311 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sel_res()
325 rc = digital_in_send_rats(ddev, target); in digital_in_recv_sel_res()
338 rc = digital_target_found(ddev, target, nfc_proto); in digital_in_recv_sel_res()
347 digital_poll_next_tech(ddev); in digital_in_recv_sel_res()
350 static int digital_in_send_sel_req(struct nfc_digital_dev *ddev, in digital_in_send_sel_req() argument
359 skb = digital_skb_alloc(ddev, sizeof(struct digital_sel_req)); in digital_in_send_sel_req()
378 if (DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_send_sel_req()
379 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sel_req()
387 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sel_res, in digital_in_send_sel_req()
396 static void digital_in_recv_sdd_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sdd_res() argument
440 rc = digital_in_send_sel_req(ddev, target, sdd_res); in digital_in_recv_sdd_res()
447 digital_poll_next_tech(ddev); in digital_in_recv_sdd_res()
451 static int digital_in_send_sdd_req(struct nfc_digital_dev *ddev, in digital_in_send_sdd_req() argument
458 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sdd_req()
463 skb = digital_skb_alloc(ddev, 2); in digital_in_send_sdd_req()
477 return digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res, in digital_in_send_sdd_req()
481 static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sens_res() argument
513 rc = digital_target_found(ddev, target, NFC_PROTO_JEWEL); in digital_in_recv_sens_res()
515 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sens_res()
522 digital_poll_next_tech(ddev); in digital_in_recv_sens_res()
526 int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sens_req() argument
531 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sens_req()
536 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sens_req()
541 skb = digital_skb_alloc(ddev, 1); in digital_in_send_sens_req()
547 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sens_res, NULL); in digital_in_send_sens_req()
580 static void digital_in_recv_attrib_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_attrib_res() argument
607 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443_B); in digital_in_recv_attrib_res()
614 digital_poll_next_tech(ddev); in digital_in_recv_attrib_res()
617 static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev, in digital_in_send_attrib_req() argument
625 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()
739 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensb_res, in digital_in_send_sensb_req()
747 static void digital_in_recv_sensf_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensf_res() argument
766 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sensf_res()
792 rc = digital_target_found(ddev, &target, proto); in digital_in_recv_sensf_res()
798 digital_poll_next_tech(ddev); in digital_in_recv_sensf_res()
801 int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensf_req() argument
808 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_in_send_sensf_req()
812 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensf_req()
819 skb = digital_skb_alloc(ddev, size); in digital_in_send_sensf_req()
834 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) in digital_in_send_sensf_req()
837 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensf_res, in digital_in_send_sensf_req()
845 static void digital_in_recv_iso15693_inv_res(struct nfc_digital_dev *ddev, in digital_in_recv_iso15693_inv_res() argument
881 rc = digital_target_found(ddev, target, NFC_PROTO_ISO15693); in digital_in_recv_iso15693_inv_res()
889 digital_poll_next_tech(ddev); in digital_in_recv_iso15693_inv_res()
892 int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_iso15693_inv_req() argument
898 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_iso15693_inv_req()
903 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_iso15693_inv_req()
908 skb = digital_skb_alloc(ddev, sizeof(*req)); in digital_in_send_iso15693_inv_req()
924 rc = digital_in_send_cmd(ddev, skb, 30, in digital_in_send_iso15693_inv_req()
932 static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev) in digital_tg_send_sel_res() argument
937 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_sel_res()
943 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sel_res()
946 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sel_res()
953 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_atr_req, in digital_tg_send_sel_res()
961 static void digital_tg_recv_sel_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sel_req() argument
972 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sel_req()
982 rc = digital_tg_send_sel_res(ddev); in digital_tg_recv_sel_req()
986 digital_poll_next_tech(ddev); in digital_tg_recv_sel_req()
991 static int digital_tg_send_sdd_res(struct nfc_digital_dev *ddev) in digital_tg_send_sdd_res() argument
997 skb = digital_skb_alloc(ddev, sizeof(struct digital_sdd_res)); in digital_tg_send_sdd_res()
1011 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sdd_res()
1018 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sel_req, in digital_tg_send_sdd_res()
1026 static void digital_tg_recv_sdd_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sdd_req() argument
1046 rc = digital_tg_send_sdd_res(ddev); in digital_tg_recv_sdd_req()
1050 digital_poll_next_tech(ddev); in digital_tg_recv_sdd_req()
1055 static int digital_tg_send_sens_res(struct nfc_digital_dev *ddev) in digital_tg_send_sens_res() argument
1061 skb = digital_skb_alloc(ddev, 2); in digital_tg_send_sens_res()
1070 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sens_res()
1077 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sdd_req, in digital_tg_send_sens_res()
1085 void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sens_req() argument
1105 rc = digital_tg_send_sens_res(ddev); in digital_tg_recv_sens_req()
1109 digital_poll_next_tech(ddev); in digital_tg_recv_sens_req()
1114 static void digital_tg_recv_atr_or_sensf_req(struct nfc_digital_dev *ddev, in digital_tg_recv_atr_or_sensf_req() argument
1119 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1121 digital_tg_recv_atr_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1126 static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev, in digital_tg_send_sensf_res() argument
1139 skb = digital_skb_alloc(ddev, size); in digital_tg_send_sensf_res()
1167 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sensf_res()
1170 rc = digital_tg_send_cmd(ddev, skb, 300, in digital_tg_send_sensf_res()
1178 void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sensf_req() argument
1190 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sensf_req()
1211 rc = digital_tg_send_sensf_res(ddev, sensf_req); in digital_tg_recv_sensf_req()
1215 digital_poll_next_tech(ddev); in digital_tg_recv_sensf_req()
1220 static int digital_tg_config_nfca(struct nfc_digital_dev *ddev) in digital_tg_config_nfca() argument
1224 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_tg_config_nfca()
1229 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfca()
1233 int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfca() argument
1237 rc = digital_tg_config_nfca(ddev); in digital_tg_listen_nfca()
1241 return digital_tg_listen(ddev, 300, digital_tg_recv_sens_req, NULL); in digital_tg_listen_nfca()
1244 static int digital_tg_config_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_config_nfcf() argument
1248 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_tg_config_nfcf()
1252 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfcf()
1256 int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfcf() argument
1260 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_listen_nfcf()
1264 return digital_tg_listen(ddev, 300, digital_tg_recv_sensf_req, NULL); in digital_tg_listen_nfcf()
1267 void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_md_req() argument
1278 rc = ddev->ops->tg_get_rf_tech(ddev, &rf_tech); in digital_tg_recv_md_req()
1284 rc = digital_tg_config_nfca(ddev); in digital_tg_recv_md_req()
1287 digital_tg_recv_sens_req(ddev, arg, resp); in digital_tg_recv_md_req()
1291 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_recv_md_req()
1294 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_md_req()
1303 digital_poll_next_tech(ddev); in digital_tg_recv_md_req()