Lines Matching refs:workitem

632 					      struct dj_workitem *workitem)  in logi_dj_recv_destroy_djhid_device()  argument
639 dj_dev = djrcv_dev->paired_dj_devices[workitem->device_index]; in logi_dj_recv_destroy_djhid_device()
640 djrcv_dev->paired_dj_devices[workitem->device_index] = NULL; in logi_dj_recv_destroy_djhid_device()
653 struct dj_workitem *workitem) in logi_dj_recv_add_djhid_device() argument
659 u8 device_index = workitem->device_index; in logi_dj_recv_add_djhid_device()
685 dj_hiddev->product = (workitem->quad_id_msb << 8) | in logi_dj_recv_add_djhid_device()
686 workitem->quad_id_lsb; in logi_dj_recv_add_djhid_device()
687 if (workitem->device_type) { in logi_dj_recv_add_djhid_device()
690 switch (workitem->device_type) { in logi_dj_recv_add_djhid_device()
724 dj_dev->reports_supported = workitem->reports_supported; in logi_dj_recv_add_djhid_device()
755 struct dj_workitem workitem; in delayedwork_callback() local
775 count = kfifo_out(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in delayedwork_callback()
777 if (count != sizeof(workitem)) { in delayedwork_callback()
787 switch (workitem.type) { in delayedwork_callback()
789 logi_dj_recv_add_djhid_device(djrcv_dev, &workitem); in delayedwork_callback()
792 logi_dj_recv_destroy_djhid_device(djrcv_dev, &workitem); in delayedwork_callback()
821 struct dj_workitem workitem = { .type = WORKITEM_TYPE_UNKNOWN }; in logi_dj_recv_queue_unknown_work() local
827 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_recv_queue_unknown_work()
835 struct dj_workitem workitem = { in logi_dj_recv_queue_notification() local
841 workitem.type = WORKITEM_TYPE_PAIRED; in logi_dj_recv_queue_notification()
844 workitem.type = WORKITEM_TYPE_EMPTY; in logi_dj_recv_queue_notification()
849 workitem.quad_id_msb = in logi_dj_recv_queue_notification()
851 workitem.quad_id_lsb = in logi_dj_recv_queue_notification()
853 workitem.reports_supported = get_unaligned_le32( in logi_dj_recv_queue_notification()
856 workitem.reports_supported |= HIDPP; in logi_dj_recv_queue_notification()
858 workitem.type = WORKITEM_TYPE_UNPAIRED; in logi_dj_recv_queue_notification()
865 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_recv_queue_notification()
871 struct dj_workitem *workitem) in logi_hidpp_dev_conn_notif_equad() argument
875 workitem->type = WORKITEM_TYPE_PAIRED; in logi_hidpp_dev_conn_notif_equad()
876 workitem->device_type = hidpp_report->params[HIDPP_PARAM_DEVICE_INFO] & in logi_hidpp_dev_conn_notif_equad()
878 workitem->quad_id_msb = hidpp_report->params[HIDPP_PARAM_EQUAD_MSB]; in logi_hidpp_dev_conn_notif_equad()
879 workitem->quad_id_lsb = hidpp_report->params[HIDPP_PARAM_EQUAD_LSB]; in logi_hidpp_dev_conn_notif_equad()
880 switch (workitem->device_type) { in logi_hidpp_dev_conn_notif_equad()
882 workitem->reports_supported |= STD_KEYBOARD | MULTIMEDIA | in logi_hidpp_dev_conn_notif_equad()
887 workitem->reports_supported |= STD_MOUSE | HIDPP; in logi_hidpp_dev_conn_notif_equad()
889 workitem->reports_supported |= MULTIMEDIA; in logi_hidpp_dev_conn_notif_equad()
896 struct dj_workitem *workitem) in logi_hidpp_dev_conn_notif_27mhz() argument
898 workitem->type = WORKITEM_TYPE_PAIRED; in logi_hidpp_dev_conn_notif_27mhz()
899 workitem->quad_id_lsb = hidpp_report->params[HIDPP_PARAM_27MHZ_DEVID]; in logi_hidpp_dev_conn_notif_27mhz()
903 workitem->device_type = HIDPP_DEVICE_TYPE_MOUSE; in logi_hidpp_dev_conn_notif_27mhz()
904 workitem->reports_supported |= STD_MOUSE | HIDPP; in logi_hidpp_dev_conn_notif_27mhz()
908 workitem->device_type = HIDPP_DEVICE_TYPE_KEYBOARD; in logi_hidpp_dev_conn_notif_27mhz()
909 workitem->reports_supported |= STD_KEYBOARD | MULTIMEDIA | in logi_hidpp_dev_conn_notif_27mhz()
924 struct dj_workitem workitem = { in logi_hidpp_recv_queue_notif() local
933 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
938 workitem.reports_supported &= ~HIDPP; in logi_hidpp_recv_queue_notif()
943 logi_hidpp_dev_conn_notif_27mhz(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
947 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
951 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
958 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
962 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
969 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
973 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
974 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
978 logi_hidpp_dev_conn_notif_equad(hdev, hidpp_report, &workitem); in logi_hidpp_recv_queue_notif()
979 workitem.reports_supported |= STD_KEYBOARD; in logi_hidpp_recv_queue_notif()
983 if (workitem.type == WORKITEM_TYPE_EMPTY) { in logi_hidpp_recv_queue_notif()
996 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_hidpp_recv_queue_notif()
1526 struct dj_workitem workitem = { in logi_dj_hidpp_event() local
1530 kfifo_in(&djrcv_dev->notif_fifo, &workitem, sizeof(workitem)); in logi_dj_hidpp_event()