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 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sdd_res, in digital_in_send_sdd_req()
476 static void digital_in_recv_sens_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sens_res() argument
508 rc = digital_target_found(ddev, target, NFC_PROTO_JEWEL); in digital_in_recv_sens_res()
510 rc = digital_in_send_sdd_req(ddev, target); in digital_in_recv_sens_res()
517 digital_poll_next_tech(ddev); in digital_in_recv_sens_res()
521 int digital_in_send_sens_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sens_req() argument
526 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sens_req()
531 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sens_req()
536 skb = digital_skb_alloc(ddev, 1); in digital_in_send_sens_req()
542 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sens_res, NULL); in digital_in_send_sens_req()
575 static void digital_in_recv_attrib_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_attrib_res() argument
602 rc = digital_target_found(ddev, target, NFC_PROTO_ISO14443_B); in digital_in_recv_attrib_res()
609 digital_poll_next_tech(ddev); in digital_in_recv_attrib_res()
612 static int digital_in_send_attrib_req(struct nfc_digital_dev *ddev, in digital_in_send_attrib_req() argument
620 skb = digital_skb_alloc(ddev, sizeof(*attrib_req)); in digital_in_send_attrib_req()
637 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_attrib_res, in digital_in_send_attrib_req()
645 static void digital_in_recv_sensb_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensb_res() argument
687 ddev->target_fsc = DIGITAL_ATS_MAX_FSC; in digital_in_recv_sensb_res()
689 ddev->target_fsc = digital_ats_fsc[fsci]; in digital_in_recv_sensb_res()
697 rc = digital_in_send_attrib_req(ddev, target, sensb_res); in digital_in_recv_sensb_res()
704 digital_poll_next_tech(ddev); in digital_in_recv_sensb_res()
708 int digital_in_send_sensb_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensb_req() argument
714 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_sensb_req()
719 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensb_req()
724 skb = digital_skb_alloc(ddev, sizeof(*sensb_req)); in digital_in_send_sensb_req()
734 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensb_res, in digital_in_send_sensb_req()
742 static void digital_in_recv_sensf_res(struct nfc_digital_dev *ddev, void *arg, in digital_in_recv_sensf_res() argument
761 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) { in digital_in_recv_sensf_res()
787 rc = digital_target_found(ddev, &target, proto); in digital_in_recv_sensf_res()
793 digital_poll_next_tech(ddev); in digital_in_recv_sensf_res()
796 int digital_in_send_sensf_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_sensf_req() argument
803 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_in_send_sensf_req()
807 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_sensf_req()
814 skb = digital_skb_alloc(ddev, size); in digital_in_send_sensf_req()
829 if (!DIGITAL_DRV_CAPS_IN_CRC(ddev)) in digital_in_send_sensf_req()
832 rc = digital_in_send_cmd(ddev, skb, 30, digital_in_recv_sensf_res, in digital_in_send_sensf_req()
840 static void digital_in_recv_iso15693_inv_res(struct nfc_digital_dev *ddev, in digital_in_recv_iso15693_inv_res() argument
876 rc = digital_target_found(ddev, target, NFC_PROTO_ISO15693); in digital_in_recv_iso15693_inv_res()
884 digital_poll_next_tech(ddev); in digital_in_recv_iso15693_inv_res()
887 int digital_in_send_iso15693_inv_req(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_in_send_iso15693_inv_req() argument
893 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_in_send_iso15693_inv_req()
898 rc = digital_in_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_in_send_iso15693_inv_req()
903 skb = digital_skb_alloc(ddev, sizeof(*req)); in digital_in_send_iso15693_inv_req()
919 rc = digital_in_send_cmd(ddev, skb, 30, in digital_in_send_iso15693_inv_req()
927 static int digital_tg_send_sel_res(struct nfc_digital_dev *ddev) in digital_tg_send_sel_res() argument
932 skb = digital_skb_alloc(ddev, 1); in digital_tg_send_sel_res()
938 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sel_res()
941 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sel_res()
948 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_atr_req, in digital_tg_send_sel_res()
956 static void digital_tg_recv_sel_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sel_req() argument
967 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sel_req()
977 rc = digital_tg_send_sel_res(ddev); in digital_tg_recv_sel_req()
981 digital_poll_next_tech(ddev); in digital_tg_recv_sel_req()
986 static int digital_tg_send_sdd_res(struct nfc_digital_dev *ddev) in digital_tg_send_sdd_res() argument
992 skb = digital_skb_alloc(ddev, sizeof(struct digital_sdd_res)); in digital_tg_send_sdd_res()
1006 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sdd_res()
1013 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sel_req, in digital_tg_send_sdd_res()
1021 static void digital_tg_recv_sdd_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sdd_req() argument
1041 rc = digital_tg_send_sdd_res(ddev); in digital_tg_recv_sdd_req()
1045 digital_poll_next_tech(ddev); in digital_tg_recv_sdd_req()
1050 static int digital_tg_send_sens_res(struct nfc_digital_dev *ddev) in digital_tg_send_sens_res() argument
1056 skb = digital_skb_alloc(ddev, 2); in digital_tg_send_sens_res()
1065 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_send_sens_res()
1072 rc = digital_tg_send_cmd(ddev, skb, 300, digital_tg_recv_sdd_req, in digital_tg_send_sens_res()
1080 void digital_tg_recv_sens_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sens_req() argument
1100 rc = digital_tg_send_sens_res(ddev); in digital_tg_recv_sens_req()
1104 digital_poll_next_tech(ddev); in digital_tg_recv_sens_req()
1109 static void digital_tg_recv_atr_or_sensf_req(struct nfc_digital_dev *ddev, in digital_tg_recv_atr_or_sensf_req() argument
1114 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1116 digital_tg_recv_atr_req(ddev, arg, resp); in digital_tg_recv_atr_or_sensf_req()
1121 static int digital_tg_send_sensf_res(struct nfc_digital_dev *ddev, in digital_tg_send_sensf_res() argument
1134 skb = digital_skb_alloc(ddev, size); in digital_tg_send_sensf_res()
1162 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) in digital_tg_send_sensf_res()
1165 rc = digital_tg_send_cmd(ddev, skb, 300, in digital_tg_send_sensf_res()
1173 void digital_tg_recv_sensf_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_sensf_req() argument
1185 if (!DIGITAL_DRV_CAPS_TG_CRC(ddev)) { in digital_tg_recv_sensf_req()
1206 rc = digital_tg_send_sensf_res(ddev, sensf_req); in digital_tg_recv_sensf_req()
1210 digital_poll_next_tech(ddev); in digital_tg_recv_sensf_req()
1215 static int digital_tg_config_nfca(struct nfc_digital_dev *ddev) in digital_tg_config_nfca() argument
1219 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, in digital_tg_config_nfca()
1224 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfca()
1228 int digital_tg_listen_nfca(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfca() argument
1232 rc = digital_tg_config_nfca(ddev); in digital_tg_listen_nfca()
1236 return digital_tg_listen(ddev, 300, digital_tg_recv_sens_req, NULL); in digital_tg_listen_nfca()
1239 static int digital_tg_config_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_config_nfcf() argument
1243 rc = digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_RF_TECH, rf_tech); in digital_tg_config_nfcf()
1247 return digital_tg_configure_hw(ddev, NFC_DIGITAL_CONFIG_FRAMING, in digital_tg_config_nfcf()
1251 int digital_tg_listen_nfcf(struct nfc_digital_dev *ddev, u8 rf_tech) in digital_tg_listen_nfcf() argument
1255 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_listen_nfcf()
1259 return digital_tg_listen(ddev, 300, digital_tg_recv_sensf_req, NULL); in digital_tg_listen_nfcf()
1262 void digital_tg_recv_md_req(struct nfc_digital_dev *ddev, void *arg, in digital_tg_recv_md_req() argument
1273 rc = ddev->ops->tg_get_rf_tech(ddev, &rf_tech); in digital_tg_recv_md_req()
1279 rc = digital_tg_config_nfca(ddev); in digital_tg_recv_md_req()
1282 digital_tg_recv_sens_req(ddev, arg, resp); in digital_tg_recv_md_req()
1286 rc = digital_tg_config_nfcf(ddev, rf_tech); in digital_tg_recv_md_req()
1289 digital_tg_recv_sensf_req(ddev, arg, resp); in digital_tg_recv_md_req()
1298 digital_poll_next_tech(ddev); in digital_tg_recv_md_req()