Lines Matching refs:ctx

39                                  struct sensor_dev_ctx **ctx)  in get_ctx_if_valid_call()  argument
41 fwk_assert(ctx != NULL); in get_ctx_if_valid_call()
47 *ctx = ctx_table + fwk_id_get_element_idx(id); in get_ctx_if_valid_call()
75 struct sensor_trip_point_ctx *ctx, in trip_point_evaluate() argument
81 threshold = ctx->params.tp_value; in trip_point_evaluate()
84 switch (ctx->params.mode) { in trip_point_evaluate()
86 if (!ctx->above_threshold && value > threshold) in trip_point_evaluate()
91 if (ctx->above_threshold && (value <= threshold)) in trip_point_evaluate()
96 if ((!ctx->above_threshold && value > threshold) || in trip_point_evaluate()
97 (ctx->above_threshold && value <= threshold)) in trip_point_evaluate()
105 ctx->above_threshold = new_above_threshold; in trip_point_evaluate()
113 struct sensor_dev_ctx *ctx; in trip_point_process() local
117 ctx = ctx_table + fwk_id_get_element_idx(id); in trip_point_process()
119 if (!ctx->trip_point_ctx->enabled) { in trip_point_process()
123 for (i = 0; i < ctx->config->trip_point.count; i++) { in trip_point_process()
124 if (trip_point_evaluate(&(ctx->trip_point_ctx[i]), data->value)) { in trip_point_process()
128 id, ctx->trip_point_ctx->above_threshold, i); in trip_point_process()
140 struct sensor_dev_ctx *ctx; in get_data() local
145 status = get_ctx_if_valid_call(id, data, &ctx); in get_data()
150 if (ctx->concurrency_readings.dequeuing) { in get_data()
154 sensor_data_copy(data, &ctx->last_read); in get_data()
155 return ctx->last_read.status; in get_data()
158 if (ctx->concurrency_readings.pending_requests == 0) { in get_data()
159 status = ctx->driver_api->get_value( in get_data()
160 ctx->config->driver_id, &ctx->last_read.value); in get_data()
161 ctx->last_read.status = status; in get_data()
164 trip_point_process(id, &ctx->last_read); in get_data()
167 ctx->last_read.timestamp = sensor_get_timestamp(id); in get_data()
169 sensor_data_copy(data, &ctx->last_read); in get_data()
177 if (ctx->concurrency_readings.pending_requests >= in get_data()
196 ctx->concurrency_readings.pending_requests++; in get_data()
208 struct sensor_dev_ctx *ctx; in get_info() local
210 status = get_ctx_if_valid_call(id, info, &ctx); in get_info()
215 status = ctx->driver_api->get_info(ctx->config->driver_id, &info->hal_info); in get_info()
219 info->trip_point = ctx->config->trip_point; in get_info()
230 if (ctx->axis_count > 1) { in get_info()
232 info->multi_axis.axis_count = ctx->axis_count; in get_info()
244 struct sensor_dev_ctx *ctx; in sensor_get_trip_point() local
248 ctx = ctx_table + fwk_id_get_element_idx(id); in sensor_get_trip_point()
250 if (trip_point_idx >= ctx->config->trip_point.count) { in sensor_get_trip_point()
254 *params = ctx->trip_point_ctx[trip_point_idx].params; in sensor_get_trip_point()
264 struct sensor_dev_ctx *ctx; in sensor_set_trip_point() local
270 ctx = ctx_table + fwk_id_get_element_idx(id); in sensor_set_trip_point()
272 if (trip_point_idx >= ctx->config->trip_point.count) { in sensor_set_trip_point()
276 ctx->trip_point_ctx[trip_point_idx].params = *params; in sensor_set_trip_point()
279 ctx->trip_point_ctx[trip_point_idx].above_threshold = false; in sensor_set_trip_point()
305 struct sensor_dev_ctx *ctx; in reading_complete() local
311 ctx = &ctx_table[fwk_id_get_element_idx(dev_id)]; in reading_complete()
314 .source_id = ctx->config->driver_id, in reading_complete()
319 ctx->last_read.status = response->status; in reading_complete()
322 ctx->last_read.timestamp = sensor_get_timestamp(dev_id); in reading_complete()
325 if (ctx->axis_count > 1) { in reading_complete()
327 ctx->last_read.axis_value, in reading_complete()
329 sizeof(uint64_t) * ctx->axis_count); in reading_complete()
331 ctx->last_read.value = response->value; in reading_complete()
334 ctx->last_read.value = response->value; in reading_complete()
338 trip_point_process(dev_id, &ctx->last_read); in reading_complete()
341 ctx->last_read.status = FWK_E_DEVICE; in reading_complete()
344 ctx->concurrency_readings.dequeuing = true; in reading_complete()
376 struct sensor_dev_ctx *ctx; in sensor_dev_init() local
379 ctx = ctx_table + fwk_id_get_element_idx(element_id); in sensor_dev_init()
384 ctx->config = config; in sensor_dev_init()
387 ctx->trip_point_ctx = fwk_mm_calloc( in sensor_dev_init()
389 ctx->trip_point_ctx->enabled = true; in sensor_dev_init()
391 ctx->trip_point_ctx = NULL; in sensor_dev_init()
395 ctx->last_read.status = FWK_E_DEVICE; in sensor_dev_init()
398 ctx->axis_count = 1; in sensor_dev_init()
401 return sensor_timestamp_dev_init(element_id, ctx); in sensor_dev_init()
409 struct sensor_dev_ctx *ctx; in sensor_bind() local
438 ctx = ctx_table + fwk_id_get_element_idx(id); in sensor_bind()
440 status = fwk_module_bind(ctx->config->driver_id, in sensor_bind()
441 ctx->config->driver_api_id, in sensor_bind()
452 ctx->driver_api = driver; in sensor_bind()
477 struct sensor_dev_ctx *ctx; in sensor_process_bind_request() local
491 ctx = ctx_table + fwk_id_get_element_idx(target_id); in sensor_process_bind_request()
492 driver_id = ctx->config->driver_id; in sensor_process_bind_request()
520 struct sensor_dev_ctx *ctx; in process_pending_requests() local
527 ctx = &ctx_table[fwk_id_get_element_idx(dev_id)]; in process_pending_requests()
529 for (; !list_is_empty && ctx->concurrency_readings.pending_requests > 0; in process_pending_requests()
530 ctx->concurrency_readings.pending_requests--) { in process_pending_requests()
536 sensor_data_copy(response_params->sensor_data, &ctx->last_read); in process_pending_requests()
549 ctx->concurrency_readings.pending_requests = 0; in process_pending_requests()
550 ctx->concurrency_readings.dequeuing = false; in process_pending_requests()
559 struct sensor_dev_ctx *ctx; in sensor_process_event() local
569 ctx = ctx_table + fwk_id_get_element_idx(event->target_id); in sensor_process_event()
575 if (ctx->concurrency_readings.pending_requests == 1) { in sensor_process_event()
580 ctx->cookie = event->cookie; in sensor_process_event()
588 event->target_id, ctx->cookie, &read_req_event); in sensor_process_event()
595 &ctx->last_read); in sensor_process_event()