Lines Matching refs:workitem
682 struct dj_workitem *workitem) in logi_dj_recv_destroy_djhid_device() argument
689 dj_dev = djrcv_dev->paired_dj_devices[workitem->device_index]; in logi_dj_recv_destroy_djhid_device()
690 djrcv_dev->paired_dj_devices[workitem->device_index] = NULL; in logi_dj_recv_destroy_djhid_device()
703 struct dj_workitem *workitem) in logi_dj_recv_add_djhid_device() argument
709 u8 device_index = workitem->device_index; in logi_dj_recv_add_djhid_device()
735 dj_hiddev->product = (workitem->quad_id_msb << 8) | in logi_dj_recv_add_djhid_device()
736 workitem->quad_id_lsb; in logi_dj_recv_add_djhid_device()
737 if (workitem->device_type) { in logi_dj_recv_add_djhid_device()
740 switch (workitem->device_type) { in logi_dj_recv_add_djhid_device()
774 dj_dev->reports_supported = workitem->reports_supported; in logi_dj_recv_add_djhid_device()
805 struct dj_workitem workitem; in delayedwork_callback() local
825 count = kfifo_out(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in delayedwork_callback()
827 if (count != sizeof(workitem)) { in delayedwork_callback()
837 switch (workitem.type) { in delayedwork_callback()
839 logi_dj_recv_add_djhid_device(djrcv_dev, &workitem); in delayedwork_callback()
842 logi_dj_recv_destroy_djhid_device(djrcv_dev, &workitem); in delayedwork_callback()
871 struct dj_workitem workitem = { .type = WORKITEM_TYPE_UNKNOWN }; in logi_dj_recv_queue_unknown_work() local
877 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_recv_queue_unknown_work()
885 struct dj_workitem workitem = { in logi_dj_recv_queue_notification() local
891 workitem.type = WORKITEM_TYPE_PAIRED; in logi_dj_recv_queue_notification()
894 workitem.type = WORKITEM_TYPE_EMPTY; in logi_dj_recv_queue_notification()
899 workitem.quad_id_msb = in logi_dj_recv_queue_notification()
901 workitem.quad_id_lsb = in logi_dj_recv_queue_notification()
903 workitem.reports_supported = get_unaligned_le32( in logi_dj_recv_queue_notification()
906 workitem.reports_supported |= HIDPP; in logi_dj_recv_queue_notification()
908 workitem.type = WORKITEM_TYPE_UNPAIRED; in logi_dj_recv_queue_notification()
915 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_recv_queue_notification()
941 struct dj_workitem *workitem) in logi_hidpp_dev_conn_notif_equad() argument
946 workitem->type = WORKITEM_TYPE_PAIRED; in logi_hidpp_dev_conn_notif_equad()
947 workitem->device_type = hidpp_report->params[HIDPP_PARAM_DEVICE_INFO] & in logi_hidpp_dev_conn_notif_equad()
949 workitem->quad_id_msb = hidpp_report->params[HIDPP_PARAM_EQUAD_MSB]; in logi_hidpp_dev_conn_notif_equad()
950 workitem->quad_id_lsb = hidpp_report->params[HIDPP_PARAM_EQUAD_LSB]; in logi_hidpp_dev_conn_notif_equad()
951 switch (workitem->device_type) { in logi_hidpp_dev_conn_notif_equad()
953 workitem->reports_supported |= STD_KEYBOARD | MULTIMEDIA | in logi_hidpp_dev_conn_notif_equad()
956 id = (workitem->quad_id_msb << 8) | workitem->quad_id_lsb; in logi_hidpp_dev_conn_notif_equad()
960 workitem->reports_supported |= KBD_MOUSE; in logi_hidpp_dev_conn_notif_equad()
962 workitem->reports_supported |= STD_MOUSE; in logi_hidpp_dev_conn_notif_equad()
968 workitem->reports_supported |= STD_MOUSE | HIDPP | MULTIMEDIA; in logi_hidpp_dev_conn_notif_equad()
975 struct dj_workitem *workitem) in logi_hidpp_dev_conn_notif_27mhz() argument
977 workitem->type = WORKITEM_TYPE_PAIRED; in logi_hidpp_dev_conn_notif_27mhz()
978 workitem->quad_id_lsb = hidpp_report->params[HIDPP_PARAM_27MHZ_DEVID]; in logi_hidpp_dev_conn_notif_27mhz()
982 workitem->device_type = HIDPP_DEVICE_TYPE_MOUSE; in logi_hidpp_dev_conn_notif_27mhz()
983 workitem->reports_supported |= STD_MOUSE | HIDPP; in logi_hidpp_dev_conn_notif_27mhz()
994 workitem->device_type = HIDPP_DEVICE_TYPE_KEYBOARD; in logi_hidpp_dev_conn_notif_27mhz()
995 workitem->reports_supported |= STD_KEYBOARD | MULTIMEDIA | in logi_hidpp_dev_conn_notif_27mhz()
1010 struct dj_workitem workitem = { in logi_hidpp_recv_queue_notif() local
1019 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1024 workitem.reports_supported &= ~HIDPP; in logi_hidpp_recv_queue_notif()
1029 logi_hidpp_dev_conn_notif_27mhz(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1033 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1037 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1044 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1048 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1049 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
1056 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1060 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1061 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
1065 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1066 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
1071 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
1072 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
1078 workitem.reports_supported |= HIDPP; in logi_hidpp_recv_queue_notif()
1081 if (workitem.type == WORKITEM_TYPE_EMPTY) { in logi_hidpp_recv_queue_notif()
1094 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_hidpp_recv_queue_notif()
1646 struct dj_workitem workitem = { in logi_dj_hidpp_event() local
1650 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_hidpp_event()