/kernel/linux/linux-6.6/drivers/iio/ |
H A D | industrialio-gts-helper.c | 18 #include <linux/iio/iio-gts-helper.h> 115 * @gts: Gain time scale descriptor 126 int iio_gts_total_gain_to_scale(struct iio_gts *gts, int total_gain, in iio_gts_total_gain_to_scale() argument 131 tmp = gts->max_scale; in iio_gts_total_gain_to_scale() 141 * @gts: Gain time scale descriptor 145 static void iio_gts_purge_avail_scale_table(struct iio_gts *gts) in iio_gts_purge_avail_scale_table() argument 149 if (gts->per_time_avail_scale_tables) { in iio_gts_purge_avail_scale_table() 150 for (i = 0; i < gts->num_itime; i++) in iio_gts_purge_avail_scale_table() 151 kfree(gts->per_time_avail_scale_tables[i]); in iio_gts_purge_avail_scale_table() 153 kfree(gts in iio_gts_purge_avail_scale_table() 168 gain_to_scaletables(struct iio_gts *gts, int **gains, int **scales) gain_to_scaletables() argument 276 iio_gts_build_avail_scale_table(struct iio_gts *gts) iio_gts_build_avail_scale_table() argument 350 iio_gts_build_avail_time_table(struct iio_gts *gts) iio_gts_build_avail_time_table() argument 407 iio_gts_purge_avail_time_table(struct iio_gts *gts) iio_gts_purge_avail_time_table() argument 441 iio_gts_build_avail_tables(struct iio_gts *gts) iio_gts_build_avail_tables() argument 463 iio_gts_purge_avail_tables(struct iio_gts *gts) iio_gts_purge_avail_tables() argument 498 devm_iio_gts_build_avail_tables(struct device *dev, struct iio_gts *gts) devm_iio_gts_build_avail_tables() argument 526 iio_gts_sanity_check(struct iio_gts *gts) iio_gts_sanity_check() argument 560 iio_init_iio_gts(int max_scale_int, int max_scale_nano, const struct iio_gain_sel_pair *gain_tbl, int num_gain, const struct iio_itime_sel_mul *tim_tbl, int num_times, struct iio_gts *gts) iio_init_iio_gts() argument 606 devm_iio_init_iio_gts(struct device *dev, int max_scale_int, int max_scale_nano, const struct iio_gain_sel_pair *gain_tbl, int num_gain, const struct iio_itime_sel_mul *tim_tbl, int num_times, struct iio_gts *gts) devm_iio_init_iio_gts() argument 631 iio_gts_all_avail_scales(struct iio_gts *gts, const int **vals, int *type, int *length) iio_gts_all_avail_scales() argument 659 iio_gts_avail_scales_for_time(struct iio_gts *gts, int time, const int **vals, int *type, int *length) iio_gts_avail_scales_for_time() argument 688 iio_gts_avail_times(struct iio_gts *gts, const int **vals, int *type, int *length) iio_gts_avail_times() argument 710 iio_gts_find_sel_by_gain(struct iio_gts *gts, int gain) iio_gts_find_sel_by_gain() argument 730 iio_gts_find_gain_by_sel(struct iio_gts *gts, int sel) iio_gts_find_gain_by_sel() argument 748 iio_gts_get_min_gain(struct iio_gts *gts) iio_gts_get_min_gain() argument 781 iio_find_closest_gain_low(struct iio_gts *gts, int gain, bool *in_range) iio_find_closest_gain_low() argument 826 iio_gts_get_int_time_gain_multiplier_by_sel(struct iio_gts *gts, int sel) iio_gts_get_int_time_gain_multiplier_by_sel() argument 854 iio_gts_find_gain_for_scale_using_time(struct iio_gts *gts, int time_sel, int scale_int, int scale_nano, int *gain) iio_gts_find_gain_for_scale_using_time() argument 892 iio_gts_find_gain_sel_for_scale_using_time(struct iio_gts *gts, int time_sel, int scale_int, int scale_nano, int *gain_sel) iio_gts_find_gain_sel_for_scale_using_time() argument 913 iio_gts_get_total_gain(struct iio_gts *gts, int gain, int time) iio_gts_get_total_gain() argument 930 iio_gts_get_scale_linear(struct iio_gts *gts, int gain, int time, u64 *scale) iio_gts_get_scale_linear() argument 961 iio_gts_get_scale(struct iio_gts *gts, int gain, int time, int *scale_int, int *scale_nano) iio_gts_get_scale() argument 997 iio_gts_find_new_gain_sel_by_old_gain_time(struct iio_gts *gts, int old_gain, int old_time_sel, int new_time_sel, int *new_gain) iio_gts_find_new_gain_sel_by_old_gain_time() argument 1054 iio_gts_find_new_gain_by_old_gain_time(struct iio_gts *gts, int old_gain, int old_time, int new_time, int *new_gain) iio_gts_find_new_gain_by_old_gain_time() argument [all...] |
H A D | Makefile | 12 obj-$(CONFIG_IIO_GTS_HELPER) += industrialio-gts-helper.o
|
/kernel/linux/linux-5.10/drivers/misc/sgi-gru/ |
H A D | grumain.c | 109 gru_dbg(grudev, "gid %d, gts %p, gms %p, inuse 0x%x, cxt %d\n", in gru_reset_asid_limit() 187 struct gru_thread_state *gts) in reserve_gru_resources() 190 gts->ts_cbr_map = in reserve_gru_resources() 191 gru_reserve_cb_resources(gru, gts->ts_cbr_au_count, in reserve_gru_resources() 192 gts->ts_cbr_idx); in reserve_gru_resources() 193 gts->ts_dsr_map = in reserve_gru_resources() 194 gru_reserve_ds_resources(gru, gts->ts_dsr_au_count, NULL); in reserve_gru_resources() 198 struct gru_thread_state *gts) in free_gru_resources() 201 gru->gs_cbr_map |= gts->ts_cbr_map; in free_gru_resources() 202 gru->gs_dsr_map |= gts in free_gru_resources() 186 reserve_gru_resources(struct gru_state *gru, struct gru_thread_state *gts) reserve_gru_resources() argument 197 free_gru_resources(struct gru_state *gru, struct gru_thread_state *gts) free_gru_resources() argument 224 gru_load_mm_tracker(struct gru_state *gru, struct gru_thread_state *gts) gru_load_mm_tracker() argument 260 gru_unload_mm_tracker(struct gru_state *gru, struct gru_thread_state *gts) gru_unload_mm_tracker() argument 283 gts_drop(struct gru_thread_state *gts) gts_drop() argument 299 struct gru_thread_state *gts; gru_find_current_gts_nolock() local 314 struct gru_thread_state *gts; gru_alloc_gts() local 381 struct gru_thread_state *gts; gru_find_thread_state() local 398 struct gru_thread_state *gts, *ngts; gru_alloc_thread_state() local 424 gru_free_gru_context(struct gru_thread_state *gts) gru_free_gru_context() argument 542 gru_unload_context(struct gru_thread_state *gts, int savestate) gru_unload_context() argument 578 gru_load_context(struct gru_thread_state *gts) gru_load_context() argument 645 gru_update_cch(struct gru_thread_state *gts) gru_update_cch() argument 682 gru_retarget_intr(struct gru_thread_state *gts) gru_retarget_intr() argument 699 gru_check_chiplet_assignment(struct gru_state *gru, struct gru_thread_state *gts) gru_check_chiplet_assignment() argument 719 gru_check_context_placement(struct gru_thread_state *gts) gru_check_context_placement() argument 758 is_gts_stealable(struct gru_thread_state *gts, struct gru_blade_state *bs) is_gts_stealable() argument 767 gts_stolen(struct gru_thread_state *gts, struct gru_blade_state *bs) gts_stolen() argument 779 gru_steal_context(struct gru_thread_state *gts) gru_steal_context() argument 865 gru_assign_gru_context(struct gru_thread_state *gts) gru_assign_gru_context() argument 928 struct gru_thread_state *gts; gru_fault() local [all...] |
H A D | grufault.c | 59 * Find and lock the gts that contains the specified user vaddr. 62 * - *gts with the mmap_lock locked for read and the GTS locked. 70 struct gru_thread_state *gts = NULL; in gru_find_lock_gts() local 75 gts = gru_find_thread_state(vma, TSID(vaddr, vma)); in gru_find_lock_gts() 76 if (gts) in gru_find_lock_gts() 77 mutex_lock(>s->ts_ctxlock); in gru_find_lock_gts() 80 return gts; in gru_find_lock_gts() 87 struct gru_thread_state *gts = ERR_PTR(-EINVAL); in gru_alloc_locked_gts() local 94 gts = gru_alloc_thread_state(vma, TSID(vaddr, vma)); in gru_alloc_locked_gts() 95 if (IS_ERR(gts)) in gru_alloc_locked_gts() 109 gru_unlock_gts(struct gru_thread_state *gts) gru_unlock_gts() argument 252 gru_vtop(struct gru_thread_state *gts, unsigned long vaddr, int write, int atomic, unsigned long *gpa, int *pageshift) gru_vtop() argument 309 gru_preload_tlb(struct gru_state *gru, struct gru_thread_state *gts, int atomic, unsigned long fault_vaddr, int asid, int write, unsigned char tlb_preload_count, struct gru_tlb_fault_handle *tfh, struct gru_control_block_extended *cbe) gru_preload_tlb() argument 355 gru_try_dropin(struct gru_state *gru, struct gru_thread_state *gts, struct gru_tlb_fault_handle *tfh, struct gru_instruction_bits *cbk) gru_try_dropin() argument 523 struct gru_thread_state *gts; gru_intr() local 613 gru_user_dropin(struct gru_thread_state *gts, struct gru_tlb_fault_handle *tfh, void *cb) gru_user_dropin() argument 640 struct gru_thread_state *gts; gru_handle_user_call_os() local 695 struct gru_thread_state *gts; gru_get_exception_detail() local 744 struct gru_thread_state *gts; gru_unload_all_contexts() local 769 struct gru_thread_state *gts; gru_user_unload_context() local 798 struct gru_thread_state *gts; gru_user_flush_tlb() local 825 struct gru_thread_state *gts; gru_get_gseg_statistics() local 856 struct gru_thread_state *gts; gru_set_context_option() local [all...] |
H A D | grutables.h | 105 * |--> vma -> vdata ---> gts--->| GSEG1 (thread1) 107 * | +-> gts--->| GSEG1 (thread2) 109 * |--> vma -> vdata ---> gts--->| GSEG2 (thread2) 122 * vma -> vdata ->gts 126 * vma -> vdata -> gts 323 struct list_head vd_head; /* head of linked list of gts */ 385 #define UGRUADDR(gts) ((gts)->ts_vma->vm_start + \ 386 (gts)->ts_tsid * GRU_GSEG_PAGESIZE) 493 #define thread_cbr_number(gts, 593 is_kernel_context(struct gru_thread_state *gts) is_kernel_context() argument [all...] |
H A D | grukdump.c | 114 struct gru_thread_state *gts; in gru_dump_context() local 140 gts = gru->gs_gts[ctxnum]; in gru_dump_context() 141 if (gts && gts->ts_vma) { in gru_dump_context() 142 hdr.pid = gts->ts_tgid_owner; in gru_dump_context() 143 hdr.vaddr = gts->ts_vma->vm_start; in gru_dump_context()
|
H A D | grufile.c | 64 struct gru_thread_state *gts; in gru_vma_close() local 75 gts = in gru_vma_close() 77 list_del(>s->ts_next); in gru_vma_close() 78 mutex_lock(>s->ts_ctxlock); in gru_vma_close() 79 if (gts->ts_gru) in gru_vma_close() 80 gru_unload_context(gts, 0); in gru_vma_close() 81 mutex_unlock(>s->ts_ctxlock); in gru_vma_close() 82 gts_drop(gts); in gru_vma_close()
|
/kernel/linux/linux-6.6/drivers/misc/sgi-gru/ |
H A D | grumain.c | 109 gru_dbg(grudev, "gid %d, gts %p, gms %p, inuse 0x%x, cxt %d\n", in gru_reset_asid_limit() 187 struct gru_thread_state *gts) in reserve_gru_resources() 190 gts->ts_cbr_map = in reserve_gru_resources() 191 gru_reserve_cb_resources(gru, gts->ts_cbr_au_count, in reserve_gru_resources() 192 gts->ts_cbr_idx); in reserve_gru_resources() 193 gts->ts_dsr_map = in reserve_gru_resources() 194 gru_reserve_ds_resources(gru, gts->ts_dsr_au_count, NULL); in reserve_gru_resources() 198 struct gru_thread_state *gts) in free_gru_resources() 201 gru->gs_cbr_map |= gts->ts_cbr_map; in free_gru_resources() 202 gru->gs_dsr_map |= gts in free_gru_resources() 186 reserve_gru_resources(struct gru_state *gru, struct gru_thread_state *gts) reserve_gru_resources() argument 197 free_gru_resources(struct gru_state *gru, struct gru_thread_state *gts) free_gru_resources() argument 224 gru_load_mm_tracker(struct gru_state *gru, struct gru_thread_state *gts) gru_load_mm_tracker() argument 260 gru_unload_mm_tracker(struct gru_state *gru, struct gru_thread_state *gts) gru_unload_mm_tracker() argument 283 gts_drop(struct gru_thread_state *gts) gts_drop() argument 299 struct gru_thread_state *gts; gru_find_current_gts_nolock() local 314 struct gru_thread_state *gts; gru_alloc_gts() local 381 struct gru_thread_state *gts; gru_find_thread_state() local 398 struct gru_thread_state *gts, *ngts; gru_alloc_thread_state() local 424 gru_free_gru_context(struct gru_thread_state *gts) gru_free_gru_context() argument 542 gru_unload_context(struct gru_thread_state *gts, int savestate) gru_unload_context() argument 578 gru_load_context(struct gru_thread_state *gts) gru_load_context() argument 645 gru_update_cch(struct gru_thread_state *gts) gru_update_cch() argument 682 gru_retarget_intr(struct gru_thread_state *gts) gru_retarget_intr() argument 699 gru_check_chiplet_assignment(struct gru_state *gru, struct gru_thread_state *gts) gru_check_chiplet_assignment() argument 719 gru_check_context_placement(struct gru_thread_state *gts) gru_check_context_placement() argument 758 is_gts_stealable(struct gru_thread_state *gts, struct gru_blade_state *bs) is_gts_stealable() argument 767 gts_stolen(struct gru_thread_state *gts, struct gru_blade_state *bs) gts_stolen() argument 779 gru_steal_context(struct gru_thread_state *gts) gru_steal_context() argument 865 gru_assign_gru_context(struct gru_thread_state *gts) gru_assign_gru_context() argument 928 struct gru_thread_state *gts; gru_fault() local [all...] |
H A D | grufault.c | 59 * Find and lock the gts that contains the specified user vaddr. 62 * - *gts with the mmap_lock locked for read and the GTS locked. 70 struct gru_thread_state *gts = NULL; in gru_find_lock_gts() local 75 gts = gru_find_thread_state(vma, TSID(vaddr, vma)); in gru_find_lock_gts() 76 if (gts) in gru_find_lock_gts() 77 mutex_lock(>s->ts_ctxlock); in gru_find_lock_gts() 80 return gts; in gru_find_lock_gts() 87 struct gru_thread_state *gts = ERR_PTR(-EINVAL); in gru_alloc_locked_gts() local 94 gts = gru_alloc_thread_state(vma, TSID(vaddr, vma)); in gru_alloc_locked_gts() 95 if (IS_ERR(gts)) in gru_alloc_locked_gts() 109 gru_unlock_gts(struct gru_thread_state *gts) gru_unlock_gts() argument 252 gru_vtop(struct gru_thread_state *gts, unsigned long vaddr, int write, int atomic, unsigned long *gpa, int *pageshift) gru_vtop() argument 309 gru_preload_tlb(struct gru_state *gru, struct gru_thread_state *gts, int atomic, unsigned long fault_vaddr, int asid, int write, unsigned char tlb_preload_count, struct gru_tlb_fault_handle *tfh, struct gru_control_block_extended *cbe) gru_preload_tlb() argument 355 gru_try_dropin(struct gru_state *gru, struct gru_thread_state *gts, struct gru_tlb_fault_handle *tfh, struct gru_instruction_bits *cbk) gru_try_dropin() argument 523 struct gru_thread_state *gts; gru_intr() local 613 gru_user_dropin(struct gru_thread_state *gts, struct gru_tlb_fault_handle *tfh, void *cb) gru_user_dropin() argument 640 struct gru_thread_state *gts; gru_handle_user_call_os() local 695 struct gru_thread_state *gts; gru_get_exception_detail() local 744 struct gru_thread_state *gts; gru_unload_all_contexts() local 769 struct gru_thread_state *gts; gru_user_unload_context() local 798 struct gru_thread_state *gts; gru_user_flush_tlb() local 825 struct gru_thread_state *gts; gru_get_gseg_statistics() local 856 struct gru_thread_state *gts; gru_set_context_option() local [all...] |
H A D | grutables.h | 105 * |--> vma -> vdata ---> gts--->| GSEG1 (thread1) 107 * | +-> gts--->| GSEG1 (thread2) 109 * |--> vma -> vdata ---> gts--->| GSEG2 (thread2) 122 * vma -> vdata ->gts 126 * vma -> vdata -> gts 324 struct list_head vd_head; /* head of linked list of gts */ 386 #define UGRUADDR(gts) ((gts)->ts_vma->vm_start + \ 387 (gts)->ts_tsid * GRU_GSEG_PAGESIZE) 494 #define thread_cbr_number(gts, 588 is_kernel_context(struct gru_thread_state *gts) is_kernel_context() argument [all...] |
H A D | grukdump.c | 114 struct gru_thread_state *gts; in gru_dump_context() local 140 gts = gru->gs_gts[ctxnum]; in gru_dump_context() 141 if (gts && gts->ts_vma) { in gru_dump_context() 142 hdr.pid = gts->ts_tgid_owner; in gru_dump_context() 143 hdr.vaddr = gts->ts_vma->vm_start; in gru_dump_context()
|
H A D | grufile.c | 64 struct gru_thread_state *gts; in gru_vma_close() local 75 gts = in gru_vma_close() 77 list_del(>s->ts_next); in gru_vma_close() 78 mutex_lock(>s->ts_ctxlock); in gru_vma_close() 79 if (gts->ts_gru) in gru_vma_close() 80 gru_unload_context(gts, 0); in gru_vma_close() 81 mutex_unlock(>s->ts_ctxlock); in gru_vma_close() 82 gts_drop(gts); in gru_vma_close()
|
/kernel/linux/linux-6.6/include/linux/iio/ |
H A D | iio-gts-helper.h | 86 iio_gts_find_itime_by_time(struct iio_gts *gts, int time) in iio_gts_find_itime_by_time() argument 90 if (!gts->num_itime) in iio_gts_find_itime_by_time() 93 for (i = 0; i < gts->num_itime; i++) in iio_gts_find_itime_by_time() 94 if (gts->itime_table[i].time_us == time) in iio_gts_find_itime_by_time() 95 return >s->itime_table[i]; in iio_gts_find_itime_by_time() 101 iio_gts_find_itime_by_sel(struct iio_gts *gts, int sel) in iio_gts_find_itime_by_sel() argument 105 for (i = 0; i < gts->num_itime; i++) in iio_gts_find_itime_by_sel() 106 if (gts->itime_table[i].sel == sel) in iio_gts_find_itime_by_sel() 107 return >s->itime_table[i]; in iio_gts_find_itime_by_sel() 115 struct iio_gts *gts); 124 iio_gts_find_int_time_by_sel(struct iio_gts *gts, int sel) iio_gts_find_int_time_by_sel() argument 143 iio_gts_find_sel_by_int_time(struct iio_gts *gts, int time) iio_gts_find_sel_by_int_time() argument 161 iio_gts_valid_time(struct iio_gts *gts, int time_us) iio_gts_valid_time() argument 175 iio_gts_valid_gain(struct iio_gts *gts, int gain) iio_gts_valid_gain() argument [all...] |
/kernel/linux/linux-6.6/drivers/iio/light/ |
H A D | rohm-bu27008.c | 22 #include <linux/iio/iio-gts-helper.h> 369 struct iio_gts gts; member 760 static int bu27008_get_gain(struct bu27008_data *data, struct iio_gts *gts, int *gain) in bu27008_get_gain() argument 768 ret = iio_gts_find_gain_by_sel(gts, sel); in bu27008_get_gain() 783 ret = iio_gts_find_sel_by_gain(&data->gts, gain); in bu27008_set_gain() 822 return iio_gts_find_int_time_by_sel(&data->gts, sel); in bu27008_get_int_time_us() 828 struct iio_gts *gts; in _bu27008_get_scale() local 832 gts = &data->gts_ir; in _bu27008_get_scale() 834 gts = &data->gts; in _bu27008_get_scale() [all...] |
H A D | rohm-bu27034.c | 21 #include <linux/iio/iio-gts-helper.h> 216 struct iio_gts gts; member 329 ret = iio_gts_find_gain_by_sel(&data->gts, sel); in bu27034_get_gain() 350 return iio_gts_find_int_time_by_sel(&data->gts, in bu27034_get_int_time() 367 return iio_gts_get_scale(&data->gts, gain, ret, val, val2); in _bu27034_get_scale() 451 ret = iio_gts_find_sel_by_gain(&data->gts, gain); in bu27034_set_gain() 463 ret = iio_gts_find_sel_by_int_time(&data->gts, time); in bu27034_set_int_time() 491 if (!iio_gts_valid_time(&data->gts, time_us)) { in bu27034_try_set_int_time() 509 ret = iio_gts_find_new_gain_by_old_gain_time(&data->gts, in bu27034_try_set_int_time() 531 ret = iio_find_closest_gain_low(&data->gts, in bu27034_try_set_int_time() [all...] |
/kernel/linux/linux-5.10/drivers/infiniband/hw/cxgb4/ |
H A D | t4.h | 696 void __iomem *gts; member 724 writel(val | INGRESSQID_V(cq->cqid), cq->gts); in write_gts()
|
H A D | cq.c | 160 cq->gts = rdev->lldi.gts_reg; in create_cq()
|
/kernel/linux/linux-6.6/drivers/infiniband/hw/cxgb4/ |
H A D | t4.h | 681 void __iomem *gts; member 709 writel(val | INGRESSQID_V(cq->cqid), cq->gts); in write_gts()
|
H A D | cq.c | 160 cq->gts = rdev->lldi.gts_reg; in create_cq()
|