Lines Matching full:dsb

38 			drvdata->dsb->edge_ctrl[tpdm_attr->idx]);  in tpdm_simple_dataset_show()
43 drvdata->dsb->edge_ctrl_mask[tpdm_attr->idx]); in tpdm_simple_dataset_show()
48 drvdata->dsb->trig_patt[tpdm_attr->idx]); in tpdm_simple_dataset_show()
53 drvdata->dsb->trig_patt_mask[tpdm_attr->idx]); in tpdm_simple_dataset_show()
58 drvdata->dsb->patt_val[tpdm_attr->idx]); in tpdm_simple_dataset_show()
63 drvdata->dsb->patt_mask[tpdm_attr->idx]); in tpdm_simple_dataset_show()
68 drvdata->dsb->msr[tpdm_attr->idx]); in tpdm_simple_dataset_show()
93 drvdata->dsb->trig_patt[tpdm_attr->idx] = val; in tpdm_simple_dataset_store()
99 drvdata->dsb->trig_patt_mask[tpdm_attr->idx] = val; in tpdm_simple_dataset_store()
105 drvdata->dsb->patt_val[tpdm_attr->idx] = val; in tpdm_simple_dataset_store()
111 drvdata->dsb->patt_mask[tpdm_attr->idx] = val; in tpdm_simple_dataset_store()
117 drvdata->dsb->msr[tpdm_attr->idx] = val; in tpdm_simple_dataset_store()
165 memset(drvdata->dsb, 0, sizeof(struct dsb_dataset)); in tpdm_reset_datasets()
167 drvdata->dsb->trig_ts = true; in tpdm_reset_datasets()
168 drvdata->dsb->trig_type = false; in tpdm_reset_datasets()
177 mode = TPDM_DSB_MODE_TEST(drvdata->dsb->mode); in set_dsb_mode()
182 mode = TPDM_DSB_MODE_HPBYTESEL(drvdata->dsb->mode); in set_dsb_mode()
187 if (drvdata->dsb->mode & TPDM_DSB_MODE_PERF) in set_dsb_mode()
204 if (drvdata->dsb->patt_ts) { in set_dsb_tier()
206 if (drvdata->dsb->patt_type) in set_dsb_tier()
215 if (drvdata->dsb->trig_ts) in set_dsb_tier()
228 writel_relaxed(drvdata->dsb->msr[i], in set_dsb_msr()
237 writel_relaxed(drvdata->dsb->edge_ctrl[i], in tpdm_enable_dsb()
240 writel_relaxed(drvdata->dsb->edge_ctrl_mask[i], in tpdm_enable_dsb()
243 writel_relaxed(drvdata->dsb->patt_val[i], in tpdm_enable_dsb()
245 writel_relaxed(drvdata->dsb->patt_mask[i], in tpdm_enable_dsb()
247 writel_relaxed(drvdata->dsb->trig_patt[i], in tpdm_enable_dsb()
249 writel_relaxed(drvdata->dsb->trig_patt_mask[i], in tpdm_enable_dsb()
258 /* Set the mode of DSB dataset */ in tpdm_enable_dsb()
261 if (drvdata->dsb->trig_type) in tpdm_enable_dsb()
265 /* Set the enable bit of DSB control register to 1 */ in tpdm_enable_dsb()
275 * Bit(DSB). This function will initialize the configuration according
311 /* Set the enable bit of DSB control register to 0 */ in tpdm_disable_dsb()
363 if (tpdm_has_dsb_dataset(drvdata) && (!drvdata->dsb)) { in tpdm_datasets_setup()
364 drvdata->dsb = devm_kzalloc(drvdata->dev, in tpdm_datasets_setup()
365 sizeof(*drvdata->dsb), GFP_KERNEL); in tpdm_datasets_setup()
366 if (!drvdata->dsb) in tpdm_datasets_setup()
450 return sysfs_emit(buf, "%x\n", drvdata->dsb->mode); in dsb_mode_show()
466 drvdata->dsb->mode = val & TPDM_DSB_MODE_MASK; in dsb_mode_store()
479 (unsigned int)drvdata->dsb->edge_ctrl_idx); in ctrl_idx_show()
501 drvdata->dsb->edge_ctrl_idx = val; in ctrl_idx_store()
530 * There are 2 bit per DSB Edge Control line. in ctrl_val_store()
533 reg = EDCR_TO_WORD_IDX(drvdata->dsb->edge_ctrl_idx); in ctrl_val_store()
534 val = drvdata->dsb->edge_ctrl[reg]; in ctrl_val_store()
535 val &= ~EDCR_TO_WORD_MASK(drvdata->dsb->edge_ctrl_idx); in ctrl_val_store()
536 val |= EDCR_TO_WORD_VAL(edge_ctrl, drvdata->dsb->edge_ctrl_idx); in ctrl_val_store()
537 drvdata->dsb->edge_ctrl[reg] = val; in ctrl_val_store()
559 * There is 1 bit per DSB Edge Control Mark line. in ctrl_mask_store()
562 reg = EDCMR_TO_WORD_IDX(drvdata->dsb->edge_ctrl_idx); in ctrl_mask_store()
563 set = drvdata->dsb->edge_ctrl_mask[reg]; in ctrl_mask_store()
565 set |= BIT(EDCMR_TO_WORD_SHIFT(drvdata->dsb->edge_ctrl_idx)); in ctrl_mask_store()
567 set &= ~BIT(EDCMR_TO_WORD_SHIFT(drvdata->dsb->edge_ctrl_idx)); in ctrl_mask_store()
568 drvdata->dsb->edge_ctrl_mask[reg] = set; in ctrl_mask_store()
582 (unsigned int)drvdata->dsb->patt_ts); in enable_ts_show()
586 * value 1: Enable/Disable DSB pattern timestamp
600 drvdata->dsb->patt_ts = !!val; in enable_ts_store()
613 (unsigned int)drvdata->dsb->patt_type); in set_type_show()
617 * value 1: Set DSB pattern type
630 drvdata->dsb->patt_type = val; in set_type_store()
642 (unsigned int)drvdata->dsb->trig_type); in dsb_trig_type_show()
663 drvdata->dsb->trig_type = true; in dsb_trig_type_store()
665 drvdata->dsb->trig_type = false; in dsb_trig_type_store()
678 (unsigned int)drvdata->dsb->trig_ts); in dsb_trig_ts_show()
699 drvdata->dsb->trig_ts = true; in dsb_trig_ts_store()
701 drvdata->dsb->trig_ts = false; in dsb_trig_ts_store()
895 "qcom,dsb-msrs-num", &drvdata->dsb_msr_num); in tpdm_probe()