Lines Matching refs:desc

142  * hte_ts_put() - Release and disable timestamp for the given desc.
144 * @desc: timestamp descriptor.
150 int hte_ts_put(struct hte_ts_desc *desc)
157 if (!desc)
160 ei = desc->hte_data;
172 desc->attr.line_id);
180 desc->attr.line_id);
188 desc->hte_data = NULL;
193 ret = gdev->chip->ops->release(gdev->chip, desc, ei->xlated_id);
196 desc->attr.line_id);
202 kfree_const(desc->attr.name);
219 desc->hte_data = NULL;
231 dev_dbg(gdev->sdev, "release id: %d\n", desc->attr.line_id);
237 static int hte_ts_dis_en_common(struct hte_ts_desc *desc, bool en)
245 if (!desc)
248 ei = desc->hte_data;
254 ts_id = desc->attr.line_id;
310 * The API does not release any resources associated with desc.
312 * @desc: ts descriptor, this is the same as returned by the request API.
317 int hte_disable_ts(struct hte_ts_desc *desc)
319 return hte_ts_dis_en_common(desc, false);
326 * @desc: ts descriptor, this is the same as returned by the request API.
331 int hte_enable_ts(struct hte_ts_desc *desc)
333 return hte_ts_dis_en_common(desc, true);
352 static int __hte_req_ts(struct hte_ts_desc *desc, hte_ts_cb_t cb,
357 struct hte_ts_info *ei = desc->hte_data;
369 desc->attr.line_id);
379 ret = gdev->chip->ops->request(gdev->chip, desc, ei->xlated_id);
390 if (desc->attr.name)
393 ei->line_name = kasprintf(GFP_KERNEL, "ts_%u", desc->attr.line_id);
395 hte_ts_dbgfs_init(desc->attr.name == NULL ?
396 ei->line_name : desc->attr.name, ei);
400 desc->attr.line_id, ei->xlated_id);
411 struct hte_ts_desc *desc, u32 x_id)
419 desc->attr.line_id);
425 desc->hte_data = ei;
452 static struct hte_device *hte_find_dev_from_linedata(struct hte_ts_desc *desc)
460 if (!gdev->chip->match_from_linedata(gdev->chip, desc))
496 static inline struct hte_device *hte_get_dev(struct hte_ts_desc *desc)
498 return hte_find_dev_from_linedata(desc);
502 struct hte_ts_desc *desc,
518 desc->attr.name = NULL;
521 index, &desc->attr.name);
527 if (desc->attr.name) {
528 temp = skip_spaces(desc->attr.name);
530 desc->attr.name = NULL;
548 * hte_ts_get() - The function to initialize and obtain HTE desc.
555 * @desc: Pre-allocated timestamp descriptor.
562 int hte_ts_get(struct device *dev, struct hte_ts_desc *desc, int index)
572 if (!desc)
578 gdev = hte_of_get_dev(dev, desc, index, &args, &free_name);
580 gdev = hte_get_dev(desc);
602 desc, &xlated_id);
607 ret = gdev->chip->xlate_plat(gdev->chip, desc,
616 ret = hte_bind_ts_info_locked(ei, desc, xlated_id);
642 * @desc: Pre-allocated and initialized timestamp descriptor.
651 int hte_request_ts_ns(struct hte_ts_desc *desc, hte_ts_cb_t cb,
657 if (!desc || !desc->hte_data || !cb)
660 ei = desc->hte_data;
664 ret = __hte_req_ts(desc, cb, tcb, data);
667 "failed to request id: %d\n", desc->attr.line_id);
684 * @desc: Pre-allocated and initialized timestamp descriptor.
693 int devm_hte_request_ts_ns(struct device *dev, struct hte_ts_desc *desc,
702 err = hte_request_ts_ns(desc, cb, tcb, data);
706 err = devm_add_action_or_reset(dev, __devm_hte_release_ts, desc);
721 * @desc: Pre-allocated timestamp descriptor.
730 int hte_init_line_attr(struct hte_ts_desc *desc, u32 line_id,
733 if (!desc)
736 memset(&desc->attr, 0, sizeof(desc->attr));
738 desc->attr.edge_flags = edge_flags;
739 desc->attr.line_id = line_id;
740 desc->attr.line_data = data;
747 desc->attr.name = name;
757 * @desc: ts descriptor, same as returned from request API.
763 int hte_get_clk_src_info(const struct hte_ts_desc *desc,
769 if (!desc || !desc->hte_data || !ci) {
774 ei = desc->hte_data;