Symbol: drvdata
drivers/acpi/fan_hwmon.c
30
static umode_t acpi_fan_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/acpi/fan_hwmon.c
33
const struct acpi_fan *fan = drvdata;
drivers/acpi/platform_profile.c
551
void *drvdata,
drivers/acpi/platform_profile.c
567
err = ops->probe(drvdata, pprof->choices);
drivers/acpi/platform_profile.c
579
err = ops->hidden_choices(drvdata, pprof->hidden_choices);
drivers/acpi/platform_profile.c
598
dev_set_drvdata(&pprof->dev, drvdata);
drivers/acpi/platform_profile.c
666
void *drvdata,
drivers/acpi/platform_profile.c
676
ppdev = platform_profile_register(dev, name, drvdata, ops);
drivers/auxdisplay/charlcd.c
50
unsigned long long drvdata[];
drivers/auxdisplay/charlcd.c
610
lcd->drvdata = priv->drvdata;
drivers/auxdisplay/charlcd.h
54
void *drvdata; /* Set by charlcd_alloc() */
drivers/auxdisplay/hd44780.c
232
hdc = lcd->drvdata;
drivers/auxdisplay/hd44780.c
319
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780.c
42
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
100
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
175
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
195
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
221
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
235
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
249
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
274
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
288
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
310
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
364
hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
42
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
55
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/hd44780_common.c
81
struct hd44780_common *hdc = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
113
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
127
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
135
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
150
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
162
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
174
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
184
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
196
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
208
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
237
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
275
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
321
lcd2s = lcd->drvdata;
drivers/auxdisplay/lcd2s.c
99
struct lcd2s_data *lcd2s = lcd->drvdata;
drivers/auxdisplay/panel.c
838
hdc = charlcd->drvdata;
drivers/base/core.c
4426
dev_t devt, void *drvdata,
drivers/base/core.c
4448
dev_set_drvdata(dev, drvdata);
drivers/base/core.c
4487
dev_t devt, void *drvdata, const char *fmt, ...)
drivers/base/core.c
4493
dev = device_create_groups_vargs(class, parent, devt, drvdata, NULL,
drivers/base/core.c
4526
void *drvdata,
drivers/base/core.c
4534
dev = device_create_groups_vargs(class, parent, devt, drvdata, groups,
drivers/base/cpu.c
462
__cpu_device_create(struct device *parent, void *drvdata,
drivers/base/cpu.c
478
dev_set_drvdata(dev, drvdata);
drivers/base/cpu.c
495
struct device *cpu_device_create(struct device *parent, void *drvdata,
drivers/base/cpu.c
503
dev = __cpu_device_create(parent, drvdata, groups, fmt, vargs);
drivers/bluetooth/btusb.c
4000
struct btusb_data *drvdata = hci_get_drvdata(hdev);
drivers/bluetooth/btusb.c
4012
if (!drvdata->isoc)
drivers/bluetooth/btusb.c
4016
if (btusb_find_altsetting(drvdata, i))
drivers/char/hw_random/cctrng.c
106
static int cc_trng_pm_init(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
108
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
117
static void cc_trng_pm_go(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
119
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
125
static void cc_trng_pm_fini(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
127
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
133
static inline int cc_trng_parse_sampling_ratio(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
135
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
136
struct device_node *np = drvdata->pdev->dev.of_node;
drivers/char/hw_random/cctrng.c
143
drvdata->smpl_ratio,
drivers/char/hw_random/cctrng.c
153
i, drvdata->smpl_ratio[i]);
drivers/char/hw_random/cctrng.c
155
if (drvdata->smpl_ratio[i] > 0)
drivers/char/hw_random/cctrng.c
162
static int cc_trng_change_rosc(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
164
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
166
dev_dbg(dev, "cctrng change rosc (was %d)\n", drvdata->active_rosc);
drivers/char/hw_random/cctrng.c
167
drvdata->active_rosc += 1;
drivers/char/hw_random/cctrng.c
169
while (drvdata->active_rosc < CC_TRNG_NUM_OF_ROSCS) {
drivers/char/hw_random/cctrng.c
170
if (drvdata->smpl_ratio[drvdata->active_rosc] > 0)
drivers/char/hw_random/cctrng.c
173
drvdata->active_rosc += 1;
drivers/char/hw_random/cctrng.c
179
static void cc_trng_enable_rnd_source(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
184
max_cycles = CCTRNG_TIMEOUT(drvdata->smpl_ratio[drvdata->active_rosc]);
drivers/char/hw_random/cctrng.c
185
cc_iowrite(drvdata, CC_RNG_WATCHDOG_VAL_REG_OFFSET, max_cycles);
drivers/char/hw_random/cctrng.c
188
cc_iowrite(drvdata, CC_RND_SOURCE_ENABLE_REG_OFFSET, 0x1);
drivers/char/hw_random/cctrng.c
191
cc_iowrite(drvdata, CC_RNG_IMR_REG_OFFSET, (u32)~CC_RNG_INT_MASK);
drivers/char/hw_random/cctrng.c
202
static inline size_t circ_buf_space(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
204
return CIRC_SPACE(drvdata->circ.head,
drivers/char/hw_random/cctrng.c
205
drvdata->circ.tail, CCTRNG_DATA_BUF_WORDS);
drivers/char/hw_random/cctrng.c
213
struct cctrng_drvdata *drvdata = (struct cctrng_drvdata *)rng->priv;
drivers/char/hw_random/cctrng.c
214
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
215
u32 *buf = (u32 *)drvdata->circ.buf;
drivers/char/hw_random/cctrng.c
221
if (!spin_trylock(&drvdata->read_lock)) {
drivers/char/hw_random/cctrng.c
228
cnt_w = CIRC_CNT_TO_END(drvdata->circ.head,
drivers/char/hw_random/cctrng.c
229
drvdata->circ.tail, CCTRNG_DATA_BUF_WORDS);
drivers/char/hw_random/cctrng.c
231
memcpy(data, &(buf[drvdata->circ.tail]), size);
drivers/char/hw_random/cctrng.c
233
circ_idx_inc(&drvdata->circ.tail, size);
drivers/char/hw_random/cctrng.c
237
cnt_w = CIRC_CNT(drvdata->circ.head,
drivers/char/hw_random/cctrng.c
238
drvdata->circ.tail, CCTRNG_DATA_BUF_WORDS);
drivers/char/hw_random/cctrng.c
240
memcpy(data, &(buf[drvdata->circ.tail]), size);
drivers/char/hw_random/cctrng.c
242
circ_idx_inc(&drvdata->circ.tail, size);
drivers/char/hw_random/cctrng.c
245
spin_unlock(&drvdata->read_lock);
drivers/char/hw_random/cctrng.c
247
if (circ_buf_space(drvdata) >= CC_TRNG_EHR_IN_WORDS) {
drivers/char/hw_random/cctrng.c
248
if (atomic_cmpxchg(&drvdata->pending_hw, 0, 1) == 0) {
drivers/char/hw_random/cctrng.c
250
if (circ_buf_space(drvdata) >= CC_TRNG_EHR_IN_WORDS) {
drivers/char/hw_random/cctrng.c
264
schedule_work(&drvdata->startwork);
drivers/char/hw_random/cctrng.c
266
atomic_set(&drvdata->pending_hw, 0);
drivers/char/hw_random/cctrng.c
274
static void cc_trng_hw_trigger(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
277
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
282
cc_iowrite(drvdata, CC_RNG_CLK_ENABLE_REG_OFFSET, 0x1);
drivers/char/hw_random/cctrng.c
285
cc_iowrite(drvdata, CC_RNG_SW_RESET_REG_OFFSET, 0x1);
drivers/char/hw_random/cctrng.c
291
cc_iowrite(drvdata, CC_RNG_CLK_ENABLE_REG_OFFSET, 0x1);
drivers/char/hw_random/cctrng.c
294
cc_iowrite(drvdata, CC_SAMPLE_CNT1_REG_OFFSET,
drivers/char/hw_random/cctrng.c
295
drvdata->smpl_ratio[drvdata->active_rosc]);
drivers/char/hw_random/cctrng.c
298
tmp_smpl_cnt = cc_ioread(drvdata, CC_SAMPLE_CNT1_REG_OFFSET);
drivers/char/hw_random/cctrng.c
300
} while (tmp_smpl_cnt != drvdata->smpl_ratio[drvdata->active_rosc]);
drivers/char/hw_random/cctrng.c
303
cc_iowrite(drvdata, CC_RND_SOURCE_ENABLE_REG_OFFSET, 0);
drivers/char/hw_random/cctrng.c
305
cc_iowrite(drvdata, CC_RNG_ICR_REG_OFFSET, 0xFFFFFFFF);
drivers/char/hw_random/cctrng.c
307
cc_iowrite(drvdata, CC_TRNG_CONFIG_REG_OFFSET, drvdata->active_rosc);
drivers/char/hw_random/cctrng.c
310
cc_iowrite(drvdata, CC_TRNG_DEBUG_CONTROL_REG_OFFSET, 0);
drivers/char/hw_random/cctrng.c
312
cc_trng_enable_rnd_source(drvdata);
drivers/char/hw_random/cctrng.c
319
struct cctrng_drvdata *drvdata =
drivers/char/hw_random/cctrng.c
321
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
325
cc_iowrite(drvdata, CC_RNG_DMA_ENABLE_REG_OFFSET, 0);
drivers/char/hw_random/cctrng.c
326
cc_iowrite(drvdata, CC_RND_SOURCE_ENABLE_REG_OFFSET, 0);
drivers/char/hw_random/cctrng.c
329
isr = cc_ioread(drvdata, CC_RNG_ISR_REG_OFFSET);
drivers/char/hw_random/cctrng.c
340
cc_iowrite(drvdata, CC_RNG_ICR_REG_OFFSET, isr);
drivers/char/hw_random/cctrng.c
357
u32 *buf = (u32 *)drvdata->circ.buf;
drivers/char/hw_random/cctrng.c
359
buf[drvdata->circ.head] = cc_ioread(drvdata,
drivers/char/hw_random/cctrng.c
365
if (buf[drvdata->circ.head] == 0) {
drivers/char/hw_random/cctrng.c
367
drvdata->active_rosc);
drivers/char/hw_random/cctrng.c
371
circ_idx_inc(&drvdata->circ.head, 1<<2);
drivers/char/hw_random/cctrng.c
374
atomic_set(&drvdata->pending_hw, 0);
drivers/char/hw_random/cctrng.c
377
if (circ_buf_space(drvdata) >= CC_TRNG_EHR_IN_WORDS) {
drivers/char/hw_random/cctrng.c
378
if (atomic_cmpxchg(&drvdata->pending_hw, 0, 1) == 0) {
drivers/char/hw_random/cctrng.c
380
cc_trng_enable_rnd_source(drvdata);
drivers/char/hw_random/cctrng.c
391
if ((circ_buf_space(drvdata) >= CC_TRNG_EHR_IN_WORDS) &&
drivers/char/hw_random/cctrng.c
392
(cc_trng_change_rosc(drvdata) == 0)) {
drivers/char/hw_random/cctrng.c
394
cc_trng_hw_trigger(drvdata);
drivers/char/hw_random/cctrng.c
396
atomic_set(&drvdata->pending_hw, 0);
drivers/char/hw_random/cctrng.c
403
struct cctrng_drvdata *drvdata = (struct cctrng_drvdata *)dev_id;
drivers/char/hw_random/cctrng.c
404
struct device *dev = &(drvdata->pdev->dev);
drivers/char/hw_random/cctrng.c
412
irr = cc_ioread(drvdata, CC_HOST_RGF_IRR_REG_OFFSET);
drivers/char/hw_random/cctrng.c
419
cc_iowrite(drvdata, CC_HOST_RGF_ICR_REG_OFFSET, irr);
drivers/char/hw_random/cctrng.c
424
cc_iowrite(drvdata, CC_RNG_IMR_REG_OFFSET, 0xFFFFFFFF);
drivers/char/hw_random/cctrng.c
429
cc_iowrite(drvdata, CC_HOST_RGF_ICR_REG_OFFSET,
drivers/char/hw_random/cctrng.c
435
schedule_work(&drvdata->compwork);
drivers/char/hw_random/cctrng.c
450
struct cctrng_drvdata *drvdata =
drivers/char/hw_random/cctrng.c
453
drvdata->active_rosc = 0;
drivers/char/hw_random/cctrng.c
454
cc_trng_hw_trigger(drvdata);
drivers/char/hw_random/cctrng.c
459
struct cctrng_drvdata *drvdata;
drivers/char/hw_random/cctrng.c
469
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/char/hw_random/cctrng.c
470
if (!drvdata)
drivers/char/hw_random/cctrng.c
473
drvdata->rng.name = devm_kstrdup(dev, dev_name(dev), GFP_KERNEL);
drivers/char/hw_random/cctrng.c
474
if (!drvdata->rng.name)
drivers/char/hw_random/cctrng.c
477
drvdata->rng.read = cctrng_read;
drivers/char/hw_random/cctrng.c
478
drvdata->rng.priv = (unsigned long)drvdata;
drivers/char/hw_random/cctrng.c
479
drvdata->rng.quality = CC_TRNG_QUALITY;
drivers/char/hw_random/cctrng.c
481
platform_set_drvdata(pdev, drvdata);
drivers/char/hw_random/cctrng.c
482
drvdata->pdev = pdev;
drivers/char/hw_random/cctrng.c
484
drvdata->circ.buf = (char *)drvdata->data_buf;
drivers/char/hw_random/cctrng.c
486
drvdata->cc_base = devm_platform_ioremap_resource(pdev, 0);
drivers/char/hw_random/cctrng.c
487
if (IS_ERR(drvdata->cc_base))
drivers/char/hw_random/cctrng.c
488
return dev_err_probe(dev, PTR_ERR(drvdata->cc_base), "Failed to ioremap registers");
drivers/char/hw_random/cctrng.c
496
rc = cc_trng_parse_sampling_ratio(drvdata);
drivers/char/hw_random/cctrng.c
500
drvdata->clk = devm_clk_get_optional_enabled(dev, NULL);
drivers/char/hw_random/cctrng.c
501
if (IS_ERR(drvdata->clk))
drivers/char/hw_random/cctrng.c
502
return dev_err_probe(dev, PTR_ERR(drvdata->clk),
drivers/char/hw_random/cctrng.c
505
INIT_WORK(&drvdata->compwork, cc_trng_compwork_handler);
drivers/char/hw_random/cctrng.c
506
INIT_WORK(&drvdata->startwork, cc_trng_startwork_handler);
drivers/char/hw_random/cctrng.c
507
spin_lock_init(&drvdata->read_lock);
drivers/char/hw_random/cctrng.c
510
rc = devm_request_irq(dev, irq, cc_isr, IRQF_SHARED, "cctrng", drvdata);
drivers/char/hw_random/cctrng.c
516
val = cc_ioread(drvdata, CC_HOST_RGF_IRR_REG_OFFSET);
drivers/char/hw_random/cctrng.c
518
cc_iowrite(drvdata, CC_HOST_RGF_ICR_REG_OFFSET, val);
drivers/char/hw_random/cctrng.c
521
cc_iowrite(drvdata, CC_HOST_RGF_IMR_REG_OFFSET,
drivers/char/hw_random/cctrng.c
522
cc_ioread(drvdata, CC_HOST_RGF_IMR_REG_OFFSET) &
drivers/char/hw_random/cctrng.c
526
rc = cc_trng_pm_init(drvdata);
drivers/char/hw_random/cctrng.c
536
atomic_set(&drvdata->pending_hw, 1);
drivers/char/hw_random/cctrng.c
539
rc = devm_hwrng_register(dev, &drvdata->rng);
drivers/char/hw_random/cctrng.c
546
drvdata->active_rosc = 0;
drivers/char/hw_random/cctrng.c
547
cc_trng_hw_trigger(drvdata);
drivers/char/hw_random/cctrng.c
550
cc_trng_pm_go(drvdata);
drivers/char/hw_random/cctrng.c
557
cc_trng_pm_fini(drvdata);
drivers/char/hw_random/cctrng.c
564
struct cctrng_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/char/hw_random/cctrng.c
569
cc_trng_pm_fini(drvdata);
drivers/char/hw_random/cctrng.c
576
struct cctrng_drvdata *drvdata = dev_get_drvdata(dev);
drivers/char/hw_random/cctrng.c
579
cc_iowrite(drvdata, CC_HOST_POWER_DOWN_EN_REG_OFFSET,
drivers/char/hw_random/cctrng.c
582
clk_disable_unprepare(drvdata->clk);
drivers/char/hw_random/cctrng.c
587
static bool cctrng_wait_for_reset_completion(struct cctrng_drvdata *drvdata)
drivers/char/hw_random/cctrng.c
596
val = cc_ioread(drvdata, CC_NVM_IS_IDLE_REG_OFFSET);
drivers/char/hw_random/cctrng.c
610
struct cctrng_drvdata *drvdata = dev_get_drvdata(dev);
drivers/char/hw_random/cctrng.c
615
rc = clk_prepare_enable(drvdata->clk);
drivers/char/hw_random/cctrng.c
622
if (!cctrng_wait_for_reset_completion(drvdata)) {
drivers/char/hw_random/cctrng.c
624
clk_disable_unprepare(drvdata->clk);
drivers/char/hw_random/cctrng.c
629
cc_iowrite(drvdata, CC_HOST_RGF_IMR_REG_OFFSET,
drivers/char/hw_random/cctrng.c
630
cc_ioread(drvdata, CC_HOST_RGF_IMR_REG_OFFSET) &
drivers/char/hw_random/cctrng.c
633
cc_iowrite(drvdata, CC_HOST_POWER_DOWN_EN_REG_OFFSET,
drivers/char/hw_random/cctrng.c
77
static inline void cc_iowrite(struct cctrng_drvdata *drvdata, u32 reg, u32 val)
drivers/char/hw_random/cctrng.c
79
iowrite32(val, (drvdata->cc_base + reg));
drivers/char/hw_random/cctrng.c
81
static inline u32 cc_ioread(struct cctrng_drvdata *drvdata, u32 reg)
drivers/char/hw_random/cctrng.c
83
return ioread32(drvdata->cc_base + reg);
drivers/char/xilinx_hwicap/buffer_icap.c
187
static int buffer_icap_device_read(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/buffer_icap.c
192
void __iomem *base_address = drvdata->base_address;
drivers/char/xilinx_hwicap/buffer_icap.c
221
static int buffer_icap_device_write(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/buffer_icap.c
226
void __iomem *base_address = drvdata->base_address;
drivers/char/xilinx_hwicap/buffer_icap.c
256
void buffer_icap_reset(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/buffer_icap.c
258
out_be32(drvdata->base_address + XHI_STATUS_REG_OFFSET, 0xFEFE);
drivers/char/xilinx_hwicap/buffer_icap.c
267
int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/buffer_icap.c
274
void __iomem *base_address = drvdata->base_address;
drivers/char/xilinx_hwicap/buffer_icap.c
290
drvdata,
drivers/char/xilinx_hwicap/buffer_icap.c
295
buffer_icap_reset(drvdata);
drivers/char/xilinx_hwicap/buffer_icap.c
306
status = buffer_icap_device_write(drvdata, XHI_BUFFER_START,
drivers/char/xilinx_hwicap/buffer_icap.c
310
buffer_icap_reset(drvdata);
drivers/char/xilinx_hwicap/buffer_icap.c
324
int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/buffer_icap.c
330
void __iomem *base_address = drvdata->base_address;
drivers/char/xilinx_hwicap/buffer_icap.c
343
drvdata,
drivers/char/xilinx_hwicap/buffer_icap.c
348
buffer_icap_reset(drvdata);
drivers/char/xilinx_hwicap/buffer_icap.c
88
u32 buffer_icap_get_status(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/buffer_icap.c
90
return in_be32(drvdata->base_address + XHI_STATUS_REG_OFFSET);
drivers/char/xilinx_hwicap/buffer_icap.h
44
int buffer_icap_set_configuration(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/buffer_icap.h
48
int buffer_icap_get_configuration(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/buffer_icap.h
51
u32 buffer_icap_get_status(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/buffer_icap.h
52
void buffer_icap_reset(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
108
static inline u32 fifo_icap_fifo_read(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
110
u32 data = in_be32(drvdata->base_address + XHI_RF_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
111
dev_dbg(drvdata->dev, "fifo_read: %x\n", data);
drivers/char/xilinx_hwicap/fifo_icap.c
120
static inline void fifo_icap_set_read_size(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.c
123
out_be32(drvdata->base_address + XHI_SZ_OFFSET, data);
drivers/char/xilinx_hwicap/fifo_icap.c
130
static inline void fifo_icap_start_config(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
132
out_be32(drvdata->base_address + XHI_CR_OFFSET, XHI_CR_WRITE_MASK);
drivers/char/xilinx_hwicap/fifo_icap.c
133
dev_dbg(drvdata->dev, "configuration started\n");
drivers/char/xilinx_hwicap/fifo_icap.c
140
static inline void fifo_icap_start_readback(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
142
out_be32(drvdata->base_address + XHI_CR_OFFSET, XHI_CR_READ_MASK);
drivers/char/xilinx_hwicap/fifo_icap.c
143
dev_dbg(drvdata->dev, "readback started\n");
drivers/char/xilinx_hwicap/fifo_icap.c
164
u32 fifo_icap_get_status(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
166
u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
167
dev_dbg(drvdata->dev, "Getting status = %x\n", status);
drivers/char/xilinx_hwicap/fifo_icap.c
178
static inline u32 fifo_icap_busy(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
180
u32 status = in_be32(drvdata->base_address + XHI_SR_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
191
struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
193
return in_be32(drvdata->base_address + XHI_WFV_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
203
struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
205
return in_be32(drvdata->base_address + XHI_RFO_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
222
int fifo_icap_set_configuration(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.c
230
dev_dbg(drvdata->dev, "fifo_set_configuration\n");
drivers/char/xilinx_hwicap/fifo_icap.c
235
if (fifo_icap_busy(drvdata))
drivers/char/xilinx_hwicap/fifo_icap.c
249
fifo_icap_write_fifo_vacancy(drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
260
fifo_icap_fifo_write(drvdata, *frame_buffer);
drivers/char/xilinx_hwicap/fifo_icap.c
267
fifo_icap_start_config(drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
271
while (fifo_icap_busy(drvdata)) {
drivers/char/xilinx_hwicap/fifo_icap.c
277
dev_dbg(drvdata->dev, "done fifo_set_configuration\n");
drivers/char/xilinx_hwicap/fifo_icap.c
300
int fifo_icap_get_configuration(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.c
310
dev_dbg(drvdata->dev, "fifo_get_configuration\n");
drivers/char/xilinx_hwicap/fifo_icap.c
315
if (fifo_icap_busy(drvdata))
drivers/char/xilinx_hwicap/fifo_icap.c
329
fifo_icap_set_read_size(drvdata, words_to_read);
drivers/char/xilinx_hwicap/fifo_icap.c
330
fifo_icap_start_readback(drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
336
fifo_icap_read_fifo_occupancy(drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
349
*data++ = fifo_icap_fifo_read(drvdata);
drivers/char/xilinx_hwicap/fifo_icap.c
355
dev_dbg(drvdata->dev, "done fifo_get_configuration\n");
drivers/char/xilinx_hwicap/fifo_icap.c
368
void fifo_icap_reset(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
375
reg_data = in_be32(drvdata->base_address + XHI_CR_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
377
out_be32(drvdata->base_address + XHI_CR_OFFSET,
drivers/char/xilinx_hwicap/fifo_icap.c
380
out_be32(drvdata->base_address + XHI_CR_OFFSET,
drivers/char/xilinx_hwicap/fifo_icap.c
389
void fifo_icap_flush_fifo(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/fifo_icap.c
396
reg_data = in_be32(drvdata->base_address + XHI_CR_OFFSET);
drivers/char/xilinx_hwicap/fifo_icap.c
398
out_be32(drvdata->base_address + XHI_CR_OFFSET,
drivers/char/xilinx_hwicap/fifo_icap.c
401
out_be32(drvdata->base_address + XHI_CR_OFFSET,
drivers/char/xilinx_hwicap/fifo_icap.c
93
static inline void fifo_icap_fifo_write(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.c
96
dev_dbg(drvdata->dev, "fifo_write: %x\n", data);
drivers/char/xilinx_hwicap/fifo_icap.c
97
out_be32(drvdata->base_address + XHI_WF_OFFSET, data);
drivers/char/xilinx_hwicap/fifo_icap.h
45
struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.h
51
struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/fifo_icap.h
55
u32 fifo_icap_get_status(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/fifo_icap.h
56
void fifo_icap_reset(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/fifo_icap.h
57
void fifo_icap_flush_fifo(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
227
static int hwicap_command_desync(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/xilinx_hwicap.c
235
buffer[index++] = hwicap_type_1_write(drvdata->config_regs->CMD) | 1;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
244
return drvdata->config->set_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
261
static int hwicap_get_configuration_register(struct hwicap_drvdata *drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
281
status = drvdata->config->set_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
287
status = drvdata->config->get_status(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
300
status = drvdata->config->set_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
308
status = drvdata->config->get_configuration(drvdata, reg_data, 1);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
315
static int hwicap_initialize_hwicap(struct hwicap_drvdata *drvdata)
drivers/char/xilinx_hwicap/xilinx_hwicap.c
320
dev_dbg(drvdata->dev, "initializing\n");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
325
dev_dbg(drvdata->dev, "Reset...\n");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
326
drvdata->config->reset(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
328
dev_dbg(drvdata->dev, "Desync...\n");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
329
status = hwicap_command_desync(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
337
dev_dbg(drvdata->dev, "Reading IDCODE...\n");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
339
drvdata, drvdata->config_regs->IDCODE, &idcode);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
340
dev_dbg(drvdata->dev, "IDCODE = %x\n", idcode);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
344
dev_dbg(drvdata->dev, "Desync...\n");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
345
status = hwicap_command_desync(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
355
struct hwicap_drvdata *drvdata = file->private_data;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
362
status = mutex_lock_interruptible(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
366
if (drvdata->read_buffer_in_use) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
371
(count < drvdata->read_buffer_in_use) ? count :
drivers/char/xilinx_hwicap/xilinx_hwicap.c
372
drvdata->read_buffer_in_use;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
375
if (copy_to_user(buf, drvdata->read_buffer, bytes_to_read)) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
379
drvdata->read_buffer_in_use -= bytes_to_read;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
380
memmove(drvdata->read_buffer,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
381
drvdata->read_buffer + bytes_to_read,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
410
status = drvdata->config->get_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
425
memcpy(drvdata->read_buffer,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
428
drvdata->read_buffer_in_use = bytes_remaining;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
433
mutex_unlock(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
441
struct hwicap_drvdata *drvdata = file->private_data;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
448
status = mutex_lock_interruptible(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
452
left += drvdata->write_buffer_in_use;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
475
if (drvdata->write_buffer_in_use) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
476
memcpy(kbuf, drvdata->write_buffer,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
477
drvdata->write_buffer_in_use);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
479
(((char *)kbuf) + drvdata->write_buffer_in_use),
drivers/char/xilinx_hwicap/xilinx_hwicap.c
481
len - (drvdata->write_buffer_in_use))) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
494
status = drvdata->config->set_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
502
if (drvdata->write_buffer_in_use) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
503
len -= drvdata->write_buffer_in_use;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
504
left -= drvdata->write_buffer_in_use;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
505
drvdata->write_buffer_in_use = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
511
if (!copy_from_user(drvdata->write_buffer,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
513
drvdata->write_buffer_in_use = left;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
522
mutex_unlock(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
528
struct hwicap_drvdata *drvdata;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
532
drvdata = container_of(inode->i_cdev, struct hwicap_drvdata, cdev);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
534
status = mutex_lock_interruptible(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
538
if (drvdata->is_open) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
543
status = hwicap_initialize_hwicap(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
545
dev_err(drvdata->dev, "Failed to open file");
drivers/char/xilinx_hwicap/xilinx_hwicap.c
549
file->private_data = drvdata;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
550
drvdata->write_buffer_in_use = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
551
drvdata->read_buffer_in_use = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
552
drvdata->is_open = 1;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
555
mutex_unlock(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
563
struct hwicap_drvdata *drvdata = file->private_data;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
567
mutex_lock(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
569
if (drvdata->write_buffer_in_use) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
571
for (i = drvdata->write_buffer_in_use; i < 4; i++)
drivers/char/xilinx_hwicap/xilinx_hwicap.c
572
drvdata->write_buffer[i] = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
574
status = drvdata->config->set_configuration(drvdata,
drivers/char/xilinx_hwicap/xilinx_hwicap.c
575
(u32 *) drvdata->write_buffer, 1);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
580
status = hwicap_command_desync(drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
585
drvdata->is_open = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
586
mutex_unlock(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
604
struct hwicap_drvdata *drvdata = NULL;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
634
drvdata = devm_kzalloc(dev, sizeof(struct hwicap_drvdata), GFP_KERNEL);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
635
if (!drvdata) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
639
dev_set_drvdata(dev, drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
641
drvdata->base_address = devm_platform_ioremap_resource(pdev, 0);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
642
if (IS_ERR(drvdata->base_address)) {
drivers/char/xilinx_hwicap/xilinx_hwicap.c
643
retval = PTR_ERR(drvdata->base_address);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
647
drvdata->devt = devt;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
648
drvdata->dev = dev;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
649
drvdata->config = config;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
650
drvdata->config_regs = config_regs;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
652
mutex_init(&drvdata->sem);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
653
drvdata->is_open = 0;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
655
cdev_init(&drvdata->cdev, &hwicap_fops);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
656
drvdata->cdev.owner = THIS_MODULE;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
657
retval = cdev_add(&drvdata->cdev, devt, 1);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
719
struct hwicap_drvdata *drvdata;
drivers/char/xilinx_hwicap/xilinx_hwicap.c
721
drvdata = dev_get_drvdata(dev);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
723
device_destroy(&icap_class, drvdata->devt);
drivers/char/xilinx_hwicap/xilinx_hwicap.c
724
cdev_del(&drvdata->cdev);
drivers/char/xilinx_hwicap/xilinx_hwicap.h
67
int (*get_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/xilinx_hwicap.h
72
int (*set_configuration)(struct hwicap_drvdata *drvdata, u32 *data,
drivers/char/xilinx_hwicap/xilinx_hwicap.h
85
u32 (*get_status)(struct hwicap_drvdata *drvdata);
drivers/char/xilinx_hwicap/xilinx_hwicap.h
87
void (*reset)(struct hwicap_drvdata *drvdata);
drivers/clk/clk-max9485.c
101
mask, value, drvdata->reg_value);
drivers/clk/clk-max9485.c
103
ret = i2c_master_send(drvdata->client,
drivers/clk/clk-max9485.c
104
&drvdata->reg_value,
drivers/clk/clk-max9485.c
105
sizeof(drvdata->reg_value));
drivers/clk/clk-max9485.c
114
return max9485_update_bits(clk_hw->drvdata,
drivers/clk/clk-max9485.c
123
max9485_update_bits(clk_hw->drvdata, clk_hw->enable_bit, 0);
drivers/clk/clk-max9485.c
142
return max9485_update_bits(clk_hw->drvdata,
drivers/clk/clk-max9485.c
151
struct max9485_driver_data *drvdata = clk_hw->drvdata;
drivers/clk/clk-max9485.c
152
u8 val = drvdata->reg_value & MAX9485_FREQ_MASK;
drivers/clk/clk-max9485.c
258
struct max9485_driver_data *drvdata = data;
drivers/clk/clk-max9485.c
261
return &drvdata->hw[idx].hw;
drivers/clk/clk-max9485.c
266
struct max9485_driver_data *drvdata;
drivers/clk/clk-max9485.c
271
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/clk/clk-max9485.c
272
if (!drvdata)
drivers/clk/clk-max9485.c
275
drvdata->xclk = devm_clk_get(dev, "xclk");
drivers/clk/clk-max9485.c
276
if (IS_ERR(drvdata->xclk))
drivers/clk/clk-max9485.c
277
return PTR_ERR(drvdata->xclk);
drivers/clk/clk-max9485.c
279
xclk_name = __clk_get_name(drvdata->xclk);
drivers/clk/clk-max9485.c
281
drvdata->supply = devm_regulator_get(dev, "vdd");
drivers/clk/clk-max9485.c
282
if (IS_ERR(drvdata->supply))
drivers/clk/clk-max9485.c
283
return PTR_ERR(drvdata->supply);
drivers/clk/clk-max9485.c
285
ret = regulator_enable(drvdata->supply);
drivers/clk/clk-max9485.c
289
drvdata->reset_gpio =
drivers/clk/clk-max9485.c
291
if (IS_ERR(drvdata->reset_gpio))
drivers/clk/clk-max9485.c
292
return PTR_ERR(drvdata->reset_gpio);
drivers/clk/clk-max9485.c
294
i2c_set_clientdata(client, drvdata);
drivers/clk/clk-max9485.c
295
drvdata->client = client;
drivers/clk/clk-max9485.c
297
ret = i2c_master_recv(drvdata->client, &drvdata->reg_value,
drivers/clk/clk-max9485.c
298
sizeof(drvdata->reg_value));
drivers/clk/clk-max9485.c
311
drvdata->hw[i].init.name = name;
drivers/clk/clk-max9485.c
313
drvdata->hw[i].init.name = max9485_clks[i].name;
drivers/clk/clk-max9485.c
316
drvdata->hw[i].init.ops = &max9485_clks[i].ops;
drivers/clk/clk-max9485.c
317
drvdata->hw[i].init.num_parents = 1;
drivers/clk/clk-max9485.c
318
drvdata->hw[i].init.flags = 0;
drivers/clk/clk-max9485.c
321
drvdata->hw[i].init.parent_names =
drivers/clk/clk-max9485.c
322
&drvdata->hw[parent_index].init.name;
drivers/clk/clk-max9485.c
323
drvdata->hw[i].init.flags |= CLK_SET_RATE_PARENT;
drivers/clk/clk-max9485.c
325
drvdata->hw[i].init.parent_names = &xclk_name;
drivers/clk/clk-max9485.c
328
drvdata->hw[i].enable_bit = max9485_clks[i].enable_bit;
drivers/clk/clk-max9485.c
329
drvdata->hw[i].hw.init = &drvdata->hw[i].init;
drivers/clk/clk-max9485.c
330
drvdata->hw[i].drvdata = drvdata;
drivers/clk/clk-max9485.c
332
ret = devm_clk_hw_register(dev, &drvdata->hw[i].hw);
drivers/clk/clk-max9485.c
337
return devm_of_clk_add_hw_provider(dev, max9485_of_clk_get, drvdata);
drivers/clk/clk-max9485.c
343
struct max9485_driver_data *drvdata = i2c_get_clientdata(client);
drivers/clk/clk-max9485.c
345
gpiod_set_value_cansleep(drvdata->reset_gpio, 0);
drivers/clk/clk-max9485.c
353
struct max9485_driver_data *drvdata = i2c_get_clientdata(client);
drivers/clk/clk-max9485.c
356
gpiod_set_value_cansleep(drvdata->reset_gpio, 1);
drivers/clk/clk-max9485.c
358
ret = i2c_master_send(client, &drvdata->reg_value,
drivers/clk/clk-max9485.c
359
sizeof(drvdata->reg_value));
drivers/clk/clk-max9485.c
74
struct max9485_driver_data *drvdata;
drivers/clk/clk-max9485.c
91
static int max9485_update_bits(struct max9485_driver_data *drvdata,
drivers/clk/clk-max9485.c
96
drvdata->reg_value &= ~mask;
drivers/clk/clk-max9485.c
97
drvdata->reg_value |= value;
drivers/clk/clk-max9485.c
99
dev_dbg(&drvdata->client->dev,
drivers/clk/clk-si5351.c
101
return regmap_bulk_read(drvdata->regmap, reg, buf, count);
drivers/clk/clk-si5351.c
1016
return _si5351_clkout_reparent(hwdata->drvdata, hwdata->num, parent);
drivers/clk/clk-si5351.c
1032
rdiv = si5351_reg_read(hwdata->drvdata, reg);
drivers/clk/clk-si5351.c
104
static inline int si5351_reg_write(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
107
return regmap_write(drvdata->regmap, reg, val);
drivers/clk/clk-si5351.c
1089
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
110
static inline int si5351_bulk_write(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
1122
si5351_set_bits(hwdata->drvdata, SI5351_CLK6_7_OUTPUT_DIVIDER,
drivers/clk/clk-si5351.c
1126
si5351_set_bits(hwdata->drvdata, SI5351_CLK6_7_OUTPUT_DIVIDER,
drivers/clk/clk-si5351.c
113
return regmap_raw_write(drvdata->regmap, reg, buf, count);
drivers/clk/clk-si5351.c
1131
si5351_set_bits(hwdata->drvdata,
drivers/clk/clk-si5351.c
1138
si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
drivers/clk/clk-si5351.c
1141
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
116
static inline int si5351_set_bits(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
119
return regmap_update_bits(drvdata->regmap, reg, mask, val);
drivers/clk/clk-si5351.c
129
static void si5351_read_parameters(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
137
buf[0] = si5351_reg_read(drvdata, reg);
drivers/clk/clk-si5351.c
1404
struct si5351_driver_data *drvdata = data;
drivers/clk/clk-si5351.c
1407
if (idx >= drvdata->num_clkout) {
drivers/clk/clk-si5351.c
1412
return &drvdata->clkout[idx].hw;
drivers/clk/clk-si5351.c
143
si5351_bulk_read(drvdata, reg, SI5351_PARAMETERS_LENGTH, buf);
drivers/clk/clk-si5351.c
1440
struct si5351_driver_data *drvdata;
drivers/clk/clk-si5351.c
1455
drvdata = devm_kzalloc(&client->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/clk/clk-si5351.c
1456
if (!drvdata)
drivers/clk/clk-si5351.c
1459
i2c_set_clientdata(client, drvdata);
drivers/clk/clk-si5351.c
1460
drvdata->client = client;
drivers/clk/clk-si5351.c
1461
drvdata->variant = variant;
drivers/clk/clk-si5351.c
1462
drvdata->pxtal = devm_clk_get(&client->dev, "xtal");
drivers/clk/clk-si5351.c
1463
drvdata->pclkin = devm_clk_get(&client->dev, "clkin");
drivers/clk/clk-si5351.c
1465
if (PTR_ERR(drvdata->pxtal) == -EPROBE_DEFER ||
drivers/clk/clk-si5351.c
1466
PTR_ERR(drvdata->pclkin) == -EPROBE_DEFER)
drivers/clk/clk-si5351.c
1473
if (IS_ERR(drvdata->pxtal) &&
drivers/clk/clk-si5351.c
1474
(drvdata->variant != SI5351_VARIANT_C || IS_ERR(drvdata->pclkin))) {
drivers/clk/clk-si5351.c
1479
drvdata->regmap = devm_regmap_init_i2c(client, &si5351_regmap_config);
drivers/clk/clk-si5351.c
1480
if (IS_ERR(drvdata->regmap)) {
drivers/clk/clk-si5351.c
1482
return PTR_ERR(drvdata->regmap);
drivers/clk/clk-si5351.c
1486
si5351_reg_write(drvdata, SI5351_INTERRUPT_MASK, 0xf0);
drivers/clk/clk-si5351.c
1488
if (drvdata->variant != SI5351_VARIANT_C)
drivers/clk/clk-si5351.c
1489
si5351_set_bits(drvdata, SI5351_PLL_INPUT_SOURCE,
drivers/clk/clk-si5351.c
1494
ret = _si5351_pll_reparent(drvdata, n, pdata->pll_src[n]);
drivers/clk/clk-si5351.c
1504
ret = _si5351_msynth_reparent(drvdata, n,
drivers/clk/clk-si5351.c
151
static void si5351_write_parameters(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
1513
ret = _si5351_clkout_reparent(drvdata, n,
drivers/clk/clk-si5351.c
1522
ret = _si5351_clkout_set_drive_strength(drvdata, n,
drivers/clk/clk-si5351.c
1531
ret = _si5351_clkout_set_disable_state(drvdata, n,
drivers/clk/clk-si5351.c
1546
if (!IS_ERR(drvdata->pxtal)) {
drivers/clk/clk-si5351.c
1547
drvdata->pxtal_name = __clk_get_name(drvdata->pxtal);
drivers/clk/clk-si5351.c
1548
init.parent_names = &drvdata->pxtal_name;
drivers/clk/clk-si5351.c
1551
drvdata->xtal.init = &init;
drivers/clk/clk-si5351.c
1552
ret = devm_clk_hw_register(&client->dev, &drvdata->xtal);
drivers/clk/clk-si5351.c
1559
if (drvdata->variant == SI5351_VARIANT_C) {
drivers/clk/clk-si5351.c
1563
if (!IS_ERR(drvdata->pclkin)) {
drivers/clk/clk-si5351.c
1564
drvdata->pclkin_name = __clk_get_name(drvdata->pclkin);
drivers/clk/clk-si5351.c
1565
init.parent_names = &drvdata->pclkin_name;
drivers/clk/clk-si5351.c
1568
drvdata->clkin.init = &init;
drivers/clk/clk-si5351.c
1569
ret = devm_clk_hw_register(&client->dev, &drvdata->clkin);
drivers/clk/clk-si5351.c
1578
num_parents = (drvdata->variant == SI5351_VARIANT_C) ? 2 : 1;
drivers/clk/clk-si5351.c
1583
drvdata->pll[0].num = 0;
drivers/clk/clk-si5351.c
1584
drvdata->pll[0].drvdata = drvdata;
drivers/clk/clk-si5351.c
1585
drvdata->pll[0].hw.init = &init;
drivers/clk/clk-si5351.c
1592
ret = devm_clk_hw_register(&client->dev, &drvdata->pll[0].hw);
drivers/clk/clk-si5351.c
1599
drvdata->pll[1].num = 1;
drivers/clk/clk-si5351.c
160
si5351_reg_write(drvdata, reg, buf[0]);
drivers/clk/clk-si5351.c
1600
drvdata->pll[1].drvdata = drvdata;
drivers/clk/clk-si5351.c
1601
drvdata->pll[1].hw.init = &init;
drivers/clk/clk-si5351.c
1603
if (drvdata->variant == SI5351_VARIANT_B) {
drivers/clk/clk-si5351.c
1616
ret = devm_clk_hw_register(&client->dev, &drvdata->pll[1].hw);
drivers/clk/clk-si5351.c
1623
num_clocks = (drvdata->variant == SI5351_VARIANT_A3) ? 3 : 8;
drivers/clk/clk-si5351.c
1625
if (drvdata->variant == SI5351_VARIANT_B)
drivers/clk/clk-si5351.c
1630
drvdata->msynth = devm_kcalloc(&client->dev, num_clocks,
drivers/clk/clk-si5351.c
1631
sizeof(*drvdata->msynth), GFP_KERNEL);
drivers/clk/clk-si5351.c
1632
drvdata->clkout = devm_kcalloc(&client->dev, num_clocks,
drivers/clk/clk-si5351.c
1633
sizeof(*drvdata->clkout), GFP_KERNEL);
drivers/clk/clk-si5351.c
1634
drvdata->num_clkout = num_clocks;
drivers/clk/clk-si5351.c
1636
if (WARN_ON(!drvdata->msynth || !drvdata->clkout)) {
drivers/clk/clk-si5351.c
1642
drvdata->msynth[n].num = n;
drivers/clk/clk-si5351.c
1643
drvdata->msynth[n].drvdata = drvdata;
drivers/clk/clk-si5351.c
1644
drvdata->msynth[n].hw.init = &init;
drivers/clk/clk-si5351.c
1654
&drvdata->msynth[n].hw);
drivers/clk/clk-si5351.c
166
buf[2] = si5351_reg_read(drvdata, reg + 2) & ~0x03;
drivers/clk/clk-si5351.c
1662
num_parents = (drvdata->variant == SI5351_VARIANT_C) ? 4 : 3;
drivers/clk/clk-si5351.c
1670
drvdata->clkout[n].num = n;
drivers/clk/clk-si5351.c
1671
drvdata->clkout[n].drvdata = drvdata;
drivers/clk/clk-si5351.c
1672
drvdata->clkout[n].hw.init = &init;
drivers/clk/clk-si5351.c
1682
&drvdata->clkout[n].hw);
drivers/clk/clk-si5351.c
1692
ret = clk_set_rate(drvdata->clkout[n].hw.clk,
drivers/clk/clk-si5351.c
1702
drvdata);
drivers/clk/clk-si5351.c
174
si5351_bulk_write(drvdata, reg, SI5351_PARAMETERS_LENGTH, buf);
drivers/clk/clk-si5351.c
220
struct si5351_driver_data *drvdata =
drivers/clk/clk-si5351.c
222
si5351_set_bits(drvdata, SI5351_FANOUT_ENABLE,
drivers/clk/clk-si5351.c
229
struct si5351_driver_data *drvdata =
drivers/clk/clk-si5351.c
231
si5351_set_bits(drvdata, SI5351_FANOUT_ENABLE,
drivers/clk/clk-si5351.c
245
struct si5351_driver_data *drvdata =
drivers/clk/clk-si5351.c
247
si5351_set_bits(drvdata, SI5351_FANOUT_ENABLE,
drivers/clk/clk-si5351.c
254
struct si5351_driver_data *drvdata =
drivers/clk/clk-si5351.c
256
si5351_set_bits(drvdata, SI5351_FANOUT_ENABLE,
drivers/clk/clk-si5351.c
268
struct si5351_driver_data *drvdata =
drivers/clk/clk-si5351.c
287
si5351_set_bits(drvdata, SI5351_PLL_INPUT_SOURCE,
drivers/clk/clk-si5351.c
290
dev_dbg(&drvdata->client->dev, "%s - clkin div = %d, rate = %lu\n",
drivers/clk/clk-si5351.c
311
dev_warn(&hwdata->drvdata->client->dev, "VXCO currently unsupported\n");
drivers/clk/clk-si5351.c
365
static int _si5351_pll_reparent(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
376
if (drvdata->variant != SI5351_VARIANT_C &&
drivers/clk/clk-si5351.c
380
si5351_set_bits(drvdata, SI5351_PLL_INPUT_SOURCE, mask,
drivers/clk/clk-si5351.c
392
val = si5351_reg_read(hwdata->drvdata, SI5351_PLL_INPUT_SOURCE);
drivers/clk/clk-si5351.c
402
if (hwdata->drvdata->variant != SI5351_VARIANT_C &&
drivers/clk/clk-si5351.c
409
return _si5351_pll_reparent(hwdata->drvdata, hwdata->num,
drivers/clk/clk-si5351.c
424
si5351_read_parameters(hwdata->drvdata, reg, &hwdata->params);
drivers/clk/clk-si5351.c
436
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
44
struct si5351_driver_data *drvdata;
drivers/clk/clk-si5351.c
495
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
510
hwdata->drvdata->client->dev.platform_data;
drivers/clk/clk-si5351.c
515
si5351_write_parameters(hwdata->drvdata, reg, &hwdata->params);
drivers/clk/clk-si5351.c
518
si5351_set_bits(hwdata->drvdata, SI5351_CLK6_CTRL + hwdata->num,
drivers/clk/clk-si5351.c
524
si5351_reg_write(hwdata->drvdata, SI5351_PLL_RESET,
drivers/clk/clk-si5351.c
528
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
568
static int _si5351_msynth_reparent(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
577
si5351_set_bits(drvdata, SI5351_CLK0_CTRL + num, SI5351_CLK_PLL_SELECT,
drivers/clk/clk-si5351.c
589
val = si5351_reg_read(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num);
drivers/clk/clk-si5351.c
599
return _si5351_msynth_reparent(hwdata->drvdata, hwdata->num,
drivers/clk/clk-si5351.c
614
si5351_read_parameters(hwdata->drvdata, reg, &hwdata->params);
drivers/clk/clk-si5351.c
625
} else if ((si5351_reg_read(hwdata->drvdata, reg + 2) &
drivers/clk/clk-si5351.c
639
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
753
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
772
si5351_write_parameters(hwdata->drvdata, reg, &hwdata->params);
drivers/clk/clk-si5351.c
779
si5351_set_bits(hwdata->drvdata, reg + 2,
drivers/clk/clk-si5351.c
782
si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
drivers/clk/clk-si5351.c
787
dev_dbg(&hwdata->drvdata->client->dev,
drivers/clk/clk-si5351.c
807
static int _si5351_clkout_reparent(struct si5351_driver_data *drvdata,
drivers/clk/clk-si5351.c
83
static inline u8 si5351_reg_read(struct si5351_driver_data *drvdata, u8 reg)
drivers/clk/clk-si5351.c
830
if (drvdata->variant != SI5351_VARIANT_C)
drivers/clk/clk-si5351.c
839
si5351_set_bits(drvdata, SI5351_CLK0_CTRL + num,
drivers/clk/clk-si5351.c
845
struct si5351_driver_data *drvdata, int num,
drivers/clk/clk-si5351.c
870
si5351_set_bits(drvdata, SI5351_CLK0_CTRL + num,
drivers/clk/clk-si5351.c
876
struct si5351_driver_data *drvdata, int num,
drivers/clk/clk-si5351.c
88
ret = regmap_read(drvdata->regmap, reg, &val);
drivers/clk/clk-si5351.c
90
dev_err(&drvdata->client->dev,
drivers/clk/clk-si5351.c
905
si5351_set_bits(drvdata, reg, mask, val << shift);
drivers/clk/clk-si5351.c
910
static void _si5351_clkout_reset_pll(struct si5351_driver_data *drvdata, int num)
drivers/clk/clk-si5351.c
912
u8 val = si5351_reg_read(drvdata, SI5351_CLK0_CTRL + num);
drivers/clk/clk-si5351.c
924
si5351_reg_write(drvdata, SI5351_PLL_RESET, mask);
drivers/clk/clk-si5351.c
926
err = regmap_read_poll_timeout(drvdata->regmap, SI5351_PLL_RESET, v,
drivers/clk/clk-si5351.c
929
dev_err(&drvdata->client->dev, "Reset bit didn't clear\n");
drivers/clk/clk-si5351.c
931
dev_dbg(&drvdata->client->dev, "%s - %s: pll = %d\n",
drivers/clk/clk-si5351.c
932
__func__, clk_hw_get_name(&drvdata->clkout[num].hw),
drivers/clk/clk-si5351.c
941
hwdata->drvdata->client->dev.platform_data;
drivers/clk/clk-si5351.c
943
si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
drivers/clk/clk-si5351.c
951
_si5351_clkout_reset_pll(hwdata->drvdata, hwdata->num);
drivers/clk/clk-si5351.c
953
si5351_set_bits(hwdata->drvdata, SI5351_OUTPUT_ENABLE_CTRL,
drivers/clk/clk-si5351.c
963
si5351_set_bits(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num,
drivers/clk/clk-si5351.c
965
si5351_set_bits(hwdata->drvdata, SI5351_OUTPUT_ENABLE_CTRL,
drivers/clk/clk-si5351.c
976
val = si5351_reg_read(hwdata->drvdata, SI5351_CLK0_CTRL + hwdata->num);
drivers/clk/clk-si5351.c
98
static inline int si5351_bulk_read(struct si5351_driver_data *drvdata,
drivers/clk/x86/clk-lpss-atom.c
18
struct lpss_clk_data *drvdata;
drivers/clk/x86/clk-lpss-atom.c
21
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/clk/x86/clk-lpss-atom.c
22
if (!drvdata)
drivers/clk/x86/clk-lpss-atom.c
26
drvdata->name = "lpss_clk";
drivers/clk/x86/clk-lpss-atom.c
27
clk = clk_register_fixed_rate(&pdev->dev, drvdata->name, NULL,
drivers/clk/x86/clk-lpss-atom.c
32
drvdata->clk = clk;
drivers/clk/x86/clk-lpss-atom.c
33
platform_set_drvdata(pdev, drvdata);
drivers/cpufreq/amd-pstate.c
1185
static int amd_pstate_profile_probe(void *drvdata, unsigned long *choices)
drivers/crypto/ccree/cc_aead.c
1013
set_din_sram(&desc[idx], cc_digest_len_addr(ctx->drvdata, hash_mode),
drivers/crypto/ccree/cc_aead.c
1103
struct cc_aead_handle *aead_handle = ctx->drvdata->aead_handle;
drivers/crypto/ccree/cc_aead.c
1142
set_din_sram(&desc[idx], cc_digest_len_addr(ctx->drvdata, hash_mode),
drivers/crypto/ccree/cc_aead.c
1165
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
1171
ctx->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_aead.c
1179
ctx->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_aead.c
123
return cc_get_default_hash_len(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
1317
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
132
struct device *dev = drvdata_to_dev(cc_alg->drvdata);
drivers/crypto/ccree/cc_aead.c
141
ctx->drvdata = cc_alg->drvdata;
drivers/crypto/ccree/cc_aead.c
1524
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_aead.c
1536
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
1786
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_aead.c
1835
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
1901
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
1976
rc = cc_map_aead_request(ctx->drvdata, req);
drivers/crypto/ccree/cc_aead.c
2010
rc = cc_send_request(ctx->drvdata, &cc_req, desc, seq_len, &req->base);
drivers/crypto/ccree/cc_aead.c
2112
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
2129
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
2165
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
2185
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
2596
int cc_aead_free(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_aead.c
2599
struct cc_aead_handle *aead_handle = drvdata->aead_handle;
drivers/crypto/ccree/cc_aead.c
2610
int cc_aead_alloc(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_aead.c
2616
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_aead.c
2625
drvdata->aead_handle = aead_handle;
drivers/crypto/ccree/cc_aead.c
2627
aead_handle->sram_workspace_addr = cc_sram_alloc(drvdata,
drivers/crypto/ccree/cc_aead.c
2637
if ((aead_algs[alg].min_hw_rev > drvdata->hw_rev) ||
drivers/crypto/ccree/cc_aead.c
2638
!(drvdata->std_bodies & aead_algs[alg].std_body))
drivers/crypto/ccree/cc_aead.c
2648
t_alg->drvdata = drvdata;
drivers/crypto/ccree/cc_aead.c
2664
cc_aead_free(drvdata);
drivers/crypto/ccree/cc_aead.c
313
cc_larval_digest_addr(ctx->drvdata,
drivers/crypto/ccree/cc_aead.c
365
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
416
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
459
larval_addr = cc_larval_digest_addr(ctx->drvdata,
drivers/crypto/ccree/cc_aead.c
48
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_aead.c
530
rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, idx);
drivers/crypto/ccree/cc_aead.c
549
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
628
rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, seq_len);
drivers/crypto/ccree/cc_aead.c
674
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
68
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
730
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
771
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
835
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_aead.c
890
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_aead.c
906
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_aead.h
105
int cc_aead_alloc(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_aead.h
106
int cc_aead_free(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
1077
rc = cc_aead_chain_assoc(drvdata, req, &sg_data, true, false);
drivers/crypto/ccree/cc_buffer_mgr.c
1080
rc = cc_aead_chain_iv(drvdata, req, &sg_data, true, false);
drivers/crypto/ccree/cc_buffer_mgr.c
1083
rc = cc_aead_chain_data(drvdata, req, &sg_data, true, false);
drivers/crypto/ccree/cc_buffer_mgr.c
1107
rc = cc_aead_chain_assoc(drvdata, req, &sg_data, false, true);
drivers/crypto/ccree/cc_buffer_mgr.c
1110
rc = cc_aead_chain_iv(drvdata, req, &sg_data, false, true);
drivers/crypto/ccree/cc_buffer_mgr.c
1113
rc = cc_aead_chain_data(drvdata, req, &sg_data, true, true);
drivers/crypto/ccree/cc_buffer_mgr.c
1123
mlli_params->curr_pool = drvdata->mlli_buffs_pool;
drivers/crypto/ccree/cc_buffer_mgr.c
1128
cc_update_aead_mlli_nents(drvdata, req);
drivers/crypto/ccree/cc_buffer_mgr.c
1141
int cc_map_hash_request_final(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_buffer_mgr.c
1146
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
1196
mlli_params->curr_pool = drvdata->mlli_buffs_pool;
drivers/crypto/ccree/cc_buffer_mgr.c
1220
int cc_map_hash_request_update(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_buffer_mgr.c
1225
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
1312
mlli_params->curr_pool = drvdata->mlli_buffs_pool;
drivers/crypto/ccree/cc_buffer_mgr.c
1377
int cc_buffer_mgr_init(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_buffer_mgr.c
1379
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
1381
drvdata->mlli_buffs_pool =
drivers/crypto/ccree/cc_buffer_mgr.c
1387
if (!drvdata->mlli_buffs_pool)
drivers/crypto/ccree/cc_buffer_mgr.c
1393
int cc_buffer_mgr_fini(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_buffer_mgr.c
1395
dma_pool_destroy(drvdata->mlli_buffs_pool);
drivers/crypto/ccree/cc_buffer_mgr.c
370
int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_buffer_mgr.c
377
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
441
mlli_params->curr_pool = drvdata->mlli_buffs_pool;
drivers/crypto/ccree/cc_buffer_mgr.c
461
struct cc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/crypto/ccree/cc_buffer_mgr.c
527
if (drvdata->coherent &&
drivers/crypto/ccree/cc_buffer_mgr.c
544
static int cc_aead_chain_iv(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_buffer_mgr.c
551
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
584
static int cc_aead_chain_assoc(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_buffer_mgr.c
592
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
675
static void cc_prepare_aead_data_mlli(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_buffer_mgr.c
684
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
709
if (!drvdata->coherent)
drivers/crypto/ccree/cc_buffer_mgr.c
788
static int cc_aead_chain_data(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_buffer_mgr.c
794
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
882
cc_prepare_aead_data_mlli(drvdata, req, sg_data,
drivers/crypto/ccree/cc_buffer_mgr.c
895
static void cc_update_aead_mlli_nents(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_buffer_mgr.c
902
areq_ctx->assoc.sram_addr = drvdata->mlli_sram_addr;
drivers/crypto/ccree/cc_buffer_mgr.c
911
areq_ctx->src.sram_addr = drvdata->mlli_sram_addr +
drivers/crypto/ccree/cc_buffer_mgr.c
921
drvdata->mlli_sram_addr +
drivers/crypto/ccree/cc_buffer_mgr.c
932
drvdata->mlli_sram_addr +
drivers/crypto/ccree/cc_buffer_mgr.c
946
int cc_map_aead_request(struct cc_drvdata *drvdata, struct aead_request *req)
drivers/crypto/ccree/cc_buffer_mgr.c
950
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_buffer_mgr.c
966
if (drvdata->coherent &&
drivers/crypto/ccree/cc_buffer_mgr.h
40
int cc_buffer_mgr_init(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_buffer_mgr.h
42
int cc_buffer_mgr_fini(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_buffer_mgr.h
44
int cc_map_cipher_request(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_buffer_mgr.h
52
int cc_map_aead_request(struct cc_drvdata *drvdata, struct aead_request *req);
drivers/crypto/ccree/cc_buffer_mgr.h
56
int cc_map_hash_request_final(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_buffer_mgr.h
60
int cc_map_hash_request_update(struct cc_drvdata *drvdata, void *ctx,
drivers/crypto/ccree/cc_cipher.c
1411
int cc_cipher_free(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_cipher.c
1416
list_for_each_entry_safe(t_alg, n, &drvdata->alg_list, entry) {
drivers/crypto/ccree/cc_cipher.c
1423
int cc_cipher_alloc(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_cipher.c
1426
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_cipher.c
1430
INIT_LIST_HEAD(&drvdata->alg_list);
drivers/crypto/ccree/cc_cipher.c
1436
if ((skcipher_algs[alg].min_hw_rev > drvdata->hw_rev) ||
drivers/crypto/ccree/cc_cipher.c
1437
!(drvdata->std_bodies & skcipher_algs[alg].std_body) ||
drivers/crypto/ccree/cc_cipher.c
1438
(drvdata->sec_disabled && skcipher_algs[alg].sec_func))
drivers/crypto/ccree/cc_cipher.c
1449
t_alg->drvdata = drvdata;
drivers/crypto/ccree/cc_cipher.c
1462
list_add_tail(&t_alg->entry, &drvdata->alg_list);
drivers/crypto/ccree/cc_cipher.c
1469
cc_cipher_free(drvdata);
drivers/crypto/ccree/cc_cipher.c
161
struct device *dev = drvdata_to_dev(cc_alg->drvdata);
drivers/crypto/ccree/cc_cipher.c
170
ctx_p->drvdata = cc_alg->drvdata;
drivers/crypto/ccree/cc_cipher.c
241
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
301
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
367
if (ctx_p->drvdata->hw_rev < CC_HW_REV_713) {
drivers/crypto/ccree/cc_cipher.c
401
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
47
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_cipher.c
511
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
539
set_queue_last_ind(ctx_p->drvdata, &desc[*seq_size]);
drivers/crypto/ccree/cc_cipher.c
552
set_queue_last_ind(ctx_p->drvdata, &desc[*seq_size]);
drivers/crypto/ccree/cc_cipher.c
568
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
612
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
689
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
772
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
779
ctx_p->drvdata->mlli_sram_addr);
drivers/crypto/ccree/cc_cipher.c
785
ctx_p->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_cipher.c
799
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
816
set_queue_last_ind(ctx_p->drvdata, &desc[*seq_size]);
drivers/crypto/ccree/cc_cipher.c
823
ctx_p->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_cipher.c
827
ctx_p->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_cipher.c
828
ctx_p->drvdata->mlli_sram_addr);
drivers/crypto/ccree/cc_cipher.c
830
ctx_p->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_cipher.c
835
ctx_p->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_cipher.c
836
ctx_p->drvdata->mlli_sram_addr +
drivers/crypto/ccree/cc_cipher.c
839
(ctx_p->drvdata->mlli_sram_addr +
drivers/crypto/ccree/cc_cipher.c
846
set_queue_last_ind(ctx_p->drvdata, &desc[*seq_size]);
drivers/crypto/ccree/cc_cipher.c
884
struct device *dev = drvdata_to_dev(ctx_p->drvdata);
drivers/crypto/ccree/cc_cipher.c
944
rc = cc_map_cipher_request(ctx_p->drvdata, req_ctx, ivsize, nbytes,
drivers/crypto/ccree/cc_cipher.c
968
rc = cc_send_request(ctx_p->drvdata, &cc_req, desc, seq_len,
drivers/crypto/ccree/cc_cipher.h
27
int cc_cipher_alloc(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_cipher.h
29
int cc_cipher_free(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_debugfs.c
100
debugfs_create_regset32("version", 0400, drvdata->dir, verset);
drivers/crypto/ccree/cc_debugfs.c
104
void cc_debugfs_fini(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_debugfs.c
106
debugfs_remove_recursive(drvdata->dir);
drivers/crypto/ccree/cc_debugfs.c
63
int cc_debugfs_init(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_debugfs.c
65
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_debugfs.c
74
regset->base = drvdata->cc_base;
drivers/crypto/ccree/cc_debugfs.c
77
drvdata->dir = debugfs_create_dir(drvdata->plat_dev->name,
drivers/crypto/ccree/cc_debugfs.c
80
debugfs_create_regset32("regs", 0400, drvdata->dir, regset);
drivers/crypto/ccree/cc_debugfs.c
81
debugfs_create_bool("coherent", 0400, drvdata->dir, &drvdata->coherent);
drivers/crypto/ccree/cc_debugfs.c
88
if (drvdata->hw_rev <= CC_HW_REV_712) {
drivers/crypto/ccree/cc_debugfs.c
89
ver_sig_regs[0].offset = drvdata->sig_offset;
drivers/crypto/ccree/cc_debugfs.c
90
ver_sig_regs[1].offset = drvdata->ver_offset;
drivers/crypto/ccree/cc_debugfs.c
97
verset->base = drvdata->cc_base;
drivers/crypto/ccree/cc_debugfs.h
11
int cc_debugfs_init(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_debugfs.h
12
void cc_debugfs_fini(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_debugfs.h
19
static inline int cc_debugfs_init(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_debugfs.h
24
static inline void cc_debugfs_fini(struct cc_drvdata *drvdata) {}
drivers/crypto/ccree/cc_driver.c
102
static void init_cc_cache_params(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.c
104
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_driver.c
109
cache_params = cc_ioread(drvdata, CC_REG(AXIM_CACHE_PARAMS));
drivers/crypto/ccree/cc_driver.c
113
val = drvdata->coherent ? 0xb : 0x2;
drivers/crypto/ccree/cc_driver.c
127
drvdata->cache_params = cache_params;
drivers/crypto/ccree/cc_driver.c
131
if (drvdata->hw_rev <= CC_HW_REV_710)
drivers/crypto/ccree/cc_driver.c
135
ace_const = cc_ioread(drvdata, CC_REG(AXIM_ACE_CONST));
drivers/crypto/ccree/cc_driver.c
139
val = drvdata->coherent ? 0x2 : 0x3;
drivers/crypto/ccree/cc_driver.c
151
drvdata->ace_const = ace_const;
drivers/crypto/ccree/cc_driver.c
154
static u32 cc_read_idr(struct cc_drvdata *drvdata, const u32 *idr_offsets)
drivers/crypto/ccree/cc_driver.c
163
idr.regs[i] = cc_ioread(drvdata, idr_offsets[i]);
drivers/crypto/ccree/cc_driver.c
183
struct cc_drvdata *drvdata = (struct cc_drvdata *)dev_id;
drivers/crypto/ccree/cc_driver.c
184
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_driver.c
194
irr = cc_ioread(drvdata, CC_REG(HOST_IRR));
drivers/crypto/ccree/cc_driver.c
200
imr = cc_ioread(drvdata, CC_REG(HOST_IMR));
drivers/crypto/ccree/cc_driver.c
203
cc_iowrite(drvdata, CC_REG(HOST_ICR), irr);
drivers/crypto/ccree/cc_driver.c
205
drvdata->irq = irr;
drivers/crypto/ccree/cc_driver.c
207
if (irr & drvdata->comp_mask) {
drivers/crypto/ccree/cc_driver.c
211
cc_iowrite(drvdata, CC_REG(HOST_IMR), imr | drvdata->comp_mask);
drivers/crypto/ccree/cc_driver.c
212
irr &= ~drvdata->comp_mask;
drivers/crypto/ccree/cc_driver.c
213
complete_request(drvdata);
drivers/crypto/ccree/cc_driver.c
221
cc_iowrite(drvdata, CC_REG(HOST_IMR), imr | CC_GPR0_IRQ_MASK);
drivers/crypto/ccree/cc_driver.c
223
fips_handler(drvdata);
drivers/crypto/ccree/cc_driver.c
231
axi_err = cc_ioread(drvdata, CC_REG(AXIM_MON_ERR));
drivers/crypto/ccree/cc_driver.c
247
bool cc_wait_for_reset_completion(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.c
253
if (drvdata->hw_rev <= CC_HW_REV_712)
drivers/crypto/ccree/cc_driver.c
260
val = cc_ioread(drvdata, CC_REG(NVM_IS_IDLE));
drivers/crypto/ccree/cc_driver.c
272
int init_cc_regs(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.c
275
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_driver.c
279
if (drvdata->hw_rev <= CC_HW_REV_712) {
drivers/crypto/ccree/cc_driver.c
280
val = cc_ioread(drvdata, CC_REG(AXIM_CFG));
drivers/crypto/ccree/cc_driver.c
281
cc_iowrite(drvdata, CC_REG(AXIM_CFG), val & ~CC_AXI_IRQ_MASK);
drivers/crypto/ccree/cc_driver.c
283
cc_ioread(drvdata, CC_REG(AXIM_CFG)));
drivers/crypto/ccree/cc_driver.c
287
val = cc_ioread(drvdata, CC_REG(HOST_IRR));
drivers/crypto/ccree/cc_driver.c
289
cc_iowrite(drvdata, CC_REG(HOST_ICR), val);
drivers/crypto/ccree/cc_driver.c
292
val = drvdata->comp_mask | CC_AXI_ERR_IRQ_MASK;
drivers/crypto/ccree/cc_driver.c
294
if (drvdata->hw_rev >= CC_HW_REV_712)
drivers/crypto/ccree/cc_driver.c
297
cc_iowrite(drvdata, CC_REG(HOST_IMR), ~val);
drivers/crypto/ccree/cc_driver.c
299
cc_iowrite(drvdata, CC_REG(AXIM_CACHE_PARAMS), drvdata->cache_params);
drivers/crypto/ccree/cc_driver.c
300
if (drvdata->hw_rev >= CC_HW_REV_712)
drivers/crypto/ccree/cc_driver.c
301
cc_iowrite(drvdata, CC_REG(AXIM_ACE_CONST), drvdata->ace_const);
drivers/crypto/ccree/cc_driver.c
577
void fini_cc_regs(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.c
580
cc_iowrite(drvdata, CC_REG(HOST_IMR), 0xFFFFFFFF);
drivers/crypto/ccree/cc_driver.c
586
struct cc_drvdata *drvdata =
drivers/crypto/ccree/cc_driver.c
589
cc_aead_free(drvdata);
drivers/crypto/ccree/cc_driver.c
590
cc_cipher_free(drvdata);
drivers/crypto/ccree/cc_driver.c
591
cc_hash_free(drvdata);
drivers/crypto/ccree/cc_driver.c
592
cc_buffer_mgr_fini(drvdata);
drivers/crypto/ccree/cc_driver.c
593
cc_req_mgr_fini(drvdata);
drivers/crypto/ccree/cc_driver.c
594
cc_fips_fini(drvdata);
drivers/crypto/ccree/cc_driver.c
595
cc_debugfs_fini(drvdata);
drivers/crypto/ccree/cc_driver.c
596
fini_cc_regs(drvdata);
drivers/crypto/ccree/cc_driver.c
600
clk_disable_unprepare(drvdata->clk);
drivers/crypto/ccree/cc_driver.c
603
unsigned int cc_get_default_hash_len(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.c
605
if (drvdata->hw_rev >= CC_HW_REV_712)
drivers/crypto/ccree/cc_driver.h
165
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_driver.h
185
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_driver.h
194
static inline struct device *drvdata_to_dev(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_driver.h
196
return &drvdata->plat_dev->dev;
drivers/crypto/ccree/cc_driver.h
207
bool cc_wait_for_reset_completion(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_driver.h
208
int init_cc_regs(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_driver.h
209
void fini_cc_regs(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_driver.h
210
unsigned int cc_get_default_hash_len(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_driver.h
212
static inline void cc_iowrite(struct cc_drvdata *drvdata, u32 reg, u32 val)
drivers/crypto/ccree/cc_driver.h
214
iowrite32(val, (drvdata->cc_base + reg));
drivers/crypto/ccree/cc_driver.h
217
static inline u32 cc_ioread(struct cc_drvdata *drvdata, u32 reg)
drivers/crypto/ccree/cc_driver.h
219
return ioread32(drvdata->cc_base + reg);
drivers/crypto/ccree/cc_driver.h
228
static inline void set_queue_last_ind(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_driver.h
231
if (drvdata->hw_rev >= CC_HW_REV_712)
drivers/crypto/ccree/cc_fips.c
114
struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg;
drivers/crypto/ccree/cc_fips.c
117
irq = (drvdata->irq & (CC_GPR0_IRQ_MASK));
drivers/crypto/ccree/cc_fips.c
120
cc_tee_handle_fips_error(drvdata);
drivers/crypto/ccree/cc_fips.c
127
cc_iowrite(drvdata, CC_REG(HOST_IMR), val);
drivers/crypto/ccree/cc_fips.c
147
fips_h->drvdata = p_drvdata;
drivers/crypto/ccree/cc_fips.c
16
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_fips.c
22
static bool cc_get_tee_fips_status(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_fips.c
26
reg = cc_ioread(drvdata, CC_REG(GPR_HOST));
drivers/crypto/ccree/cc_fips.c
40
void cc_set_ree_fips_status(struct cc_drvdata *drvdata, bool status)
drivers/crypto/ccree/cc_fips.c
44
if (drvdata->hw_rev < CC_HW_REV_712)
drivers/crypto/ccree/cc_fips.c
49
cc_iowrite(drvdata, CC_REG(HOST_GPR0), val);
drivers/crypto/ccree/cc_fips.c
58
struct cc_drvdata *drvdata = fips_h->drvdata;
drivers/crypto/ccree/cc_fips.c
59
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_fips.c
61
cc_set_ree_fips_status(drvdata, false);
drivers/crypto/ccree/cc_fips.c
67
void cc_fips_fini(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_fips.c
69
struct cc_fips_handle *fips_h = drvdata->fips_handle;
drivers/crypto/ccree/cc_fips.c
71
if (drvdata->hw_rev < CC_HW_REV_712 || !fips_h)
drivers/crypto/ccree/cc_fips.c
78
drvdata->fips_handle = NULL;
drivers/crypto/ccree/cc_fips.c
81
void fips_handler(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_fips.c
83
struct cc_fips_handle *fips_handle_ptr = drvdata->fips_handle;
drivers/crypto/ccree/cc_fips.c
85
if (drvdata->hw_rev < CC_HW_REV_712)
drivers/crypto/ccree/cc_fips.h
18
void cc_fips_fini(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_fips.h
19
void fips_handler(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_fips.h
20
void cc_set_ree_fips_status(struct cc_drvdata *drvdata, bool ok);
drivers/crypto/ccree/cc_fips.h
30
static inline void cc_fips_fini(struct cc_drvdata *drvdata) {}
drivers/crypto/ccree/cc_fips.h
31
static inline void cc_set_ree_fips_status(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_fips.h
33
static inline void fips_handler(struct cc_drvdata *drvdata) {}
drivers/crypto/ccree/cc_hash.c
1012
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1050
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1073
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1118
return cc_get_default_hash_len(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1137
ctx->drvdata = cc_alg->drvdata;
drivers/crypto/ccree/cc_hash.c
1145
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1156
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1171
rc = cc_map_hash_request_update(ctx->drvdata, state, req->src,
drivers/crypto/ccree/cc_hash.c
1201
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
1210
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
1224
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1250
if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
drivers/crypto/ccree/cc_hash.c
1324
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
1330
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
1345
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1365
if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
drivers/crypto/ccree/cc_hash.c
1405
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
1411
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
1426
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1449
if (cc_map_hash_request_final(ctx->drvdata, state, req->src,
drivers/crypto/ccree/cc_hash.c
1484
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
1491
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
1531
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
1572
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_hash.c
1863
static int cc_init_copy_sram(struct cc_drvdata *drvdata, const u32 *data,
drivers/crypto/ccree/cc_hash.c
1872
rc = send_request_init(drvdata, larval_seq, larval_seq_len);
drivers/crypto/ccree/cc_hash.c
1880
int cc_init_hash_sram(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_hash.c
1882
struct cc_hash_handle *hash_handle = drvdata->hash_handle;
drivers/crypto/ccree/cc_hash.c
1884
bool large_sha_supported = (drvdata->hw_rev >= CC_HW_REV_712);
drivers/crypto/ccree/cc_hash.c
1885
bool sm3_supported = (drvdata->hw_rev >= CC_HW_REV_713);
drivers/crypto/ccree/cc_hash.c
1889
rc = cc_init_copy_sram(drvdata, cc_digest_len_init,
drivers/crypto/ccree/cc_hash.c
1896
rc = cc_init_copy_sram(drvdata, cc_digest_len_sha512_init,
drivers/crypto/ccree/cc_hash.c
1907
rc = cc_init_copy_sram(drvdata, cc_md5_init, sizeof(cc_md5_init),
drivers/crypto/ccree/cc_hash.c
1912
rc = cc_init_copy_sram(drvdata, cc_sha1_init, sizeof(cc_sha1_init),
drivers/crypto/ccree/cc_hash.c
1917
rc = cc_init_copy_sram(drvdata, cc_sha224_init, sizeof(cc_sha224_init),
drivers/crypto/ccree/cc_hash.c
1922
rc = cc_init_copy_sram(drvdata, cc_sha256_init, sizeof(cc_sha256_init),
drivers/crypto/ccree/cc_hash.c
1928
rc = cc_init_copy_sram(drvdata, cc_sm3_init,
drivers/crypto/ccree/cc_hash.c
1935
rc = cc_init_copy_sram(drvdata, cc_sha384_init,
drivers/crypto/ccree/cc_hash.c
1940
rc = cc_init_copy_sram(drvdata, cc_sha512_init,
drivers/crypto/ccree/cc_hash.c
1950
int cc_hash_alloc(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_hash.c
1955
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_hash.c
1964
drvdata->hash_handle = hash_handle;
drivers/crypto/ccree/cc_hash.c
1972
if (drvdata->hw_rev >= CC_HW_REV_713)
drivers/crypto/ccree/cc_hash.c
1975
if (drvdata->hw_rev >= CC_HW_REV_712)
drivers/crypto/ccree/cc_hash.c
1979
sram_buff = cc_sram_alloc(drvdata, sram_size_to_alloc);
drivers/crypto/ccree/cc_hash.c
1989
rc = cc_init_hash_sram(drvdata);
drivers/crypto/ccree/cc_hash.c
2001
if ((driver_hash[alg].min_hw_rev > drvdata->hw_rev) ||
drivers/crypto/ccree/cc_hash.c
2002
!(drvdata->std_bodies & driver_hash[alg].std_body))
drivers/crypto/ccree/cc_hash.c
2014
t_alg->drvdata = drvdata;
drivers/crypto/ccree/cc_hash.c
2037
t_alg->drvdata = drvdata;
drivers/crypto/ccree/cc_hash.c
2052
cc_hash_free(drvdata);
drivers/crypto/ccree/cc_hash.c
2056
int cc_hash_free(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_hash.c
2059
struct cc_hash_handle *hash_handle = drvdata->hash_handle;
drivers/crypto/ccree/cc_hash.c
2166
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
2186
set_dout_sram(&desc[idx], ctx->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_hash.c
2193
ctx->drvdata->mlli_sram_addr,
drivers/crypto/ccree/cc_hash.c
2237
u32 cc_larval_digest_addr(void *drvdata, u32 mode)
drivers/crypto/ccree/cc_hash.c
2239
struct cc_drvdata *_drvdata = (struct cc_drvdata *)drvdata;
drivers/crypto/ccree/cc_hash.c
2295
u32 cc_digest_len_addr(void *drvdata, u32 mode)
drivers/crypto/ccree/cc_hash.c
2297
struct cc_drvdata *_drvdata = (struct cc_drvdata *)drvdata;
drivers/crypto/ccree/cc_hash.c
355
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
396
cc_digest_len_addr(ctx->drvdata, ctx->hash_mode),
drivers/crypto/ccree/cc_hash.c
428
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
453
if (cc_map_hash_request_final(ctx->drvdata, state, src, nbytes, 1,
drivers/crypto/ccree/cc_hash.c
474
larval_digest_addr = cc_larval_digest_addr(ctx->drvdata,
drivers/crypto/ccree/cc_hash.c
520
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
565
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
580
rc = cc_map_hash_request_update(ctx->drvdata, state, src, nbytes,
drivers/crypto/ccree/cc_hash.c
619
set_queue_last_ind(ctx->drvdata, &desc[idx]);
drivers/crypto/ccree/cc_hash.c
624
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
642
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
658
if (cc_map_hash_request_final(ctx->drvdata, state, src, nbytes, update,
drivers/crypto/ccree/cc_hash.c
692
rc = cc_send_request(ctx->drvdata, &cc_req, desc, idx, &req->base);
drivers/crypto/ccree/cc_hash.c
718
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
73
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_hash.c
741
dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
747
larval_addr = cc_larval_digest_addr(ctx->drvdata, ctx->hash_mode);
drivers/crypto/ccree/cc_hash.c
85
struct cc_drvdata *drvdata;
drivers/crypto/ccree/cc_hash.c
850
rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, idx);
drivers/crypto/ccree/cc_hash.c
907
rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, idx);
drivers/crypto/ccree/cc_hash.c
927
struct device *dev = drvdata_to_dev(ctx->drvdata);
drivers/crypto/ccree/cc_hash.c
996
rc = cc_send_sync_request(ctx->drvdata, &cc_req, desc, idx);
drivers/crypto/ccree/cc_hash.h
104
u32 cc_larval_digest_addr(void *drvdata, u32 mode);
drivers/crypto/ccree/cc_hash.h
79
int cc_hash_alloc(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_hash.h
80
int cc_init_hash_sram(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_hash.h
81
int cc_hash_free(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_hash.h
92
u32 cc_digest_len_addr(void *drvdata, u32 mode);
drivers/crypto/ccree/cc_pm.c
20
struct cc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/crypto/ccree/cc_pm.c
23
fini_cc_regs(drvdata);
drivers/crypto/ccree/cc_pm.c
24
cc_iowrite(drvdata, CC_REG(HOST_POWER_DOWN_EN), POWER_DOWN_ENABLE);
drivers/crypto/ccree/cc_pm.c
25
clk_disable_unprepare(drvdata->clk);
drivers/crypto/ccree/cc_pm.c
32
struct cc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/crypto/ccree/cc_pm.c
36
rc = clk_prepare_enable(drvdata->clk);
drivers/crypto/ccree/cc_pm.c
42
if (!cc_wait_for_reset_completion(drvdata)) {
drivers/crypto/ccree/cc_pm.c
44
clk_disable_unprepare(drvdata->clk);
drivers/crypto/ccree/cc_pm.c
48
cc_iowrite(drvdata, CC_REG(HOST_POWER_DOWN_EN), POWER_DOWN_DISABLE);
drivers/crypto/ccree/cc_pm.c
49
rc = init_cc_regs(drvdata);
drivers/crypto/ccree/cc_pm.c
52
clk_disable_unprepare(drvdata->clk);
drivers/crypto/ccree/cc_pm.c
56
cc_tee_handle_fips_error(drvdata);
drivers/crypto/ccree/cc_pm.c
58
cc_init_hash_sram(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
110
drvdata->request_mgr_handle = NULL;
drivers/crypto/ccree/cc_request_mgr.c
113
int cc_req_mgr_init(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
116
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
125
drvdata->request_mgr_handle = req_mgr_h;
drivers/crypto/ccree/cc_request_mgr.c
143
(unsigned long)drvdata);
drivers/crypto/ccree/cc_request_mgr.c
145
req_mgr_h->hw_queue_size = cc_ioread(drvdata,
drivers/crypto/ccree/cc_request_mgr.c
175
set_queue_last_ind(drvdata, &req_mgr_h->compl_desc);
drivers/crypto/ccree/cc_request_mgr.c
180
cc_req_mgr_fini(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
184
static void enqueue_seq(struct cc_drvdata *drvdata, struct cc_hw_desc seq[],
drivers/crypto/ccree/cc_request_mgr.c
188
void __iomem *reg = drvdata->cc_base + CC_REG(DSCRPTR_QUEUE_WORD0);
drivers/crypto/ccree/cc_request_mgr.c
189
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
224
static int cc_queues_status(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_request_mgr.c
229
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
248
cc_ioread(drvdata, CC_REG(DSCRPTR_QUEUE_CONTENT));
drivers/crypto/ccree/cc_request_mgr.c
278
static void cc_do_send_request(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_request_mgr.c
283
struct cc_req_mgr_handle *req_mgr_h = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
286
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
310
enqueue_seq(drvdata, desc, len);
drivers/crypto/ccree/cc_request_mgr.c
313
enqueue_seq(drvdata, &req_mgr_h->compl_desc, 1);
drivers/crypto/ccree/cc_request_mgr.c
330
static void cc_enqueue_backlog(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_request_mgr.c
333
struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
334
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
344
static void cc_proc_backlog(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
346
struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
350
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
376
rc = cc_queues_status(drvdata, mgr, bli->len);
drivers/crypto/ccree/cc_request_mgr.c
387
cc_do_send_request(drvdata, &bli->creq, bli->desc, bli->len,
drivers/crypto/ccree/cc_request_mgr.c
401
int cc_send_request(struct cc_drvdata *drvdata, struct cc_crypto_req *cc_req,
drivers/crypto/ccree/cc_request_mgr.c
406
struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
407
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
419
rc = cc_queues_status(drvdata, mgr, len);
drivers/crypto/ccree/cc_request_mgr.c
439
cc_enqueue_backlog(drvdata, bli);
drivers/crypto/ccree/cc_request_mgr.c
444
cc_do_send_request(drvdata, cc_req, desc, len, false);
drivers/crypto/ccree/cc_request_mgr.c
452
int cc_send_sync_request(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_request_mgr.c
457
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
458
struct cc_req_mgr_handle *mgr = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
472
rc = cc_queues_status(drvdata, mgr, len + 1);
drivers/crypto/ccree/cc_request_mgr.c
478
wait_for_completion_interruptible(&drvdata->hw_queue_avail);
drivers/crypto/ccree/cc_request_mgr.c
479
reinit_completion(&drvdata->hw_queue_avail);
drivers/crypto/ccree/cc_request_mgr.c
482
cc_do_send_request(drvdata, cc_req, desc, len, true);
drivers/crypto/ccree/cc_request_mgr.c
501
int send_request_init(struct cc_drvdata *drvdata, struct cc_hw_desc *desc,
drivers/crypto/ccree/cc_request_mgr.c
504
struct cc_req_mgr_handle *req_mgr_h = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
510
rc = cc_queues_status(drvdata, req_mgr_h, total_seq_len);
drivers/crypto/ccree/cc_request_mgr.c
514
set_queue_last_ind(drvdata, &desc[(len - 1)]);
drivers/crypto/ccree/cc_request_mgr.c
522
enqueue_seq(drvdata, desc, len);
drivers/crypto/ccree/cc_request_mgr.c
526
cc_ioread(drvdata, CC_REG(DSCRPTR_QUEUE_CONTENT));
drivers/crypto/ccree/cc_request_mgr.c
531
void complete_request(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
534
drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
536
complete(&drvdata->hw_queue_avail);
drivers/crypto/ccree/cc_request_mgr.c
548
struct cc_drvdata *drvdata =
drivers/crypto/ccree/cc_request_mgr.c
551
comp_handler((unsigned long)drvdata);
drivers/crypto/ccree/cc_request_mgr.c
555
static void proc_completions(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
558
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
560
drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
588
rc = (drvdata->irq & mask ? -EPERM : 0);
drivers/crypto/ccree/cc_request_mgr.c
590
drvdata->irq, rc);
drivers/crypto/ccree/cc_request_mgr.c
606
static inline u32 cc_axi_comp_count(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
609
cc_ioread(drvdata, drvdata->axim_mon_offset));
drivers/crypto/ccree/cc_request_mgr.c
615
struct cc_drvdata *drvdata = (struct cc_drvdata *)devarg;
drivers/crypto/ccree/cc_request_mgr.c
617
drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
618
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
622
irq = (drvdata->irq & drvdata->comp_mask);
drivers/crypto/ccree/cc_request_mgr.c
627
cc_iowrite(drvdata, CC_REG(HOST_ICR), irq);
drivers/crypto/ccree/cc_request_mgr.c
631
request_mgr_handle->axi_completed += cc_axi_comp_count(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
638
drvdata->irq |= cc_ioread(drvdata, CC_REG(HOST_IRR));
drivers/crypto/ccree/cc_request_mgr.c
639
irq = (drvdata->irq & drvdata->comp_mask);
drivers/crypto/ccree/cc_request_mgr.c
640
proc_completions(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
646
cc_axi_comp_count(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
649
cc_iowrite(drvdata, CC_REG(HOST_ICR), irq);
drivers/crypto/ccree/cc_request_mgr.c
651
request_mgr_handle->axi_completed += cc_axi_comp_count(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
657
cc_iowrite(drvdata, CC_REG(HOST_IMR),
drivers/crypto/ccree/cc_request_mgr.c
658
cc_ioread(drvdata, CC_REG(HOST_IMR)) & ~drvdata->comp_mask);
drivers/crypto/ccree/cc_request_mgr.c
660
cc_proc_backlog(drvdata);
drivers/crypto/ccree/cc_request_mgr.c
86
void cc_req_mgr_fini(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_request_mgr.c
88
struct cc_req_mgr_handle *req_mgr_h = drvdata->request_mgr_handle;
drivers/crypto/ccree/cc_request_mgr.c
89
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_request_mgr.h
13
int cc_req_mgr_init(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_request_mgr.h
27
int cc_send_request(struct cc_drvdata *drvdata, struct cc_crypto_req *cc_req,
drivers/crypto/ccree/cc_request_mgr.h
31
int cc_send_sync_request(struct cc_drvdata *drvdata,
drivers/crypto/ccree/cc_request_mgr.h
35
int send_request_init(struct cc_drvdata *drvdata, struct cc_hw_desc *desc,
drivers/crypto/ccree/cc_request_mgr.h
38
void complete_request(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_request_mgr.h
40
void cc_req_mgr_fini(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_sram_mgr.c
17
int cc_sram_mgr_init(struct cc_drvdata *drvdata)
drivers/crypto/ccree/cc_sram_mgr.c
20
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_sram_mgr.c
22
if (drvdata->hw_rev < CC_HW_REV_712) {
drivers/crypto/ccree/cc_sram_mgr.c
24
start = cc_ioread(drvdata, CC_REG(HOST_SEP_SRAM_THRESHOLD));
drivers/crypto/ccree/cc_sram_mgr.c
31
drvdata->sram_free_offset = start;
drivers/crypto/ccree/cc_sram_mgr.c
44
u32 cc_sram_alloc(struct cc_drvdata *drvdata, u32 size)
drivers/crypto/ccree/cc_sram_mgr.c
46
struct device *dev = drvdata_to_dev(drvdata);
drivers/crypto/ccree/cc_sram_mgr.c
54
if (size > (CC_CC_SRAM_SIZE - drvdata->sram_free_offset)) {
drivers/crypto/ccree/cc_sram_mgr.c
56
size, drvdata->sram_free_offset);
drivers/crypto/ccree/cc_sram_mgr.c
60
p = drvdata->sram_free_offset;
drivers/crypto/ccree/cc_sram_mgr.c
61
drvdata->sram_free_offset += size;
drivers/crypto/ccree/cc_sram_mgr.h
25
int cc_sram_mgr_init(struct cc_drvdata *drvdata);
drivers/crypto/ccree/cc_sram_mgr.h
36
u32 cc_sram_alloc(struct cc_drvdata *drvdata, u32 size);
drivers/dma/fsl-edma-common.c
110
if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_WRAP_IO) {
drivers/dma/fsl-edma-common.c
144
if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_WRAP_IO) {
drivers/dma/fsl-edma-common.c
189
u32 dmamux_nr = fsl_chan->edma->drvdata->dmamuxs;
drivers/dma/fsl-edma-common.c
197
if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_MUX_SWAP)
drivers/dma/fsl-edma-common.c
203
if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_CONFIG32)
drivers/dma/fsl-edma-common.c
890
if (edma->drvdata->dmamuxs)
drivers/dma/fsl-edma-common.c
932
bool is64 = !!(edma->drvdata->flags & FSL_EDMA_DRV_EDMA64);
drivers/dma/fsl-edma-common.h
261
const struct fsl_edma_drvdata *drvdata;
drivers/dma/fsl-edma-common.h
274
return fsl_chan->edma->drvdata->flags;
drivers/dma/fsl-edma-main.c
257
u32 dmamux_nr = fsl_edma->drvdata->dmamuxs;
drivers/dma/fsl-edma-main.c
306
b_chmux = !!(fsl_edma->drvdata->flags & FSL_EDMA_DRV_HAS_CHMUX);
drivers/dma/fsl-edma-main.c
402
if (!(fsl_edma->drvdata->flags & FSL_EDMA_DRV_ERRIRQ_SHARE)) {
drivers/dma/fsl-edma-main.c
409
if (fsl_edma->drvdata->flags & FSL_EDMA_DRV_ERRIRQ_SHARE) {
drivers/dma/fsl-edma-main.c
700
const struct fsl_edma_drvdata *drvdata = NULL;
drivers/dma/fsl-edma-main.c
707
drvdata = device_get_match_data(&pdev->dev);
drivers/dma/fsl-edma-main.c
708
if (!drvdata)
drivers/dma/fsl-edma-main.c
724
fsl_edma->drvdata = drvdata;
drivers/dma/fsl-edma-main.c
732
if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG)) {
drivers/dma/fsl-edma-main.c
737
if (drvdata->flags & FSL_EDMA_DRV_HAS_DMACLK) {
drivers/dma/fsl-edma-main.c
753
for (i = 0; i < fsl_edma->drvdata->dmamuxs; i++) {
drivers/dma/fsl-edma-main.c
774
if (drvdata->flags & FSL_EDMA_DRV_HAS_PD) {
drivers/dma/fsl-edma-main.c
783
if (drvdata->flags & FSL_EDMA_DRV_TCD64)
drivers/dma/fsl-edma-main.c
806
len = (drvdata->flags & FSL_EDMA_DRV_SPLIT_REG) ?
drivers/dma/fsl-edma-main.c
809
+ i * drvdata->chreg_space_sz + drvdata->chreg_off + len;
drivers/dma/fsl-edma-main.c
810
fsl_chan->mux_addr = fsl_edma->membase + drvdata->mux_off + i * drvdata->mux_skip;
drivers/dma/fsl-edma-main.c
812
if (drvdata->flags & FSL_EDMA_DRV_HAS_CHCLK) {
drivers/dma/fsl-edma-main.c
825
if (fsl_chan->edma->drvdata->flags & FSL_EDMA_DRV_HAS_CHCLK)
drivers/dma/fsl-edma-main.c
829
ret = fsl_edma->drvdata->setup_irq(pdev, fsl_edma);
drivers/dma/fsl-edma-main.c
857
if (drvdata->flags & FSL_EDMA_DRV_BUS_8BYTE) {
drivers/dma/fsl-edma-main.c
863
if (drvdata->flags & FSL_EDMA_DRV_DEV_TO_DEV)
drivers/dma/fsl-edma-main.c
866
fsl_edma->dma_dev.copy_align = drvdata->flags & FSL_EDMA_DRV_ALIGN_64BYTE ?
drivers/dma/fsl-edma-main.c
884
drvdata->dmamuxs ? fsl_edma_xlate : fsl_edma3_xlate,
drivers/dma/fsl-edma-main.c
891
if (!(drvdata->flags & FSL_EDMA_DRV_SPLIT_REG))
drivers/dma/fsl-edma-main.c
948
if (!(fsl_edma->drvdata->flags & FSL_EDMA_DRV_SPLIT_REG))
drivers/dma/imx-sdma.c
1030
if (sdmac->sdma->drvdata->ecspi_fixed) {
drivers/dma/imx-sdma.c
1860
if (sdmac->event_id0 >= sdmac->sdma->drvdata->num_events)
drivers/dma/imx-sdma.c
1865
if (sdmac->event_id1 >= sdmac->sdma->drvdata->num_events)
drivers/dma/imx-sdma.c
2128
if (sdma->drvdata->check_ratio &&
drivers/dma/imx-sdma.c
2155
for (i = 0; i < sdma->drvdata->num_events; i++)
drivers/dma/imx-sdma.c
2258
sdma->drvdata = of_device_get_match_data(sdma->dev);
drivers/dma/imx-sdma.c
2332
if (sdma->drvdata->script_addrs)
drivers/dma/imx-sdma.c
2333
sdma_add_scripts(sdma, sdma->drvdata->script_addrs);
drivers/dma/imx-sdma.c
536
const struct sdma_driver_data *drvdata;
drivers/dma/imx-sdma.c
695
u32 chnenbl0 = sdma->drvdata->chnenbl0;
drivers/dma/mcf-edma-main.c
180
mcf_edma->drvdata = &mcf_data;
drivers/dma/mcf-edma-main.c
209
ret = mcf_edma->drvdata->setup_irq(pdev, mcf_edma);
drivers/dma/st_fdma.c
714
const struct st_fdma_driverdata *drvdata,
drivers/dma/st_fdma.c
718
drvdata->name, drvdata->id);
drivers/dma/st_fdma.c
744
const struct st_fdma_driverdata *drvdata;
drivers/dma/st_fdma.c
747
drvdata = device_get_match_data(&pdev->dev);
drivers/dma/st_fdma.c
753
ret = st_fdma_parse_dt(pdev, drvdata, fdev);
drivers/dma/st_fdma.c
765
fdev->drvdata = drvdata;
drivers/dma/st_fdma.h
132
const struct st_fdma_driverdata *drvdata;
drivers/edac/altera_edac.c
100
regmap_read(drvdata->mc_vbase, priv->ecc_saddr_offset,
drivers/edac/altera_edac.c
103
regmap_read(drvdata->mc_vbase, priv->ecc_cecnt_offset,
drivers/edac/altera_edac.c
110
regmap_write(drvdata->mc_vbase, priv->ecc_irq_clr_offset,
drivers/edac/altera_edac.c
123
struct altr_sdram_mc_data *drvdata = mci->pvt_info;
drivers/edac/altera_edac.c
124
const struct altr_sdram_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
136
regmap_read(drvdata->mc_vbase, priv->ce_ue_trgr_offset,
drivers/edac/altera_edac.c
148
regmap_write(drvdata->mc_vbase, priv->ce_ue_trgr_offset,
drivers/edac/altera_edac.c
155
regmap_write(drvdata->mc_vbase, priv->ce_ue_trgr_offset,
drivers/edac/altera_edac.c
164
regmap_write(drvdata->mc_vbase, priv->ce_ue_trgr_offset, read_reg);
drivers/edac/altera_edac.c
1747
struct altr_edac_device_dev *drvdata = edac_dci->pvt_info;
drivers/edac/altera_edac.c
1748
const struct edac_device_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
1749
void __iomem *set_addr = (drvdata->base + priv->set_err_ofst);
drivers/edac/altera_edac.c
1779
struct altr_edac_device_dev *drvdata = edac_dci->pvt_info;
drivers/edac/altera_edac.c
1780
const struct edac_device_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
1781
void __iomem *set_addr = (drvdata->base + priv->set_err_ofst);
drivers/edac/altera_edac.c
1793
writel(ECC_WORD_WRITE, drvdata->base + ECC_BLK_DBYTECTRL_OFST);
drivers/edac/altera_edac.c
1795
writel(0, drvdata->base + ECC_BLK_ADDRESS_OFST);
drivers/edac/altera_edac.c
1797
writel(ECC_READ_EDOVR, drvdata->base + ECC_BLK_ACCCTRL_OFST);
drivers/edac/altera_edac.c
1799
writel(ECC_XACT_KICK, drvdata->base + ECC_BLK_STARTACC_OFST);
drivers/edac/altera_edac.c
1801
writel(readl(drvdata->base + ECC_BLK_RDATA0_OFST) ^ 0x1,
drivers/edac/altera_edac.c
1802
drvdata->base + ECC_BLK_WDATA0_OFST);
drivers/edac/altera_edac.c
1803
writel(readl(drvdata->base + ECC_BLK_RDATA1_OFST),
drivers/edac/altera_edac.c
1804
drvdata->base + ECC_BLK_WDATA1_OFST);
drivers/edac/altera_edac.c
1805
writel(readl(drvdata->base + ECC_BLK_RDATA2_OFST),
drivers/edac/altera_edac.c
1806
drvdata->base + ECC_BLK_WDATA2_OFST);
drivers/edac/altera_edac.c
1807
writel(readl(drvdata->base + ECC_BLK_RDATA3_OFST),
drivers/edac/altera_edac.c
1808
drvdata->base + ECC_BLK_WDATA3_OFST);
drivers/edac/altera_edac.c
1811
writel(readl(drvdata->base + ECC_BLK_RECC0_OFST),
drivers/edac/altera_edac.c
1812
drvdata->base + ECC_BLK_WECC0_OFST);
drivers/edac/altera_edac.c
1813
writel(readl(drvdata->base + ECC_BLK_RECC1_OFST),
drivers/edac/altera_edac.c
1814
drvdata->base + ECC_BLK_WECC1_OFST);
drivers/edac/altera_edac.c
1816
writel(ECC_WRITE_EDOVR, drvdata->base + ECC_BLK_ACCCTRL_OFST);
drivers/edac/altera_edac.c
1818
writel(ECC_XACT_KICK, drvdata->base + ECC_BLK_STARTACC_OFST);
drivers/edac/altera_edac.c
1820
writel(ECC_READ_EDOVR, drvdata->base + ECC_BLK_ACCCTRL_OFST);
drivers/edac/altera_edac.c
1822
writel(ECC_XACT_KICK, drvdata->base + ECC_BLK_STARTACC_OFST);
drivers/edac/altera_edac.c
284
struct altr_sdram_mc_data *drvdata;
drivers/edac/altera_edac.c
365
drvdata = mci->pvt_info;
drivers/edac/altera_edac.c
366
drvdata->mc_vbase = mc_vbase;
drivers/edac/altera_edac.c
367
drvdata->data = priv;
drivers/edac/altera_edac.c
430
if (regmap_update_bits(drvdata->mc_vbase, priv->ecc_irq_en_offset,
drivers/edac/altera_edac.c
551
struct altr_edac_device_dev *drvdata = dci->pvt_info;
drivers/edac/altera_edac.c
552
const struct edac_device_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
554
if (irq == drvdata->sb_irq) {
drivers/edac/altera_edac.c
556
writel(priv->ce_clear_mask, drvdata->base);
drivers/edac/altera_edac.c
557
edac_device_handle_ce(dci, 0, 0, drvdata->edac_dev_name);
drivers/edac/altera_edac.c
559
} else if (irq == drvdata->db_irq) {
drivers/edac/altera_edac.c
561
writel(priv->ue_clear_mask, drvdata->base);
drivers/edac/altera_edac.c
562
edac_device_handle_ue(dci, 0, 0, drvdata->edac_dev_name);
drivers/edac/altera_edac.c
582
struct altr_edac_device_dev *drvdata = edac_dci->pvt_info;
drivers/edac/altera_edac.c
583
const struct edac_device_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
619
writel(error_mask, (drvdata->base + priv->set_err_ofst));
drivers/edac/altera_edac.c
620
writel(priv->ecc_enable_mask, (drvdata->base +
drivers/edac/altera_edac.c
672
struct altr_edac_device_dev *drvdata = edac_dci->pvt_info;
drivers/edac/altera_edac.c
677
drvdata->debugfs_dir = edac_debugfs_create_dir(drvdata->edac_dev_name);
drivers/edac/altera_edac.c
678
if (!drvdata->debugfs_dir)
drivers/edac/altera_edac.c
682
drvdata->debugfs_dir, edac_dci,
drivers/edac/altera_edac.c
684
debugfs_remove_recursive(drvdata->debugfs_dir);
drivers/edac/altera_edac.c
709
struct altr_edac_device_dev *drvdata;
drivers/edac/altera_edac.c
738
dci = edac_device_alloc_ctl_info(sizeof(*drvdata), ecc_name,
drivers/edac/altera_edac.c
748
drvdata = dci->pvt_info;
drivers/edac/altera_edac.c
751
drvdata->edac_dev_name = ecc_name;
drivers/edac/altera_edac.c
753
drvdata->base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
drivers/edac/altera_edac.c
754
if (!drvdata->base) {
drivers/edac/altera_edac.c
760
drvdata->data = of_match_node(altr_edac_device_of_match, np)->data;
drivers/edac/altera_edac.c
763
if (drvdata->data->setup) {
drivers/edac/altera_edac.c
764
res = drvdata->data->setup(drvdata);
drivers/edac/altera_edac.c
769
drvdata->sb_irq = platform_get_irq(pdev, 0);
drivers/edac/altera_edac.c
770
res = devm_request_irq(&pdev->dev, drvdata->sb_irq,
drivers/edac/altera_edac.c
776
drvdata->db_irq = platform_get_irq(pdev, 1);
drivers/edac/altera_edac.c
777
res = devm_request_irq(&pdev->dev, drvdata->db_irq,
drivers/edac/altera_edac.c
784
dci->dev_name = drvdata->edac_dev_name;
drivers/edac/altera_edac.c
790
altr_create_edacdev_dbgfs(dci, drvdata->data);
drivers/edac/altera_edac.c
809
struct altr_edac_device_dev *drvdata = dci->pvt_info;
drivers/edac/altera_edac.c
811
debugfs_remove_recursive(drvdata->debugfs_dir);
drivers/edac/altera_edac.c
84
struct altr_sdram_mc_data *drvdata = mci->pvt_info;
drivers/edac/altera_edac.c
85
const struct altr_sdram_prv_data *priv = drvdata->data;
drivers/edac/altera_edac.c
88
regmap_read(drvdata->mc_vbase, priv->ecc_stat_offset, &status);
drivers/edac/altera_edac.c
91
regmap_read(drvdata->mc_vbase, priv->ecc_daddr_offset,
drivers/edac/altera_edac.c
94
regmap_read(drvdata->mc_vbase, priv->ecc_uecnt_offset,
drivers/edac/armada_xp_edac.c
100
} else if (drvdata->width == 4) {
drivers/edac/armada_xp_edac.c
102
if (drvdata->cs_addr_sel[cs])
drivers/edac/armada_xp_edac.c
114
if (drvdata->cs_addr_sel[cs])
drivers/edac/armada_xp_edac.c
129
struct axp_mc_drvdata *drvdata = mci->pvt_info;
drivers/edac/armada_xp_edac.c
134
char *msg = drvdata->msg;
drivers/edac/armada_xp_edac.c
136
data_h = readl(drvdata->base + SDRAM_ERR_DATA_H_REG);
drivers/edac/armada_xp_edac.c
137
data_l = readl(drvdata->base + SDRAM_ERR_DATA_L_REG);
drivers/edac/armada_xp_edac.c
138
recv_ecc = readl(drvdata->base + SDRAM_ERR_RECV_ECC_REG);
drivers/edac/armada_xp_edac.c
139
calc_ecc = readl(drvdata->base + SDRAM_ERR_CALC_ECC_REG);
drivers/edac/armada_xp_edac.c
140
addr = readl(drvdata->base + SDRAM_ERR_ADDR_REG);
drivers/edac/armada_xp_edac.c
141
cnt_sbe = readl(drvdata->base + SDRAM_ERR_SBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
142
cnt_dbe = readl(drvdata->base + SDRAM_ERR_DBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
143
cause_err = readl(drvdata->base + SDRAM_ERR_CAUSE_ERR_REG);
drivers/edac/armada_xp_edac.c
144
cause_msg = readl(drvdata->base + SDRAM_ERR_CAUSE_MSG_REG);
drivers/edac/armada_xp_edac.c
148
drvdata->base + SDRAM_ERR_CAUSE_ERR_REG);
drivers/edac/armada_xp_edac.c
150
drvdata->base + SDRAM_ERR_CAUSE_MSG_REG);
drivers/edac/armada_xp_edac.c
154
writel(0, drvdata->base + SDRAM_ERR_SBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
156
writel(0, drvdata->base + SDRAM_ERR_DBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
195
addr_val = axp_mc_calc_address(drvdata, cs_val, bank_val, row_val,
drivers/edac/armada_xp_edac.c
209
mci->ctl_name, drvdata->msg);
drivers/edac/armada_xp_edac.c
217
mci->ctl_name, drvdata->msg);
drivers/edac/armada_xp_edac.c
223
struct axp_mc_drvdata *drvdata = mci->pvt_info;
drivers/edac/armada_xp_edac.c
228
config = readl(drvdata->base + SDRAM_CONFIG_REG);
drivers/edac/armada_xp_edac.c
231
drvdata->width = 8;
drivers/edac/armada_xp_edac.c
234
drvdata->width = 4;
drivers/edac/armada_xp_edac.c
236
addr_ctrl = readl(drvdata->base + SDRAM_ADDR_CTRL_REG);
drivers/edac/armada_xp_edac.c
237
rank_ctrl = readl(drvdata->base + SDRAM_RANK_CTRL_REG);
drivers/edac/armada_xp_edac.c
244
drvdata->cs_addr_sel[i] =
drivers/edac/armada_xp_edac.c
287
struct axp_mc_drvdata *drvdata;
drivers/edac/armada_xp_edac.c
310
mci = edac_mc_alloc(0, ARRAY_SIZE(layers), layers, sizeof(*drvdata));
drivers/edac/armada_xp_edac.c
314
drvdata = mci->pvt_info;
drivers/edac/armada_xp_edac.c
315
drvdata->base = base;
drivers/edac/armada_xp_edac.c
333
drvdata->width /= 2;
drivers/edac/armada_xp_edac.c
337
writel(1 << SDRAM_ERR_CTRL_THR_OFFSET, drvdata->base + SDRAM_ERR_CTRL_REG);
drivers/edac/armada_xp_edac.c
340
writel(~(SDRAM_ERR_CAUSE_DBE_MASK | SDRAM_ERR_CAUSE_SBE_MASK), drvdata->base + SDRAM_ERR_CAUSE_ERR_REG);
drivers/edac/armada_xp_edac.c
341
writel(~(SDRAM_ERR_CAUSE_DBE_MASK | SDRAM_ERR_CAUSE_SBE_MASK), drvdata->base + SDRAM_ERR_CAUSE_MSG_REG);
drivers/edac/armada_xp_edac.c
344
writel(0, drvdata->base + SDRAM_ERR_SBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
345
writel(0, drvdata->base + SDRAM_ERR_DBE_COUNT_REG);
drivers/edac/armada_xp_edac.c
390
static void aurora_l2_inject(struct aurora_l2_drvdata *drvdata)
drivers/edac/armada_xp_edac.c
392
drvdata->inject_addr &= AURORA_ERR_INJECT_CTL_ADDR_MASK;
drivers/edac/armada_xp_edac.c
393
drvdata->inject_ctl &= AURORA_ERR_INJECT_CTL_EN_MASK;
drivers/edac/armada_xp_edac.c
394
writel(0, drvdata->base + AURORA_ERR_INJECT_CTL_REG);
drivers/edac/armada_xp_edac.c
395
writel(drvdata->inject_mask, drvdata->base + AURORA_ERR_INJECT_MASK_REG);
drivers/edac/armada_xp_edac.c
396
writel(drvdata->inject_addr | drvdata->inject_ctl, drvdata->base + AURORA_ERR_INJECT_CTL_REG);
drivers/edac/armada_xp_edac.c
402
struct aurora_l2_drvdata *drvdata = dci->pvt_info;
drivers/edac/armada_xp_edac.c
405
char *msg = drvdata->msg;
drivers/edac/armada_xp_edac.c
406
size_t size = sizeof(drvdata->msg);
drivers/edac/armada_xp_edac.c
409
cnt = readl(drvdata->base + AURORA_ERR_CNT_REG);
drivers/edac/armada_xp_edac.c
410
attr_cap = readl(drvdata->base + AURORA_ERR_ATTR_CAP_REG);
drivers/edac/armada_xp_edac.c
411
addr_cap = readl(drvdata->base + AURORA_ERR_ADDR_CAP_REG);
drivers/edac/armada_xp_edac.c
412
way_cap = readl(drvdata->base + AURORA_ERR_WAY_CAP_REG);
drivers/edac/armada_xp_edac.c
418
writel(AURORA_ERR_CNT_CLR, drvdata->base + AURORA_ERR_CNT_REG);
drivers/edac/armada_xp_edac.c
467
writel(AURORA_ERR_ATTR_CAP_VALID, drvdata->base + AURORA_ERR_ATTR_CAP_REG);
drivers/edac/armada_xp_edac.c
472
edac_device_handle_ue(dci, 0, 0, drvdata->msg);
drivers/edac/armada_xp_edac.c
476
edac_device_handle_ce(dci, 0, 0, drvdata->msg);
drivers/edac/armada_xp_edac.c
490
struct aurora_l2_drvdata *drvdata = dci->pvt_info;
drivers/edac/armada_xp_edac.c
495
aurora_l2_inject(drvdata);
drivers/edac/armada_xp_edac.c
507
struct aurora_l2_drvdata *drvdata;
drivers/edac/armada_xp_edac.c
525
dci = edac_device_alloc_ctl_info(sizeof(*drvdata),
drivers/edac/armada_xp_edac.c
530
drvdata = dci->pvt_info;
drivers/edac/armada_xp_edac.c
531
drvdata->base = base;
drivers/edac/armada_xp_edac.c
542
writel(AURORA_ERR_CNT_CLR, drvdata->base + AURORA_ERR_CNT_REG);
drivers/edac/armada_xp_edac.c
543
writel(AURORA_ERR_ATTR_CAP_VALID, drvdata->base + AURORA_ERR_ATTR_CAP_REG);
drivers/edac/armada_xp_edac.c
551
drvdata->debugfs = edac_debugfs_create_dir(dev_name(&pdev->dev));
drivers/edac/armada_xp_edac.c
552
if (drvdata->debugfs) {
drivers/edac/armada_xp_edac.c
554
drvdata->debugfs,
drivers/edac/armada_xp_edac.c
555
&drvdata->inject_addr);
drivers/edac/armada_xp_edac.c
557
drvdata->debugfs,
drivers/edac/armada_xp_edac.c
558
&drvdata->inject_mask);
drivers/edac/armada_xp_edac.c
560
drvdata->debugfs, &drvdata->inject_ctl);
drivers/edac/armada_xp_edac.c
571
struct aurora_l2_drvdata *drvdata = dci->pvt_info;
drivers/edac/armada_xp_edac.c
573
edac_debugfs_remove_recursive(drvdata->debugfs);
drivers/edac/armada_xp_edac.c
84
static uint32_t axp_mc_calc_address(struct axp_mc_drvdata *drvdata,
drivers/edac/armada_xp_edac.c
88
if (drvdata->width == 8) {
drivers/edac/armada_xp_edac.c
90
if (drvdata->cs_addr_sel[cs])
drivers/edac/highbank_l2_edac.c
104
drvdata->sb_irq = platform_get_irq(pdev, 1);
drivers/edac/highbank_l2_edac.c
105
res = devm_request_irq(&pdev->dev, drvdata->sb_irq,
drivers/edac/highbank_l2_edac.c
28
struct hb_l2_drvdata *drvdata = dci->pvt_info;
drivers/edac/highbank_l2_edac.c
30
if (irq == drvdata->sb_irq) {
drivers/edac/highbank_l2_edac.c
31
writel(1, drvdata->base + SR_CLR_SB_ECC_INTR);
drivers/edac/highbank_l2_edac.c
34
if (irq == drvdata->db_irq) {
drivers/edac/highbank_l2_edac.c
35
writel(1, drvdata->base + SR_CLR_DB_ECC_INTR);
drivers/edac/highbank_l2_edac.c
52
struct hb_l2_drvdata *drvdata;
drivers/edac/highbank_l2_edac.c
56
dci = edac_device_alloc_ctl_info(sizeof(*drvdata), "cpu",
drivers/edac/highbank_l2_edac.c
61
drvdata = dci->pvt_info;
drivers/edac/highbank_l2_edac.c
82
drvdata->base = devm_ioremap(&pdev->dev, r->start, resource_size(r));
drivers/edac/highbank_l2_edac.c
83
if (!drvdata->base) {
drivers/edac/highbank_l2_edac.c
97
drvdata->db_irq = platform_get_irq(pdev, 0);
drivers/edac/highbank_l2_edac.c
98
res = devm_request_irq(&pdev->dev, drvdata->db_irq,
drivers/edac/highbank_mc_edac.c
151
struct hb_mc_drvdata *drvdata;
drivers/edac/highbank_mc_edac.c
175
drvdata = mci->pvt_info;
drivers/edac/highbank_mc_edac.c
205
drvdata->mc_err_base = base + settings->err_offset;
drivers/edac/highbank_mc_edac.c
206
drvdata->mc_int_base = base + settings->int_offset;
drivers/edac/highbank_mc_edac.c
208
control = readl(drvdata->mc_err_base + HB_DDR_ECC_OPT) & 0x3;
drivers/edac/highbank_mc_edac.c
57
struct hb_mc_drvdata *drvdata = mci->pvt_info;
drivers/edac/highbank_mc_edac.c
61
status = readl(drvdata->mc_int_base + HB_DDR_ECC_INT_STATUS);
drivers/edac/highbank_mc_edac.c
64
err_addr = readl(drvdata->mc_err_base + HB_DDR_ECC_U_ERR_ADDR);
drivers/edac/highbank_mc_edac.c
72
u32 syndrome = readl(drvdata->mc_err_base + HB_DDR_ECC_C_ERR_STAT);
drivers/edac/highbank_mc_edac.c
74
err_addr = readl(drvdata->mc_err_base + HB_DDR_ECC_C_ERR_ADDR);
drivers/edac/highbank_mc_edac.c
83
writel(status, drvdata->mc_int_base + HB_DDR_ECC_INT_ACK);
drivers/fpga/dfl-fme-main.c
219
static umode_t thermal_hwmon_attrs_visible(const void *drvdata,
drivers/fpga/dfl-fme-main.c
223
const struct dfl_feature *feature = drvdata;
drivers/fpga/dfl-fme-main.c
452
static umode_t power_hwmon_attrs_visible(const void *drvdata,
drivers/fpga/dfl-pci.c
117
struct cci_drvdata *drvdata;
drivers/fpga/dfl-pci.c
119
drvdata = devm_kzalloc(&pcidev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/fpga/dfl-pci.c
120
if (!drvdata)
drivers/fpga/dfl-pci.c
123
pci_set_drvdata(pcidev, drvdata);
drivers/fpga/dfl-pci.c
130
struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
drivers/fpga/dfl-pci.c
133
dfl_fpga_feature_devs_remove(drvdata->cdev);
drivers/fpga/dfl-pci.c
299
struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
drivers/fpga/dfl-pci.c
344
drvdata->cdev = cdev;
drivers/fpga/dfl-pci.c
393
struct cci_drvdata *drvdata = pci_get_drvdata(pcidev);
drivers/fpga/dfl-pci.c
394
struct dfl_fpga_cdev *cdev = drvdata->cdev;
drivers/gnss/serial.h
19
unsigned long drvdata[];
drivers/gnss/serial.h
44
return gserial->drvdata;
drivers/gpio/gpio-pcie-idio-24.c
379
gpio_config.drvdata = idio24gpio->map;
drivers/gpio/gpio-qixis-fpga.c
73
config.drvdata = (void *)cfg;
drivers/gpio/gpio-regmap.c
319
gpio->driver_data = config->drvdata;
drivers/gpio/gpiolib-kunit.c
228
struct gpio_unbind_consumer_drvdata *drvdata =
drivers/gpio/gpiolib-kunit.c
232
if (dev != drvdata->dev)
drivers/gpio/gpiolib-kunit.c
235
drvdata->set_retval = gpiod_set_value_cansleep(drvdata->desc, 0);
drivers/gpu/drm/drm_privacy_screen.c
410
priv->drvdata = data;
drivers/gpu/drm/drm_privacy_screen.c
446
priv->drvdata = NULL;
drivers/gpu/drm/i915/i915_hwmon.c
725
hwm_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/gpu/drm/i915/i915_hwmon.c
728
struct hwm_drvdata *ddat = (struct hwm_drvdata *)drvdata;
drivers/gpu/drm/i915/i915_hwmon.c
800
hwm_gt_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/gpu/drm/i915/i915_hwmon.c
803
struct hwm_drvdata *ddat = (struct hwm_drvdata *)drvdata;
drivers/gpu/drm/xe/xe_hwmon.c
1349
xe_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/gpu/drm/xe/xe_hwmon.c
1352
struct xe_hwmon *hwmon = (struct xe_hwmon *)drvdata;
drivers/hid/hid-asus.c
1001
if (drvdata->quirks & QUIRK_HID_FN_LOCK) {
drivers/hid/hid-asus.c
1002
drvdata->fn_lock = true;
drivers/hid/hid-asus.c
1003
INIT_WORK(&drvdata->fn_lock_sync_work, asus_sync_fn_lock);
drivers/hid/hid-asus.c
1017
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
1019
if (drvdata->quirks & QUIRK_SKIP_INPUT_MAPPING) {
drivers/hid/hid-asus.c
1031
if ((drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) &&
drivers/hid/hid-asus.c
1110
if (drvdata->quirks & QUIRK_NO_CONSUMER_USAGES &&
drivers/hid/hid-asus.c
1129
if ((drvdata->quirks & QUIRK_MEDION_E1239T) &&
drivers/hid/hid-asus.c
1167
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
1170
if (drvdata->kbd_backlight) {
drivers/hid/hid-asus.c
1172
drvdata->kbd_backlight->brightness };
drivers/hid/hid-asus.c
1186
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
1188
if (drvdata->tp)
drivers/hid/hid-asus.c
1197
struct asus_drvdata *drvdata;
drivers/hid/hid-asus.c
1202
drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hid/hid-asus.c
1203
if (drvdata == NULL) {
drivers/hid/hid-asus.c
1208
hid_set_drvdata(hdev, drvdata);
drivers/hid/hid-asus.c
1210
drvdata->quirks = id->driver_data;
drivers/hid/hid-asus.c
1217
drvdata->quirks &= ~QUIRK_T100CHI;
drivers/hid/hid-asus.c
1218
drvdata->quirks |= QUIRK_T90CHI;
drivers/hid/hid-asus.c
1221
if (drvdata->quirks & QUIRK_IS_MULTITOUCH)
drivers/hid/hid-asus.c
1222
drvdata->tp = &asus_i2c_tp;
drivers/hid/hid-asus.c
1224
if ((drvdata->quirks & QUIRK_T100_KEYBOARD) && hid_is_usb(hdev)) {
drivers/hid/hid-asus.c
1228
drvdata->quirks = QUIRK_SKIP_INPUT_MAPPING;
drivers/hid/hid-asus.c
1235
drvdata->tp = &asus_t100ha_tp;
drivers/hid/hid-asus.c
1237
drvdata->tp = &asus_t200ta_tp;
drivers/hid/hid-asus.c
1239
drvdata->tp = &asus_t100ta_tp;
drivers/hid/hid-asus.c
1243
if (drvdata->quirks & QUIRK_T100CHI) {
drivers/hid/hid-asus.c
1249
drvdata->tp = &asus_t100chi_tp;
drivers/hid/hid-asus.c
1252
if ((drvdata->quirks & QUIRK_MEDION_E1239T) && hid_is_usb(hdev)) {
drivers/hid/hid-asus.c
1259
drvdata->quirks |= QUIRK_SKIP_INPUT_MAPPING;
drivers/hid/hid-asus.c
1260
drvdata->tp = &medion_e1239t_tp;
drivers/hid/hid-asus.c
1264
if (drvdata->quirks & QUIRK_NO_INIT_REPORTS)
drivers/hid/hid-asus.c
1267
drvdata->hdev = hdev;
drivers/hid/hid-asus.c
1269
if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) {
drivers/hid/hid-asus.c
1307
if (is_vendor && (drvdata->quirks & QUIRK_USE_KBD_BACKLIGHT) &&
drivers/hid/hid-asus.c
1316
if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD)
drivers/hid/hid-asus.c
1325
if (drvdata->input && (hdev->claimed & HID_CLAIMED_INPUT)) {
drivers/hid/hid-asus.c
1326
if (drvdata->tp)
drivers/hid/hid-asus.c
1327
drvdata->input->name = "Asus TouchPad";
drivers/hid/hid-asus.c
1329
drvdata->input->name = "Asus Keyboard";
drivers/hid/hid-asus.c
1331
if (drvdata->tp) {
drivers/hid/hid-asus.c
1346
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
1349
if (drvdata->kbd_backlight) {
drivers/hid/hid-asus.c
1350
asus_hid_unregister_listener(&drvdata->kbd_backlight->listener);
drivers/hid/hid-asus.c
1352
spin_lock_irqsave(&drvdata->kbd_backlight->lock, flags);
drivers/hid/hid-asus.c
1353
drvdata->kbd_backlight->removed = true;
drivers/hid/hid-asus.c
1354
spin_unlock_irqrestore(&drvdata->kbd_backlight->lock, flags);
drivers/hid/hid-asus.c
1356
cancel_work_sync(&drvdata->kbd_backlight->work);
drivers/hid/hid-asus.c
1359
if (drvdata->quirks & QUIRK_HID_FN_LOCK)
drivers/hid/hid-asus.c
1360
cancel_work_sync(&drvdata->fn_lock_sync_work);
drivers/hid/hid-asus.c
1373
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
1375
if (drvdata->quirks & QUIRK_FIX_NOTEBOOK_REPORT &&
drivers/hid/hid-asus.c
1381
if (drvdata->quirks & QUIRK_T100_KEYBOARD &&
drivers/hid/hid-asus.c
1388
if (drvdata->quirks & (QUIRK_T100CHI | QUIRK_T90CHI)) {
drivers/hid/hid-asus.c
1392
if (drvdata->quirks & QUIRK_T100CHI) {
drivers/hid/hid-asus.c
1416
drvdata->quirks & QUIRK_T100CHI ?
drivers/hid/hid-asus.c
1432
if (drvdata->quirks & QUIRK_G752_KEYBOARD &&
drivers/hid/hid-asus.c
1454
if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD &&
drivers/hid/hid-asus.c
1462
if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD && *rsize > 15) {
drivers/hid/hid-asus.c
336
static int asus_wmi_send_event(struct asus_drvdata *drvdata, u8 code)
drivers/hid/hid-asus.c
359
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
377
if (drvdata->quirks & QUIRK_HID_FN_LOCK) {
drivers/hid/hid-asus.c
378
drvdata->fn_lock = !drvdata->fn_lock;
drivers/hid/hid-asus.c
379
schedule_work(&drvdata->fn_lock_sync_work);
drivers/hid/hid-asus.c
391
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
393
if (drvdata->battery && data[0] == BATTERY_REPORT_ID)
drivers/hid/hid-asus.c
394
return asus_report_battery(drvdata, data, size);
drivers/hid/hid-asus.c
396
if (drvdata->tp && data[0] == INPUT_REPORT_ID)
drivers/hid/hid-asus.c
397
return asus_report_input(drvdata, data, size);
drivers/hid/hid-asus.c
399
if (drvdata->quirks & QUIRK_MEDION_E1239T)
drivers/hid/hid-asus.c
400
return asus_e1239t_event(drvdata, data, size);
drivers/hid/hid-asus.c
408
if (drvdata->quirks & QUIRK_ROG_NKEY_KEYBOARD) {
drivers/hid/hid-asus.c
417
int ret = asus_wmi_send_event(drvdata, ASUS_FAN_CTRL_KEY_CODE);
drivers/hid/hid-asus.c
454
if (drvdata->quirks & QUIRK_ROG_CLAYMORE_II_KEYBOARD) {
drivers/hid/hid-asus.c
581
struct asus_drvdata *drvdata =
drivers/hid/hid-asus.c
584
asus_kbd_set_fn_lock(drvdata->hdev, drvdata->fn_lock);
drivers/hid/hid-asus.c
735
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
756
if (drvdata->quirks & QUIRK_ROG_ALLY_XPAD) {
drivers/hid/hid-asus.c
763
drvdata->kbd_backlight = devm_kzalloc(&hdev->dev,
drivers/hid/hid-asus.c
766
if (!drvdata->kbd_backlight)
drivers/hid/hid-asus.c
769
drvdata->kbd_backlight->removed = false;
drivers/hid/hid-asus.c
770
drvdata->kbd_backlight->brightness = 0;
drivers/hid/hid-asus.c
771
drvdata->kbd_backlight->hdev = hdev;
drivers/hid/hid-asus.c
772
drvdata->kbd_backlight->listener.brightness_set = asus_kbd_backlight_set;
drivers/hid/hid-asus.c
773
INIT_WORK(&drvdata->kbd_backlight->work, asus_kbd_backlight_work);
drivers/hid/hid-asus.c
774
spin_lock_init(&drvdata->kbd_backlight->lock);
drivers/hid/hid-asus.c
776
ret = asus_hid_register_listener(&drvdata->kbd_backlight->listener);
drivers/hid/hid-asus.c
779
devm_kfree(&hdev->dev, drvdata->kbd_backlight);
drivers/hid/hid-asus.c
794
static int asus_parse_battery(struct asus_drvdata *drvdata, u8 *data, int size)
drivers/hid/hid-asus.c
803
drvdata->battery_capacity = ((int)lvl * 100) / (int)BATTERY_LEVEL_MAX;
drivers/hid/hid-asus.c
817
drvdata->battery_stat = val;
drivers/hid/hid-asus.c
822
static int asus_report_battery(struct asus_drvdata *drvdata, u8 *data, int size)
drivers/hid/hid-asus.c
825
if ((drvdata->battery_in_query == false) &&
drivers/hid/hid-asus.c
827
power_supply_changed(drvdata->battery);
drivers/hid/hid-asus.c
832
static int asus_battery_query(struct asus_drvdata *drvdata)
drivers/hid/hid-asus.c
841
drvdata->battery_in_query = true;
drivers/hid/hid-asus.c
842
ret = hid_hw_raw_request(drvdata->hdev, BATTERY_REPORT_ID,
drivers/hid/hid-asus.c
845
drvdata->battery_in_query = false;
drivers/hid/hid-asus.c
847
ret = asus_parse_battery(drvdata, buf, BATTERY_REPORT_SIZE);
drivers/hid/hid-asus.c
870
struct asus_drvdata *drvdata = power_supply_get_drvdata(psy);
drivers/hid/hid-asus.c
876
if (time_before(drvdata->battery_next_query, jiffies)) {
drivers/hid/hid-asus.c
877
drvdata->battery_next_query =
drivers/hid/hid-asus.c
879
ret = asus_battery_query(drvdata);
drivers/hid/hid-asus.c
884
val->intval = drvdata->battery_stat;
drivers/hid/hid-asus.c
886
val->intval = drvdata->battery_capacity;
drivers/hid/hid-asus.c
895
val->strval = drvdata->hdev->name;
drivers/hid/hid-asus.c
907
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
908
struct power_supply_config pscfg = { .drv_data = drvdata };
drivers/hid/hid-asus.c
911
drvdata->battery_capacity = 0;
drivers/hid/hid-asus.c
912
drvdata->battery_stat = POWER_SUPPLY_STATUS_UNKNOWN;
drivers/hid/hid-asus.c
913
drvdata->battery_in_query = false;
drivers/hid/hid-asus.c
915
drvdata->battery_desc.properties = asus_battery_props;
drivers/hid/hid-asus.c
916
drvdata->battery_desc.num_properties = ARRAY_SIZE(asus_battery_props);
drivers/hid/hid-asus.c
917
drvdata->battery_desc.get_property = asus_battery_get_property;
drivers/hid/hid-asus.c
918
drvdata->battery_desc.type = POWER_SUPPLY_TYPE_BATTERY;
drivers/hid/hid-asus.c
919
drvdata->battery_desc.use_for_apm = 0;
drivers/hid/hid-asus.c
920
drvdata->battery_desc.name = devm_kasprintf(&hdev->dev, GFP_KERNEL,
drivers/hid/hid-asus.c
924
if (!drvdata->battery_desc.name)
drivers/hid/hid-asus.c
927
drvdata->battery_next_query = jiffies;
drivers/hid/hid-asus.c
929
drvdata->battery = devm_power_supply_register(&hdev->dev,
drivers/hid/hid-asus.c
930
&(drvdata->battery_desc), &pscfg);
drivers/hid/hid-asus.c
931
if (IS_ERR(drvdata->battery)) {
drivers/hid/hid-asus.c
932
ret = PTR_ERR(drvdata->battery);
drivers/hid/hid-asus.c
933
drvdata->battery = NULL;
drivers/hid/hid-asus.c
938
power_supply_powers(drvdata->battery, &hdev->dev);
drivers/hid/hid-asus.c
946
struct asus_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-asus.c
949
if (drvdata->quirks & QUIRK_T100CHI &&
drivers/hid/hid-asus.c
954
if (drvdata->tp && (drvdata->quirks & QUIRK_MEDION_E1239T)) {
drivers/hid/hid-asus.c
959
drvdata->tp_kbd_input = input;
drivers/hid/hid-asus.c
968
if (drvdata->tp) {
drivers/hid/hid-asus.c
972
drvdata->tp->max_x, 0, 0);
drivers/hid/hid-asus.c
974
drvdata->tp->max_y, 0, 0);
drivers/hid/hid-asus.c
975
input_abs_set_res(input, ABS_MT_POSITION_X, drvdata->tp->res_x);
drivers/hid/hid-asus.c
976
input_abs_set_res(input, ABS_MT_POSITION_Y, drvdata->tp->res_y);
drivers/hid/hid-asus.c
978
if (drvdata->tp->contact_size >= 5) {
drivers/hid/hid-asus.c
990
ret = input_mt_init_slots(input, drvdata->tp->max_contacts,
drivers/hid/hid-asus.c
999
drvdata->input = input;
drivers/hid/hid-corsair-void.c
174
static void corsair_void_set_wireless_status(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
176
struct usb_interface *usb_if = to_usb_interface(drvdata->dev->parent);
drivers/hid/hid-corsair-void.c
178
if (drvdata->is_wired)
drivers/hid/hid-corsair-void.c
181
usb_set_wireless_status(usb_if, drvdata->connected ?
drivers/hid/hid-corsair-void.c
186
static void corsair_void_set_unknown_batt(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
188
struct corsair_void_battery_data *battery_data = &drvdata->battery_data;
drivers/hid/hid-corsair-void.c
197
static void corsair_void_set_unknown_wireless_data(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
200
drvdata->fw_headset_major = 0;
drivers/hid/hid-corsair-void.c
201
drvdata->fw_headset_minor = 0;
drivers/hid/hid-corsair-void.c
203
drvdata->connected = false;
drivers/hid/hid-corsair-void.c
204
drvdata->mic_up = false;
drivers/hid/hid-corsair-void.c
206
corsair_void_set_wireless_status(drvdata);
drivers/hid/hid-corsair-void.c
209
static void corsair_void_process_receiver(struct corsair_void_drvdata *drvdata,
drivers/hid/hid-corsair-void.c
214
struct corsair_void_battery_data *battery_data = &drvdata->battery_data;
drivers/hid/hid-corsair-void.c
251
hid_warn(drvdata->hid_dev, "unknown battery status '%d'",
drivers/hid/hid-corsair-void.c
258
corsair_void_set_wireless_status(drvdata);
drivers/hid/hid-corsair-void.c
262
corsair_void_set_unknown_batt(drvdata);
drivers/hid/hid-corsair-void.c
268
&drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
269
schedule_work(&drvdata->battery_work);
drivers/hid/hid-corsair-void.c
281
struct corsair_void_drvdata *drvdata = power_supply_get_drvdata(psy);
drivers/hid/hid-corsair-void.c
288
if (!strncmp(drvdata->hid_dev->name, "Corsair ", 8))
drivers/hid/hid-corsair-void.c
289
val->strval = drvdata->hid_dev->name + 8;
drivers/hid/hid-corsair-void.c
291
val->strval = drvdata->hid_dev->name;
drivers/hid/hid-corsair-void.c
297
val->intval = drvdata->battery_data.status;
drivers/hid/hid-corsair-void.c
300
val->intval = drvdata->battery_data.present;
drivers/hid/hid-corsair-void.c
303
val->intval = drvdata->battery_data.capacity;
drivers/hid/hid-corsair-void.c
306
val->intval = drvdata->battery_data.capacity_level;
drivers/hid/hid-corsair-void.c
318
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
320
if (!drvdata->connected)
drivers/hid/hid-corsair-void.c
323
return sysfs_emit(buf, "%d\n", drvdata->mic_up);
drivers/hid/hid-corsair-void.c
330
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
332
if (drvdata->fw_receiver_major == 0 && drvdata->fw_receiver_minor == 0)
drivers/hid/hid-corsair-void.c
335
return sysfs_emit(buf, "%d.%02d\n", drvdata->fw_receiver_major,
drivers/hid/hid-corsair-void.c
336
drvdata->fw_receiver_minor);
drivers/hid/hid-corsair-void.c
344
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
346
if (drvdata->fw_headset_major == 0 && drvdata->fw_headset_minor == 0)
drivers/hid/hid-corsair-void.c
349
return sysfs_emit(buf, "%d.%02d\n", drvdata->fw_headset_major,
drivers/hid/hid-corsair-void.c
350
drvdata->fw_headset_minor);
drivers/hid/hid-corsair-void.c
357
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
359
return sysfs_emit(buf, "%d\n", drvdata->sidetone_max);
drivers/hid/hid-corsair-void.c
370
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
371
struct hid_device *hid_dev = drvdata->hid_dev;
drivers/hid/hid-corsair-void.c
376
if (!drvdata->connected || drvdata->is_wired)
drivers/hid/hid-corsair-void.c
426
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
427
struct hid_device *hid_dev = drvdata->hid_dev;
drivers/hid/hid-corsair-void.c
457
struct corsair_void_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hid/hid-corsair-void.c
458
struct hid_device *hid_dev = drvdata->hid_dev;
drivers/hid/hid-corsair-void.c
462
if (!drvdata->connected)
drivers/hid/hid-corsair-void.c
466
if (kstrtouint(buf, 10, &sidetone) || sidetone > drvdata->sidetone_max)
drivers/hid/hid-corsair-void.c
469
if (drvdata->is_wired)
drivers/hid/hid-corsair-void.c
506
struct corsair_void_drvdata *drvdata;
drivers/hid/hid-corsair-void.c
511
drvdata = container_of(delayed_work, struct corsair_void_drvdata,
drivers/hid/hid-corsair-void.c
514
battery_ret = corsair_void_request_status(drvdata->hid_dev,
drivers/hid/hid-corsair-void.c
517
hid_warn(drvdata->hid_dev,
drivers/hid/hid-corsair-void.c
524
struct corsair_void_drvdata *drvdata;
drivers/hid/hid-corsair-void.c
529
drvdata = container_of(delayed_work, struct corsair_void_drvdata,
drivers/hid/hid-corsair-void.c
532
firmware_ret = corsair_void_request_status(drvdata->hid_dev,
drivers/hid/hid-corsair-void.c
535
hid_warn(drvdata->hid_dev,
drivers/hid/hid-corsair-void.c
541
static void corsair_void_add_battery(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
546
if (drvdata->battery)
drivers/hid/hid-corsair-void.c
549
psy_cfg.drv_data = drvdata;
drivers/hid/hid-corsair-void.c
550
new_supply = power_supply_register(drvdata->dev,
drivers/hid/hid-corsair-void.c
551
&drvdata->battery_desc,
drivers/hid/hid-corsair-void.c
555
hid_err(drvdata->hid_dev,
drivers/hid/hid-corsair-void.c
557
drvdata->battery_desc.name, new_supply);
drivers/hid/hid-corsair-void.c
561
if (power_supply_powers(new_supply, drvdata->dev)) {
drivers/hid/hid-corsair-void.c
566
drvdata->battery = new_supply;
drivers/hid/hid-corsair-void.c
571
struct corsair_void_drvdata *drvdata = container_of(work,
drivers/hid/hid-corsair-void.c
575
&drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
577
&drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
579
&drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
582
corsair_void_add_battery(drvdata);
drivers/hid/hid-corsair-void.c
583
} else if (remove_battery && !add_battery && drvdata->battery) {
drivers/hid/hid-corsair-void.c
584
power_supply_unregister(drvdata->battery);
drivers/hid/hid-corsair-void.c
585
drvdata->battery = NULL;
drivers/hid/hid-corsair-void.c
588
if (update_battery && drvdata->battery)
drivers/hid/hid-corsair-void.c
589
power_supply_changed(drvdata->battery);
drivers/hid/hid-corsair-void.c
593
static void corsair_void_headset_connected(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
595
set_bit(CORSAIR_VOID_ADD_BATTERY, &drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
596
schedule_work(&drvdata->battery_work);
drivers/hid/hid-corsair-void.c
597
schedule_delayed_work(&drvdata->delayed_firmware_work,
drivers/hid/hid-corsair-void.c
601
static void corsair_void_headset_disconnected(struct corsair_void_drvdata *drvdata)
drivers/hid/hid-corsair-void.c
603
set_bit(CORSAIR_VOID_REMOVE_BATTERY, &drvdata->battery_work_flags);
drivers/hid/hid-corsair-void.c
604
schedule_work(&drvdata->battery_work);
drivers/hid/hid-corsair-void.c
606
corsair_void_set_unknown_wireless_data(drvdata);
drivers/hid/hid-corsair-void.c
607
corsair_void_set_unknown_batt(drvdata);
drivers/hid/hid-corsair-void.c
640
struct corsair_void_drvdata *drvdata;
drivers/hid/hid-corsair-void.c
646
drvdata = devm_kzalloc(&hid_dev->dev, sizeof(*drvdata),
drivers/hid/hid-corsair-void.c
648
if (!drvdata)
drivers/hid/hid-corsair-void.c
651
hid_set_drvdata(hid_dev, drvdata);
drivers/hid/hid-corsair-void.c
652
dev_set_drvdata(&hid_dev->dev, drvdata);
drivers/hid/hid-corsair-void.c
654
drvdata->dev = &hid_dev->dev;
drivers/hid/hid-corsair-void.c
655
drvdata->hid_dev = hid_dev;
drivers/hid/hid-corsair-void.c
656
drvdata->is_wired = hid_id->driver_data == CORSAIR_VOID_WIRED;
drivers/hid/hid-corsair-void.c
658
drvdata->sidetone_max = CORSAIR_VOID_SIDETONE_MAX_WIRELESS;
drivers/hid/hid-corsair-void.c
659
if (drvdata->is_wired)
drivers/hid/hid-corsair-void.c
660
drvdata->sidetone_max = CORSAIR_VOID_SIDETONE_MAX_WIRED;
drivers/hid/hid-corsair-void.c
664
corsair_void_set_unknown_wireless_data(drvdata);
drivers/hid/hid-corsair-void.c
665
corsair_void_set_unknown_batt(drvdata);
drivers/hid/hid-corsair-void.c
669
drvdata->fw_receiver_major = 0;
drivers/hid/hid-corsair-void.c
670
drvdata->fw_receiver_minor = 0;
drivers/hid/hid-corsair-void.c
678
name = devm_kasprintf(drvdata->dev, GFP_KERNEL,
drivers/hid/hid-corsair-void.c
683
drvdata->battery_desc.name = name;
drivers/hid/hid-corsair-void.c
684
drvdata->battery_desc.type = POWER_SUPPLY_TYPE_BATTERY;
drivers/hid/hid-corsair-void.c
685
drvdata->battery_desc.properties = corsair_void_battery_props;
drivers/hid/hid-corsair-void.c
686
drvdata->battery_desc.num_properties = ARRAY_SIZE(corsair_void_battery_props);
drivers/hid/hid-corsair-void.c
687
drvdata->battery_desc.get_property = corsair_void_battery_get_property;
drivers/hid/hid-corsair-void.c
689
drvdata->battery = NULL;
drivers/hid/hid-corsair-void.c
690
INIT_WORK(&drvdata->battery_work, corsair_void_battery_work_handler);
drivers/hid/hid-corsair-void.c
704
INIT_DELAYED_WORK(&drvdata->delayed_status_work,
drivers/hid/hid-corsair-void.c
706
schedule_delayed_work(&drvdata->delayed_status_work,
drivers/hid/hid-corsair-void.c
710
INIT_DELAYED_WORK(&drvdata->delayed_firmware_work,
drivers/hid/hid-corsair-void.c
712
schedule_delayed_work(&drvdata->delayed_firmware_work,
drivers/hid/hid-corsair-void.c
724
struct corsair_void_drvdata *drvdata = hid_get_drvdata(hid_dev);
drivers/hid/hid-corsair-void.c
727
cancel_work_sync(&drvdata->battery_work);
drivers/hid/hid-corsair-void.c
728
if (drvdata->battery)
drivers/hid/hid-corsair-void.c
729
power_supply_unregister(drvdata->battery);
drivers/hid/hid-corsair-void.c
731
cancel_delayed_work_sync(&drvdata->delayed_status_work);
drivers/hid/hid-corsair-void.c
732
cancel_delayed_work_sync(&drvdata->delayed_firmware_work);
drivers/hid/hid-corsair-void.c
740
struct corsair_void_drvdata *drvdata = hid_get_drvdata(hid_dev);
drivers/hid/hid-corsair-void.c
741
bool was_connected = drvdata->connected;
drivers/hid/hid-corsair-void.c
745
drvdata->mic_up = FIELD_GET(CORSAIR_VOID_MIC_MASK, data[2]);
drivers/hid/hid-corsair-void.c
746
drvdata->connected = (data[3] == CORSAIR_VOID_WIRELESS_CONNECTED) ||
drivers/hid/hid-corsair-void.c
747
drvdata->is_wired;
drivers/hid/hid-corsair-void.c
749
corsair_void_process_receiver(drvdata,
drivers/hid/hid-corsair-void.c
753
drvdata->fw_receiver_major = data[1];
drivers/hid/hid-corsair-void.c
754
drvdata->fw_receiver_minor = data[2];
drivers/hid/hid-corsair-void.c
755
drvdata->fw_headset_major = data[3];
drivers/hid/hid-corsair-void.c
756
drvdata->fw_headset_minor = data[4];
drivers/hid/hid-corsair-void.c
760
if ((was_connected != drvdata->connected) && !drvdata->is_wired) {
drivers/hid/hid-corsair-void.c
761
if (drvdata->connected)
drivers/hid/hid-corsair-void.c
762
corsair_void_headset_connected(drvdata);
drivers/hid/hid-corsair-void.c
764
corsair_void_headset_disconnected(drvdata);
drivers/hid/hid-corsair.c
426
struct corsair_drvdata *drvdata = hid_get_drvdata(dev);
drivers/hid/hid-corsair.c
430
drvdata->backlight = kzalloc_obj(struct k90_led);
drivers/hid/hid-corsair.c
431
if (!drvdata->backlight) {
drivers/hid/hid-corsair.c
445
drvdata->backlight->removed = false;
drivers/hid/hid-corsair.c
446
drvdata->backlight->cdev.name = name;
drivers/hid/hid-corsair.c
447
drvdata->backlight->cdev.max_brightness = 3;
drivers/hid/hid-corsair.c
448
drvdata->backlight->cdev.brightness_set = k90_brightness_set;
drivers/hid/hid-corsair.c
449
drvdata->backlight->cdev.brightness_get = k90_backlight_get;
drivers/hid/hid-corsair.c
450
INIT_WORK(&drvdata->backlight->work, k90_backlight_work);
drivers/hid/hid-corsair.c
451
ret = led_classdev_register(&dev->dev, &drvdata->backlight->cdev);
drivers/hid/hid-corsair.c
458
kfree(drvdata->backlight->cdev.name);
drivers/hid/hid-corsair.c
460
kfree(drvdata->backlight);
drivers/hid/hid-corsair.c
461
drvdata->backlight = NULL;
drivers/hid/hid-corsair.c
469
struct corsair_drvdata *drvdata = hid_get_drvdata(dev);
drivers/hid/hid-corsair.c
479
drvdata->k90 = k90;
drivers/hid/hid-corsair.c
517
drvdata->k90 = NULL;
drivers/hid/hid-corsair.c
523
struct corsair_drvdata *drvdata = hid_get_drvdata(dev);
drivers/hid/hid-corsair.c
525
if (drvdata->backlight) {
drivers/hid/hid-corsair.c
526
drvdata->backlight->removed = true;
drivers/hid/hid-corsair.c
527
led_classdev_unregister(&drvdata->backlight->cdev);
drivers/hid/hid-corsair.c
528
cancel_work_sync(&drvdata->backlight->work);
drivers/hid/hid-corsair.c
529
kfree(drvdata->backlight->cdev.name);
drivers/hid/hid-corsair.c
530
kfree(drvdata->backlight);
drivers/hid/hid-corsair.c
536
struct corsair_drvdata *drvdata = hid_get_drvdata(dev);
drivers/hid/hid-corsair.c
537
struct k90_drvdata *k90 = drvdata->k90;
drivers/hid/hid-corsair.c
555
struct corsair_drvdata *drvdata;
drivers/hid/hid-corsair.c
563
drvdata = devm_kzalloc(&dev->dev, sizeof(struct corsair_drvdata),
drivers/hid/hid-corsair.c
565
if (drvdata == NULL)
drivers/hid/hid-corsair.c
567
drvdata->quirks = quirks;
drivers/hid/hid-corsair.c
568
hid_set_drvdata(dev, drvdata);
drivers/hid/hid-corsair.c
608
struct corsair_drvdata *drvdata = hid_get_drvdata(dev);
drivers/hid/hid-corsair.c
610
if (!drvdata->k90)
drivers/hid/hid-corsair.c
615
drvdata->k90->record_led.brightness = 1;
drivers/hid/hid-corsair.c
618
drvdata->k90->record_led.brightness = 0;
drivers/hid/hid-elan.c
120
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-elan.c
132
drvdata->max_x = (dmabuf[4] << 8) | dmabuf[3];
drivers/hid/hid-elan.c
138
drvdata->max_y = (dmabuf[4] << 8) | dmabuf[3];
drivers/hid/hid-elan.c
144
drvdata->res_x = elan_convert_res(dmabuf[3]);
drivers/hid/hid-elan.c
145
drvdata->res_y = elan_convert_res(dmabuf[4]);
drivers/hid/hid-elan.c
156
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-elan.c
178
input_set_abs_params(input, ABS_MT_POSITION_X, 0, drvdata->max_x,
drivers/hid/hid-elan.c
180
input_set_abs_params(input, ABS_MT_POSITION_Y, 0, drvdata->max_y,
drivers/hid/hid-elan.c
194
input_abs_set_res(input, ABS_X, drvdata->res_x);
drivers/hid/hid-elan.c
195
input_abs_set_res(input, ABS_Y, drvdata->res_y);
drivers/hid/hid-elan.c
205
drvdata->input = input;
drivers/hid/hid-elan.c
210
static void elan_report_mt_slot(struct elan_drvdata *drvdata, u8 *data,
drivers/hid/hid-elan.c
213
struct input_dev *input = drvdata->input;
drivers/hid/hid-elan.c
222
y = drvdata->max_y -
drivers/hid/hid-elan.c
232
static void elan_usb_report_input(struct elan_drvdata *drvdata, u8 *data)
drivers/hid/hid-elan.c
235
struct input_dev *input = drvdata->input;
drivers/hid/hid-elan.c
275
elan_report_mt_slot(drvdata, data + 3, i);
drivers/hid/hid-elan.c
277
elan_report_mt_slot(drvdata, NULL, i);
drivers/hid/hid-elan.c
288
memcpy(drvdata->prev_report, data,
drivers/hid/hid-elan.c
289
sizeof(drvdata->prev_report));
drivers/hid/hid-elan.c
295
u8 *prev_report = drvdata->prev_report;
drivers/hid/hid-elan.c
304
elan_report_mt_slot(drvdata, prev_report + 3, i);
drivers/hid/hid-elan.c
306
elan_report_mt_slot(drvdata, data + 1, i);
drivers/hid/hid-elan.c
309
elan_report_mt_slot(drvdata, NULL, i);
drivers/hid/hid-elan.c
319
static void elan_i2c_report_input(struct elan_drvdata *drvdata, u8 *data)
drivers/hid/hid-elan.c
321
struct input_dev *input = drvdata->input;
drivers/hid/hid-elan.c
347
elan_report_mt_slot(drvdata, finger_data, i);
drivers/hid/hid-elan.c
350
elan_report_mt_slot(drvdata, NULL, i);
drivers/hid/hid-elan.c
362
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-elan.c
371
elan_usb_report_input(drvdata, data);
drivers/hid/hid-elan.c
377
elan_i2c_report_input(drvdata, data);
drivers/hid/hid-elan.c
418
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-elan.c
442
drvdata->mute_led_state = led_state;
drivers/hid/hid-elan.c
448
struct elan_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-elan.c
449
struct led_classdev *mute_led = &drvdata->mute_led;
drivers/hid/hid-elan.c
464
struct elan_drvdata *drvdata;
drivers/hid/hid-elan.c
466
drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hid/hid-elan.c
468
if (!drvdata)
drivers/hid/hid-elan.c
471
hid_set_drvdata(hdev, drvdata);
drivers/hid/hid-elan.c
488
if (!drvdata->input) {
drivers/hid/hid-lenovo-go-s.c
1002
return sysfs_emit(buf, "%s\n", rgb_mode_text[drvdata.rgb_mode]);
drivers/hid/hid-lenovo-go-s.c
1035
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, LIGHT_PROFILE_SEL, &val, size);
drivers/hid/hid-lenovo-go-s.c
1039
drvdata.rgb_profile = val;
drivers/hid/hid-lenovo-go-s.c
1049
ret = rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, LIGHT_PROFILE_SEL, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1053
if (drvdata.rgb_profile < 1 || drvdata.rgb_profile > 3)
drivers/hid/hid-lenovo-go-s.c
1056
return sysfs_emit(buf, "%hhu\n", drvdata.rgb_profile);
drivers/hid/hid-lenovo-go-s.c
1068
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go-s.c
1077
index = drvdata.rgb_profile + 2;
drivers/hid/hid-lenovo-go-s.c
1078
u8 rgb_profile[6] = { drvdata.rgb_effect,
drivers/hid/hid-lenovo-go-s.c
1083
drvdata.rgb_speed };
drivers/hid/hid-lenovo-go-s.c
1085
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go-s.c
1337
ret = mcu_property_out(drvdata.hdev, GET_MCU_ID, FEATURE_NONE, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1339
dev_err(&drvdata.hdev->dev, "Failed to retrieve MCU ID: %i\n",
drivers/hid/hid-lenovo-go-s.c
1344
ret = mcu_property_out(drvdata.hdev, GET_VERSION, FEATURE_NONE, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1346
dev_err(&drvdata.hdev->dev, "Failed to retrieve MCU Version: %i\n", ret);
drivers/hid/hid-lenovo-go-s.c
1350
ret = mcu_property_out(drvdata.hdev, GET_PL_TEST, TEST_TP_MFR, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1352
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go-s.c
1357
ret = mcu_property_out(drvdata.hdev, GET_PL_TEST, TEST_TP_VER, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1359
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go-s.c
1364
ret = mcu_property_out(drvdata.hdev, GET_PL_TEST, TEST_IMU_MFR, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
1366
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go-s.c
1371
ret = mcu_property_out(drvdata.hdev, GET_GAMEPAD_CFG, FEATURE_OS_MODE,
drivers/hid/hid-lenovo-go-s.c
1374
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go-s.c
1385
hid_set_drvdata(hdev, &drvdata);
drivers/hid/hid-lenovo-go-s.c
1386
drvdata.hdev = hdev;
drivers/hid/hid-lenovo-go-s.c
1387
mutex_init(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go-s.c
1409
drvdata.led_cdev = &gos_cdev_rgb.led_cdev;
drivers/hid/hid-lenovo-go-s.c
1411
init_completion(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go-s.c
1416
INIT_DELAYED_WORK(&drvdata.gos_cfg_setup, &cfg_setup);
drivers/hid/hid-lenovo-go-s.c
1417
ret = schedule_delayed_work(&drvdata.gos_cfg_setup, msecs_to_jiffies(2));
drivers/hid/hid-lenovo-go-s.c
1428
guard(mutex)(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go-s.c
1429
cancel_delayed_work_sync(&drvdata.gos_cfg_setup);
drivers/hid/hid-lenovo-go-s.c
1438
u8 os_mode = drvdata.os_mode;
drivers/hid/hid-lenovo-go-s.c
1441
ret = mcu_property_out(drvdata.hdev, SET_GAMEPAD_CFG,
drivers/hid/hid-lenovo-go-s.c
1446
ret = mcu_property_out(drvdata.hdev, GET_GAMEPAD_CFG,
drivers/hid/hid-lenovo-go-s.c
1451
if (drvdata.os_mode != os_mode)
drivers/hid/hid-lenovo-go-s.c
241
drvdata.hdev->firmware_version = get_unaligned_le32(&ver_rep->version);
drivers/hid/hid-lenovo-go-s.c
247
drvdata.mcu_id[0] = cmd_rep->sub_cmd;
drivers/hid/hid-lenovo-go-s.c
248
memcpy(&drvdata.mcu_id[1], cmd_rep->data, 11);
drivers/hid/hid-lenovo-go-s.c
259
drvdata.gp_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
262
drvdata.gp_auto_sleep_time = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
265
drvdata.imu_bypass_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
268
drvdata.rgb_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
271
drvdata.imu_sensor_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
274
drvdata.tp_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
277
drvdata.os_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
280
drvdata.gp_poll_rate = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
283
drvdata.gp_dpad_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
286
drvdata.mouse_step = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
302
drvdata.tp_linux_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
305
drvdata.tp_windows_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
321
drvdata.tp_manufacturer = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
325
drvdata.imu_manufacturer = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
329
drvdata.tp_version = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
346
drvdata.rgb_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
350
drvdata.rgb_profile = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
356
mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go-s.c
357
drvdata.rgb_effect = cmd_rep->data[0];
drivers/hid/hid-lenovo-go-s.c
361
drvdata.led_cdev->brightness = cmd_rep->data[4];
drivers/hid/hid-lenovo-go-s.c
362
drvdata.rgb_speed = cmd_rep->data[5];
drivers/hid/hid-lenovo-go-s.c
438
complete(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go-s.c
453
guard(mutex)(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go-s.c
475
ret = wait_for_completion_interruptible_timeout(&drvdata.send_cmd_complete,
drivers/hid/hid-lenovo-go-s.c
481
reinit_completion(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go-s.c
562
ret = mcu_property_out(drvdata.hdev, SET_GAMEPAD_CFG, index, &val,
drivers/hid/hid-lenovo-go-s.c
577
count = mcu_property_out(drvdata.hdev, GET_GAMEPAD_CFG, index, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
583
i = drvdata.gp_mode;
drivers/hid/hid-lenovo-go-s.c
589
count = sysfs_emit(buf, "%u\n", drvdata.gp_auto_sleep_time);
drivers/hid/hid-lenovo-go-s.c
592
i = drvdata.imu_sensor_en;
drivers/hid/hid-lenovo-go-s.c
598
i = drvdata.imu_bypass_en;
drivers/hid/hid-lenovo-go-s.c
604
i = drvdata.rgb_en;
drivers/hid/hid-lenovo-go-s.c
61
} drvdata;
drivers/hid/hid-lenovo-go-s.c
610
i = drvdata.tp_en;
drivers/hid/hid-lenovo-go-s.c
616
i = drvdata.os_mode;
drivers/hid/hid-lenovo-go-s.c
622
i = drvdata.gp_poll_rate;
drivers/hid/hid-lenovo-go-s.c
628
i = drvdata.gp_dpad_mode;
drivers/hid/hid-lenovo-go-s.c
634
i = drvdata.mouse_step;
drivers/hid/hid-lenovo-go-s.c
735
ret = mcu_property_out(drvdata.hdev, SET_TP_PARAM, index, &val, size);
drivers/hid/hid-lenovo-go-s.c
749
ret = mcu_property_out(drvdata.hdev, GET_TP_PARAM, index, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
755
i = drvdata.tp_windows_mode;
drivers/hid/hid-lenovo-go-s.c
758
i = drvdata.tp_linux_mode;
drivers/hid/hid-lenovo-go-s.c
805
i = drvdata.tp_manufacturer;
drivers/hid/hid-lenovo-go-s.c
811
i = drvdata.imu_manufacturer;
drivers/hid/hid-lenovo-go-s.c
817
count = sysfs_emit(buf, "%u\n", drvdata.tp_version);
drivers/hid/hid-lenovo-go-s.c
830
return sysfs_emit(buf, "%*phN\n", 12, &drvdata.mcu_id);
drivers/hid/hid-lenovo-go-s.c
849
index = drvdata.rgb_profile + 2;
drivers/hid/hid-lenovo-go-s.c
851
return rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, index, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
858
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go-s.c
868
index = drvdata.rgb_profile + 2;
drivers/hid/hid-lenovo-go-s.c
873
drvdata.led_cdev->brightness,
drivers/hid/hid-lenovo-go-s.c
874
drvdata.rgb_speed };
drivers/hid/hid-lenovo-go-s.c
876
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go-s.c
880
drvdata.rgb_effect = effect;
drivers/hid/hid-lenovo-go-s.c
893
if (drvdata.rgb_effect >= ARRAY_SIZE(rgb_effect_text))
drivers/hid/hid-lenovo-go-s.c
896
return sysfs_emit(buf, "%s\n", rgb_effect_text[drvdata.rgb_effect]);
drivers/hid/hid-lenovo-go-s.c
918
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go-s.c
930
index = drvdata.rgb_profile + 2;
drivers/hid/hid-lenovo-go-s.c
931
u8 rgb_profile[6] = { drvdata.rgb_effect,
drivers/hid/hid-lenovo-go-s.c
935
drvdata.led_cdev->brightness,
drivers/hid/hid-lenovo-go-s.c
938
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go-s.c
942
drvdata.rgb_speed = val;
drivers/hid/hid-lenovo-go-s.c
956
if (drvdata.rgb_speed > 100)
drivers/hid/hid-lenovo-go-s.c
959
return sysfs_emit(buf, "%hhu\n", drvdata.rgb_speed);
drivers/hid/hid-lenovo-go-s.c
980
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, LIGHT_MODE_SEL, &val,
drivers/hid/hid-lenovo-go-s.c
985
drvdata.rgb_mode = val;
drivers/hid/hid-lenovo-go-s.c
995
ret = rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, LIGHT_MODE_SEL, NULL, 0);
drivers/hid/hid-lenovo-go-s.c
999
if (drvdata.rgb_mode >= ARRAY_SIZE(rgb_mode_text))
drivers/hid/hid-lenovo-go.c
1006
i = drvdata.gp_left_auto_sleep_time;
drivers/hid/hid-lenovo-go.c
1009
i = drvdata.gp_right_auto_sleep_time;
drivers/hid/hid-lenovo-go.c
1017
i = drvdata.fps_mode;
drivers/hid/hid-lenovo-go.c
1024
i = drvdata.gp_mode;
drivers/hid/hid-lenovo-go.c
1119
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, SET_MOTOR_CFG,
drivers/hid/hid-lenovo-go.c
1136
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_MOTOR_CFG,
drivers/hid/hid-lenovo-go.c
1145
i = drvdata.gp_rumble_intensity;
drivers/hid/hid-lenovo-go.c
1154
i = drvdata.gp_left_notify_en;
drivers/hid/hid-lenovo-go.c
1157
i = drvdata.gp_right_notify_en;
drivers/hid/hid-lenovo-go.c
1170
i = drvdata.gp_left_rumble_mode;
drivers/hid/hid-lenovo-go.c
1173
i = drvdata.gp_right_rumble_mode;
drivers/hid/hid-lenovo-go.c
1184
i = drvdata.tp_vibration_en;
drivers/hid/hid-lenovo-go.c
1191
i = drvdata.tp_vibration_intensity;
drivers/hid/hid-lenovo-go.c
1259
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, SET_DPI_CFG,
drivers/hid/hid-lenovo-go.c
1272
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_DPI_CFG,
drivers/hid/hid-lenovo-go.c
1277
return sysfs_emit(buf, "%u\n", drvdata.mouse_dpi);
drivers/hid/hid-lenovo-go.c
1300
i = drvdata.gp_left_gyro_cal_status;
drivers/hid/hid-lenovo-go.c
1303
i = drvdata.gp_left_joy_cal_status;
drivers/hid/hid-lenovo-go.c
1306
i = drvdata.gp_left_trigg_cal_status;
drivers/hid/hid-lenovo-go.c
1315
i = drvdata.gp_right_gyro_cal_status;
drivers/hid/hid-lenovo-go.c
1318
i = drvdata.gp_right_joy_cal_status;
drivers/hid/hid-lenovo-go.c
1321
i = drvdata.gp_right_trigg_cal_status;
drivers/hid/hid-lenovo-go.c
1358
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, cmd, sub_cmd,
drivers/hid/hid-lenovo-go.c
1393
ret = mcu_property_out(drvdata.hdev, OS_MODE_DATA, FEATURE_OS_MODE,
drivers/hid/hid-lenovo-go.c
1398
drvdata.os_mode = val;
drivers/hid/hid-lenovo-go.c
1410
ret = mcu_property_out(drvdata.hdev, OS_MODE_DATA, FEATURE_OS_MODE,
drivers/hid/hid-lenovo-go.c
1415
i = drvdata.os_mode;
drivers/hid/hid-lenovo-go.c
1456
index = drvdata.rgb_profile + 3;
drivers/hid/hid-lenovo-go.c
1458
return rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, index, NULL, 0);
drivers/hid/hid-lenovo-go.c
1465
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go.c
1475
index = drvdata.rgb_profile + 3;
drivers/hid/hid-lenovo-go.c
1480
drvdata.led_cdev->brightness,
drivers/hid/hid-lenovo-go.c
1481
drvdata.rgb_speed };
drivers/hid/hid-lenovo-go.c
1483
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go.c
1487
drvdata.rgb_effect = effect;
drivers/hid/hid-lenovo-go.c
1500
if (drvdata.rgb_effect >= ARRAY_SIZE(rgb_effect_text))
drivers/hid/hid-lenovo-go.c
1503
return sysfs_emit(buf, "%s\n", rgb_effect_text[drvdata.rgb_effect]);
drivers/hid/hid-lenovo-go.c
1525
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go.c
1540
index = drvdata.rgb_profile + 3;
drivers/hid/hid-lenovo-go.c
1541
u8 rgb_profile[6] = { drvdata.rgb_effect,
drivers/hid/hid-lenovo-go.c
1545
drvdata.led_cdev->brightness,
drivers/hid/hid-lenovo-go.c
1548
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go.c
1552
drvdata.rgb_speed = val;
drivers/hid/hid-lenovo-go.c
1566
if (drvdata.rgb_speed > 100)
drivers/hid/hid-lenovo-go.c
1569
val = drvdata.rgb_speed;
drivers/hid/hid-lenovo-go.c
1592
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, LIGHT_MODE_SEL, &val, 1);
drivers/hid/hid-lenovo-go.c
1596
drvdata.rgb_mode = val;
drivers/hid/hid-lenovo-go.c
1606
ret = rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, LIGHT_MODE_SEL, NULL, 0);
drivers/hid/hid-lenovo-go.c
1610
if (drvdata.rgb_mode >= ARRAY_SIZE(rgb_mode_text))
drivers/hid/hid-lenovo-go.c
1613
return sysfs_emit(buf, "%s\n", rgb_mode_text[drvdata.rgb_mode]);
drivers/hid/hid-lenovo-go.c
1646
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, LIGHT_PROFILE_SEL, &val, size);
drivers/hid/hid-lenovo-go.c
1650
drvdata.rgb_profile = val;
drivers/hid/hid-lenovo-go.c
1660
ret = rgb_cfg_call(drvdata.hdev, GET_RGB_CFG, LIGHT_PROFILE_SEL, NULL, 0);
drivers/hid/hid-lenovo-go.c
1664
if (drvdata.rgb_profile < 1 || drvdata.rgb_profile > 3)
drivers/hid/hid-lenovo-go.c
1667
return sysfs_emit(buf, "%hhu\n", drvdata.rgb_profile);
drivers/hid/hid-lenovo-go.c
1679
struct led_classdev_mc *mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go.c
1688
index = drvdata.rgb_profile + 3;
drivers/hid/hid-lenovo-go.c
1689
u8 rgb_profile[6] = { drvdata.rgb_effect,
drivers/hid/hid-lenovo-go.c
1694
drvdata.rgb_speed };
drivers/hid/hid-lenovo-go.c
1696
ret = rgb_cfg_call(drvdata.hdev, SET_RGB_CFG, index, rgb_profile, 6);
drivers/hid/hid-lenovo-go.c
2191
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2194
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2199
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2202
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2207
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2210
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2215
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2218
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2223
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2226
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2232
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2235
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2240
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2243
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2248
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2251
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2256
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2259
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2264
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2267
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2273
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2276
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2281
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2284
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2289
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2292
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2297
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2300
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2305
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2308
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2314
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2317
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2322
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2325
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2330
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2333
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2338
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2341
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2346
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
2349
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-lenovo-go.c
2365
hid_set_drvdata(hdev, &drvdata);
drivers/hid/hid-lenovo-go.c
2366
drvdata.hdev = hdev;
drivers/hid/hid-lenovo-go.c
2367
mutex_init(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go.c
2389
drvdata.led_cdev = &go_cdev_rgb.led_cdev;
drivers/hid/hid-lenovo-go.c
2391
init_completion(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go.c
2396
INIT_DELAYED_WORK(&drvdata.go_cfg_setup, &cfg_setup);
drivers/hid/hid-lenovo-go.c
2397
ret = schedule_delayed_work(&drvdata.go_cfg_setup, msecs_to_jiffies(2));
drivers/hid/hid-lenovo-go.c
2415
cancel_delayed_work_sync(&drvdata.go_cfg_setup);
drivers/hid/hid-lenovo-go.c
2417
guard(mutex)(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go.c
340
drvdata.mcu_version_product =
drivers/hid/hid-lenovo-go.c
344
drvdata.tx_dongle_version_product =
drivers/hid/hid-lenovo-go.c
348
drvdata.gp_left_version_product =
drivers/hid/hid-lenovo-go.c
352
drvdata.gp_right_version_product =
drivers/hid/hid-lenovo-go.c
361
drvdata.mcu_version_protocol =
drivers/hid/hid-lenovo-go.c
365
drvdata.tx_dongle_version_protocol =
drivers/hid/hid-lenovo-go.c
369
drvdata.gp_left_version_protocol =
drivers/hid/hid-lenovo-go.c
373
drvdata.gp_right_version_protocol =
drivers/hid/hid-lenovo-go.c
382
drvdata.mcu_version_firmware =
drivers/hid/hid-lenovo-go.c
386
drvdata.tx_dongle_version_firmware =
drivers/hid/hid-lenovo-go.c
390
drvdata.gp_left_version_firmware =
drivers/hid/hid-lenovo-go.c
394
drvdata.gp_right_version_firmware =
drivers/hid/hid-lenovo-go.c
403
drvdata.mcu_version_hardware =
drivers/hid/hid-lenovo-go.c
407
drvdata.tx_dongle_version_hardware =
drivers/hid/hid-lenovo-go.c
411
drvdata.gp_left_version_hardware =
drivers/hid/hid-lenovo-go.c
415
drvdata.gp_right_version_hardware =
drivers/hid/hid-lenovo-go.c
424
drvdata.mcu_version_gen = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
427
drvdata.tx_dongle_version_gen = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
430
drvdata.gp_left_version_gen = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
433
drvdata.gp_right_version_gen = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
451
drvdata.imu_left_sensor_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
454
drvdata.imu_right_sensor_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
462
drvdata.imu_left_bypass_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
465
drvdata.imu_right_bypass_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
472
drvdata.rgb_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
477
drvdata.gp_left_auto_sleep_time = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
480
drvdata.gp_right_auto_sleep_time = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
487
drvdata.tp_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
490
drvdata.gp_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
493
drvdata.fps_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
506
drvdata.gp_rumble_intensity = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
511
drvdata.gp_left_notify_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
514
drvdata.gp_right_notify_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
523
drvdata.gp_left_rumble_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
526
drvdata.gp_right_rumble_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
532
drvdata.tp_vibration_en = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
535
drvdata.tp_vibration_intensity = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
546
drvdata.mouse_dpi = get_unaligned_le32(cmd_rep->data);
drivers/hid/hid-lenovo-go.c
557
drvdata.rgb_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
560
drvdata.rgb_profile = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
565
mc_cdev = lcdev_to_mccdev(drvdata.led_cdev);
drivers/hid/hid-lenovo-go.c
566
drvdata.rgb_effect = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
570
drvdata.led_cdev->brightness = cmd_rep->data[4];
drivers/hid/hid-lenovo-go.c
571
drvdata.rgb_speed = 100 - cmd_rep->data[5];
drivers/hid/hid-lenovo-go.c
584
drvdata.gp_left_gyro_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
587
drvdata.gp_left_joy_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
590
drvdata.gp_left_trigg_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
599
drvdata.gp_right_gyro_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
602
drvdata.gp_right_joy_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
605
drvdata.gp_right_trigg_cal_status = cmd_rep->data[1];
drivers/hid/hid-lenovo-go.c
624
drvdata.os_mode = cmd_rep->data[0];
drivers/hid/hid-lenovo-go.c
710
complete(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go.c
731
guard(mutex)(&drvdata.cfg_mutex);
drivers/hid/hid-lenovo-go.c
751
ret = wait_for_completion_interruptible_timeout(&drvdata.send_cmd_complete,
drivers/hid/hid-lenovo-go.c
757
reinit_completion(&drvdata.send_cmd_complete);
drivers/hid/hid-lenovo-go.c
768
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA, GET_VERSION_DATA,
drivers/hid/hid-lenovo-go.c
778
drvdata.mcu_version_product);
drivers/hid/hid-lenovo-go.c
782
drvdata.tx_dongle_version_product);
drivers/hid/hid-lenovo-go.c
786
drvdata.gp_left_version_product);
drivers/hid/hid-lenovo-go.c
790
drvdata.gp_right_version_product);
drivers/hid/hid-lenovo-go.c
800
drvdata.mcu_version_protocol);
drivers/hid/hid-lenovo-go.c
804
drvdata.tx_dongle_version_protocol);
drivers/hid/hid-lenovo-go.c
808
drvdata.gp_left_version_protocol);
drivers/hid/hid-lenovo-go.c
812
drvdata.gp_right_version_protocol);
drivers/hid/hid-lenovo-go.c
822
drvdata.mcu_version_firmware);
drivers/hid/hid-lenovo-go.c
826
drvdata.tx_dongle_version_firmware);
drivers/hid/hid-lenovo-go.c
830
drvdata.gp_left_version_firmware);
drivers/hid/hid-lenovo-go.c
834
drvdata.gp_right_version_firmware);
drivers/hid/hid-lenovo-go.c
844
drvdata.mcu_version_hardware);
drivers/hid/hid-lenovo-go.c
848
drvdata.tx_dongle_version_hardware);
drivers/hid/hid-lenovo-go.c
852
drvdata.gp_left_version_hardware);
drivers/hid/hid-lenovo-go.c
856
drvdata.gp_right_version_hardware);
drivers/hid/hid-lenovo-go.c
866
drvdata.mcu_version_gen);
drivers/hid/hid-lenovo-go.c
870
drvdata.tx_dongle_version_gen);
drivers/hid/hid-lenovo-go.c
874
drvdata.gp_left_version_gen);
drivers/hid/hid-lenovo-go.c
878
drvdata.gp_right_version_gen);
drivers/hid/hid-lenovo-go.c
93
} drvdata;
drivers/hid/hid-lenovo-go.c
933
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA,
drivers/hid/hid-lenovo-go.c
951
ret = mcu_property_out(drvdata.hdev, MCU_CONFIG_DATA,
drivers/hid/hid-lenovo-go.c
960
i = drvdata.imu_left_sensor_en;
drivers/hid/hid-lenovo-go.c
963
i = drvdata.imu_right_sensor_en;
drivers/hid/hid-lenovo-go.c
976
i = drvdata.imu_left_bypass_en;
drivers/hid/hid-lenovo-go.c
979
i = drvdata.imu_right_bypass_en;
drivers/hid/hid-lenovo-go.c
990
i = drvdata.rgb_en;
drivers/hid/hid-lenovo-go.c
997
i = drvdata.tp_en;
drivers/hid/hid-oxp.c
1037
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
1046
if (drvdata.rgb_effect == OXP_EFFECT_MONO_LIST)
drivers/hid/hid-oxp.c
1051
if (drvdata.rgb_effect == OXP_EFFECT_MONO_LIST)
drivers/hid/hid-oxp.c
1061
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
1078
u8 max_br = drvdata.led_mc->led_cdev.max_brightness;
drivers/hid/hid-oxp.c
1079
u8 br = drvdata.led_mc->led_cdev.brightness;
drivers/hid/hid-oxp.c
1080
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
1086
red = br * drvdata.led_mc->subled_info[0].intensity / max_br;
drivers/hid/hid-oxp.c
1087
green = br * drvdata.led_mc->subled_info[1].intensity / max_br;
drivers/hid/hid-oxp.c
1088
blue = br * drvdata.led_mc->subled_info[2].intensity / max_br;
drivers/hid/hid-oxp.c
1118
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
1165
drvdata.rgb_effect = effect;
drivers/hid/hid-oxp.c
1181
ret = oxp_rgb_status_store(val, drvdata.rgb_speed,
drivers/hid/hid-oxp.c
1182
drvdata.rgb_brightness);
drivers/hid/hid-oxp.c
1186
drvdata.rgb_en = val;
drivers/hid/hid-oxp.c
1199
if (drvdata.rgb_en >= ARRAY_SIZE(oxp_feature_en_text))
drivers/hid/hid-oxp.c
1202
return sysfs_emit(buf, "%s\n", oxp_feature_en_text[drvdata.rgb_en]);
drivers/hid/hid-oxp.c
1234
ret = oxp_rgb_status_store(drvdata.rgb_en, drvdata.rgb_speed,
drivers/hid/hid-oxp.c
1235
drvdata.rgb_brightness);
drivers/hid/hid-oxp.c
1255
if (drvdata.rgb_effect >= ARRAY_SIZE(oxp_rgb_effect_text))
drivers/hid/hid-oxp.c
1258
return sysfs_emit(buf, "%s\n", oxp_rgb_effect_text[drvdata.rgb_effect]);
drivers/hid/hid-oxp.c
1292
ret = oxp_rgb_status_store(drvdata.rgb_en, val, drvdata.rgb_brightness);
drivers/hid/hid-oxp.c
1296
drvdata.rgb_speed = val;
drivers/hid/hid-oxp.c
1309
if (drvdata.rgb_speed > 9)
drivers/hid/hid-oxp.c
1312
return sysfs_emit(buf, "%hhu\n", drvdata.rgb_speed);
drivers/hid/hid-oxp.c
1325
unsigned int max_brightness = drvdata.led_mc->led_cdev.max_brightness;
drivers/hid/hid-oxp.c
1326
unsigned int brightness = drvdata.led_mc->led_cdev.brightness;
drivers/hid/hid-oxp.c
1330
if (drvdata.rgb_brightness != val) {
drivers/hid/hid-oxp.c
1331
ret = oxp_rgb_status_store(drvdata.rgb_en, drvdata.rgb_speed, val);
drivers/hid/hid-oxp.c
1333
dev_err(drvdata.led_mc->led_cdev.dev,
drivers/hid/hid-oxp.c
1336
drvdata.rgb_brightness = val;
drivers/hid/hid-oxp.c
1339
if (drvdata.rgb_effect != OXP_EFFECT_MONO_LIST)
drivers/hid/hid-oxp.c
1342
ret = oxp_rgb_effect_set(drvdata.rgb_effect);
drivers/hid/hid-oxp.c
1344
dev_err(drvdata.led_mc->led_cdev.dev, "Error: Failed to write RGB color: %i\n",
drivers/hid/hid-oxp.c
1352
mod_delayed_work(system_wq, &drvdata.oxp_rgb_queue, msecs_to_jiffies(50));
drivers/hid/hid-oxp.c
1455
hid_set_drvdata(hdev, &drvdata);
drivers/hid/hid-oxp.c
1456
mutex_init(&drvdata.cfg_mutex);
drivers/hid/hid-oxp.c
1457
drvdata.hdev = hdev;
drivers/hid/hid-oxp.c
1462
drvdata.led_mc = &oxp_cdev_rgb;
drivers/hid/hid-oxp.c
1464
INIT_DELAYED_WORK(&drvdata.oxp_rgb_queue, oxp_rgb_queue_fn);
drivers/hid/hid-oxp.c
1470
ret = devm_device_add_group(drvdata.led_mc->led_cdev.dev,
drivers/hid/hid-oxp.c
1473
return dev_err_probe(drvdata.led_mc->led_cdev.dev, ret,
drivers/hid/hid-oxp.c
1478
dev_warn(drvdata.led_mc->led_cdev.dev,
drivers/hid/hid-oxp.c
1496
drvdata.bmap_1 = bmap_1;
drivers/hid/hid-oxp.c
1497
drvdata.bmap_2 = bmap_2;
drivers/hid/hid-oxp.c
1499
INIT_DELAYED_WORK(&drvdata.oxp_btn_queue, oxp_btn_queue_fn);
drivers/hid/hid-oxp.c
1501
drvdata.gamepad_mode = OXP_GP_MODE_XINPUT;
drivers/hid/hid-oxp.c
1502
drvdata.rumble_intensity = 5;
drivers/hid/hid-oxp.c
1504
INIT_DELAYED_WORK(&drvdata.oxp_mcu_init, oxp_mcu_init_fn);
drivers/hid/hid-oxp.c
1505
mod_delayed_work(system_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50));
drivers/hid/hid-oxp.c
1555
cancel_delayed_work(&drvdata.oxp_rgb_queue);
drivers/hid/hid-oxp.c
1556
cancel_delayed_work(&drvdata.oxp_btn_queue);
drivers/hid/hid-oxp.c
1557
cancel_delayed_work(&drvdata.oxp_mcu_init);
drivers/hid/hid-oxp.c
189
} drvdata;
drivers/hid/hid-oxp.c
318
struct led_classdev_mc *led_mc = drvdata.led_mc;
drivers/hid/hid-oxp.c
326
drvdata.rgb_effect = rgb_rep->effect == OXP_EFFECT_MONO_TRUE ?
drivers/hid/hid-oxp.c
329
drvdata.rgb_speed = rgb_rep->speed;
drivers/hid/hid-oxp.c
330
drvdata.rgb_en = rgb_rep->enabled == 0 ? OXP_FEAT_DISABLED :
drivers/hid/hid-oxp.c
332
drvdata.rgb_brightness = rgb_rep->brightness;
drivers/hid/hid-oxp.c
361
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-oxp.c
367
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-oxp.c
371
if (drvdata.gamepad_mode == OXP_GP_MODE_DEBUG)
drivers/hid/hid-oxp.c
377
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-oxp.c
381
ret = oxp_rumble_intensity_set(drvdata.rumble_intensity);
drivers/hid/hid-oxp.c
383
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-oxp.c
391
struct led_classdev_mc *led_mc = drvdata.led_mc;
drivers/hid/hid-oxp.c
401
mod_delayed_work(system_wq, &drvdata.oxp_mcu_init, msecs_to_jiffies(50));
drivers/hid/hid-oxp.c
410
drvdata.rgb_effect = rgb_rep->effect == OXP_EFFECT_MONO_TRUE ?
drivers/hid/hid-oxp.c
413
drvdata.rgb_speed = rgb_rep->speed;
drivers/hid/hid-oxp.c
414
drvdata.rgb_en = rgb_rep->enabled == 0 ? OXP_FEAT_DISABLED :
drivers/hid/hid-oxp.c
416
drvdata.rgb_brightness = rgb_rep->brightness;
drivers/hid/hid-oxp.c
464
guard(mutex)(&drvdata.cfg_mutex);
drivers/hid/hid-oxp.c
470
dev_dbg(&drvdata.hdev->dev, "raw data: [%*ph]\n", OXP_PACKET_SIZE, dmabuf);
drivers/hid/hid-oxp.c
472
ret = hid_hw_output_report(drvdata.hdev, dmabuf, OXP_PACKET_SIZE);
drivers/hid/hid-oxp.c
506
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
529
drvdata.gamepad_mode = data[0];
drivers/hid/hid-oxp.c
531
if (drvdata.gamepad_mode == OXP_GP_MODE_DEBUG)
drivers/hid/hid-oxp.c
535
ret = oxp_rumble_intensity_set(drvdata.rumble_intensity);
drivers/hid/hid-oxp.c
545
return sysfs_emit(buf, "%s\n", oxp_gamepad_mode_text[drvdata.gamepad_mode]);
drivers/hid/hid-oxp.c
634
u16 up = get_usage_page(drvdata.hdev);
drivers/hid/hid-oxp.c
641
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_a),
drivers/hid/hid-oxp.c
642
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_b),
drivers/hid/hid-oxp.c
643
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_x),
drivers/hid/hid-oxp.c
644
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_y),
drivers/hid/hid-oxp.c
645
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_lb),
drivers/hid/hid-oxp.c
646
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_rb),
drivers/hid/hid-oxp.c
647
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_lt),
drivers/hid/hid-oxp.c
648
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_rt),
drivers/hid/hid-oxp.c
649
OXP_FILL_PAGE_SLOT(drvdata.bmap_1, btn_start),
drivers/hid/hid-oxp.c
653
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_select),
drivers/hid/hid-oxp.c
654
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_l3),
drivers/hid/hid-oxp.c
655
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_r3),
drivers/hid/hid-oxp.c
656
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dup),
drivers/hid/hid-oxp.c
657
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_ddown),
drivers/hid/hid-oxp.c
658
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dleft),
drivers/hid/hid-oxp.c
659
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_dright),
drivers/hid/hid-oxp.c
660
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_m1),
drivers/hid/hid-oxp.c
661
OXP_FILL_PAGE_SLOT(drvdata.bmap_2, btn_m2),
drivers/hid/hid-oxp.c
676
oxp_set_defaults_bmap_1(drvdata.bmap_1);
drivers/hid/hid-oxp.c
677
oxp_set_defaults_bmap_2(drvdata.bmap_2);
drivers/hid/hid-oxp.c
708
dev_err(&drvdata.hdev->dev,
drivers/hid/hid-oxp.c
735
drvdata.bmap_1->btn_a.mapping_idx = idx;
drivers/hid/hid-oxp.c
738
drvdata.bmap_1->btn_b.mapping_idx = idx;
drivers/hid/hid-oxp.c
741
drvdata.bmap_1->btn_x.mapping_idx = idx;
drivers/hid/hid-oxp.c
744
drvdata.bmap_1->btn_y.mapping_idx = idx;
drivers/hid/hid-oxp.c
747
drvdata.bmap_1->btn_lb.mapping_idx = idx;
drivers/hid/hid-oxp.c
750
drvdata.bmap_1->btn_rb.mapping_idx = idx;
drivers/hid/hid-oxp.c
753
drvdata.bmap_1->btn_lt.mapping_idx = idx;
drivers/hid/hid-oxp.c
756
drvdata.bmap_1->btn_rt.mapping_idx = idx;
drivers/hid/hid-oxp.c
759
drvdata.bmap_1->btn_start.mapping_idx = idx;
drivers/hid/hid-oxp.c
762
drvdata.bmap_2->btn_select.mapping_idx = idx;
drivers/hid/hid-oxp.c
765
drvdata.bmap_2->btn_l3.mapping_idx = idx;
drivers/hid/hid-oxp.c
768
drvdata.bmap_2->btn_r3.mapping_idx = idx;
drivers/hid/hid-oxp.c
771
drvdata.bmap_2->btn_dup.mapping_idx = idx;
drivers/hid/hid-oxp.c
774
drvdata.bmap_2->btn_ddown.mapping_idx = idx;
drivers/hid/hid-oxp.c
777
drvdata.bmap_2->btn_dleft.mapping_idx = idx;
drivers/hid/hid-oxp.c
780
drvdata.bmap_2->btn_dright.mapping_idx = idx;
drivers/hid/hid-oxp.c
783
drvdata.bmap_2->btn_m1.mapping_idx = idx;
drivers/hid/hid-oxp.c
786
drvdata.bmap_2->btn_m2.mapping_idx = idx;
drivers/hid/hid-oxp.c
791
mod_delayed_work(system_wq, &drvdata.oxp_btn_queue, msecs_to_jiffies(50));
drivers/hid/hid-oxp.c
803
i = drvdata.bmap_1->btn_a.mapping_idx;
drivers/hid/hid-oxp.c
806
i = drvdata.bmap_1->btn_b.mapping_idx;
drivers/hid/hid-oxp.c
809
i = drvdata.bmap_1->btn_x.mapping_idx;
drivers/hid/hid-oxp.c
812
i = drvdata.bmap_1->btn_y.mapping_idx;
drivers/hid/hid-oxp.c
815
i = drvdata.bmap_1->btn_lb.mapping_idx;
drivers/hid/hid-oxp.c
818
i = drvdata.bmap_1->btn_rb.mapping_idx;
drivers/hid/hid-oxp.c
821
i = drvdata.bmap_1->btn_lt.mapping_idx;
drivers/hid/hid-oxp.c
824
i = drvdata.bmap_1->btn_rt.mapping_idx;
drivers/hid/hid-oxp.c
827
i = drvdata.bmap_1->btn_start.mapping_idx;
drivers/hid/hid-oxp.c
830
i = drvdata.bmap_2->btn_select.mapping_idx;
drivers/hid/hid-oxp.c
833
i = drvdata.bmap_2->btn_l3.mapping_idx;
drivers/hid/hid-oxp.c
836
i = drvdata.bmap_2->btn_r3.mapping_idx;
drivers/hid/hid-oxp.c
839
i = drvdata.bmap_2->btn_dup.mapping_idx;
drivers/hid/hid-oxp.c
842
i = drvdata.bmap_2->btn_ddown.mapping_idx;
drivers/hid/hid-oxp.c
845
i = drvdata.bmap_2->btn_dleft.mapping_idx;
drivers/hid/hid-oxp.c
848
i = drvdata.bmap_2->btn_dright.mapping_idx;
drivers/hid/hid-oxp.c
851
i = drvdata.bmap_2->btn_m1.mapping_idx;
drivers/hid/hid-oxp.c
854
i = drvdata.bmap_2->btn_m2.mapping_idx;
drivers/hid/hid-oxp.c
916
drvdata.rumble_intensity = val;
drivers/hid/hid-oxp.c
924
return sysfs_emit(buf, "%i\n", drvdata.rumble_intensity);
drivers/hid/hid-uclogic-core.c
128
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-core.c
129
struct uclogic_params *params = &drvdata->params;
drivers/hid/hid-uclogic-core.c
145
drvdata->pen_input = hi->input;
drivers/hid/hid-uclogic-core.c
203
struct uclogic_drvdata *drvdata = NULL;
drivers/hid/hid-uclogic-core.c
217
drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hid/hid-uclogic-core.c
218
if (drvdata == NULL) {
drivers/hid/hid-uclogic-core.c
222
timer_setup(&drvdata->inrange_timer, uclogic_inrange_timeout, 0);
drivers/hid/hid-uclogic-core.c
223
drvdata->re_state = U8_MAX;
drivers/hid/hid-uclogic-core.c
224
drvdata->quirks = id->driver_data;
drivers/hid/hid-uclogic-core.c
225
hid_set_drvdata(hdev, drvdata);
drivers/hid/hid-uclogic-core.c
228
rc = uclogic_params_init(&drvdata->params, hdev);
drivers/hid/hid-uclogic-core.c
235
uclogic_params_hid_dbg(hdev, &drvdata->params);
drivers/hid/hid-uclogic-core.c
236
if (drvdata->params.invalid) {
drivers/hid/hid-uclogic-core.c
243
rc = uclogic_params_get_desc(&drvdata->params,
drivers/hid/hid-uclogic-core.c
244
&drvdata->desc_ptr,
drivers/hid/hid-uclogic-core.c
245
&drvdata->desc_size);
drivers/hid/hid-uclogic-core.c
269
uclogic_params_cleanup(&drvdata->params);
drivers/hid/hid-uclogic-core.c
326
static int uclogic_raw_event_pen(struct uclogic_drvdata *drvdata,
drivers/hid/hid-uclogic-core.c
329
struct uclogic_params_pen *pen = &drvdata->params.pen;
drivers/hid/hid-uclogic-core.c
331
WARN_ON(drvdata == NULL);
drivers/hid/hid-uclogic-core.c
35
struct uclogic_drvdata *drvdata = timer_container_of(drvdata, t,
drivers/hid/hid-uclogic-core.c
37
struct input_dev *input = drvdata->pen_input;
drivers/hid/hid-uclogic-core.c
387
mod_timer(&drvdata->inrange_timer,
drivers/hid/hid-uclogic-core.c
409
struct uclogic_drvdata *drvdata,
drivers/hid/hid-uclogic-core.c
413
WARN_ON(drvdata == NULL);
drivers/hid/hid-uclogic-core.c
433
u8 prev_state = drvdata->re_state;
drivers/hid/hid-uclogic-core.c
450
drvdata->re_state = state;
drivers/hid/hid-uclogic-core.c
495
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-core.c
496
struct uclogic_params *params = &drvdata->params;
drivers/hid/hid-uclogic-core.c
528
return uclogic_raw_event_pen(drvdata, data, size);
drivers/hid/hid-uclogic-core.c
536
drvdata, &params->frame_list[i],
drivers/hid/hid-uclogic-core.c
549
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-core.c
551
timer_delete_sync(&drvdata->inrange_timer);
drivers/hid/hid-uclogic-core.c
553
kfree(drvdata->desc_ptr);
drivers/hid/hid-uclogic-core.c
554
uclogic_params_cleanup(&drvdata->params);
drivers/hid/hid-uclogic-core.c
56
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-core.c
58
if (drvdata->desc_ptr != NULL) {
drivers/hid/hid-uclogic-core.c
59
*rsize = drvdata->desc_size;
drivers/hid/hid-uclogic-core.c
60
return drvdata->desc_ptr;
drivers/hid/hid-uclogic-core.c
96
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-core.c
97
struct uclogic_params *params = &drvdata->params;
drivers/hid/hid-uclogic-params.c
1259
struct uclogic_drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-params.c
1261
if (drvdata->quirks & UCLOGIC_BATTERY_QUIRK)
drivers/hid/hid-uclogic-params.c
1408
struct uclogic_drvdata *drvdata;
drivers/hid/hid-uclogic-params.c
1424
drvdata = hid_get_drvdata(hdev);
drivers/hid/hid-uclogic-params.c
1493
if (drvdata->quirks & UCLOGIC_MOUSE_FRAME_QUIRK)
drivers/hid/hid-vivaldi.c
20
struct vivaldi_data *drvdata;
drivers/hid/hid-vivaldi.c
23
drvdata = devm_kzalloc(&hdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hid/hid-vivaldi.c
24
if (!drvdata)
drivers/hid/hid-vivaldi.c
27
hid_set_drvdata(hdev, drvdata);
drivers/hwmon/aspeed-g6-pwm-tach.c
365
static umode_t aspeed_tach_dev_is_visible(const void *drvdata,
drivers/hwmon/aspeed-g6-pwm-tach.c
369
const struct aspeed_pwm_tach_data *priv = drvdata;
drivers/hwmon/asus-ec-sensors.c
1334
static umode_t asus_ec_hwmon_is_visible(const void *drvdata,
drivers/hwmon/asus-ec-sensors.c
1338
const struct ec_sensors_data *state = drvdata;
drivers/hwmon/asus_wmi_sensors.c
479
static umode_t asus_wmi_hwmon_is_visible(const void *drvdata,
drivers/hwmon/asus_wmi_sensors.c
483
const struct asus_wmi_sensors *sensor_data = drvdata;
drivers/hwmon/dell-smm-hwmon.c
789
static umode_t dell_smm_is_visible(const void *drvdata, enum hwmon_sensor_types type, u32 attr,
drivers/hwmon/dell-smm-hwmon.c
792
const struct dell_smm_data *data = drvdata;
drivers/hwmon/gpd-fan.c
251
static void gpd_ecram_read(const struct gpd_fan_drvdata *drvdata, u16 offset, u8 *val)
drivers/hwmon/gpd-fan.c
253
u16 addr_port = drvdata->addr_port;
drivers/hwmon/gpd-fan.c
254
u16 data_port = drvdata->data_port;
drivers/hwmon/gpd-fan.c
272
static void gpd_ecram_write(const struct gpd_fan_drvdata *drvdata, u16 offset, u8 value)
drivers/hwmon/gpd-fan.c
274
u16 addr_port = drvdata->addr_port;
drivers/hwmon/gpd-fan.c
275
u16 data_port = drvdata->data_port;
drivers/hwmon/gpd-fan.c
295
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
298
gpd_ecram_read(drvdata, drvdata->rpm_read, &high);
drivers/hwmon/gpd-fan.c
299
gpd_ecram_read(drvdata, drvdata->rpm_read + 1, &low);
drivers/hwmon/gpd-fan.c
306
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
312
gpd_ecram_read(drvdata, pwm_ctr_offset, &PWMCTR);
drivers/hwmon/gpd-fan.c
315
gpd_ecram_write(drvdata, pwm_ctr_offset, 0xB8);
drivers/hwmon/gpd-fan.c
324
switch (data->drvdata->board) {
drivers/hwmon/gpd-fan.c
339
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
342
gpd_ecram_read(drvdata, drvdata->pwm_write, &var);
drivers/hwmon/gpd-fan.c
349
return DIV_ROUND_CLOSEST((var - 1) * 255, (drvdata->pwm_max - 1));
drivers/hwmon/gpd-fan.c
355
switch (data->drvdata->board) {
drivers/hwmon/gpd-fan.c
376
static inline u8 gpd_cast_pwm_range(const struct gpd_fan_drvdata *drvdata, u8 val)
drivers/hwmon/gpd-fan.c
378
return DIV_ROUND_CLOSEST(val * (drvdata->pwm_max - 1), 255) + 1;
drivers/hwmon/gpd-fan.c
383
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
386
pwm_reg = gpd_cast_pwm_range(drvdata, val);
drivers/hwmon/gpd-fan.c
387
gpd_ecram_write(drvdata, drvdata->pwm_write, pwm_reg);
drivers/hwmon/gpd-fan.c
392
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
395
pwm_reg = gpd_cast_pwm_range(drvdata, val);
drivers/hwmon/gpd-fan.c
396
gpd_ecram_write(drvdata, drvdata->pwm_write, pwm_reg);
drivers/hwmon/gpd-fan.c
397
gpd_ecram_write(drvdata, drvdata->pwm_write + 1, pwm_reg);
drivers/hwmon/gpd-fan.c
406
switch (data->drvdata->board) {
drivers/hwmon/gpd-fan.c
431
gpd_ecram_write(data->drvdata, data->drvdata->pwm_write, 0);
drivers/hwmon/gpd-fan.c
446
gpd_ecram_write(data->drvdata, data->drvdata->pwm_write, 0);
drivers/hwmon/gpd-fan.c
453
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
458
gpd_ecram_write(drvdata, drvdata->manual_control_enable, 1);
drivers/hwmon/gpd-fan.c
46
const struct gpd_fan_drvdata *drvdata;
drivers/hwmon/gpd-fan.c
462
gpd_ecram_write(drvdata, drvdata->manual_control_enable, 1);
drivers/hwmon/gpd-fan.c
465
gpd_ecram_write(drvdata, drvdata->manual_control_enable, 0);
drivers/hwmon/gpd-fan.c
478
switch (data->drvdata->board) {
drivers/hwmon/gpd-fan.c
493
static umode_t gpd_fan_hwmon_is_visible(__always_unused const void *drvdata,
drivers/hwmon/gpd-fan.c
595
const struct gpd_fan_drvdata *drvdata = data->drvdata;
drivers/hwmon/gpd-fan.c
598
gpd_ecram_read(drvdata, 0x2000, &chip_id);
drivers/hwmon/gpd-fan.c
601
gpd_ecram_read(drvdata, 0x1060, &chip_ver);
drivers/hwmon/gpd-fan.c
602
gpd_ecram_write(drvdata, 0x1060, chip_ver | 0x80);
drivers/hwmon/gpd-fan.c
612
if (data->drvdata->board == win4_6800u)
drivers/hwmon/gpd-fan.c
655
data->drvdata = match;
drivers/hwmon/gxp-fan-ctrl.c
108
reg = readl(drvdata->fn2 + OFS_SEVSTAT);
drivers/hwmon/gxp-fan-ctrl.c
111
*val = fan_installed(dev, channel) ? readb(drvdata->base + channel) : 0;
drivers/hwmon/gxp-fan-ctrl.c
200
struct gxp_fan_ctrl_drvdata *drvdata;
drivers/hwmon/gxp-fan-ctrl.c
204
drvdata = devm_kzalloc(dev, sizeof(struct gxp_fan_ctrl_drvdata),
drivers/hwmon/gxp-fan-ctrl.c
206
if (!drvdata)
drivers/hwmon/gxp-fan-ctrl.c
209
drvdata->base = devm_platform_get_and_ioremap_resource(pdev, 0, NULL);
drivers/hwmon/gxp-fan-ctrl.c
210
if (IS_ERR(drvdata->base))
drivers/hwmon/gxp-fan-ctrl.c
211
return dev_err_probe(dev, PTR_ERR(drvdata->base),
drivers/hwmon/gxp-fan-ctrl.c
214
drvdata->plreg = devm_platform_ioremap_resource_byname(pdev,
drivers/hwmon/gxp-fan-ctrl.c
216
if (IS_ERR(drvdata->plreg))
drivers/hwmon/gxp-fan-ctrl.c
217
return dev_err_probe(dev, PTR_ERR(drvdata->plreg),
drivers/hwmon/gxp-fan-ctrl.c
220
drvdata->fn2 = devm_platform_ioremap_resource_byname(pdev,
drivers/hwmon/gxp-fan-ctrl.c
222
if (IS_ERR(drvdata->fn2))
drivers/hwmon/gxp-fan-ctrl.c
223
return dev_err_probe(dev, PTR_ERR(drvdata->fn2),
drivers/hwmon/gxp-fan-ctrl.c
228
drvdata,
drivers/hwmon/gxp-fan-ctrl.c
24
struct gxp_fan_ctrl_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/gxp-fan-ctrl.c
27
val = readb(drvdata->plreg + OFS_FAN_INST);
drivers/hwmon/gxp-fan-ctrl.c
34
struct gxp_fan_ctrl_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/gxp-fan-ctrl.c
37
val = readb(drvdata->plreg + OFS_FAN_FAIL);
drivers/hwmon/gxp-fan-ctrl.c
44
struct gxp_fan_ctrl_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/gxp-fan-ctrl.c
52
val = readl(drvdata->fn2 + OFS_SEVSTAT);
drivers/hwmon/gxp-fan-ctrl.c
59
struct gxp_fan_ctrl_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/gxp-fan-ctrl.c
65
writeb(val, drvdata->base + channel);
drivers/hwmon/gxp-fan-ctrl.c
99
struct gxp_fan_ctrl_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/hp-wmi-sensors.c
1420
static umode_t hp_wmi_hwmon_is_visible(const void *drvdata,
drivers/hwmon/hp-wmi-sensors.c
1424
const struct hp_wmi_sensors *state = drvdata;
drivers/hwmon/hwmon.c
1041
void *drvdata,
drivers/hwmon/hwmon.c
1047
return __hwmon_device_register(dev, name, drvdata, NULL, groups);
drivers/hwmon/hwmon.c
1067
void *drvdata,
drivers/hwmon/hwmon.c
1077
return __hwmon_device_register(dev, name, drvdata, chip, extra_groups);
drivers/hwmon/hwmon.c
1098
void *drvdata,
drivers/hwmon/hwmon.c
1104
return __hwmon_device_register(dev, name, drvdata, NULL, extra_groups);
drivers/hwmon/hwmon.c
1163
void *drvdata,
drivers/hwmon/hwmon.c
1175
hwdev = hwmon_device_register_with_groups(dev, name, drvdata, groups);
drivers/hwmon/hwmon.c
1202
void *drvdata,
drivers/hwmon/hwmon.c
1221
hwdev = hwmon_device_register_with_info(dev, name, drvdata, chip,
drivers/hwmon/hwmon.c
151
const void *drvdata,
drivers/hwmon/hwmon.c
158
return ops->is_visible(drvdata, type, attr, channel);
drivers/hwmon/hwmon.c
269
void *drvdata = dev_get_drvdata(dev);
drivers/hwmon/hwmon.c
285
!hwmon_is_visible(chip->ops, drvdata, hwmon_temp,
drivers/hwmon/hwmon.c
513
static struct attribute *hwmon_genattr(const void *drvdata,
drivers/hwmon/hwmon.c
527
mode = hwmon_is_visible(ops, drvdata, type, attr, index);
drivers/hwmon/hwmon.c
833
static int hwmon_genattrs(const void *drvdata,
drivers/hwmon/hwmon.c
859
a = hwmon_genattr(drvdata, info->type, attr, i,
drivers/hwmon/hwmon.c
873
__hwmon_create_attrs(const void *drvdata, const struct hwmon_chip_info *chip)
drivers/hwmon/hwmon.c
889
ret = hwmon_genattrs(drvdata, &attrs[aindex], chip->ops,
drivers/hwmon/hwmon.c
902
__hwmon_device_register(struct device *dev, const char *name, void *drvdata,
drivers/hwmon/hwmon.c
944
attrs = __hwmon_create_attrs(drvdata, chip);
drivers/hwmon/hwmon.c
984
dev_set_drvdata(hdev, drvdata);
drivers/hwmon/ina238.c
767
static umode_t ina238_is_visible(const void *drvdata,
drivers/hwmon/ina238.c
771
const struct ina238_data *data = drvdata;
drivers/hwmon/ina3221.c
587
static umode_t ina3221_is_visible(const void *drvdata,
drivers/hwmon/ina3221.c
591
const struct ina3221_data *ina = drvdata;
drivers/hwmon/k10temp.c
287
static umode_t k10temp_is_visible(const void *drvdata,
drivers/hwmon/k10temp.c
291
const struct k10temp_data *data = drvdata;
drivers/hwmon/k8temp.c
72
k8temp_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/hwmon/k8temp.c
75
const struct k8temp_data *data = drvdata;
drivers/hwmon/lattepanda-sigma-ec.c
181
lps_ec_is_visible(const void *drvdata,
drivers/hwmon/lochnagar-hwmon.c
225
static umode_t lochnagar_is_visible(const void *drvdata,
drivers/hwmon/nzxt-smart2.c
221
static void handle_fan_config_report(struct drvdata *drvdata, void *data, int size)
drivers/hwmon/nzxt-smart2.c
232
spin_lock(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
235
drvdata->fan_type[i] = report->fan_type[i];
drivers/hwmon/nzxt-smart2.c
237
drvdata->fan_config_received = true;
drivers/hwmon/nzxt-smart2.c
238
wake_up_all_locked(&drvdata->wq);
drivers/hwmon/nzxt-smart2.c
239
spin_unlock(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
242
static void handle_fan_status_report(struct drvdata *drvdata, void *data, int size)
drivers/hwmon/nzxt-smart2.c
250
spin_lock(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
258
if (!drvdata->fan_config_received) {
drivers/hwmon/nzxt-smart2.c
259
spin_unlock(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
264
if (drvdata->fan_type[i] == report->fan_type[i])
drivers/hwmon/nzxt-smart2.c
274
hid_warn_once(drvdata->hid,
drivers/hwmon/nzxt-smart2.c
276
i, drvdata->fan_type[i], report->fan_type[i]);
drivers/hwmon/nzxt-smart2.c
277
drvdata->fan_type[i] = report->fan_type[i];
drivers/hwmon/nzxt-smart2.c
283
drvdata->fan_rpm[i] =
drivers/hwmon/nzxt-smart2.c
285
drvdata->fan_duty_percent[i] =
drivers/hwmon/nzxt-smart2.c
289
drvdata->pwm_status_received = true;
drivers/hwmon/nzxt-smart2.c
290
wake_up_all_locked(&drvdata->wq);
drivers/hwmon/nzxt-smart2.c
295
drvdata->fan_in[i] =
drivers/hwmon/nzxt-smart2.c
297
drvdata->fan_curr[i] =
drivers/hwmon/nzxt-smart2.c
301
drvdata->voltage_status_received = true;
drivers/hwmon/nzxt-smart2.c
302
wake_up_all_locked(&drvdata->wq);
drivers/hwmon/nzxt-smart2.c
306
spin_unlock(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
341
struct drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/nzxt-smart2.c
347
*val = drvdata->update_interval;
drivers/hwmon/nzxt-smart2.c
355
spin_lock_irq(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
369
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
370
drvdata->fan_config_received);
drivers/hwmon/nzxt-smart2.c
374
*val = drvdata->fan_type[channel] != FAN_TYPE_NONE;
drivers/hwmon/nzxt-smart2.c
378
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
379
drvdata->fan_config_received);
drivers/hwmon/nzxt-smart2.c
383
*val = drvdata->fan_type[channel] == FAN_TYPE_PWM;
drivers/hwmon/nzxt-smart2.c
387
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
388
drvdata->pwm_status_received);
drivers/hwmon/nzxt-smart2.c
392
*val = scale_pwm_value(drvdata->fan_duty_percent[channel],
drivers/hwmon/nzxt-smart2.c
405
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
406
drvdata->pwm_status_received);
drivers/hwmon/nzxt-smart2.c
410
*val = drvdata->fan_rpm[channel];
drivers/hwmon/nzxt-smart2.c
416
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
417
drvdata->voltage_status_received);
drivers/hwmon/nzxt-smart2.c
421
*val = drvdata->fan_in[channel];
drivers/hwmon/nzxt-smart2.c
427
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
428
drvdata->voltage_status_received);
drivers/hwmon/nzxt-smart2.c
432
*val = drvdata->fan_curr[channel];
drivers/hwmon/nzxt-smart2.c
441
spin_unlock_irq(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
445
static int send_output_report(struct drvdata *drvdata, const void *data,
drivers/hwmon/nzxt-smart2.c
450
if (data_size > sizeof(drvdata->output_buffer))
drivers/hwmon/nzxt-smart2.c
453
memcpy(drvdata->output_buffer, data, data_size);
drivers/hwmon/nzxt-smart2.c
455
if (data_size < sizeof(drvdata->output_buffer))
drivers/hwmon/nzxt-smart2.c
456
memset(drvdata->output_buffer + data_size, 0,
drivers/hwmon/nzxt-smart2.c
457
sizeof(drvdata->output_buffer) - data_size);
drivers/hwmon/nzxt-smart2.c
459
ret = hid_hw_output_report(drvdata->hid, drvdata->output_buffer,
drivers/hwmon/nzxt-smart2.c
460
sizeof(drvdata->output_buffer));
drivers/hwmon/nzxt-smart2.c
464
static int set_pwm(struct drvdata *drvdata, int channel, long val)
drivers/hwmon/nzxt-smart2.c
475
ret = mutex_lock_interruptible(&drvdata->mutex);
drivers/hwmon/nzxt-smart2.c
480
ret = send_output_report(drvdata, &report, sizeof(report));
drivers/hwmon/nzxt-smart2.c
495
spin_lock_bh(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
496
drvdata->fan_duty_percent[channel] = duty_percent;
drivers/hwmon/nzxt-smart2.c
497
spin_unlock_bh(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
500
mutex_unlock(&drvdata->mutex);
drivers/hwmon/nzxt-smart2.c
509
static int set_pwm_enable(struct drvdata *drvdata, int channel, long val)
drivers/hwmon/nzxt-smart2.c
514
spin_lock_irq(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
516
res = wait_event_interruptible_locked_irq(drvdata->wq,
drivers/hwmon/nzxt-smart2.c
517
drvdata->fan_config_received);
drivers/hwmon/nzxt-smart2.c
519
spin_unlock_irq(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
523
expected_val = drvdata->fan_type[channel] != FAN_TYPE_NONE;
drivers/hwmon/nzxt-smart2.c
525
spin_unlock_irq(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
560
static int set_update_interval(struct drvdata *drvdata, long val)
drivers/hwmon/nzxt-smart2.c
575
ret = send_output_report(drvdata, report, sizeof(report));
drivers/hwmon/nzxt-smart2.c
579
drvdata->update_interval = control_byte_to_update_interval(control);
drivers/hwmon/nzxt-smart2.c
583
static int init_device(struct drvdata *drvdata, long update_interval)
drivers/hwmon/nzxt-smart2.c
591
ret = send_output_report(drvdata, detect_fans_report,
drivers/hwmon/nzxt-smart2.c
596
return set_update_interval(drvdata, update_interval);
drivers/hwmon/nzxt-smart2.c
603
struct drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwmon/nzxt-smart2.c
610
return set_pwm_enable(drvdata, channel, val);
drivers/hwmon/nzxt-smart2.c
613
return set_pwm(drvdata, channel, val);
drivers/hwmon/nzxt-smart2.c
622
ret = mutex_lock_interruptible(&drvdata->mutex);
drivers/hwmon/nzxt-smart2.c
626
ret = set_update_interval(drvdata, val);
drivers/hwmon/nzxt-smart2.c
628
mutex_unlock(&drvdata->mutex);
drivers/hwmon/nzxt-smart2.c
691
struct drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hwmon/nzxt-smart2.c
696
handle_fan_config_report(drvdata, data, size);
drivers/hwmon/nzxt-smart2.c
700
handle_fan_status_report(drvdata, data, size);
drivers/hwmon/nzxt-smart2.c
709
struct drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hwmon/nzxt-smart2.c
715
spin_lock_bh(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
716
drvdata->fan_config_received = false;
drivers/hwmon/nzxt-smart2.c
717
drvdata->pwm_status_received = false;
drivers/hwmon/nzxt-smart2.c
718
drvdata->voltage_status_received = false;
drivers/hwmon/nzxt-smart2.c
719
spin_unlock_bh(&drvdata->wq.lock);
drivers/hwmon/nzxt-smart2.c
721
return init_device(drvdata, drvdata->update_interval);
drivers/hwmon/nzxt-smart2.c
727
struct drvdata *drvdata;
drivers/hwmon/nzxt-smart2.c
730
drvdata = devm_kzalloc(&hdev->dev, sizeof(struct drvdata), GFP_KERNEL);
drivers/hwmon/nzxt-smart2.c
731
if (!drvdata)
drivers/hwmon/nzxt-smart2.c
734
drvdata->hid = hdev;
drivers/hwmon/nzxt-smart2.c
735
hid_set_drvdata(hdev, drvdata);
drivers/hwmon/nzxt-smart2.c
737
init_waitqueue_head(&drvdata->wq);
drivers/hwmon/nzxt-smart2.c
739
ret = devm_mutex_init(&hdev->dev, &drvdata->mutex);
drivers/hwmon/nzxt-smart2.c
757
init_device(drvdata, UPDATE_INTERVAL_DEFAULT_MS);
drivers/hwmon/nzxt-smart2.c
759
drvdata->hwmon =
drivers/hwmon/nzxt-smart2.c
760
hwmon_device_register_with_info(&hdev->dev, "nzxtsmart2", drvdata,
drivers/hwmon/nzxt-smart2.c
762
if (IS_ERR(drvdata->hwmon)) {
drivers/hwmon/nzxt-smart2.c
763
ret = PTR_ERR(drvdata->hwmon);
drivers/hwmon/nzxt-smart2.c
779
struct drvdata *drvdata = hid_get_drvdata(hdev);
drivers/hwmon/nzxt-smart2.c
781
hwmon_device_unregister(drvdata->hwmon);
drivers/hwmon/prom21-xhci.c
122
static umode_t prom21_xhci_is_visible(const void *drvdata,
drivers/hwmon/sch5627.c
249
static umode_t sch5627_is_visible(const void *drvdata, enum hwmon_sensor_types type, u32 attr,
drivers/hwmon/sch5627.c
252
const struct sch5627_data *data = drvdata;
drivers/hwmon/scmi-hwmon.c
115
scmi_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/hwmon/scmi-hwmon.c
119
const struct scmi_sensors *scmi_sensors = drvdata;
drivers/hwmon/w83627ehf.c
1337
w83627ehf_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/hwmon/w83627ehf.c
1340
const struct w83627ehf_data *data = drvdata;
drivers/hwtracing/coresight/coresight-catu.c
390
static int catu_wait_for_ready(struct catu_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-catu.c
392
struct csdev_access *csa = &drvdata->csdev->access;
drivers/hwtracing/coresight/coresight-catu.c
397
static int catu_enable_hw(struct catu_drvdata *drvdata, enum cs_mode cs_mode,
drivers/hwtracing/coresight/coresight-catu.c
403
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-catu.c
404
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-catu.c
410
if (catu_wait_for_ready(drvdata))
drivers/hwtracing/coresight/coresight-catu.c
413
control = catu_read_control(drvdata);
drivers/hwtracing/coresight/coresight-catu.c
436
catu_write_axictrl(drvdata, CATU_OS_AXICTRL);
drivers/hwtracing/coresight/coresight-catu.c
437
catu_write_sladdr(drvdata, catu_buf->sladdr);
drivers/hwtracing/coresight/coresight-catu.c
438
catu_write_inaddr(drvdata, CATU_DEFAULT_INADDR);
drivers/hwtracing/coresight/coresight-catu.c
441
catu_write_sladdr(drvdata, 0);
drivers/hwtracing/coresight/coresight-catu.c
442
catu_write_inaddr(drvdata, 0);
drivers/hwtracing/coresight/coresight-catu.c
445
catu_write_irqen(drvdata, 0);
drivers/hwtracing/coresight/coresight-catu.c
446
catu_write_mode(drvdata, mode);
drivers/hwtracing/coresight/coresight-catu.c
447
catu_write_control(drvdata, control);
drivers/hwtracing/coresight/coresight-catu.c
472
static int catu_disable_hw(struct catu_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-catu.c
475
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-catu.c
476
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-catu.c
478
catu_write_control(drvdata, 0);
drivers/hwtracing/coresight/coresight-catu.c
480
if (catu_wait_for_ready(drvdata)) {
drivers/hwtracing/coresight/coresight-catu.c
516
struct catu_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-catu.c
521
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-catu.c
522
if (!drvdata)
drivers/hwtracing/coresight/coresight-catu.c
525
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-catu.c
527
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-catu.c
567
drvdata->base = base;
drivers/hwtracing/coresight/coresight-catu.c
568
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-catu.c
578
drvdata->csdev = coresight_register(&catu_desc);
drivers/hwtracing/coresight/coresight-catu.c
579
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-catu.c
580
ret = PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-catu.c
598
struct catu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-catu.c
600
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-catu.c
644
struct catu_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-catu.c
646
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-catu.c
656
struct catu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-catu.c
658
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-catu.c
659
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-catu.c
666
struct catu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-catu.c
669
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-catu.c
673
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-catu.c
675
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-catu.h
74
catu_read_##name(struct catu_drvdata *drvdata) \
drivers/hwtracing/coresight/coresight-catu.h
76
return csdev_access_relaxed_read32(&drvdata->csdev->access, offset); \
drivers/hwtracing/coresight/coresight-catu.h
79
catu_write_##name(struct catu_drvdata *drvdata, u32 val) \
drivers/hwtracing/coresight/coresight-catu.h
81
csdev_access_relaxed_write32(&drvdata->csdev->access, val, offset); \
drivers/hwtracing/coresight/coresight-catu.h
86
catu_read_##name(struct catu_drvdata *drvdata) \
drivers/hwtracing/coresight/coresight-catu.h
88
return csdev_access_relaxed_read_pair(&drvdata->csdev->access, lo_off, hi_off); \
drivers/hwtracing/coresight/coresight-catu.h
91
catu_write_##name(struct catu_drvdata *drvdata, u64 val) \
drivers/hwtracing/coresight/coresight-catu.h
93
csdev_access_relaxed_write_pair(&drvdata->csdev->access, val, lo_off, hi_off); \
drivers/hwtracing/coresight/coresight-cpu-debug.c
115
static void debug_os_unlock(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
118
writel_relaxed(0x0, drvdata->base + EDOSLAR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
135
static bool debug_access_permitted(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
138
if (!(drvdata->edprsr & EDPRSR_PU))
drivers/hwtracing/coresight/coresight-cpu-debug.c
142
if (drvdata->edprsr & EDPRSR_DLK)
drivers/hwtracing/coresight/coresight-cpu-debug.c
148
static void debug_force_cpu_powered_up(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
160
edprcr = readl_relaxed(drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
162
writel_relaxed(edprcr, drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
165
if (readx_poll_timeout_atomic(readl_relaxed, drvdata->base + EDPRSR,
drivers/hwtracing/coresight/coresight-cpu-debug.c
166
drvdata->edprsr, (drvdata->edprsr & EDPRSR_PU),
drivers/hwtracing/coresight/coresight-cpu-debug.c
174
dev_err(drvdata->dev, "%s: power up request for CPU%d failed\n",
drivers/hwtracing/coresight/coresight-cpu-debug.c
175
__func__, drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
183
edprcr = readl_relaxed(drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
185
writel_relaxed(edprcr, drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
187
drvdata->edprsr = readl_relaxed(drvdata->base + EDPRSR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
190
if (unlikely(!(drvdata->edprsr & EDPRSR_PU)))
drivers/hwtracing/coresight/coresight-cpu-debug.c
194
static void debug_read_regs(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
198
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cpu-debug.c
201
debug_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
204
save_edprcr = readl_relaxed(drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
210
debug_force_cpu_powered_up(drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
212
if (!debug_access_permitted(drvdata))
drivers/hwtracing/coresight/coresight-cpu-debug.c
215
drvdata->edpcsr = readl_relaxed(drvdata->base + EDPCSR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
224
if (drvdata->edpcsr == EDPCSR_PROHIBITED)
drivers/hwtracing/coresight/coresight-cpu-debug.c
233
drvdata->edpcsr_hi = readl_relaxed(drvdata->base + EDPCSR_HI);
drivers/hwtracing/coresight/coresight-cpu-debug.c
235
if (drvdata->edcidsr_present)
drivers/hwtracing/coresight/coresight-cpu-debug.c
236
drvdata->edcidsr = readl_relaxed(drvdata->base + EDCIDSR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
238
if (drvdata->edvidsr_present)
drivers/hwtracing/coresight/coresight-cpu-debug.c
239
drvdata->edvidsr = readl_relaxed(drvdata->base + EDVIDSR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
243
writel_relaxed(save_edprcr, drvdata->base + EDPRCR);
drivers/hwtracing/coresight/coresight-cpu-debug.c
245
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cpu-debug.c
249
static unsigned long debug_adjust_pc(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
251
return (unsigned long)drvdata->edpcsr_hi << 32 |
drivers/hwtracing/coresight/coresight-cpu-debug.c
252
(unsigned long)drvdata->edpcsr;
drivers/hwtracing/coresight/coresight-cpu-debug.c
255
static unsigned long debug_adjust_pc(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
260
pc = (unsigned long)drvdata->edpcsr;
drivers/hwtracing/coresight/coresight-cpu-debug.c
262
if (drvdata->pc_has_offset) {
drivers/hwtracing/coresight/coresight-cpu-debug.c
280
dev_emerg(drvdata->dev,
drivers/hwtracing/coresight/coresight-cpu-debug.c
289
static void debug_dump_regs(struct debug_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
291
struct device *dev = drvdata->dev;
drivers/hwtracing/coresight/coresight-cpu-debug.c
295
drvdata->edprsr,
drivers/hwtracing/coresight/coresight-cpu-debug.c
296
drvdata->edprsr & EDPRSR_PU ? "On" : "Off",
drivers/hwtracing/coresight/coresight-cpu-debug.c
297
drvdata->edprsr & EDPRSR_DLK ? "Lock" : "Unlock");
drivers/hwtracing/coresight/coresight-cpu-debug.c
299
if (!debug_access_permitted(drvdata)) {
drivers/hwtracing/coresight/coresight-cpu-debug.c
304
if (drvdata->edpcsr == EDPCSR_PROHIBITED) {
drivers/hwtracing/coresight/coresight-cpu-debug.c
309
pc = debug_adjust_pc(drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
312
if (drvdata->edcidsr_present)
drivers/hwtracing/coresight/coresight-cpu-debug.c
313
dev_emerg(dev, " EDCIDSR: %08x\n", drvdata->edcidsr);
drivers/hwtracing/coresight/coresight-cpu-debug.c
315
if (drvdata->edvidsr_present)
drivers/hwtracing/coresight/coresight-cpu-debug.c
317
drvdata->edvidsr,
drivers/hwtracing/coresight/coresight-cpu-debug.c
318
drvdata->edvidsr & EDVIDSR_NS ?
drivers/hwtracing/coresight/coresight-cpu-debug.c
320
drvdata->edvidsr & EDVIDSR_E3 ? "EL3" :
drivers/hwtracing/coresight/coresight-cpu-debug.c
321
(drvdata->edvidsr & EDVIDSR_E2 ?
drivers/hwtracing/coresight/coresight-cpu-debug.c
323
drvdata->edvidsr & EDVIDSR_HV ? 64 : 32,
drivers/hwtracing/coresight/coresight-cpu-debug.c
324
drvdata->edvidsr & (u32)EDVIDSR_VMID);
drivers/hwtracing/coresight/coresight-cpu-debug.c
329
struct debug_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-cpu-debug.c
333
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cpu-debug.c
336
eddevid = readl_relaxed(drvdata->base + EDDEVID);
drivers/hwtracing/coresight/coresight-cpu-debug.c
337
eddevid1 = readl_relaxed(drvdata->base + EDDEVID1);
drivers/hwtracing/coresight/coresight-cpu-debug.c
339
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cpu-debug.c
345
drvdata->edpcsr_present = false;
drivers/hwtracing/coresight/coresight-cpu-debug.c
346
drvdata->edcidsr_present = false;
drivers/hwtracing/coresight/coresight-cpu-debug.c
347
drvdata->edvidsr_present = false;
drivers/hwtracing/coresight/coresight-cpu-debug.c
348
drvdata->pc_has_offset = false;
drivers/hwtracing/coresight/coresight-cpu-debug.c
352
drvdata->edvidsr_present = true;
drivers/hwtracing/coresight/coresight-cpu-debug.c
355
drvdata->edcidsr_present = true;
drivers/hwtracing/coresight/coresight-cpu-debug.c
365
drvdata->edpcsr_present =
drivers/hwtracing/coresight/coresight-cpu-debug.c
369
drvdata->pc_has_offset =
drivers/hwtracing/coresight/coresight-cpu-debug.c
384
struct debug_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-cpu-debug.c
396
drvdata = per_cpu(debug_drvdata, cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
397
if (!drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
400
dev_emerg(drvdata->dev, "CPU[%d]:\n", drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
402
debug_read_regs(drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
403
debug_dump_regs(drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
417
struct debug_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-cpu-debug.c
428
drvdata = per_cpu(debug_drvdata, cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
429
if (!drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
432
ret = pm_runtime_get_sync(drvdata->dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
447
drvdata = per_cpu(debug_drvdata, cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
448
pm_runtime_put_noidle(drvdata->dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
456
struct debug_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-cpu-debug.c
465
drvdata = per_cpu(debug_drvdata, cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
466
if (!drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
469
pm_runtime_put(drvdata->dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
561
struct debug_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-cpu-debug.c
565
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-cpu-debug.c
566
if (!drvdata)
drivers/hwtracing/coresight/coresight-cpu-debug.c
569
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-cpu-debug.c
571
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, NULL);
drivers/hwtracing/coresight/coresight-cpu-debug.c
575
drvdata->cpu = coresight_get_cpu(dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
576
if (drvdata->cpu < 0)
drivers/hwtracing/coresight/coresight-cpu-debug.c
577
return drvdata->cpu;
drivers/hwtracing/coresight/coresight-cpu-debug.c
579
if (per_cpu(debug_drvdata, drvdata->cpu)) {
drivers/hwtracing/coresight/coresight-cpu-debug.c
581
drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
585
drvdata->dev = dev;
drivers/hwtracing/coresight/coresight-cpu-debug.c
590
drvdata->base = base;
drivers/hwtracing/coresight/coresight-cpu-debug.c
593
per_cpu(debug_drvdata, drvdata->cpu) = drvdata;
drivers/hwtracing/coresight/coresight-cpu-debug.c
594
ret = smp_call_function_single(drvdata->cpu, debug_init_arch_data,
drivers/hwtracing/coresight/coresight-cpu-debug.c
595
drvdata, 1);
drivers/hwtracing/coresight/coresight-cpu-debug.c
599
dev_err(dev, "CPU%d debug arch init failed\n", drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
603
if (!drvdata->edpcsr_present) {
drivers/hwtracing/coresight/coresight-cpu-debug.c
605
drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
622
dev_info(dev, "Coresight debug-CPU%d initialized\n", drvdata->cpu);
drivers/hwtracing/coresight/coresight-cpu-debug.c
628
per_cpu(debug_drvdata, drvdata->cpu) = NULL;
drivers/hwtracing/coresight/coresight-cpu-debug.c
639
struct debug_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
641
per_cpu(debug_drvdata, drvdata->cpu) = NULL;
drivers/hwtracing/coresight/coresight-cpu-debug.c
708
struct debug_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
710
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-cpu-debug.c
728
struct debug_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
730
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-cpu-debug.c
737
struct debug_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-cpu-debug.c
739
return clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-ctcu-core.c
108
guard(raw_spinlock_irqsave)(&drvdata->spin_lock);
drivers/hwtracing/coresight/coresight-ctcu-core.c
109
refcnt = drvdata->traceid_refcnt[port_num][traceid];
drivers/hwtracing/coresight/coresight-ctcu-core.c
112
ctcu_program_atid_register(drvdata, reg_offset, bit, enable);
drivers/hwtracing/coresight/coresight-ctcu-core.c
114
drvdata->traceid_refcnt[port_num][traceid] = refcnt;
drivers/hwtracing/coresight/coresight-ctcu-core.c
184
struct ctcu_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-ctcu-core.c
192
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-ctcu-core.c
193
if (!drvdata)
drivers/hwtracing/coresight/coresight-ctcu-core.c
205
ret = coresight_get_enable_clocks(dev, &drvdata->apb_clk, NULL);
drivers/hwtracing/coresight/coresight-ctcu-core.c
214
drvdata->atid_offset[i] = etr_cfg->atid_offset;
drivers/hwtracing/coresight/coresight-ctcu-core.c
219
drvdata->base = base;
drivers/hwtracing/coresight/coresight-ctcu-core.c
22
#define ctcu_writel(drvdata, val, offset) __raw_writel((val), drvdata->base + offset)
drivers/hwtracing/coresight/coresight-ctcu-core.c
220
drvdata->dev = dev;
drivers/hwtracing/coresight/coresight-ctcu-core.c
221
platform_set_drvdata(pdev, drvdata);
drivers/hwtracing/coresight/coresight-ctcu-core.c
229
raw_spin_lock_init(&drvdata->spin_lock);
drivers/hwtracing/coresight/coresight-ctcu-core.c
23
#define ctcu_readl(drvdata, offset) __raw_readl(drvdata->base + offset)
drivers/hwtracing/coresight/coresight-ctcu-core.c
231
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-ctcu-core.c
232
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-ctcu-core.c
233
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
240
struct ctcu_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
242
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
263
struct ctcu_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
265
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-ctcu-core.c
275
struct ctcu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
277
clk_disable_unprepare(drvdata->apb_clk);
drivers/hwtracing/coresight/coresight-ctcu-core.c
284
struct ctcu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-ctcu-core.c
286
return clk_prepare_enable(drvdata->apb_clk);
drivers/hwtracing/coresight/coresight-ctcu-core.c
65
static void ctcu_program_atid_register(struct ctcu_drvdata *drvdata, u32 reg_offset,
drivers/hwtracing/coresight/coresight-ctcu-core.c
70
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-ctcu-core.c
71
val = ctcu_readl(drvdata, reg_offset);
drivers/hwtracing/coresight/coresight-ctcu-core.c
77
ctcu_writel(drvdata, val, reg_offset);
drivers/hwtracing/coresight/coresight-ctcu-core.c
78
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-ctcu-core.c
95
struct ctcu_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-ctcu-core.c
99
atid_offset = drvdata->atid_offset[port_num];
drivers/hwtracing/coresight/coresight-cti-core.c
100
static int cti_disable_hw(struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
102
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
103
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-cti-core.c
105
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
112
if (--drvdata->config.enable_req_count > 0)
drivers/hwtracing/coresight/coresight-cti-core.c
115
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
118
writel_relaxed(0, drvdata->base + CTICONTROL);
drivers/hwtracing/coresight/coresight-cti-core.c
121
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
125
u32 cti_read_single_reg(struct cti_drvdata *drvdata, int offset)
drivers/hwtracing/coresight/coresight-cti-core.c
129
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
130
val = readl_relaxed(drvdata->base + offset);
drivers/hwtracing/coresight/coresight-cti-core.c
131
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
136
void cti_write_single_reg(struct cti_drvdata *drvdata, int offset, u32 value)
drivers/hwtracing/coresight/coresight-cti-core.c
138
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
139
writel_relaxed(value, drvdata->base + offset);
drivers/hwtracing/coresight/coresight-cti-core.c
140
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
145
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-core.c
146
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
148
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
152
cti_write_single_reg(drvdata, CTIINTACK, ackval);
drivers/hwtracing/coresight/coresight-cti-core.c
165
struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
167
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
170
devid = readl_relaxed(drvdata->base + CORESIGHT_DEVID);
drivers/hwtracing/coresight/coresight-cti-core.c
198
int cti_add_connection_entry(struct device *dev, struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti-core.c
203
struct cti_device *cti_dev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-core.c
222
drvdata->config.trig_in_use |= tc->con_in->used_mask;
drivers/hwtracing/coresight/coresight-cti-core.c
223
drvdata->config.trig_out_use |= tc->con_out->used_mask;
drivers/hwtracing/coresight/coresight-cti-core.c
262
int cti_add_default_connection(struct device *dev, struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
265
int n_trigs = drvdata->config.nr_trig_max;
drivers/hwtracing/coresight/coresight-cti-core.c
279
ret = cti_add_connection_entry(dev, drvdata, tc, NULL, "default");
drivers/hwtracing/coresight/coresight-cti-core.c
289
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-core.c
290
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
321
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
339
cti_write_single_reg(drvdata, reg_offset, reg_value);
drivers/hwtracing/coresight/coresight-cti-core.c
347
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-core.c
348
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
358
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
377
cti_write_single_reg(drvdata, CTIGATE, reg_value);
drivers/hwtracing/coresight/coresight-cti-core.c
386
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-core.c
387
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
398
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
426
cti_write_single_reg(drvdata, reg_offset, reg_value);
drivers/hwtracing/coresight/coresight-cti-core.c
431
static bool cti_add_sysfs_link(struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti-core.c
437
link_info.orig = drvdata->csdev;
drivers/hwtracing/coresight/coresight-cti-core.c
440
link_info.target_name = dev_name(&drvdata->csdev->dev);
drivers/hwtracing/coresight/coresight-cti-core.c
444
dev_warn(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-cti-core.c
450
static void cti_remove_sysfs_link(struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti-core.c
455
link_info.orig = drvdata->csdev;
drivers/hwtracing/coresight/coresight-cti-core.c
458
link_info.target_name = dev_name(&drvdata->csdev->dev);
drivers/hwtracing/coresight/coresight-cti-core.c
46
void cti_write_all_hw_regs(struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
472
struct cti_drvdata *drvdata = container_of(ctidev, struct cti_drvdata,
drivers/hwtracing/coresight/coresight-cti-core.c
48
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
482
if (cti_add_sysfs_link(drvdata, tc))
drivers/hwtracing/coresight/coresight-cti-core.c
51
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
54
writel_relaxed(0, drvdata->base + CTICONTROL);
drivers/hwtracing/coresight/coresight-cti-core.c
579
static void cti_update_conn_xrefs(struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
58
writel_relaxed(config->ctiinen[i], drvdata->base + CTIINEN(i));
drivers/hwtracing/coresight/coresight-cti-core.c
582
struct cti_device *ctidev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-core.c
587
if (cti_add_sysfs_link(drvdata, tc))
drivers/hwtracing/coresight/coresight-cti-core.c
590
drvdata->csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
598
static void cti_remove_conn_xrefs(struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
60
drvdata->base + CTIOUTEN(i));
drivers/hwtracing/coresight/coresight-cti-core.c
601
struct cti_device *ctidev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-core.c
605
cti_remove_sysfs_link(drvdata, tc);
drivers/hwtracing/coresight/coresight-cti-core.c
615
struct cti_drvdata *drvdata = csdev_to_cti_drvdata(csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
617
return cti_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
622
struct cti_drvdata *drvdata = csdev_to_cti_drvdata(csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
624
return cti_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
638
struct cti_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-cti-core.c
64
writel_relaxed(config->ctigate, drvdata->base + CTIGATE);
drivers/hwtracing/coresight/coresight-cti-core.c
642
cti_remove_conn_xrefs(drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
646
if (ect_item == drvdata) {
drivers/hwtracing/coresight/coresight-cti-core.c
653
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
66
writel_relaxed(config->asicctl, drvdata->base + ASICCTL);
drivers/hwtracing/coresight/coresight-cti-core.c
661
struct cti_drvdata *drvdata = NULL;
drivers/hwtracing/coresight/coresight-cti-core.c
667
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-cti-core.c
668
if (!drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
67
writel_relaxed(config->ctiappset, drvdata->base + CTIAPPSET);
drivers/hwtracing/coresight/coresight-cti-core.c
676
drvdata->base = base;
drivers/hwtracing/coresight/coresight-cti-core.c
679
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
682
drvdata->ctidev.cpu = -1;
drivers/hwtracing/coresight/coresight-cti-core.c
683
drvdata->ctidev.nr_trig_con = 0;
drivers/hwtracing/coresight/coresight-cti-core.c
684
drvdata->ctidev.ctm_id = 0;
drivers/hwtracing/coresight/coresight-cti-core.c
685
INIT_LIST_HEAD(&drvdata->ctidev.trig_cons);
drivers/hwtracing/coresight/coresight-cti-core.c
687
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
690
cti_set_default_config(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
70
writel_relaxed(1, drvdata->base + CTICONTROL);
drivers/hwtracing/coresight/coresight-cti-core.c
705
if (drvdata->ctidev.cpu >= 0) {
drivers/hwtracing/coresight/coresight-cti-core.c
706
cti_desc.cpu = drvdata->ctidev.cpu;
drivers/hwtracing/coresight/coresight-cti-core.c
709
drvdata->ctidev.cpu);
drivers/hwtracing/coresight/coresight-cti-core.c
717
ret = cti_create_cons_sysfs(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
72
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-cti-core.c
729
cti_desc.groups = drvdata->ctidev.con_groups;
drivers/hwtracing/coresight/coresight-cti-core.c
733
drvdata->csdev = coresight_register(&cti_desc);
drivers/hwtracing/coresight/coresight-cti-core.c
734
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-cti-core.c
735
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
739
list_add(&drvdata->node, &ect_net);
drivers/hwtracing/coresight/coresight-cti-core.c
741
cti_update_conn_xrefs(drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
746
dev_info(&drvdata->csdev->dev, "CTI initialized\n");
drivers/hwtracing/coresight/coresight-cti-core.c
76
static int cti_enable_hw(struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-core.c
78
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-core.c
81
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-core.c
88
rc = coresight_claim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-cti-core.c
92
cti_write_all_hw_regs(drvdata);
drivers/hwtracing/coresight/coresight-cti-core.c
95
drvdata->config.enable_req_count++;
drivers/hwtracing/coresight/coresight-cti-platform.c
115
struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-platform.c
162
ret = cti_add_connection_entry(dev, drvdata, tc, csdev, assoc_name);
drivers/hwtracing/coresight/coresight-cti-platform.c
174
struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-platform.c
176
struct cti_device *cti_dev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-platform.c
206
ret = cti_add_connection_entry(dev, drvdata, tc, NULL, cpu_name_str);
drivers/hwtracing/coresight/coresight-cti-platform.c
211
ret = cti_plat_create_v8_etm_connection(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-platform.c
216
drvdata->config.trig_out_filter |= 0x1;
drivers/hwtracing/coresight/coresight-cti-platform.c
314
static int cti_plat_process_filter_sigs(struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti-platform.c
325
if (nr_filter_sigs > drvdata->config.nr_trig_max)
drivers/hwtracing/coresight/coresight-cti-platform.c
335
drvdata->config.trig_out_filter |= tg->used_mask;
drivers/hwtracing/coresight/coresight-cti-platform.c
342
struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti-platform.c
356
if ((nr_sigs_in > drvdata->config.nr_trig_max) ||
drivers/hwtracing/coresight/coresight-cti-platform.c
357
(nr_sigs_out > drvdata->config.nr_trig_max))
drivers/hwtracing/coresight/coresight-cti-platform.c
385
err = cti_plat_process_filter_sigs(drvdata, fwnode);
drivers/hwtracing/coresight/coresight-cti-platform.c
395
drvdata->ctidev.cpu = cpuid;
drivers/hwtracing/coresight/coresight-cti-platform.c
410
err = cti_add_connection_entry(dev, drvdata, tc, csdev, assoc_name);
drivers/hwtracing/coresight/coresight-cti-platform.c
417
struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-platform.c
426
rc = cti_plat_create_connection(dev, drvdata, child);
drivers/hwtracing/coresight/coresight-cti-platform.c
435
static int cti_plat_get_hw_data(struct device *dev, struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-platform.c
438
struct cti_device *cti_dev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-platform.c
445
rc = cti_plat_create_v8_connections(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-platform.c
447
rc = cti_plat_create_impdef_connections(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-platform.c
453
rc = cti_add_default_connection(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-platform.c
463
struct cti_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-cti-platform.c
481
ret = cti_plat_get_hw_data(dev, drvdata);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
108
ret = cti_enable(drvdata->csdev, CS_MODE_SYSFS, NULL);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
112
ret = cti_disable(drvdata->csdev, NULL);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
1142
int cti_create_cons_sysfs(struct device *dev, struct cti_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
1144
struct cti_device *ctidev = &drvdata->ctidev;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
136
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
138
return sprintf(buf, "%d\n", drvdata->ctidev.ctm_id);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
146
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
148
return sprintf(buf, "%d\n", drvdata->ctidev.nr_trig_con);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
167
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
173
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
174
val = cti_read_single_reg(drvdata, cti_attr->off);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
185
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
194
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
195
cti_write_single_reg(drvdata, cti_attr->off, val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
252
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
253
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
258
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-cti-sysfs.c
260
val = cti_read_single_reg(drvdata, reg_offset);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
280
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
281
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
289
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-cti-sysfs.c
296
cti_write_single_reg(drvdata, reg_offset, val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
308
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent); \
drivers/hwtracing/coresight/coresight-cti-sysfs.c
310
&drvdata->config.cfgname, offset); \
drivers/hwtracing/coresight/coresight-cti-sysfs.c
317
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent); \
drivers/hwtracing/coresight/coresight-cti-sysfs.c
319
&drvdata->config.cfgname, offset); \
drivers/hwtracing/coresight/coresight-cti-sysfs.c
328
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
330
val = (u32)drvdata->config.ctiinout_sel;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
339
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
340
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
347
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
349
drvdata->config.ctiinout_sel = val;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
360
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
362
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-cti-sysfs.c
363
index = drvdata->config.ctiinout_sel;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
364
val = drvdata->config.ctiinen[index];
drivers/hwtracing/coresight/coresight-cti-sysfs.c
376
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
377
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
382
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
389
cti_write_single_reg(drvdata, CTIINEN(index), val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
401
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
403
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-cti-sysfs.c
404
index = drvdata->config.ctiinout_sel;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
405
val = drvdata->config.ctiouten[index];
drivers/hwtracing/coresight/coresight-cti-sysfs.c
417
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
418
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
423
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
430
cti_write_single_reg(drvdata, CTIOUTEN(index), val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
459
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
460
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
465
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
472
cti_write_single_reg(drvdata, CTIAPPCLEAR, val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
483
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
484
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
489
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
493
cti_write_single_reg(drvdata, CTIAPPPULSE, val);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
536
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
538
if (attr == &dev_attr_asicctl.attr && !drvdata->config.asicctl_impl)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
617
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
618
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
690
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
692
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
693
val = drvdata->config.trig_filter_enable;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
703
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
708
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
710
drvdata->config.trig_filter_enable = !!val;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
719
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
720
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
737
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
738
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
740
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
757
cti_write_all_hw_regs(drvdata);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
772
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
776
if (val > (drvdata->config.nr_ctm_channels - 1))
drivers/hwtracing/coresight/coresight-cti-sysfs.c
779
guard(raw_spinlock_irqsave)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
781
drvdata->config.xtrig_rchan_sel = val;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
790
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
792
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
793
val = drvdata->config.xtrig_rchan_sel;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
803
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
804
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
806
int nr_trig_max = drvdata->config.nr_trig_max;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
823
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
824
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
826
int nr_trig_max = drvdata->config.nr_trig_max;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
84
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
842
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
843
struct cti_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
848
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-cti-sysfs.c
86
scoped_guard(raw_spinlock_irqsave, &drvdata->spinlock)
drivers/hwtracing/coresight/coresight-cti-sysfs.c
87
enable_req = cti_is_active(&drvdata->config);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
932
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
933
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
946
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti-sysfs.c
947
struct cti_config *cfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-cti-sysfs.c
98
struct cti_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-cti.h
208
struct cti_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-cti.h
209
int cti_add_connection_entry(struct device *dev, struct cti_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-cti.h
218
void cti_write_all_hw_regs(struct cti_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-cti.h
220
void cti_write_single_reg(struct cti_drvdata *drvdata, int offset, u32 value);
drivers/hwtracing/coresight/coresight-cti.h
221
u32 cti_read_single_reg(struct cti_drvdata *drvdata, int offset);
drivers/hwtracing/coresight/coresight-cti.h
229
int cti_create_cons_sysfs(struct device *dev, struct cti_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-dummy.c
116
struct dummy_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-dummy.c
120
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-dummy.c
121
if (!drvdata)
drivers/hwtracing/coresight/coresight-dummy.c
152
drvdata->traceid = (u8)trace_id;
drivers/hwtracing/coresight/coresight-dummy.c
174
drvdata->dev = &pdev->dev;
drivers/hwtracing/coresight/coresight-dummy.c
175
platform_set_drvdata(pdev, drvdata);
drivers/hwtracing/coresight/coresight-dummy.c
179
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-dummy.c
180
if (IS_ERR(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-dummy.c
181
ret = PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-dummy.c
192
if (IS_VALID_CS_TRACE_ID(drvdata->traceid))
drivers/hwtracing/coresight/coresight-dummy.c
193
coresight_trace_id_put_system_id(drvdata->traceid);
drivers/hwtracing/coresight/coresight-dummy.c
201
struct dummy_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/coresight-dummy.c
204
if (IS_VALID_CS_TRACE_ID(drvdata->traceid))
drivers/hwtracing/coresight/coresight-dummy.c
205
coresight_trace_id_put_system_id(drvdata->traceid);
drivers/hwtracing/coresight/coresight-dummy.c
207
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-dummy.c
44
struct dummy_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-dummy.c
46
drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-dummy.c
48
return drvdata->traceid;
drivers/hwtracing/coresight/coresight-dummy.c
90
struct dummy_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-dummy.c
92
val = drvdata->traceid;
drivers/hwtracing/coresight/coresight-etb10.c
101
static void __etb_enable_hw(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
106
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
108
depth = drvdata->buffer_depth;
drivers/hwtracing/coresight/coresight-etb10.c
110
writel_relaxed(0x0, drvdata->base + ETB_RAM_WRITE_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
113
writel_relaxed(0x0, drvdata->base + ETB_RWD_REG);
drivers/hwtracing/coresight/coresight-etb10.c
116
writel_relaxed(0x0, drvdata->base + ETB_RAM_WRITE_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
118
writel_relaxed(0x0, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
120
writel_relaxed(drvdata->trigger_cntr, drvdata->base + ETB_TRG);
drivers/hwtracing/coresight/coresight-etb10.c
122
drvdata->base + ETB_FFCR);
drivers/hwtracing/coresight/coresight-etb10.c
124
writel_relaxed(ETB_CTL_CAPT_EN, drvdata->base + ETB_CTL_REG);
drivers/hwtracing/coresight/coresight-etb10.c
126
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
129
static int etb_enable_hw(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
131
int rc = coresight_claim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etb10.c
136
__etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
144
struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etb10.c
146
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
155
ret = etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
164
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
173
struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etb10.c
177
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
180
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS) {
drivers/hwtracing/coresight/coresight-etb10.c
188
if (drvdata->pid != -1 && drvdata->pid != pid) {
drivers/hwtracing/coresight/coresight-etb10.c
197
if (drvdata->pid == pid) {
drivers/hwtracing/coresight/coresight-etb10.c
211
ret = etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
214
drvdata->pid = pid;
drivers/hwtracing/coresight/coresight-etb10.c
215
coresight_set_mode(drvdata->csdev, CS_MODE_PERF);
drivers/hwtracing/coresight/coresight-etb10.c
220
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
248
static void __etb_disable_hw(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
251
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-etb10.c
252
struct csdev_access *csa = &drvdata->csdev->access;
drivers/hwtracing/coresight/coresight-etb10.c
254
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
256
ffcr = readl_relaxed(drvdata->base + ETB_FFCR);
drivers/hwtracing/coresight/coresight-etb10.c
259
writel_relaxed(ffcr, drvdata->base + ETB_FFCR);
drivers/hwtracing/coresight/coresight-etb10.c
262
writel_relaxed(ffcr, drvdata->base + ETB_FFCR);
drivers/hwtracing/coresight/coresight-etb10.c
270
writel_relaxed(0x0, drvdata->base + ETB_CTL_REG);
drivers/hwtracing/coresight/coresight-etb10.c
277
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
280
static void etb_dump_hw(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
288
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-etb10.c
290
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
292
read_ptr = readl_relaxed(drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
293
write_ptr = readl_relaxed(drvdata->base + ETB_RAM_WRITE_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
306
if ((readl_relaxed(drvdata->base + ETB_STATUS_REG)
drivers/hwtracing/coresight/coresight-etb10.c
308
writel_relaxed(0x0, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
310
writel_relaxed(write_ptr, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
314
depth = drvdata->buffer_depth;
drivers/hwtracing/coresight/coresight-etb10.c
315
buf_ptr = drvdata->buf;
drivers/hwtracing/coresight/coresight-etb10.c
317
read_data = readl_relaxed(drvdata->base +
drivers/hwtracing/coresight/coresight-etb10.c
324
coresight_insert_barrier_packet(drvdata->buf);
drivers/hwtracing/coresight/coresight-etb10.c
336
writel_relaxed(read_ptr, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
338
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
341
static void etb_disable_hw(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
343
__etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
344
etb_dump_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
345
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etb10.c
350
struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etb10.c
353
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
357
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
363
etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
365
drvdata->pid = -1;
drivers/hwtracing/coresight/coresight-etb10.c
367
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
437
struct etb_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etb10.c
442
capacity = drvdata->buffer_depth * ETB_FRAME_SIZE_WORDS;
drivers/hwtracing/coresight/coresight-etb10.c
444
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
450
__etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
451
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
454
read_ptr = readl_relaxed(drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
455
write_ptr = readl_relaxed(drvdata->base + ETB_RAM_WRITE_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
477
status = readl_relaxed(drvdata->base + ETB_STATUS_REG);
drivers/hwtracing/coresight/coresight-etb10.c
483
to_read = CIRC_CNT(write_ptr, read_ptr, drvdata->buffer_depth);
drivers/hwtracing/coresight/coresight-etb10.c
506
read_ptr = (write_ptr + drvdata->buffer_depth) -
drivers/hwtracing/coresight/coresight-etb10.c
509
if (read_ptr > (drvdata->buffer_depth - 1))
drivers/hwtracing/coresight/coresight-etb10.c
510
read_ptr -= drvdata->buffer_depth;
drivers/hwtracing/coresight/coresight-etb10.c
525
writel_relaxed(read_ptr, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
533
read_data = readl_relaxed(drvdata->base +
drivers/hwtracing/coresight/coresight-etb10.c
553
writel_relaxed(0x0, drvdata->base + ETB_RAM_READ_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
554
writel_relaxed(0x0, drvdata->base + ETB_RAM_WRITE_POINTER);
drivers/hwtracing/coresight/coresight-etb10.c
564
__etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
565
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-etb10.c
567
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
584
static void etb_dump(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
588
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
589
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS) {
drivers/hwtracing/coresight/coresight-etb10.c
590
__etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
591
etb_dump_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
592
__etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
594
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etb10.c
596
dev_dbg(&drvdata->csdev->dev, "ETB dumped\n");
drivers/hwtracing/coresight/coresight-etb10.c
601
struct etb_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-etb10.c
604
if (atomic_cmpxchg(&drvdata->reading, 0, 1))
drivers/hwtracing/coresight/coresight-etb10.c
607
dev_dbg(&drvdata->csdev->dev, "%s: successfully opened\n", __func__);
drivers/hwtracing/coresight/coresight-etb10.c
615
struct etb_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-etb10.c
617
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-etb10.c
619
etb_dump(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
621
depth = drvdata->buffer_depth;
drivers/hwtracing/coresight/coresight-etb10.c
625
if (copy_to_user(data, drvdata->buf + *ppos, len)) {
drivers/hwtracing/coresight/coresight-etb10.c
640
struct etb_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-etb10.c
642
atomic_set(&drvdata->reading, 0);
drivers/hwtracing/coresight/coresight-etb10.c
644
dev_dbg(&drvdata->csdev->dev, "%s: released\n", __func__);
drivers/hwtracing/coresight/coresight-etb10.c
670
struct etb_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etb10.c
671
unsigned long val = drvdata->trigger_cntr;
drivers/hwtracing/coresight/coresight-etb10.c
682
struct etb_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etb10.c
688
drvdata->trigger_cntr = val;
drivers/hwtracing/coresight/coresight-etb10.c
719
struct etb_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etb10.c
727
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-etb10.c
728
if (!drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
731
drvdata->atclk = devm_clk_get_optional_enabled(dev, "atclk");
drivers/hwtracing/coresight/coresight-etb10.c
732
if (IS_ERR(drvdata->atclk))
drivers/hwtracing/coresight/coresight-etb10.c
733
return PTR_ERR(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etb10.c
735
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
742
drvdata->base = base;
drivers/hwtracing/coresight/coresight-etb10.c
745
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etb10.c
747
drvdata->buffer_depth = etb_get_buffer_depth(drvdata);
drivers/hwtracing/coresight/coresight-etb10.c
749
if (drvdata->buffer_depth & 0x80000000)
drivers/hwtracing/coresight/coresight-etb10.c
752
drvdata->buf = devm_kcalloc(dev,
drivers/hwtracing/coresight/coresight-etb10.c
753
drvdata->buffer_depth, 4, GFP_KERNEL);
drivers/hwtracing/coresight/coresight-etb10.c
754
if (!drvdata->buf)
drivers/hwtracing/coresight/coresight-etb10.c
758
drvdata->pid = -1;
drivers/hwtracing/coresight/coresight-etb10.c
773
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-etb10.c
774
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-etb10.c
775
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etb10.c
777
drvdata->miscdev.name = desc.name;
drivers/hwtracing/coresight/coresight-etb10.c
778
drvdata->miscdev.minor = MISC_DYNAMIC_MINOR;
drivers/hwtracing/coresight/coresight-etb10.c
779
drvdata->miscdev.fops = &etb_fops;
drivers/hwtracing/coresight/coresight-etb10.c
780
ret = misc_register(&drvdata->miscdev);
drivers/hwtracing/coresight/coresight-etb10.c
788
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etb10.c
794
struct etb_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-etb10.c
801
misc_deregister(&drvdata->miscdev);
drivers/hwtracing/coresight/coresight-etb10.c
802
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etb10.c
808
struct etb_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etb10.c
810
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etb10.c
817
struct etb_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etb10.c
819
return clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etb10.c
96
static unsigned int etb_get_buffer_depth(struct etb_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etb10.c
98
return readl_relaxed(drvdata->base + ETB_RAM_DEPTH_REG);
drivers/hwtracing/coresight/coresight-etm.h
254
static inline void etm_writel(struct etm_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm.h
257
if (drvdata->use_cp14) {
drivers/hwtracing/coresight/coresight-etm.h
259
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm.h
263
writel_relaxed(val, drvdata->csa.base + off);
drivers/hwtracing/coresight/coresight-etm.h
267
static inline unsigned int etm_readl(struct etm_drvdata *drvdata, u32 off)
drivers/hwtracing/coresight/coresight-etm.h
271
if (drvdata->use_cp14) {
drivers/hwtracing/coresight/coresight-etm.h
273
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm.h
277
val = readl_relaxed(drvdata->csa.base + off);
drivers/hwtracing/coresight/coresight-etm.h
286
struct etm_config *get_etm_config(struct etm_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-etm.h
287
void etm_release_trace_id(struct etm_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
105
etmpdcr = readl_relaxed(drvdata->csa.base + ETMPDCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
107
writel_relaxed(etmpdcr, drvdata->csa.base + ETMPDCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
124
static int coresight_timeout_etm(struct etm_drvdata *drvdata, u32 offset,
drivers/hwtracing/coresight/coresight-etm3x-core.c
131
val = etm_readl(drvdata, offset);
drivers/hwtracing/coresight/coresight-etm3x-core.c
155
static void etm_set_prog(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
159
etmcr = etm_readl(drvdata, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
161
etm_writel(drvdata, etmcr, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
167
if (coresight_timeout_etm(drvdata, ETMSR, ETMSR_PROG_BIT, 1)) {
drivers/hwtracing/coresight/coresight-etm3x-core.c
168
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm3x-core.c
174
static void etm_clr_prog(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
178
etmcr = etm_readl(drvdata, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
180
etm_writel(drvdata, etmcr, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
186
if (coresight_timeout_etm(drvdata, ETMSR, ETMSR_PROG_BIT, 0)) {
drivers/hwtracing/coresight/coresight-etm3x-core.c
187
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm3x-core.c
308
static int etm_parse_event_config(struct etm_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm3x-core.c
311
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-core.c
346
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm3x-core.c
360
(drvdata->etmccer & ETMCCER_RETSTACK))
drivers/hwtracing/coresight/coresight-etm3x-core.c
366
static int etm_enable_hw(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
370
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-core.c
371
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm3x-core.c
373
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
380
etm_clr_pwrdwn(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
382
etm_set_pwrup(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
384
etm_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
386
etm_set_prog(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
388
etmcr = etm_readl(drvdata, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
391
etmcr |= drvdata->port_size;
drivers/hwtracing/coresight/coresight-etm3x-core.c
393
etm_writel(drvdata, config->ctrl | etmcr, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
394
etm_writel(drvdata, config->trigger_event, ETMTRIGGER);
drivers/hwtracing/coresight/coresight-etm3x-core.c
395
etm_writel(drvdata, config->startstop_ctrl, ETMTSSCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
396
etm_writel(drvdata, config->enable_event, ETMTEEVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
397
etm_writel(drvdata, config->enable_ctrl1, ETMTECR1);
drivers/hwtracing/coresight/coresight-etm3x-core.c
398
etm_writel(drvdata, config->fifofull_level, ETMFFLR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
399
for (i = 0; i < drvdata->nr_addr_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm3x-core.c
400
etm_writel(drvdata, config->addr_val[i], ETMACVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
401
etm_writel(drvdata, config->addr_acctype[i], ETMACTRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
403
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm3x-core.c
404
etm_writel(drvdata, config->cntr_rld_val[i], ETMCNTRLDVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
405
etm_writel(drvdata, config->cntr_event[i], ETMCNTENRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
406
etm_writel(drvdata, config->cntr_rld_event[i],
drivers/hwtracing/coresight/coresight-etm3x-core.c
408
etm_writel(drvdata, config->cntr_val[i], ETMCNTVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
410
etm_writel(drvdata, config->seq_12_event, ETMSQ12EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
411
etm_writel(drvdata, config->seq_21_event, ETMSQ21EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
412
etm_writel(drvdata, config->seq_23_event, ETMSQ23EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
413
etm_writel(drvdata, config->seq_31_event, ETMSQ31EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
414
etm_writel(drvdata, config->seq_32_event, ETMSQ32EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
415
etm_writel(drvdata, config->seq_13_event, ETMSQ13EVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
416
etm_writel(drvdata, config->seq_curr_state, ETMSQR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
417
for (i = 0; i < drvdata->nr_ext_out; i++)
drivers/hwtracing/coresight/coresight-etm3x-core.c
418
etm_writel(drvdata, ETM_DEFAULT_EVENT_VAL, ETMEXTOUTEVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
419
for (i = 0; i < drvdata->nr_ctxid_cmp; i++)
drivers/hwtracing/coresight/coresight-etm3x-core.c
420
etm_writel(drvdata, config->ctxid_pid[i], ETMCIDCVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
421
etm_writel(drvdata, config->ctxid_mask, ETMCIDCMR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
422
etm_writel(drvdata, config->sync_freq, ETMSYNCFR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
424
etm_writel(drvdata, 0x0, ETMEXTINSELR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
425
etm_writel(drvdata, config->timestamp_event, ETMTSEVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
427
etm_writel(drvdata, 0x0, ETMAUXCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
428
etm_writel(drvdata, drvdata->traceid, ETMTRACEIDR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
430
etm_writel(drvdata, 0x0, ETMVMIDCVR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
432
etm_clr_prog(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
435
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
437
dev_dbg(&drvdata->csdev->dev, "cpu: %d enable smp call done: %d\n",
drivers/hwtracing/coresight/coresight-etm3x-core.c
438
drvdata->cpu, rc);
drivers/hwtracing/coresight/coresight-etm3x-core.c
443
struct etm_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm3x-core.c
456
csdev = arg->drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm3x-core.c
463
arg->rc = etm_enable_hw(arg->drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
474
void etm_release_trace_id(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
476
coresight_trace_id_put_cpu_id(drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm3x-core.c
483
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm3x-core.c
486
if (WARN_ON_ONCE(drvdata->cpu != smp_processor_id()))
drivers/hwtracing/coresight/coresight-etm3x-core.c
493
etm_parse_event_config(drvdata, event);
drivers/hwtracing/coresight/coresight-etm3x-core.c
494
drvdata->traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm3x-core.c
497
ret = etm_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
511
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm3x-core.c
515
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-core.c
517
drvdata->traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm3x-core.c
523
if (cpu_online(drvdata->cpu)) {
drivers/hwtracing/coresight/coresight-etm3x-core.c
524
arg.drvdata = drvdata;
drivers/hwtracing/coresight/coresight-etm3x-core.c
526
ret = smp_call_function_single(drvdata->cpu,
drivers/hwtracing/coresight/coresight-etm3x-core.c
531
drvdata->sticky_enable = true;
drivers/hwtracing/coresight/coresight-etm3x-core.c
537
etm_release_trace_id(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
539
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-core.c
54
static void etm_os_unlock(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
565
static void etm_disable_hw(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
568
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-core.c
569
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm3x-core.c
57
etm_writel(drvdata, 0x0, ETMOSLAR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
571
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
572
etm_set_prog(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
575
config->seq_curr_state = (etm_readl(drvdata, ETMSQR) & ETM_SQR_MASK);
drivers/hwtracing/coresight/coresight-etm3x-core.c
577
for (i = 0; i < drvdata->nr_cntr; i++)
drivers/hwtracing/coresight/coresight-etm3x-core.c
578
config->cntr_val[i] = etm_readl(drvdata, ETMCNTVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-core.c
58
drvdata->os_unlock = true;
drivers/hwtracing/coresight/coresight-etm3x-core.c
580
etm_set_pwrdwn(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
583
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
585
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm3x-core.c
586
"cpu: %d disable smp call done\n", drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm3x-core.c
591
struct etm_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-etm3x-core.c
593
etm_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
595
drvdata->csdev->path = NULL;
drivers/hwtracing/coresight/coresight-etm3x-core.c
596
coresight_set_mode(drvdata->csdev, CS_MODE_DISABLED);
drivers/hwtracing/coresight/coresight-etm3x-core.c
601
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm3x-core.c
603
if (WARN_ON_ONCE(drvdata->cpu != smp_processor_id()))
drivers/hwtracing/coresight/coresight-etm3x-core.c
606
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
609
etm_set_prog(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
615
etm_set_pwrdwn(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
618
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
62
static void etm_set_pwrdwn(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
620
drvdata->csdev->path = NULL;
drivers/hwtracing/coresight/coresight-etm3x-core.c
621
coresight_set_mode(drvdata->csdev, CS_MODE_DISABLED);
drivers/hwtracing/coresight/coresight-etm3x-core.c
632
struct etm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm3x-core.c
634
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-core.c
640
smp_call_function_single(drvdata->cpu, etm_disable_sysfs_smp_call,
drivers/hwtracing/coresight/coresight-etm3x-core.c
641
drvdata, 1);
drivers/hwtracing/coresight/coresight-etm3x-core.c
643
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-core.c
69
etmcr = etm_readl(drvdata, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
71
etm_writel(drvdata, etmcr, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
723
struct etm_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-etm3x-core.c
726
etm_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
728
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
731
(void)etm_readl(drvdata, ETMPDSR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
733
etm_set_pwrup(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
738
etm_clr_pwrdwn(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
74
static void etm_clr_pwrdwn(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
743
etm_set_prog(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
746
etmidr = etm_readl(drvdata, ETMIDR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
747
drvdata->arch = BMVAL(etmidr, 4, 11);
drivers/hwtracing/coresight/coresight-etm3x-core.c
748
drvdata->port_size = etm_readl(drvdata, ETMCR) & PORT_SIZE_MASK;
drivers/hwtracing/coresight/coresight-etm3x-core.c
750
drvdata->etmccer = etm_readl(drvdata, ETMCCER);
drivers/hwtracing/coresight/coresight-etm3x-core.c
751
etmccr = etm_readl(drvdata, ETMCCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
752
drvdata->etmccr = etmccr;
drivers/hwtracing/coresight/coresight-etm3x-core.c
753
drvdata->nr_addr_cmp = BMVAL(etmccr, 0, 3) * 2;
drivers/hwtracing/coresight/coresight-etm3x-core.c
754
drvdata->nr_cntr = BMVAL(etmccr, 13, 15);
drivers/hwtracing/coresight/coresight-etm3x-core.c
755
drvdata->nr_ext_inp = BMVAL(etmccr, 17, 19);
drivers/hwtracing/coresight/coresight-etm3x-core.c
756
drvdata->nr_ext_out = BMVAL(etmccr, 20, 22);
drivers/hwtracing/coresight/coresight-etm3x-core.c
757
drvdata->nr_ctxid_cmp = BMVAL(etmccr, 24, 25);
drivers/hwtracing/coresight/coresight-etm3x-core.c
759
coresight_clear_self_claim_tag_unlocked(&drvdata->csa);
drivers/hwtracing/coresight/coresight-etm3x-core.c
760
etm_set_pwrdwn(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
761
etm_clr_pwrup(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
762
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
78
etmcr = etm_readl(drvdata, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
796
struct etm_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm3x-core.c
80
etm_writel(drvdata, etmcr, ETMCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
800
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-etm3x-core.c
801
if (!drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
804
drvdata->use_cp14 = fwnode_property_read_bool(dev->fwnode, "arm,cp14");
drivers/hwtracing/coresight/coresight-etm3x-core.c
805
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-etm3x-core.c
812
desc.access = drvdata->csa = CSDEV_ACCESS_IOMEM(base);
drivers/hwtracing/coresight/coresight-etm3x-core.c
814
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-core.c
816
drvdata->atclk = devm_clk_get_optional_enabled(dev, "atclk");
drivers/hwtracing/coresight/coresight-etm3x-core.c
817
if (IS_ERR(drvdata->atclk))
drivers/hwtracing/coresight/coresight-etm3x-core.c
818
return PTR_ERR(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm3x-core.c
820
drvdata->cpu = coresight_get_cpu(dev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
821
if (drvdata->cpu < 0)
drivers/hwtracing/coresight/coresight-etm3x-core.c
822
return drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm3x-core.c
824
desc.name = devm_kasprintf(dev, GFP_KERNEL, "etm%d", drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm3x-core.c
828
if (smp_call_function_single(drvdata->cpu,
drivers/hwtracing/coresight/coresight-etm3x-core.c
829
etm_init_arch_data, drvdata, 1))
drivers/hwtracing/coresight/coresight-etm3x-core.c
832
if (etm_arch_supported(drvdata->arch) == false)
drivers/hwtracing/coresight/coresight-etm3x-core.c
835
etm_set_default(&drvdata->config);
drivers/hwtracing/coresight/coresight-etm3x-core.c
849
desc.cpu = drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm3x-core.c
851
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-etm3x-core.c
852
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-etm3x-core.c
853
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
855
ret = etm_perf_symlink(drvdata->csdev, true);
drivers/hwtracing/coresight/coresight-etm3x-core.c
857
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
86
static void etm_set_pwrup(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-core.c
861
etmdrvdata[drvdata->cpu] = drvdata;
drivers/hwtracing/coresight/coresight-etm3x-core.c
864
dev_info(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm3x-core.c
867
coresight_enable_sysfs(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
868
drvdata->boot_enable = true;
drivers/hwtracing/coresight/coresight-etm3x-core.c
883
struct etm_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
885
etm_perf_symlink(drvdata->csdev, false);
drivers/hwtracing/coresight/coresight-etm3x-core.c
898
if (smp_call_function_single(drvdata->cpu, clear_etmdrvdata, &drvdata->cpu, 1))
drivers/hwtracing/coresight/coresight-etm3x-core.c
899
etmdrvdata[drvdata->cpu] = NULL;
drivers/hwtracing/coresight/coresight-etm3x-core.c
90
etmpdcr = readl_relaxed(drvdata->csa.base + ETMPDCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
903
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
909
struct etm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
911
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm3x-core.c
918
struct etm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm3x-core.c
92
writel_relaxed(etmpdcr, drvdata->csa.base + ETMPDCR);
drivers/hwtracing/coresight/coresight-etm3x-core.c
920
return clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm3x-core.c
98
static void etm_clr_pwrup(struct etm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
100
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1001
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1002
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1008
if (val >= drvdata->nr_ctxid_cmp)
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
101
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1015
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1017
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1027
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1028
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1037
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1039
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1050
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1051
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1069
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1071
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1081
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1082
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1101
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1102
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1124
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1125
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
113
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1137
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1138
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
114
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1153
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1154
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1166
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1167
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1182
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1184
val = drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1193
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
1194
int trace_id = coresight_etm_get_trace_id(drvdata->csdev, CS_MODE_SYSFS, NULL);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
120
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
134
if (!(drvdata->etmccr & ETMCCR_FIFOFULL)) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
144
if (!(drvdata->etmccer & ETMCCER_TIMESTAMP)) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
17
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
171
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
176
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
185
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
186
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
19
val = drvdata->nr_addr_cmp;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
198
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
199
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
215
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
216
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
228
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
229
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
245
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
246
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
258
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
259
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
27
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
275
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
276
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
288
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
289
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
29
val = drvdata->nr_cntr;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
295
if (val >= drvdata->nr_addr_cmp)
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
302
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
304
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
315
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
316
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
318
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
322
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
327
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
339
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
340
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
346
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
350
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
356
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
367
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
368
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
370
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
373
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
38
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
380
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
386
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
397
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
398
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
40
val = drvdata->nr_ctxid_cmp;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
406
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
409
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
416
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
425
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
436
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
437
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
439
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
443
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
448
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
460
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
461
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
467
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
471
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
479
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
49
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
490
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
491
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
493
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
497
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
502
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
514
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
515
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
52
spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
521
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
525
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
53
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
533
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
543
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
544
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
546
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
548
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
55
val = etm_readl(drvdata, ETMSR);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
559
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
560
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
566
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
568
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
57
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
578
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
579
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
58
spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
591
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
592
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
598
if (val >= drvdata->nr_cntr)
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
604
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
606
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
616
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
617
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
619
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
621
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
632
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
633
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
639
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
641
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
651
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
652
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
654
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
656
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
667
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
668
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
674
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
676
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
686
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
687
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
689
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
691
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
702
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
703
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
709
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
71
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
711
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
72
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
722
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
723
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
725
if (!coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
726
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
727
for (i = 0; i < drvdata->nr_cntr; i++)
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
730
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
734
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
735
val = etm_readl(drvdata, ETMCNTVRn(i));
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
748
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
749
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
755
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
757
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
767
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
768
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
780
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
781
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
79
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
796
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
797
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
809
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
810
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
825
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
826
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
83
for (i = 0; i < drvdata->nr_addr_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
838
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
839
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
854
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
855
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
867
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
868
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
88
etm_release_trace_id(drvdata);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
883
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
884
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
89
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
896
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
897
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
912
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
913
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
925
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
926
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
941
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
942
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
944
if (!coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
950
spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
952
CS_UNLOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
953
val = (etm_readl(drvdata, ETMSQR) & ETM_SQR_MASK);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
954
CS_LOCK(drvdata->csa.base);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
956
spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
968
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
969
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
988
struct etm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm3x-sysfs.c
989
struct etm_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-cfg.c
151
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm4x-cfg.c
161
feat_csdev->drv_spinlock = &drvdata->spinlock;
drivers/hwtracing/coresight/coresight-etm4x-cfg.c
166
err = etm4_cfg_map_reg_offset(drvdata, &feat_csdev->regs_csdev[i], offset);
drivers/hwtracing/coresight/coresight-etm4x-cfg.c
46
static int etm4_cfg_map_reg_offset(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-cfg.c
50
struct etmv4_config *drvcfg = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1035
static void etm4_disable_hw(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1038
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1039
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1043
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1044
etm4_disable_arch_specific(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1046
if (!drvdata->skip_power_up) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1053
etm4_disable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1056
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1062
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1068
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1070
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1071
"cpu: %d disable smp call done\n", drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1076
struct etmv4_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1078
etm4_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1080
drvdata->csdev->path = NULL;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1081
coresight_set_mode(drvdata->csdev, CS_MODE_DISABLED);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1089
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1092
if (WARN_ON_ONCE(drvdata->cpu != smp_processor_id()))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1095
etm4_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1110
drvdata->csdev->path = NULL;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1111
coresight_set_mode(drvdata->csdev, CS_MODE_DISABLED);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1123
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1125
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1131
smp_call_function_single(drvdata->cpu, etm4_disable_sysfs_smp_call,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1132
drvdata, 1);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1134
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1174
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1180
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1181
etm4_enable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1182
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1184
drvdata->paused = false;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1190
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1196
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1197
etm4_disable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1198
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1200
drvdata->paused = true;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1217
static bool etm4_init_sysreg_access(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1248
drvdata->arch = etm_devarch_to_arch(devarch);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1259
static bool etm4_init_iomem_access(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1262
u32 devarch = readl_relaxed(drvdata->base + TRCDEVARCH);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1264
if (!is_coresight_device(drvdata->base) || !is_devtype_cpu_trace(drvdata->base))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1280
drvdata->arch = etm_devarch_to_arch(devarch);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1281
*csa = CSDEV_ACCESS_IOMEM(drvdata->base);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1285
static bool etm4_init_csdev_access(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1293
if (drvdata->base)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1294
return etm4_init_iomem_access(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1296
if (etm4_init_sysreg_access(drvdata, csa))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1302
static void cpu_detect_trace_filtering(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1307
drvdata->trfcr = 0;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1324
drvdata->trfcr = trfcr;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1347
static void etm4_fixup_wrong_ccitmin(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1357
if (drvdata->ccitmin == 256)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1358
drvdata->ccitmin = 4;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1370
struct etmv4_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1375
drvdata = dev_get_drvdata(init_arg->dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1383
if (!etm4_init_csdev_access(drvdata, csa))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1388
drvdata->skip_power_up = true;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1391
etm_detect_os_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1394
etm4_os_unlock_csa(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1395
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1397
etm4_check_arch_features(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1403
drvdata->instrp0 = !!(FIELD_GET(TRCIDR0_INSTP0_MASK, etmidr0) == 0b11);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1405
drvdata->trcbb = !!(etmidr0 & TRCIDR0_TRCBB);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1407
drvdata->trccond = !!(etmidr0 & TRCIDR0_TRCCOND);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1409
drvdata->trccci = !!(etmidr0 & TRCIDR0_TRCCCI);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1411
drvdata->retstack = !!(etmidr0 & TRCIDR0_RETSTACK);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1413
drvdata->nr_event = FIELD_GET(TRCIDR0_NUMEVENT_MASK, etmidr0);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1415
drvdata->q_support = FIELD_GET(TRCIDR0_QSUPP_MASK, etmidr0);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1416
if (drvdata->q_support)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1417
drvdata->q_filt = !!(etmidr0 & TRCIDR0_QFILT);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1419
drvdata->ts_size = FIELD_GET(TRCIDR0_TSSIZE_MASK, etmidr0);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1424
drvdata->ctxid_size = FIELD_GET(TRCIDR2_CIDSIZE_MASK, etmidr2);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1426
drvdata->vmid_size = FIELD_GET(TRCIDR2_VMIDSIZE_MASK, etmidr2);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1428
drvdata->ccsize = FIELD_GET(TRCIDR2_CCSIZE_MASK, etmidr2);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1432
drvdata->ccitmin = FIELD_GET(TRCIDR3_CCITMIN_MASK, etmidr3);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1433
etm4_fixup_wrong_ccitmin(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1436
drvdata->s_ex_level = FIELD_GET(TRCIDR3_EXLEVEL_S_MASK, etmidr3);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1437
drvdata->config.s_ex_level = drvdata->s_ex_level;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1439
drvdata->ns_ex_level = FIELD_GET(TRCIDR3_EXLEVEL_NS_MASK, etmidr3);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1444
drvdata->trc_error = !!(etmidr3 & TRCIDR3_TRCERR);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1446
drvdata->syncpr = !!(etmidr3 & TRCIDR3_SYNCPR);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1448
drvdata->stallctl = !!(etmidr3 & TRCIDR3_STALLCTL);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1450
drvdata->sysstall = !!(etmidr3 & TRCIDR3_SYSSTALL);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1457
drvdata->nr_pe = (FIELD_GET(TRCIDR3_NUMPROC_HI_MASK, etmidr3) << 3) |
drivers/hwtracing/coresight/coresight-etm4x-core.c
1460
drvdata->nooverflow = !!(etmidr3 & TRCIDR3_NOOVERFLOW);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1465
drvdata->nr_addr_cmp = FIELD_GET(TRCIDR4_NUMACPAIRS_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1467
drvdata->nr_pe_cmp = FIELD_GET(TRCIDR4_NUMPC_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1478
drvdata->nr_resource = FIELD_GET(TRCIDR4_NUMRSPAIR_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1479
if ((drvdata->arch < ETM_ARCH_V4_3) || (drvdata->nr_resource > 0))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1480
drvdata->nr_resource += 1;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1486
drvdata->nr_ss_cmp = FIELD_GET(TRCIDR4_NUMSSCC_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1487
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1488
drvdata->config.ss_status[i] =
drivers/hwtracing/coresight/coresight-etm4x-core.c
1492
drvdata->numcidc = FIELD_GET(TRCIDR4_NUMCIDC_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1494
drvdata->numvmidc = FIELD_GET(TRCIDR4_NUMVMIDC_MASK, etmidr4);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1498
drvdata->nr_ext_inp = FIELD_GET(TRCIDR5_NUMEXTIN_MASK, etmidr5);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1499
drvdata->numextinsel = FIELD_GET(TRCIDR5_NUMEXTINSEL_MASK, etmidr5);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1501
drvdata->trcid_size = FIELD_GET(TRCIDR5_TRACEIDSIZE_MASK, etmidr5);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1503
drvdata->atbtrig = !!(etmidr5 & TRCIDR5_ATBTRIG);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1508
drvdata->lpoverride = (etmidr5 & TRCIDR5_LPOVERRIDE) && (!drvdata->skip_power_up);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1510
drvdata->nrseqstate = FIELD_GET(TRCIDR5_NUMSEQSTATE_MASK, etmidr5);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1512
drvdata->nr_cntr = FIELD_GET(TRCIDR5_NUMCNTR_MASK, etmidr5);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1515
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1516
cpu_detect_trace_filtering(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
164
static void etm_detect_os_lock(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1679
static int etm4_get_next_comparator(struct etmv4_drvdata *drvdata, u32 type)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1682
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1688
nr_comparator = drvdata->nr_addr_cmp * 2;
drivers/hwtracing/coresight/coresight-etm4x-core.c
169
drvdata->os_lock_model = ETM_OSLSR_OSLM(oslsr);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1718
static int etm4_set_event_filters(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
172
static void etm_write_os_lock(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1723
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1744
comparator = etm4_get_next_comparator(drvdata, type);
drivers/hwtracing/coresight/coresight-etm4x-core.c
177
switch (drvdata->os_lock_model) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1836
static inline bool etm4_pm_save_needed(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1838
return !!drvdata->save_state;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1844
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1859
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
186
smp_processor_id(), drvdata->os_lock_model);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1861
etm4_os_lock(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1867
etm4_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1872
if (!drvdata->paused)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1873
etm4_disable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1875
state = drvdata->save_state;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1877
if (drvdata->nr_pe)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1883
if (drvdata->stallctl)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1890
if (drvdata->q_filt)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1896
if (drvdata->nr_pe_cmp)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1899
for (i = 0; i < drvdata->nrseqstate - 1; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1902
if (drvdata->nrseqstate) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1907
if (drvdata->numextinsel)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1910
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1917
for (i = 2; i < drvdata->nr_resource * 2; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1920
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1923
if (etm4x_sspcicrn_present(drvdata, i))
drivers/hwtracing/coresight/coresight-etm4x-core.c
1927
for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
1939
for (i = 0; i < drvdata->numcidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
194
static void etm4_os_unlock_csa(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
1942
for (i = 0; i < drvdata->numvmidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1946
if (drvdata->numcidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1950
if (drvdata->numvmidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1955
if (!drvdata->skip_power_up)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1962
etm4_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
197
WARN_ON(drvdata->cpu != smp_processor_id());
drivers/hwtracing/coresight/coresight-etm4x-core.c
1972
if (!drvdata->skip_power_up)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1976
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1983
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1984
struct etmv4_save_state *state = drvdata->save_state;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1985
struct csdev_access *csa = &drvdata->csdev->access;
drivers/hwtracing/coresight/coresight-etm4x-core.c
1987
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
1990
if (drvdata->nr_pe)
drivers/hwtracing/coresight/coresight-etm4x-core.c
1996
if (drvdata->stallctl)
drivers/hwtracing/coresight/coresight-etm4x-core.c
200
etm_write_os_lock(drvdata, csa, 0x0);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2003
if (drvdata->q_filt)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2009
if (drvdata->nr_pe_cmp)
drivers/hwtracing/coresight/coresight-etm4x-core.c
201
drvdata->os_unlock = true;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2012
for (i = 0; i < drvdata->nrseqstate - 1; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2015
if (drvdata->nrseqstate) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
2019
if (drvdata->numextinsel)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2022
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
2029
for (i = 2; i < drvdata->nr_resource * 2; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2032
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
2035
if (etm4x_sspcicrn_present(drvdata, i))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2039
for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
204
static void etm4_os_unlock(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2044
for (i = 0; i < drvdata->numcidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2047
for (i = 0; i < drvdata->numvmidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2051
if (drvdata->numcidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2055
if (drvdata->numvmidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
206
if (!WARN_ON(!drvdata->csdev))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2060
if (!drvdata->skip_power_up)
drivers/hwtracing/coresight/coresight-etm4x-core.c
207
etm4_os_unlock_csa(drvdata, &drvdata->csdev->access);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2071
etm4_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2073
if (!drvdata->paused)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2074
etm4_enable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2076
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
210
static void etm4_os_lock(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
212
if (WARN_ON(!drvdata->csdev))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2133
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2139
if (!drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2144
if (!drvdata->arch)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2147
major = ETM_ARCH_MAJOR_VERSION(drvdata->arch);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2148
minor = ETM_ARCH_MINOR_VERSION(drvdata->arch);
drivers/hwtracing/coresight/coresight-etm4x-core.c
215
etm_write_os_lock(drvdata, &drvdata->csdev->access, 0x1);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2150
if (etm4x_is_ete(drvdata)) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
2159
"%s%d", type_name, drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm4x-core.c
216
drvdata->os_unlock = false;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2163
etm4_set_default(&drvdata->config);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2173
drvdata->save_state = devm_kmalloc(dev,
drivers/hwtracing/coresight/coresight-etm4x-core.c
2176
if (!drvdata->save_state)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2188
desc.ops = etm4_pm_save_needed(drvdata) ? &etm4_cs_pm_ops : &etm4_cs_ops;
drivers/hwtracing/coresight/coresight-etm4x-core.c
219
static void etm4_cs_lock(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
2192
desc.cpu = drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2194
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2195
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2196
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2198
ret = etm_perf_symlink(drvdata->csdev, true);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2200
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2205
ret = etm4_cscfg_register(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2207
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2211
etmdrvdata[drvdata->cpu] = drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2213
dev_info(&drvdata->csdev->dev, "CPU%d: %s v%d.%d initialized\n",
drivers/hwtracing/coresight/coresight-etm4x-core.c
2214
drvdata->cpu, type_name, major, minor);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2217
coresight_enable_sysfs(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2218
drvdata->boot_enable = true;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2226
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2232
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2235
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2239
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2241
drvdata->cpu = coresight_get_cpu(dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2242
if (drvdata->cpu < 0)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2243
return drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2253
if (smp_call_function_single(drvdata->cpu,
drivers/hwtracing/coresight/coresight-etm4x-core.c
2264
per_cpu(delayed_probe, drvdata->cpu) = delayed;
drivers/hwtracing/coresight/coresight-etm4x-core.c
227
static void etm4_cs_unlock(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
2276
struct etmv4_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2287
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2288
if (!drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2291
drvdata->base = base;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2292
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2303
struct etmv4_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2306
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2307
if (!drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2311
drvdata->base = devm_ioremap_resource(&pdev->dev, res);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2312
if (IS_ERR(drvdata->base))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2313
return PTR_ERR(drvdata->base);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2316
dev_set_drvdata(&pdev->dev, drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
234
void etm4_release_trace_id(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
236
coresight_trace_id_put_cpu_id(drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2376
static void etm4_remove_dev(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2385
had_delayed_probe = per_cpu(delayed_probe, drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2393
if (smp_call_function_single(drvdata->cpu, clear_etmdrvdata, &drvdata->cpu, 1))
drivers/hwtracing/coresight/coresight-etm4x-core.c
2394
clear_etmdrvdata(&drvdata->cpu);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2399
etm_perf_symlink(drvdata->csdev, false);
drivers/hwtracing/coresight/coresight-etm4x-core.c
240
struct etmv4_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
2400
cscfg_unregister_csdev(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2401
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2407
struct etmv4_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2409
if (drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2410
etm4_remove_dev(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2415
struct etmv4_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2417
if (drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
2418
etm4_remove_dev(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2465
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2467
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2468
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2475
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2478
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2482
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
2484
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-etm4x-core.c
250
static void etm4x_prohibit_trace(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
255
if (!drvdata->trfcr)
drivers/hwtracing/coresight/coresight-etm4x-core.c
258
trfcr = drvdata->trfcr & ~(TRFCR_EL1_ExTRE | TRFCR_EL1_E0TRE);
drivers/hwtracing/coresight/coresight-etm4x-core.c
264
static u64 etm4x_get_kern_user_filter(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
266
u64 trfcr = drvdata->trfcr;
drivers/hwtracing/coresight/coresight-etm4x-core.c
268
if (drvdata->config.mode & ETM_MODE_EXCL_KERN)
drivers/hwtracing/coresight/coresight-etm4x-core.c
270
if (drvdata->config.mode & ETM_MODE_EXCL_USER)
drivers/hwtracing/coresight/coresight-etm4x-core.c
286
static void etm4x_allow_trace(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
291
if (!drvdata->trfcr)
drivers/hwtracing/coresight/coresight-etm4x-core.c
294
if (drvdata->config.mode & ETM_MODE_EXCL_HOST)
drivers/hwtracing/coresight/coresight-etm4x-core.c
295
trfcr = drvdata->trfcr & ~(TRFCR_EL1_ExTRE | TRFCR_EL1_E0TRE);
drivers/hwtracing/coresight/coresight-etm4x-core.c
297
trfcr = etm4x_get_kern_user_filter(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
302
if (drvdata->config.mode & ETM_MODE_EXCL_GUEST)
drivers/hwtracing/coresight/coresight-etm4x-core.c
303
guest_trfcr = drvdata->trfcr & ~(TRFCR_EL1_ExTRE | TRFCR_EL1_E0TRE);
drivers/hwtracing/coresight/coresight-etm4x-core.c
305
guest_trfcr = etm4x_get_kern_user_filter(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
356
static void etm4_enable_arch_specific(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
361
for_each_set_bit(bit, drvdata->arch_features, ETM4_IMPDEF_FEATURE_MAX) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
369
static void etm4_disable_arch_specific(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
374
for_each_set_bit(bit, drvdata->arch_features, ETM4_IMPDEF_FEATURE_MAX) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
382
static void etm4_check_arch_features(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
394
set_bit(ETM4_IMPDEF_HISI_CORE_COMMIT, drvdata->arch_features);
drivers/hwtracing/coresight/coresight-etm4x-core.c
397
static void etm4_enable_arch_specific(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
401
static void etm4_disable_arch_specific(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
405
static void etm4_check_arch_features(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
434
static int etm4_enable_trace_unit(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
436
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-core.c
444
if (etm4x_is_ete(drvdata))
drivers/hwtracing/coresight/coresight-etm4x-core.c
447
etm4x_allow_trace(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
492
static int etm4_enable_hw(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
495
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
496
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-core.c
501
etm4_cs_unlock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
502
etm4_enable_arch_specific(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
504
etm4_os_unlock(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
526
if (drvdata->nr_pe)
drivers/hwtracing/coresight/coresight-etm4x-core.c
533
if (drvdata->stallctl)
drivers/hwtracing/coresight/coresight-etm4x-core.c
539
etm4x_relaxed_write32(csa, drvdata->trcid, TRCTRACEIDR);
drivers/hwtracing/coresight/coresight-etm4x-core.c
543
if (drvdata->nr_pe_cmp)
drivers/hwtracing/coresight/coresight-etm4x-core.c
545
for (i = 0; i < drvdata->nrseqstate - 1; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
547
if (drvdata->nrseqstate) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
551
if (drvdata->numextinsel)
drivers/hwtracing/coresight/coresight-etm4x-core.c
553
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
563
for (i = 2; i < drvdata->nr_resource * 2; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
566
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
572
if (etm4x_sspcicrn_present(drvdata, i))
drivers/hwtracing/coresight/coresight-etm4x-core.c
575
for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
579
for (i = 0; i < drvdata->numcidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
582
if (drvdata->numcidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
585
for (i = 0; i < drvdata->numvmidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
588
if (drvdata->numvmidc > 4)
drivers/hwtracing/coresight/coresight-etm4x-core.c
591
if (!drvdata->skip_power_up) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
601
if (!drvdata->paused)
drivers/hwtracing/coresight/coresight-etm4x-core.c
602
rc = etm4_enable_trace_unit(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
604
etm4_cs_lock(drvdata, csa);
drivers/hwtracing/coresight/coresight-etm4x-core.c
607
drvdata->cpu, rc);
drivers/hwtracing/coresight/coresight-etm4x-core.c
619
csdev = arg->drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-core.c
626
arg->rc = etm4_enable_hw(arg->drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
666
static int etm4_config_timestamp_event(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
671
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
674
if (!drvdata->nr_cntr)
drivers/hwtracing/coresight/coresight-etm4x-core.c
678
for (ctridx = 0; ctridx < drvdata->nr_cntr; ctridx++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
683
if (ctridx == drvdata->nr_cntr) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
699
for (rselector = 2; rselector < drvdata->nr_resource * 2; rselector++)
drivers/hwtracing/coresight/coresight-etm4x-core.c
70
static int etm4_set_event_filters(struct etmv4_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-etm4x-core.c
703
if (rselector == drvdata->nr_resource * 2) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
753
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
754
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-core.c
782
ret = etm4_set_event_filters(drvdata, event);
drivers/hwtracing/coresight/coresight-etm4x-core.c
793
if (cc_threshold < drvdata->ccitmin)
drivers/hwtracing/coresight/coresight-etm4x-core.c
794
cc_threshold = drvdata->ccitmin;
drivers/hwtracing/coresight/coresight-etm4x-core.c
806
ret = etm4_config_timestamp_event(drvdata, ts_level);
drivers/hwtracing/coresight/coresight-etm4x-core.c
842
if (ATTR_CFG_GET_FLD(attr, retstack) && drvdata->retstack)
drivers/hwtracing/coresight/coresight-etm4x-core.c
858
if (!drvdata->trcbb) {
drivers/hwtracing/coresight/coresight-etm4x-core.c
878
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
881
if (WARN_ON_ONCE(drvdata->cpu != smp_processor_id()))
drivers/hwtracing/coresight/coresight-etm4x-core.c
892
drvdata->trcid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm4x-core.c
895
drvdata->paused = !!READ_ONCE(event->hw.aux_paused);
drivers/hwtracing/coresight/coresight-etm4x-core.c
898
ret = etm4_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
913
struct etmv4_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-etm4x-core.c
926
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-core.c
928
drvdata->trcid = path->trace_id;
drivers/hwtracing/coresight/coresight-etm4x-core.c
93
static bool etm4x_sspcicrn_present(struct etmv4_drvdata *drvdata, int n)
drivers/hwtracing/coresight/coresight-etm4x-core.c
931
drvdata->paused = false;
drivers/hwtracing/coresight/coresight-etm4x-core.c
937
arg.drvdata = drvdata;
drivers/hwtracing/coresight/coresight-etm4x-core.c
939
ret = smp_call_function_single(drvdata->cpu,
drivers/hwtracing/coresight/coresight-etm4x-core.c
944
drvdata->sticky_enable = true;
drivers/hwtracing/coresight/coresight-etm4x-core.c
947
etm4_release_trace_id(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-core.c
949
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-core.c
95
return (n < drvdata->nr_ss_cmp) &&
drivers/hwtracing/coresight/coresight-etm4x-core.c
96
drvdata->nr_pe &&
drivers/hwtracing/coresight/coresight-etm4x-core.c
97
(drvdata->config.ss_status[n] & TRCSSCSRn_PC);
drivers/hwtracing/coresight/coresight-etm4x-core.c
975
static void etm4_disable_trace_unit(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x-core.c
978
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-core.c
991
etm4x_prohibit_trace(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
100
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1000
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1003
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1011
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
102
val = drvdata->nr_ext_inp;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1026
etm4_set_mode_exclude(drvdata, exclude ? true : false);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1028
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1039
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1040
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1042
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1047
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1052
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1062
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1063
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1068
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1070
if (!drvdata->nr_addr_cmp) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1071
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1076
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1083
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1094
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1095
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1097
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1102
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1107
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1117
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1118
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
112
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1123
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1125
if (!drvdata->nr_addr_cmp) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1126
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1131
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1138
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
114
val = drvdata->numcidc;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1149
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1150
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1152
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1159
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1169
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1170
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1177
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1184
if (drvdata->numcidc) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1190
if (drvdata->numvmidc) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1199
if (drvdata->numcidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1201
if (drvdata->numvmidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1204
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1215
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1216
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1218
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1222
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1232
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1233
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1237
if ((drvdata->numcidc <= 1) && (drvdata->numvmidc <= 1))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1239
if (val >= (drvdata->numcidc >= drvdata->numvmidc ?
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
124
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1240
drvdata->numcidc : drvdata->numvmidc))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1243
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1248
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1259
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
126
val = drvdata->numvmidc;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1260
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1262
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1265
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1275
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1276
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1284
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1289
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1307
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1308
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1312
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1327
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1350
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1351
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1353
if (!drvdata->nr_pe_cmp)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
136
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1363
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1364
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1368
if (!drvdata->nr_pe_cmp)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1371
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1373
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
138
val = drvdata->nrseqstate;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1383
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1384
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1395
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1396
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1400
if (val >= drvdata->nrseqstate - 1)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1407
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1409
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1419
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1420
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1431
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1432
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1436
if (val >= drvdata->nrseqstate)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1450
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1451
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1453
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1456
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1466
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1467
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1472
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1476
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
148
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1486
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1487
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1498
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1499
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
150
val = drvdata->nr_resource;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1503
if (!(drvdata->nrseqstate))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1516
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1517
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1528
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1529
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1533
if (val >= drvdata->nr_cntr)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1540
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1542
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1553
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1554
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1556
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1559
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1569
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1570
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1577
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1580
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1591
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1592
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1594
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1597
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
16
static int etm4_set_mode_exclude(struct etmv4_drvdata *drvdata, bool exclude)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
160
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1607
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1608
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1615
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1618
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
162
val = drvdata->nr_ss_cmp;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1629
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1630
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1632
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1635
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1645
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1646
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1651
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1654
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1664
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1665
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1676
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1677
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1685
if ((val < 2) || (val >= 2 * drvdata->nr_resource))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1692
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1694
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1705
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1706
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1708
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1711
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1721
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1722
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1727
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
173
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1737
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
174
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1746
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1747
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1758
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1759
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1763
if (val >= drvdata->nr_ss_cmp)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1766
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1768
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1778
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1779
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1781
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1783
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
179
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1793
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1794
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1799
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1804
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1813
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1814
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1816
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1818
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1828
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1829
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1831
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1833
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1843
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1844
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1849
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1854
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1864
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1865
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1876
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1877
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1881
if (val >= drvdata->numcidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1888
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1890
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
19
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1901
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1902
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1911
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1914
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1924
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1925
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1944
if (!drvdata->ctxid_size || !drvdata->numcidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1949
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1952
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1962
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1963
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1972
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1975
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1985
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
1986
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2001
if (!drvdata->ctxid_size || !drvdata->numcidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2005
if ((drvdata->numcidc > 4) && (nr_inputs != 2))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2008
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2013
switch (drvdata->numcidc) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
203
if (drvdata->syncpr == false)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2060
for (i = 0; i < drvdata->numcidc; i++) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2080
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2090
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2091
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2102
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2103
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2107
if (val >= drvdata->numvmidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2114
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2116
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
212
if (drvdata->nr_addr_cmp > 0) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2126
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2127
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2136
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2138
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2147
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2148
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2161
if (!drvdata->vmid_size || !drvdata->numvmidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2166
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2168
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2177
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2178
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2187
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2190
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2200
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2201
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2215
if (!drvdata->vmid_size || !drvdata->numvmidc)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2219
if ((drvdata->numvmidc > 4) && (nr_inputs != 2))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2222
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2228
switch (drvdata->numvmidc) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
226
for (i = 0; i < drvdata->nrseqstate-1; i++)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2276
for (i = 0; i < drvdata->numvmidc; i++) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2295
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2304
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2306
val = drvdata->cpu;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2317
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2319
if (!drvdata->trfcr) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2324
val = FIELD_GET(TRFCR_EL1_TS_MASK, drvdata->trfcr);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
235
for (i = 0; i < drvdata->nr_cntr; i++) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2407
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2408
int trace_id = coresight_etm_get_trace_id(drvdata->csdev, CS_MODE_SYSFS, NULL);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
242
for (i = 2; i < 2 * drvdata->nr_resource; i++)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2429
static u32 etmv4_cross_read(const struct etmv4_drvdata *drvdata, u32 offset)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2434
reg.csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2440
smp_call_function_single(drvdata->cpu, do_smp_cross_read, &reg, 1);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2457
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
246
for (i = 0; i < drvdata->nr_ss_cmp; i++) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2462
val = etmv4_cross_read(drvdata, offset);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2469
etm4x_register_implemented(struct etmv4_drvdata *drvdata, u32 offset)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2484
return !etm4x_is_ete(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2498
return !!drvdata->base;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2501
return etm4x_is_ete(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2519
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
252
for (i = 0; i < drvdata->nr_addr_cmp * 2; i++) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
2526
if (etm4x_register_implemented(drvdata, offset))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
259
for (i = 0; i < drvdata->numcidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
266
for (i = 0; i < drvdata->numvmidc; i++)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
271
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
274
etm4_release_trace_id(drvdata);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
287
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
288
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
299
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
300
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
305
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
308
if (drvdata->instrp0 == true) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
326
if ((config->mode & ETM_MODE_BB) && (drvdata->trcbb == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
333
(drvdata->trccci == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
339
if ((config->mode & ETMv4_MODE_CTXID) && (drvdata->ctxid_size))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
344
if ((config->mode & ETM_MODE_VMID) && (drvdata->vmid_size))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
351
if (drvdata->trccond == true) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
357
if ((config->mode & ETMv4_MODE_TIMESTAMP) && (drvdata->ts_size))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
364
(drvdata->retstack == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
378
if (mode && drvdata->q_support)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
384
if ((mode & BIT(1)) && (drvdata->q_support & BIT(1)))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
389
(drvdata->atbtrig == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
396
(drvdata->lpoverride == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
402
if ((config->mode & ETM_MODE_ISTALL_EN) && (drvdata->stallctl == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
415
(drvdata->nooverflow == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
434
(drvdata->trc_error == true))
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
442
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
453
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
454
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
465
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
466
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
471
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
472
if (val > drvdata->nr_pe) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
473
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
478
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
488
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
489
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
500
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
501
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
506
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
507
switch (drvdata->nr_event) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
527
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
537
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
538
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
549
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
550
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
555
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
558
switch (drvdata->nr_event) {
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
583
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
593
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
594
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
605
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
606
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
610
if (!drvdata->ts_size)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
623
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
624
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
635
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
636
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
64
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
640
if (drvdata->syncpr == true)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
653
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
654
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
66
val = drvdata->nr_pe_cmp;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
665
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
666
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
673
if (val < drvdata->ccitmin)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
686
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
687
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
698
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
699
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
703
if (drvdata->trcbb == false)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
705
if (!drvdata->nr_addr_cmp)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
726
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
727
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
738
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
739
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
744
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
748
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
758
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
759
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
76
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
770
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
771
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
776
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
78
val = drvdata->nr_addr_cmp;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
780
val &= drvdata->s_ex_level;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
782
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
792
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
793
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
805
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
806
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
811
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
815
val &= drvdata->ns_ex_level;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
817
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
827
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
828
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
839
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
840
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
844
if (val >= drvdata->nr_addr_cmp * 2)
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
851
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
853
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
864
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
865
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
867
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
875
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
88
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
885
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
886
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
893
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
899
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
90
val = drvdata->nr_cntr;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
910
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
911
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
914
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
917
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
921
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
931
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
932
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
937
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
941
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
947
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
958
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
959
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
961
raw_spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
964
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
971
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
977
raw_spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
987
struct etmv4_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-etm4x-sysfs.c
988
struct etmv4_config *config = &drvdata->config;
drivers/hwtracing/coresight/coresight-etm4x.h
1109
static inline bool etm4x_is_ete(struct etmv4_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-etm4x.h
1111
return drvdata->arch >= ETM_ARCH_ETE;
drivers/hwtracing/coresight/coresight-etm4x.h
1114
void etm4_release_trace_id(struct etmv4_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-funnel.c
103
static void dynamic_funnel_disable_hw(struct funnel_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-funnel.c
107
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-funnel.c
109
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
111
functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL);
drivers/hwtracing/coresight/coresight-funnel.c
113
writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL);
drivers/hwtracing/coresight/coresight-funnel.c
119
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
126
struct funnel_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-funnel.c
130
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-funnel.c
132
if (drvdata->base)
drivers/hwtracing/coresight/coresight-funnel.c
133
dynamic_funnel_disable_hw(drvdata, in->dest_port);
drivers/hwtracing/coresight/coresight-funnel.c
136
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-funnel.c
155
struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-funnel.c
156
unsigned long val = drvdata->priority;
drivers/hwtracing/coresight/coresight-funnel.c
167
struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-funnel.c
173
drvdata->priority = val;
drivers/hwtracing/coresight/coresight-funnel.c
178
static u32 get_funnel_ctrl_hw(struct funnel_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-funnel.c
182
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
183
functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL);
drivers/hwtracing/coresight/coresight-funnel.c
184
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
193
struct funnel_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-funnel.c
197
val = get_funnel_ctrl_hw(drvdata);
drivers/hwtracing/coresight/coresight-funnel.c
216
struct funnel_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-funnel.c
228
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-funnel.c
229
if (!drvdata)
drivers/hwtracing/coresight/coresight-funnel.c
232
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-funnel.c
244
drvdata->base = base;
drivers/hwtracing/coresight/coresight-funnel.c
250
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-funnel.c
258
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-funnel.c
264
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-funnel.c
265
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-funnel.c
266
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-funnel.c
273
struct funnel_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-funnel.c
275
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-funnel.c
283
struct funnel_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-funnel.c
285
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-funnel.c
286
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-funnel.c
293
struct funnel_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-funnel.c
296
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-funnel.c
300
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-funnel.c
302
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-funnel.c
331
struct funnel_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-funnel.c
333
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-funnel.c
51
static int dynamic_funnel_enable_hw(struct funnel_drvdata *drvdata, int port)
drivers/hwtracing/coresight/coresight-funnel.c
55
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-funnel.c
57
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
59
functl = readl_relaxed(drvdata->base + FUNNEL_FUNCTL);
drivers/hwtracing/coresight/coresight-funnel.c
70
writel_relaxed(functl, drvdata->base + FUNNEL_FUNCTL);
drivers/hwtracing/coresight/coresight-funnel.c
71
writel_relaxed(drvdata->priority, drvdata->base + FUNNEL_PRICTL);
drivers/hwtracing/coresight/coresight-funnel.c
73
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-funnel.c
82
struct funnel_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-funnel.c
86
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-funnel.c
88
if (drvdata->base)
drivers/hwtracing/coresight/coresight-funnel.c
89
rc = dynamic_funnel_enable_hw(drvdata, in->dest_port);
drivers/hwtracing/coresight/coresight-funnel.c
95
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-replicator.c
108
writel_relaxed(id0val, drvdata->base + REPLICATOR_IDFILTER0);
drivers/hwtracing/coresight/coresight-replicator.c
109
writel_relaxed(id1val, drvdata->base + REPLICATOR_IDFILTER1);
drivers/hwtracing/coresight/coresight-replicator.c
112
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
122
struct replicator_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-replicator.c
126
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-replicator.c
128
if (drvdata->base)
drivers/hwtracing/coresight/coresight-replicator.c
129
rc = dynamic_replicator_enable(drvdata, in->dest_port,
drivers/hwtracing/coresight/coresight-replicator.c
136
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-replicator.c
143
static void dynamic_replicator_disable(struct replicator_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-replicator.c
147
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-replicator.c
161
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
164
writel_relaxed(0xff, drvdata->base + reg);
drivers/hwtracing/coresight/coresight-replicator.c
166
if ((readl_relaxed(drvdata->base + REPLICATOR_IDFILTER0) == 0xff) &&
drivers/hwtracing/coresight/coresight-replicator.c
167
(readl_relaxed(drvdata->base + REPLICATOR_IDFILTER1) == 0xff))
drivers/hwtracing/coresight/coresight-replicator.c
169
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
176
struct replicator_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-replicator.c
180
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-replicator.c
182
if (drvdata->base)
drivers/hwtracing/coresight/coresight-replicator.c
183
dynamic_replicator_disable(drvdata, in->dest_port,
drivers/hwtracing/coresight/coresight-replicator.c
187
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-replicator.c
221
struct replicator_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-replicator.c
235
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-replicator.c
236
if (!drvdata)
drivers/hwtracing/coresight/coresight-replicator.c
239
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-replicator.c
251
drvdata->base = base;
drivers/hwtracing/coresight/coresight-replicator.c
259
drvdata->check_idfilter_val = true;
drivers/hwtracing/coresight/coresight-replicator.c
261
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-replicator.c
268
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-replicator.c
275
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-replicator.c
276
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-replicator.c
277
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-replicator.c
279
replicator_reset(drvdata);
drivers/hwtracing/coresight/coresight-replicator.c
285
struct replicator_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-replicator.c
287
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-replicator.c
310
struct replicator_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-replicator.c
312
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-replicator.c
322
struct replicator_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-replicator.c
324
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-replicator.c
325
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-replicator.c
332
struct replicator_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-replicator.c
335
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-replicator.c
339
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-replicator.c
341
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-replicator.c
46
static void dynamic_replicator_reset(struct replicator_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-replicator.c
48
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-replicator.c
50
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
53
writel_relaxed(0xff, drvdata->base + REPLICATOR_IDFILTER0);
drivers/hwtracing/coresight/coresight-replicator.c
54
writel_relaxed(0xff, drvdata->base + REPLICATOR_IDFILTER1);
drivers/hwtracing/coresight/coresight-replicator.c
58
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
64
static void replicator_reset(struct replicator_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-replicator.c
66
if (drvdata->base)
drivers/hwtracing/coresight/coresight-replicator.c
67
dynamic_replicator_reset(drvdata);
drivers/hwtracing/coresight/coresight-replicator.c
70
static int dynamic_replicator_enable(struct replicator_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-replicator.c
75
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-replicator.c
77
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-replicator.c
79
id0val = readl_relaxed(drvdata->base + REPLICATOR_IDFILTER0);
drivers/hwtracing/coresight/coresight-replicator.c
80
id1val = readl_relaxed(drvdata->base + REPLICATOR_IDFILTER1);
drivers/hwtracing/coresight/coresight-replicator.c
86
if (drvdata->check_idfilter_val && id0val == 0x0 && id1val == 0x0)
drivers/hwtracing/coresight/coresight-stm.c
1023
struct stm_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-stm.c
1025
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-stm.c
149
static void stm_hwevent_enable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
151
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
153
writel_relaxed(drvdata->stmhebsr, drvdata->base + STMHEBSR);
drivers/hwtracing/coresight/coresight-stm.c
154
writel_relaxed(drvdata->stmheter, drvdata->base + STMHETER);
drivers/hwtracing/coresight/coresight-stm.c
155
writel_relaxed(drvdata->stmheer, drvdata->base + STMHEER);
drivers/hwtracing/coresight/coresight-stm.c
158
drvdata->base + STMHEMCR);
drivers/hwtracing/coresight/coresight-stm.c
160
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
163
static void stm_port_enable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
165
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
168
drvdata->base + STMSPTRIGCSR);
drivers/hwtracing/coresight/coresight-stm.c
169
writel_relaxed(drvdata->stmspscr, drvdata->base + STMSPSCR);
drivers/hwtracing/coresight/coresight-stm.c
170
writel_relaxed(drvdata->stmsper, drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
172
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
175
static void stm_enable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
177
if (drvdata->stmheer)
drivers/hwtracing/coresight/coresight-stm.c
178
stm_hwevent_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
180
stm_port_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
182
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
185
writel_relaxed(0xFFF, drvdata->base + STMSYNCR);
drivers/hwtracing/coresight/coresight-stm.c
186
writel_relaxed((drvdata->traceid << 16 | /* trace id */
drivers/hwtracing/coresight/coresight-stm.c
189
drvdata->base + STMTCSR);
drivers/hwtracing/coresight/coresight-stm.c
191
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
198
struct stm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-stm.c
210
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
211
stm_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
212
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
218
static void stm_hwevent_disable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
220
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
222
writel_relaxed(0x0, drvdata->base + STMHEMCR);
drivers/hwtracing/coresight/coresight-stm.c
223
writel_relaxed(0x0, drvdata->base + STMHEER);
drivers/hwtracing/coresight/coresight-stm.c
224
writel_relaxed(0x0, drvdata->base + STMHETER);
drivers/hwtracing/coresight/coresight-stm.c
226
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
229
static void stm_port_disable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
231
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
233
writel_relaxed(0x0, drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
234
writel_relaxed(0x0, drvdata->base + STMSPTRIGCSR);
drivers/hwtracing/coresight/coresight-stm.c
236
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
239
static void stm_disable_hw(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
243
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
245
val = readl_relaxed(drvdata->base + STMTCSR);
drivers/hwtracing/coresight/coresight-stm.c
247
writel_relaxed(val, drvdata->base + STMTCSR);
drivers/hwtracing/coresight/coresight-stm.c
249
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
251
stm_port_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
252
if (drvdata->stmheer)
drivers/hwtracing/coresight/coresight-stm.c
253
stm_hwevent_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
259
struct stm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-stm.c
268
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
269
stm_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
270
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
285
struct stm_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-stm.c
287
drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-stm.c
289
return drvdata->traceid;
drivers/hwtracing/coresight/coresight-stm.c
341
struct stm_drvdata *drvdata = container_of(stm_data,
drivers/hwtracing/coresight/coresight-stm.c
343
if (!drvdata->csdev)
drivers/hwtracing/coresight/coresight-stm.c
346
return coresight_enable_sysfs(drvdata->csdev);
drivers/hwtracing/coresight/coresight-stm.c
352
struct stm_drvdata *drvdata = container_of(stm_data,
drivers/hwtracing/coresight/coresight-stm.c
354
if (!drvdata->csdev)
drivers/hwtracing/coresight/coresight-stm.c
357
coresight_disable_sysfs(drvdata->csdev);
drivers/hwtracing/coresight/coresight-stm.c
364
struct stm_drvdata *drvdata = container_of(stm_data,
drivers/hwtracing/coresight/coresight-stm.c
368
addr = drvdata->chs.phys + channel * BYTES_PER_CHANNEL;
drivers/hwtracing/coresight/coresight-stm.c
383
struct stm_drvdata *drvdata = container_of(stm_data,
drivers/hwtracing/coresight/coresight-stm.c
385
if (!coresight_get_mode(drvdata->csdev))
drivers/hwtracing/coresight/coresight-stm.c
388
if (channel >= drvdata->numsp)
drivers/hwtracing/coresight/coresight-stm.c
393
set_bit(channel, drvdata->chs.guaranteed);
drivers/hwtracing/coresight/coresight-stm.c
397
clear_bit(channel, drvdata->chs.guaranteed);
drivers/hwtracing/coresight/coresight-stm.c
416
struct stm_drvdata *drvdata = container_of(stm_data,
drivers/hwtracing/coresight/coresight-stm.c
420
if (!coresight_get_mode(drvdata->csdev))
drivers/hwtracing/coresight/coresight-stm.c
423
if (channel >= drvdata->numsp)
drivers/hwtracing/coresight/coresight-stm.c
426
ch_addr = stm_channel_addr(drvdata, channel);
drivers/hwtracing/coresight/coresight-stm.c
430
stm_flags |= test_bit(channel, drvdata->chs.guaranteed) ?
drivers/hwtracing/coresight/coresight-stm.c
433
if (size > drvdata->write_bytes)
drivers/hwtracing/coresight/coresight-stm.c
434
size = drvdata->write_bytes;
drivers/hwtracing/coresight/coresight-stm.c
447
stm_send(ch_addr, payload, 1, drvdata->write_bytes);
drivers/hwtracing/coresight/coresight-stm.c
455
drvdata->write_bytes);
drivers/hwtracing/coresight/coresight-stm.c
468
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
469
unsigned long val = drvdata->stmheer;
drivers/hwtracing/coresight/coresight-stm.c
478
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
486
drvdata->stmheer = val;
drivers/hwtracing/coresight/coresight-stm.c
488
drvdata->stmheter = val;
drivers/hwtracing/coresight/coresight-stm.c
497
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
498
unsigned long val = drvdata->stmhebsr;
drivers/hwtracing/coresight/coresight-stm.c
507
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
515
drvdata->stmhebsr = val;
drivers/hwtracing/coresight/coresight-stm.c
524
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
527
if (!coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-stm.c
528
val = drvdata->stmspscr;
drivers/hwtracing/coresight/coresight-stm.c
530
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
531
val = readl_relaxed(drvdata->base + STMSPSCR);
drivers/hwtracing/coresight/coresight-stm.c
532
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
542
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
550
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
551
drvdata->stmspscr = val;
drivers/hwtracing/coresight/coresight-stm.c
553
if (coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-stm.c
554
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
556
stmsper = readl_relaxed(drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
557
writel_relaxed(0x0, drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
558
writel_relaxed(drvdata->stmspscr, drvdata->base + STMSPSCR);
drivers/hwtracing/coresight/coresight-stm.c
559
writel_relaxed(stmsper, drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
560
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
562
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
571
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
574
if (!coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-stm.c
575
val = drvdata->stmsper;
drivers/hwtracing/coresight/coresight-stm.c
577
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
578
val = readl_relaxed(drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
579
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
589
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
597
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
598
drvdata->stmsper = val;
drivers/hwtracing/coresight/coresight-stm.c
600
if (coresight_get_mode(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-stm.c
601
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
602
writel_relaxed(drvdata->stmsper, drvdata->base + STMSPER);
drivers/hwtracing/coresight/coresight-stm.c
603
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-stm.c
605
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
615
struct stm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-stm.c
617
val = drvdata->traceid;
drivers/hwtracing/coresight/coresight-stm.c
748
static u32 stm_fundamental_data_size(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
755
stmspfeat2r = readl_relaxed(drvdata->base + STMSPFEAT2R);
drivers/hwtracing/coresight/coresight-stm.c
765
static u32 stm_num_stimulus_port(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
769
numsp = readl_relaxed(drvdata->base + CORESIGHT_DEVID);
drivers/hwtracing/coresight/coresight-stm.c
780
static void stm_init_default_data(struct stm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-stm.c
783
drvdata->stmspscr = 0x0;
drivers/hwtracing/coresight/coresight-stm.c
789
drvdata->stmsper = ~0x0;
drivers/hwtracing/coresight/coresight-stm.c
792
bitmap_clear(drvdata->chs.guaranteed, 0, drvdata->numsp);
drivers/hwtracing/coresight/coresight-stm.c
795
static void stm_init_generic_data(struct stm_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-stm.c
798
drvdata->stm.name = name;
drivers/hwtracing/coresight/coresight-stm.c
804
drvdata->stm.sw_start = 1;
drivers/hwtracing/coresight/coresight-stm.c
805
drvdata->stm.sw_end = 1;
drivers/hwtracing/coresight/coresight-stm.c
806
drvdata->stm.hw_override = true;
drivers/hwtracing/coresight/coresight-stm.c
807
drvdata->stm.sw_nchannels = drvdata->numsp;
drivers/hwtracing/coresight/coresight-stm.c
808
drvdata->stm.sw_mmiosz = BYTES_PER_CHANNEL;
drivers/hwtracing/coresight/coresight-stm.c
809
drvdata->stm.packet = stm_generic_packet;
drivers/hwtracing/coresight/coresight-stm.c
810
drvdata->stm.mmio_addr = stm_mmio_addr;
drivers/hwtracing/coresight/coresight-stm.c
811
drvdata->stm.link = stm_generic_link;
drivers/hwtracing/coresight/coresight-stm.c
812
drvdata->stm.unlink = stm_generic_unlink;
drivers/hwtracing/coresight/coresight-stm.c
813
drvdata->stm.set_options = stm_generic_set_options;
drivers/hwtracing/coresight/coresight-stm.c
831
struct stm_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-stm.c
839
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-stm.c
840
if (!drvdata)
drivers/hwtracing/coresight/coresight-stm.c
843
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-stm.c
847
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-stm.c
852
drvdata->base = base;
drivers/hwtracing/coresight/coresight-stm.c
858
drvdata->chs.phys = ch_res.start;
drivers/hwtracing/coresight/coresight-stm.c
863
drvdata->chs.base = base;
drivers/hwtracing/coresight/coresight-stm.c
865
drvdata->write_bytes = stm_fundamental_data_size(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
868
drvdata->numsp = boot_nr_channel;
drivers/hwtracing/coresight/coresight-stm.c
87
#define stm_channel_addr(drvdata, ch) (drvdata->chs.base + \
drivers/hwtracing/coresight/coresight-stm.c
870
drvdata->numsp = stm_num_stimulus_port(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
872
drvdata->chs.guaranteed = devm_bitmap_zalloc(dev, drvdata->numsp,
drivers/hwtracing/coresight/coresight-stm.c
874
if (!drvdata->chs.guaranteed)
drivers/hwtracing/coresight/coresight-stm.c
877
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-stm.c
879
stm_init_default_data(drvdata);
drivers/hwtracing/coresight/coresight-stm.c
880
stm_init_generic_data(drvdata, desc.name);
drivers/hwtracing/coresight/coresight-stm.c
882
if (stm_register_device(dev, &drvdata->stm, THIS_MODULE)) {
drivers/hwtracing/coresight/coresight-stm.c
902
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-stm.c
903
if (IS_ERR(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-stm.c
904
ret = PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-stm.c
913
drvdata->traceid = (u8)trace_id;
drivers/hwtracing/coresight/coresight-stm.c
915
dev_info(&drvdata->csdev->dev, "%s initialized\n",
drivers/hwtracing/coresight/coresight-stm.c
916
stm_csdev_name(drvdata->csdev));
drivers/hwtracing/coresight/coresight-stm.c
920
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-stm.c
923
stm_unregister_device(&drvdata->stm);
drivers/hwtracing/coresight/coresight-stm.c
940
struct stm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-stm.c
942
coresight_trace_id_put_system_id(drvdata->traceid);
drivers/hwtracing/coresight/coresight-stm.c
943
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-stm.c
945
stm_unregister_device(&drvdata->stm);
drivers/hwtracing/coresight/coresight-stm.c
956
struct stm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-stm.c
958
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-stm.c
959
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-stm.c
966
struct stm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-stm.c
969
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-stm.c
973
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-stm.c
975
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
1000
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
1001
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
1008
struct tmc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tmc-core.c
1011
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
1015
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
1017
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
105
static bool is_tmc_crashdata_valid(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
109
if (!tmc_has_reserved_buffer(drvdata) ||
drivers/hwtracing/coresight/coresight-tmc-core.c
110
!tmc_has_crash_mdata_buffer(drvdata))
drivers/hwtracing/coresight/coresight-tmc-core.c
113
mdata = drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc-core.c
121
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
131
if (drvdata->resrv_buf.paddr != mdata->trace_paddr) {
drivers/hwtracing/coresight/coresight-tmc-core.c
132
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
139
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
144
if (mdata->crc32_tdata != find_crash_tracedata_crc(drvdata, mdata)) {
drivers/hwtracing/coresight/coresight-tmc-core.c
145
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
153
static inline ssize_t tmc_get_resvbuf_trace(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-core.c
158
struct tmc_resrv_buf *rbuf = &drvdata->resrv_buf;
drivers/hwtracing/coresight/coresight-tmc-core.c
179
static int tmc_prepare_crashdata(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
188
mdata = drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc-core.c
189
rbuf = &drvdata->resrv_buf;
drivers/hwtracing/coresight/coresight-tmc-core.c
207
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
213
len = tmc_get_resvbuf_trace(drvdata, 0x0,
drivers/hwtracing/coresight/coresight-tmc-core.c
218
mdata->crc32_tdata = find_crash_tracedata_crc(drvdata,
drivers/hwtracing/coresight/coresight-tmc-core.c
227
static int tmc_read_prepare(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
231
switch (drvdata->config_type) {
drivers/hwtracing/coresight/coresight-tmc-core.c
234
ret = tmc_read_prepare_etb(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
237
ret = tmc_read_prepare_etr(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
244
dev_dbg(&drvdata->csdev->dev, "TMC read start\n");
drivers/hwtracing/coresight/coresight-tmc-core.c
249
static int tmc_read_unprepare(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
253
switch (drvdata->config_type) {
drivers/hwtracing/coresight/coresight-tmc-core.c
256
ret = tmc_read_unprepare_etb(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
259
ret = tmc_read_unprepare_etr(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
266
dev_dbg(&drvdata->csdev->dev, "TMC read end\n");
drivers/hwtracing/coresight/coresight-tmc-core.c
274
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
277
ret = tmc_read_prepare(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
283
dev_dbg(&drvdata->csdev->dev, "%s: successfully opened\n", __func__);
drivers/hwtracing/coresight/coresight-tmc-core.c
287
static ssize_t tmc_get_sysfs_trace(struct tmc_drvdata *drvdata, loff_t pos, size_t len,
drivers/hwtracing/coresight/coresight-tmc-core.c
290
switch (drvdata->config_type) {
drivers/hwtracing/coresight/coresight-tmc-core.c
293
return tmc_etb_get_sysfs_trace(drvdata, pos, len, bufpp);
drivers/hwtracing/coresight/coresight-tmc-core.c
295
return tmc_etr_get_sysfs_trace(drvdata, pos, len, bufpp);
drivers/hwtracing/coresight/coresight-tmc-core.c
306
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
308
actual = tmc_get_sysfs_trace(drvdata, *ppos, len, &bufp);
drivers/hwtracing/coresight/coresight-tmc-core.c
313
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
319
dev_dbg(&drvdata->csdev->dev, "%zu bytes copied\n", actual);
drivers/hwtracing/coresight/coresight-tmc-core.c
327
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
330
ret = tmc_read_unprepare(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
334
dev_dbg(&drvdata->csdev->dev, "%s: released\n", __func__);
drivers/hwtracing/coresight/coresight-tmc-core.c
35
int tmc_wait_for_tmcready(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
351
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
355
mdata = drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc-core.c
356
rbuf = &drvdata->resrv_buf;
drivers/hwtracing/coresight/coresight-tmc-core.c
358
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
363
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
368
dev_dbg(&drvdata->csdev->dev, "%s: successfully opened\n", __func__);
drivers/hwtracing/coresight/coresight-tmc-core.c
37
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-tmc-core.c
378
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
382
actual = tmc_get_resvbuf_trace(drvdata, *ppos, len, &bufp);
drivers/hwtracing/coresight/coresight-tmc-core.c
387
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
393
dev_dbg(&drvdata->csdev->dev, "%zu bytes copied\n", actual);
drivers/hwtracing/coresight/coresight-tmc-core.c
402
struct tmc_drvdata *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/coresight-tmc-core.c
406
rbuf = &drvdata->resrv_buf;
drivers/hwtracing/coresight/coresight-tmc-core.c
407
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
409
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
411
dev_dbg(&drvdata->csdev->dev, "%s: released\n", __func__);
drivers/hwtracing/coresight/coresight-tmc-core.c
476
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
477
unsigned long val = drvdata->trigger_cntr;
drivers/hwtracing/coresight/coresight-tmc-core.c
488
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
49
void tmc_flush_and_stop(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
494
drvdata->trigger_cntr = val;
drivers/hwtracing/coresight/coresight-tmc-core.c
502
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
504
return sprintf(buf, "%#x\n", drvdata->size);
drivers/hwtracing/coresight/coresight-tmc-core.c
51
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-tmc-core.c
513
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
516
if (drvdata->config_type != TMC_CONFIG_TYPE_ETR)
drivers/hwtracing/coresight/coresight-tmc-core.c
525
drvdata->size = val;
drivers/hwtracing/coresight/coresight-tmc-core.c
534
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
536
return sprintf(buf, "%#x\n", drvdata->stop_on_flush);
drivers/hwtracing/coresight/coresight-tmc-core.c
545
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
55
ffcr = readl_relaxed(drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-core.c
551
drvdata->stop_on_flush = true;
drivers/hwtracing/coresight/coresight-tmc-core.c
553
drvdata->stop_on_flush = false;
drivers/hwtracing/coresight/coresight-tmc-core.c
57
writel_relaxed(ffcr, drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-core.c
59
writel_relaxed(ffcr, drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-core.c
620
static bool tmc_etr_has_non_secure_access(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
622
u32 auth = readl_relaxed(drvdata->base + TMC_AUTHSTATUS);
drivers/hwtracing/coresight/coresight-tmc-core.c
647
struct tmc_drvdata *drvdata = dev_get_drvdata(parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
653
drvdata->resrv_buf.vaddr = memremap(res.start,
drivers/hwtracing/coresight/coresight-tmc-core.c
656
if (IS_ERR_OR_NULL(drvdata->resrv_buf.vaddr)) {
drivers/hwtracing/coresight/coresight-tmc-core.c
66
tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
661
drvdata->resrv_buf.paddr = res.start;
drivers/hwtracing/coresight/coresight-tmc-core.c
662
drvdata->resrv_buf.size = resource_size(&res);
drivers/hwtracing/coresight/coresight-tmc-core.c
667
drvdata->crash_mdata.vaddr = memremap(res.start,
drivers/hwtracing/coresight/coresight-tmc-core.c
670
if (IS_ERR_OR_NULL(drvdata->crash_mdata.vaddr)) {
drivers/hwtracing/coresight/coresight-tmc-core.c
675
drvdata->crash_mdata.paddr = res.start;
drivers/hwtracing/coresight/coresight-tmc-core.c
676
drvdata->crash_mdata.size = resource_size(&res);
drivers/hwtracing/coresight/coresight-tmc-core.c
685
struct tmc_drvdata *drvdata = dev_get_drvdata(parent);
drivers/hwtracing/coresight/coresight-tmc-core.c
688
if (!tmc_etr_has_non_secure_access(drvdata))
drivers/hwtracing/coresight/coresight-tmc-core.c
69
void tmc_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
695
tmc_etr_init_caps(drvdata, (u32)(unsigned long)dev_caps);
drivers/hwtracing/coresight/coresight-tmc-core.c
698
tmc_etr_set_cap(drvdata, TMC_ETR_SG);
drivers/hwtracing/coresight/coresight-tmc-core.c
71
writel_relaxed(TMC_CTL_CAPT_EN, drvdata->base + TMC_CTL);
drivers/hwtracing/coresight/coresight-tmc-core.c
74
void tmc_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
751
static void register_crash_dev_interface(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-core.c
754
drvdata->crashdev.name =
drivers/hwtracing/coresight/coresight-tmc-core.c
755
devm_kasprintf(&drvdata->csdev->dev, GFP_KERNEL, "%s_%s", "crash", name);
drivers/hwtracing/coresight/coresight-tmc-core.c
756
drvdata->crashdev.minor = MISC_DYNAMIC_MINOR;
drivers/hwtracing/coresight/coresight-tmc-core.c
757
drvdata->crashdev.fops = &tmc_crashdata_fops;
drivers/hwtracing/coresight/coresight-tmc-core.c
758
if (misc_register(&drvdata->crashdev)) {
drivers/hwtracing/coresight/coresight-tmc-core.c
759
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
76
writel_relaxed(0x0, drvdata->base + TMC_CTL);
drivers/hwtracing/coresight/coresight-tmc-core.c
761
drvdata->crashdev.fops = NULL;
drivers/hwtracing/coresight/coresight-tmc-core.c
763
dev_info(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-core.c
773
struct tmc_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tmc-core.c
777
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tmc-core.c
778
if (!drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
781
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
783
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-tmc-core.c
79
u32 tmc_get_memwidth_mask(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-core.c
796
drvdata->base = base;
drivers/hwtracing/coresight/coresight-tmc-core.c
799
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tmc-core.c
801
devid = readl_relaxed(drvdata->base + CORESIGHT_DEVID);
drivers/hwtracing/coresight/coresight-tmc-core.c
802
drvdata->config_type = BMVAL(devid, 6, 7);
drivers/hwtracing/coresight/coresight-tmc-core.c
803
drvdata->memwidth = tmc_get_memwidth(devid);
drivers/hwtracing/coresight/coresight-tmc-core.c
805
drvdata->pid = -1;
drivers/hwtracing/coresight/coresight-tmc-core.c
806
drvdata->etr_mode = ETR_MODE_AUTO;
drivers/hwtracing/coresight/coresight-tmc-core.c
808
if (drvdata->config_type == TMC_CONFIG_TYPE_ETR) {
drivers/hwtracing/coresight/coresight-tmc-core.c
809
drvdata->size = tmc_etr_get_default_buffer_size(dev);
drivers/hwtracing/coresight/coresight-tmc-core.c
810
drvdata->max_burst_size = tmc_etr_get_max_burst_size(dev);
drivers/hwtracing/coresight/coresight-tmc-core.c
812
drvdata->size = readl_relaxed(drvdata->base + TMC_RSZ) * 4;
drivers/hwtracing/coresight/coresight-tmc-core.c
819
switch (drvdata->config_type) {
drivers/hwtracing/coresight/coresight-tmc-core.c
835
idr_init(&drvdata->idr);
drivers/hwtracing/coresight/coresight-tmc-core.c
836
mutex_init(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-core.c
868
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-tmc-core.c
869
if (IS_ERR(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-tmc-core.c
870
ret = PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
874
drvdata->miscdev.name = desc.name;
drivers/hwtracing/coresight/coresight-tmc-core.c
875
drvdata->miscdev.minor = MISC_DYNAMIC_MINOR;
drivers/hwtracing/coresight/coresight-tmc-core.c
876
drvdata->miscdev.fops = &tmc_fops;
drivers/hwtracing/coresight/coresight-tmc-core.c
877
ret = misc_register(&drvdata->miscdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
879
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
884
if (is_tmc_crashdata_valid(drvdata) &&
drivers/hwtracing/coresight/coresight-tmc-core.c
885
!tmc_prepare_crashdata(drvdata))
drivers/hwtracing/coresight/coresight-tmc-core.c
886
register_crash_dev_interface(drvdata, desc.name);
drivers/hwtracing/coresight/coresight-tmc-core.c
904
struct tmc_drvdata *drvdata = amba_get_drvdata(adev);
drivers/hwtracing/coresight/coresight-tmc-core.c
906
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
908
if (coresight_get_mode(drvdata->csdev) == CS_MODE_DISABLED)
drivers/hwtracing/coresight/coresight-tmc-core.c
91
switch (drvdata->memwidth) {
drivers/hwtracing/coresight/coresight-tmc-core.c
911
if (drvdata->config_type == TMC_CONFIG_TYPE_ETR)
drivers/hwtracing/coresight/coresight-tmc-core.c
912
tmc_etr_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-core.c
920
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-core.c
925
struct tmc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tmc-core.c
932
misc_deregister(&drvdata->miscdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
933
if (drvdata->crashdev.fops)
drivers/hwtracing/coresight/coresight-tmc-core.c
934
misc_deregister(&drvdata->crashdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
935
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-core.c
986
struct tmc_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-tmc-core.c
988
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-tmc-core.c
998
struct tmc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
102
static void tmc_etb_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
104
__tmc_etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
105
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
108
static int __tmc_etf_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
112
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
115
rc = tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
117
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-etf.c
119
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
123
writel_relaxed(TMC_MODE_HARDWARE_FIFO, drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
125
drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-etf.c
126
writel_relaxed(0x0, drvdata->base + TMC_BUFWM);
drivers/hwtracing/coresight/coresight-tmc-etf.c
127
tmc_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
129
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
133
static int tmc_etf_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
135
int rc = coresight_claim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
140
rc = __tmc_etf_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
142
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
146
static void tmc_etf_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
148
struct coresight_device *csdev = drvdata->csdev;
drivers/hwtracing/coresight/coresight-tmc-etf.c
150
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
152
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
153
tmc_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
155
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
163
ssize_t tmc_etb_get_sysfs_trace(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etf.c
169
if (pos + actual > drvdata->len)
drivers/hwtracing/coresight/coresight-tmc-etf.c
170
actual = drvdata->len - pos;
drivers/hwtracing/coresight/coresight-tmc-etf.c
172
*bufpp = drvdata->buf + pos;
drivers/hwtracing/coresight/coresight-tmc-etf.c
182
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
188
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
189
if (!drvdata->buf) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
19
static int __tmc_etb_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
190
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
193
buf = kzalloc(drvdata->size, GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tmc-etf.c
198
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
201
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
225
if (drvdata->buf) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
226
memset(drvdata->buf, 0, drvdata->size);
drivers/hwtracing/coresight/coresight-tmc-etf.c
229
drvdata->buf = buf;
drivers/hwtracing/coresight/coresight-tmc-etf.c
231
ret = tmc_etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
24
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
240
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
255
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
259
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
262
if (drvdata->reading)
drivers/hwtracing/coresight/coresight-tmc-etf.c
27
rc = tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
276
if (drvdata->pid != -1 && drvdata->pid != pid) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
289
if (drvdata->pid == pid) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
29
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-etf.c
294
ret = tmc_etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
297
drvdata->pid = pid;
drivers/hwtracing/coresight/coresight-tmc-etf.c
302
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
31
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
336
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
338
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
340
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
341
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
347
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
35
writel_relaxed(TMC_MODE_CIRCULAR_BUFFER, drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
353
tmc_etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
355
drvdata->pid = -1;
drivers/hwtracing/coresight/coresight-tmc-etf.c
358
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
370
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
373
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
374
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
375
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
380
ret = tmc_etf_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
388
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
39
if (drvdata->stop_on_flush)
drivers/hwtracing/coresight/coresight-tmc-etf.c
400
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
403
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
404
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
405
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
41
writel_relaxed(ffcr, drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-etf.c
411
tmc_etf_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
415
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
43
writel_relaxed(drvdata->trigger_cntr, drvdata->base + TMC_TRG);
drivers/hwtracing/coresight/coresight-tmc-etf.c
44
tmc_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
46
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
486
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
496
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
50
static int tmc_etb_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
502
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
504
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
506
read_ptr = tmc_read_rrp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
507
write_ptr = tmc_read_rwp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
513
status = readl_relaxed(drvdata->base + TMC_STS);
drivers/hwtracing/coresight/coresight-tmc-etf.c
516
to_read = drvdata->size;
drivers/hwtracing/coresight/coresight-tmc-etf.c
518
to_read = CIRC_CNT(write_ptr, read_ptr, drvdata->size);
drivers/hwtracing/coresight/coresight-tmc-etf.c
52
int rc = coresight_claim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
529
u32 mask = tmc_get_memwidth_mask(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
537
read_ptr = (write_ptr + drvdata->size) - to_read;
drivers/hwtracing/coresight/coresight-tmc-etf.c
539
if (read_ptr > (drvdata->size - 1))
drivers/hwtracing/coresight/coresight-tmc-etf.c
540
read_ptr -= drvdata->size;
drivers/hwtracing/coresight/coresight-tmc-etf.c
542
tmc_write_rrp(drvdata, read_ptr);
drivers/hwtracing/coresight/coresight-tmc-etf.c
562
*buf_ptr = readl_relaxed(drvdata->base + TMC_RRD);
drivers/hwtracing/coresight/coresight-tmc-etf.c
57
rc = __tmc_etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
59
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etf.c
591
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
598
__tmc_etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
601
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
610
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etf.c
612
mdata = (struct tmc_crash_metadata *)drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc-etf.c
615
if (!tmc_has_reserved_buffer(drvdata) ||
drivers/hwtracing/coresight/coresight-tmc-etf.c
616
!tmc_has_crash_mdata_buffer(drvdata))
drivers/hwtracing/coresight/coresight-tmc-etf.c
619
tmc_crashdata_set_invalid(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
621
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
624
val = readl(drvdata->base + TMC_CTL);
drivers/hwtracing/coresight/coresight-tmc-etf.c
627
val = readl(drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
63
static void tmc_etb_dump_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
631
val = readl(drvdata->base + TMC_FFSR);
drivers/hwtracing/coresight/coresight-tmc-etf.c
636
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
638
tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
641
mdata->tmc_sts = readl(drvdata->base + TMC_STS);
drivers/hwtracing/coresight/coresight-tmc-etf.c
642
mdata->tmc_mode = readl(drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
643
mdata->tmc_ffcr = readl(drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-etf.c
644
mdata->tmc_ffsr = readl(drvdata->base + TMC_FFSR);
drivers/hwtracing/coresight/coresight-tmc-etf.c
647
drvdata->buf = drvdata->resrv_buf.vaddr;
drivers/hwtracing/coresight/coresight-tmc-etf.c
648
tmc_etb_dump_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
650
mdata->tmc_ram_size = drvdata->len >> 2;
drivers/hwtracing/coresight/coresight-tmc-etf.c
655
mdata->tmc_rwp = drvdata->len;
drivers/hwtracing/coresight/coresight-tmc-etf.c
656
mdata->trace_paddr = drvdata->resrv_buf.paddr;
drivers/hwtracing/coresight/coresight-tmc-etf.c
670
mdata->crc32_tdata = find_crash_tracedata_crc(drvdata, mdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
673
tmc_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
677
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
69
lost = readl_relaxed(drvdata->base + TMC_STS) & TMC_STS_FULL;
drivers/hwtracing/coresight/coresight-tmc-etf.c
70
bufp = drvdata->buf;
drivers/hwtracing/coresight/coresight-tmc-etf.c
708
int tmc_read_prepare_etb(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
71
drvdata->len = 0;
drivers/hwtracing/coresight/coresight-tmc-etf.c
715
if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETB &&
drivers/hwtracing/coresight/coresight-tmc-etf.c
716
drvdata->config_type != TMC_CONFIG_TYPE_ETF))
drivers/hwtracing/coresight/coresight-tmc-etf.c
719
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
721
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
727
if (coresight_get_mode(drvdata->csdev) == CS_MODE_PERF) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
73
read_data = readl_relaxed(drvdata->base + TMC_RRD);
drivers/hwtracing/coresight/coresight-tmc-etf.c
733
if (drvdata->buf == NULL) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
739
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
741
mode = readl_relaxed(drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
746
__tmc_etb_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
749
drvdata->reading = true;
drivers/hwtracing/coresight/coresight-tmc-etf.c
751
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
756
int tmc_read_unprepare_etb(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
763
if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETB &&
drivers/hwtracing/coresight/coresight-tmc-etf.c
764
drvdata->config_type != TMC_CONFIG_TYPE_ETF))
drivers/hwtracing/coresight/coresight-tmc-etf.c
767
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
770
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS) {
drivers/hwtracing/coresight/coresight-tmc-etf.c
772
mode = readl_relaxed(drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etf.c
774
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
78
drvdata->len += 4;
drivers/hwtracing/coresight/coresight-tmc-etf.c
785
memset(drvdata->buf, 0, drvdata->size);
drivers/hwtracing/coresight/coresight-tmc-etf.c
790
__tmc_etb_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
796
buf = drvdata->buf;
drivers/hwtracing/coresight/coresight-tmc-etf.c
797
drvdata->buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etf.c
800
drvdata->reading = false;
drivers/hwtracing/coresight/coresight-tmc-etf.c
801
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etf.c
82
coresight_insert_barrier_packet(drvdata->buf);
drivers/hwtracing/coresight/coresight-tmc-etf.c
86
static void __tmc_etb_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etf.c
88
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etf.c
90
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
95
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS)
drivers/hwtracing/coresight/coresight-tmc-etf.c
96
tmc_etb_dump_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
97
tmc_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etf.c
99
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1028
static void tmc_sync_etr_buf(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1030
struct etr_buf *etr_buf = drvdata->etr_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1034
rrp = tmc_read_rrp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1035
rwp = tmc_read_rwp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1036
status = readl_relaxed(drvdata->base + TMC_STS);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1043
dev_dbg(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1057
static int __tmc_etr_enable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1060
struct etr_buf *etr_buf = drvdata->etr_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1063
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1066
rc = tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1068
dev_err(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1070
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1074
writel_relaxed(etr_buf->size / 4, drvdata->base + TMC_RSZ);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1075
writel_relaxed(TMC_MODE_CIRCULAR_BUFFER, drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1077
axictl = readl_relaxed(drvdata->base + TMC_AXICTL);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1080
axictl |= TMC_AXICTL_WR_BURST(drvdata->max_burst_size);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1083
if (tmc_etr_has_cap(drvdata, TMC_ETR_AXI_ARCACHE)) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1091
writel_relaxed(axictl, drvdata->base + TMC_AXICTL);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1092
tmc_write_dba(drvdata, etr_buf->hwaddr);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1098
if (tmc_etr_has_cap(drvdata, TMC_ETR_SAVE_RESTORE)) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1099
tmc_write_rrp(drvdata, etr_buf->hwaddr);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1100
tmc_write_rwp(drvdata, etr_buf->hwaddr);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1101
sts = readl_relaxed(drvdata->base + TMC_STS) & ~TMC_STS_FULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1102
writel_relaxed(sts, drvdata->base + TMC_STS);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1107
if (drvdata->stop_on_flush)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1109
writel_relaxed(ffcr, drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1111
writel_relaxed(drvdata->trigger_cntr, drvdata->base + TMC_TRG);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1112
tmc_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1114
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1118
static int tmc_etr_enable_hw(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1128
WARN_ON(!tmc_etr_has_cap(drvdata, TMC_ETR_SG)))
drivers/hwtracing/coresight/coresight-tmc-etr.c
1131
if (WARN_ON(drvdata->etr_buf))
drivers/hwtracing/coresight/coresight-tmc-etr.c
1134
rc = coresight_claim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1136
drvdata->etr_buf = etr_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1137
rc = __tmc_etr_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1139
drvdata->etr_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1140
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1157
ssize_t tmc_etr_get_sysfs_trace(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1162
struct etr_buf *etr_buf = drvdata->sysfs_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1177
tmc_etr_setup_sysfs_buf(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1179
return tmc_alloc_etr_buf(drvdata, drvdata->size,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1190
static void tmc_etr_sync_sysfs_buf(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1192
struct etr_buf *etr_buf = drvdata->etr_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1194
if (WARN_ON(drvdata->sysfs_buf != etr_buf)) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1195
tmc_etr_free_sysfs_buf(drvdata->sysfs_buf);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1196
drvdata->sysfs_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1198
tmc_sync_etr_buf(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1209
static void __tmc_etr_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1211
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1213
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1218
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1219
tmc_etr_sync_sysfs_buf(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1221
tmc_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1223
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1227
void tmc_etr_disable_hw(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1229
__tmc_etr_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1230
coresight_disclaim_device(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1232
drvdata->etr_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1239
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1250
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1258
sysfs_buf = READ_ONCE(drvdata->sysfs_buf);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1259
if (!sysfs_buf || (sysfs_buf->size != drvdata->size)) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1260
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1263
free_buf = new_buf = tmc_etr_setup_sysfs_buf(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1268
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1271
if (drvdata->reading || coresight_get_mode(csdev) == CS_MODE_PERF) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1280
sysfs_buf = READ_ONCE(drvdata->sysfs_buf);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1283
drvdata->sysfs_buf = new_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1287
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1292
return ret ? ERR_PTR(ret) : drvdata->sysfs_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1299
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1305
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1312
drvdata->sysfs_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1313
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1330
ret = tmc_etr_enable_hw(drvdata, sysfs_buf);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1337
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1372
alloc_etr_buf(struct tmc_drvdata *drvdata, struct perf_event *event,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1390
etr_buf = tmc_alloc_etr_buf(drvdata, size, 0, node, NULL);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1400
get_perf_etr_buf_cpu_wide(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1427
mutex_lock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1428
etr_buf = idr_find(&drvdata->idr, pid);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1431
mutex_unlock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1436
mutex_unlock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1438
etr_buf = alloc_etr_buf(drvdata, event, nr_pages, pages, snapshot);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1443
mutex_lock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1444
ret = idr_alloc(&drvdata->idr, etr_buf, pid, pid + 1, GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1445
mutex_unlock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1464
get_perf_etr_buf_per_thread(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1472
return alloc_etr_buf(drvdata, event, nr_pages, pages, snapshot);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1476
get_perf_etr_buf(struct tmc_drvdata *drvdata, struct perf_event *event,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1480
return get_perf_etr_buf_per_thread(drvdata, event, nr_pages,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1483
return get_perf_etr_buf_cpu_wide(drvdata, event, nr_pages,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1488
tmc_etr_setup_perf_buf(struct tmc_drvdata *drvdata, struct perf_event *event,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1501
etr_buf = get_perf_etr_buf(drvdata, event, nr_pages, pages, snapshot);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1513
etr_perf->drvdata = drvdata;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1525
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1527
etr_perf = tmc_etr_setup_perf_buf(drvdata, event,
drivers/hwtracing/coresight/coresight-tmc-etr.c
1545
struct tmc_drvdata *drvdata = etr_perf->drvdata;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1551
mutex_lock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1554
mutex_unlock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1559
buf = idr_remove(&drvdata->idr, etr_perf->pid);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1560
mutex_unlock(&drvdata->idr_mutex);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1641
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1646
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1650
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1654
if (WARN_ON(drvdata->perf_buf != etr_buf)) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1656
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1660
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1662
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1663
tmc_sync_etr_buf(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1665
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1666
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1680
u32 mask = tmc_get_memwidth_mask(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1718
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1720
__tmc_etr_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1721
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1741
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1745
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1761
if (drvdata->pid != -1 && drvdata->pid != pid) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1770
if (drvdata->pid == pid) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1775
rc = tmc_etr_enable_hw(drvdata, etr_perf->etr_buf);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1778
drvdata->pid = pid;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1780
drvdata->perf_buf = etr_perf->etr_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1785
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1806
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1808
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1810
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1811
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1817
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1823
tmc_etr_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1825
drvdata->pid = -1;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1828
drvdata->perf_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1830
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1840
struct tmc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1842
mdata = (struct tmc_crash_metadata *)drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1844
if (!drvdata->etr_buf)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1848
if (drvdata->etr_buf->mode != ETR_MODE_RESRV)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1851
if (!tmc_has_crash_mdata_buffer(drvdata))
drivers/hwtracing/coresight/coresight-tmc-etr.c
1854
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1857
val = readl(drvdata->base + TMC_CTL);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1861
val = readl(drvdata->base + TMC_FFSR);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1866
tmc_flush_and_stop(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1868
tmc_wait_for_tmcready(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1871
mdata->tmc_ram_size = readl(drvdata->base + TMC_RSZ);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1872
mdata->tmc_sts = readl(drvdata->base + TMC_STS);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1873
mdata->tmc_mode = readl(drvdata->base + TMC_MODE);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1874
mdata->tmc_ffcr = readl(drvdata->base + TMC_FFCR);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1875
mdata->tmc_ffsr = readl(drvdata->base + TMC_FFSR);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1876
mdata->tmc_rrp = tmc_read_rrp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1877
mdata->tmc_rwp = tmc_read_rwp(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1878
mdata->tmc_dba = tmc_read_dba(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1879
mdata->trace_paddr = drvdata->resrv_buf.paddr;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1892
mdata->crc32_tdata = find_crash_tracedata_crc(drvdata, mdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1895
tmc_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1899
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1921
int tmc_read_prepare_etr(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1927
if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETR))
drivers/hwtracing/coresight/coresight-tmc-etr.c
1930
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1931
if (drvdata->reading) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1941
if (!drvdata->sysfs_buf) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1947
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1948
__tmc_etr_disable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1950
drvdata->reading = true;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1952
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1957
int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
1963
if (WARN_ON_ONCE(drvdata->config_type != TMC_CONFIG_TYPE_ETR))
drivers/hwtracing/coresight/coresight-tmc-etr.c
1966
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1969
if (coresight_get_mode(drvdata->csdev) == CS_MODE_SYSFS) {
drivers/hwtracing/coresight/coresight-tmc-etr.c
1975
__tmc_etr_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
1981
sysfs_buf = drvdata->sysfs_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1982
drvdata->sysfs_buf = NULL;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1985
drvdata->reading = false;
drivers/hwtracing/coresight/coresight-tmc-etr.c
1986
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2029
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2031
return sysfs_emit(buf, "%s\n", buf_modes_str[drvdata->etr_mode]);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2034
static int buf_mode_set_resrv(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
2040
rbuf = &drvdata->resrv_buf;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2043
raw_spin_lock_irqsave(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2045
tmc_crashdata_set_invalid(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2047
drvdata->etr_mode = ETR_MODE_RESRV;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2050
raw_spin_unlock_irqrestore(&drvdata->spinlock, flags);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2058
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
2063
drvdata->etr_mode = ETR_MODE_FLAT;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2065
drvdata->etr_mode = ETR_MODE_ETR_SG;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2067
drvdata->etr_mode = ETR_MODE_CATU;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2069
return buf_mode_set_resrv(drvdata) ? : size;
drivers/hwtracing/coresight/coresight-tmc-etr.c
2071
drvdata->etr_mode = ETR_MODE_AUTO;
drivers/hwtracing/coresight/coresight-tmc-etr.c
47
struct tmc_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tmc-etr.c
602
static int tmc_etr_alloc_flat_buf(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
607
struct device *real_dev = drvdata->csdev->dev.parent;
drivers/hwtracing/coresight/coresight-tmc-etr.c
627
flat_buf->dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-tmc-etr.c
700
static int tmc_etr_alloc_resrv_buf(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
705
struct device *real_dev = drvdata->csdev->dev.parent;
drivers/hwtracing/coresight/coresight-tmc-etr.c
715
resrv_buf->daddr = dma_map_resource(real_dev, drvdata->resrv_buf.paddr,
drivers/hwtracing/coresight/coresight-tmc-etr.c
716
drvdata->resrv_buf.size,
drivers/hwtracing/coresight/coresight-tmc-etr.c
724
resrv_buf->vaddr = drvdata->resrv_buf.vaddr;
drivers/hwtracing/coresight/coresight-tmc-etr.c
725
resrv_buf->size = etr_buf->size = drvdata->resrv_buf.size;
drivers/hwtracing/coresight/coresight-tmc-etr.c
726
resrv_buf->dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-tmc-etr.c
770
static int tmc_etr_alloc_sg_buf(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
775
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-tmc-etr.c
853
tmc_etr_get_catu_device(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc-etr.c
855
struct coresight_device *etr = drvdata->csdev;
drivers/hwtracing/coresight/coresight-tmc-etr.c
887
static int tmc_etr_mode_alloc_buf(int mode, struct tmc_drvdata *drvdata, struct etr_buf *etr_buf,
drivers/hwtracing/coresight/coresight-tmc-etr.c
898
rc = etr_buf_ops[mode]->alloc(drvdata, etr_buf,
drivers/hwtracing/coresight/coresight-tmc-etr.c
910
struct tmc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tmc-etr.c
913
buf_hw->has_etr_sg = tmc_etr_has_cap(drvdata, TMC_ETR_SG);
drivers/hwtracing/coresight/coresight-tmc-etr.c
914
buf_hw->has_catu = !!tmc_etr_get_catu_device(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
915
buf_hw->has_resrv = tmc_has_reserved_buffer(drvdata);
drivers/hwtracing/coresight/coresight-tmc-etr.c
933
static struct etr_buf *tmc_alloc_etr_buf(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
940
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/coresight-tmc-etr.c
950
if (drvdata->etr_mode != ETR_MODE_AUTO)
drivers/hwtracing/coresight/coresight-tmc-etr.c
951
rc = tmc_etr_mode_alloc_buf(drvdata->etr_mode, drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
967
rc = tmc_etr_mode_alloc_buf(ETR_MODE_FLAT, drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
970
rc = tmc_etr_mode_alloc_buf(ETR_MODE_ETR_SG, drvdata,
drivers/hwtracing/coresight/coresight-tmc-etr.c
973
rc = tmc_etr_mode_alloc_buf(ETR_MODE_CATU, drvdata,
drivers/hwtracing/coresight/coresight-tmc.h
281
int (*alloc)(struct tmc_drvdata *drvdata, struct etr_buf *etr_buf,
drivers/hwtracing/coresight/coresight-tmc.h
322
int tmc_wait_for_tmcready(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
323
void tmc_flush_and_stop(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
324
void tmc_enable_hw(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
325
void tmc_disable_hw(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
326
u32 tmc_get_memwidth_mask(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
327
int tmc_read_prepare_crashdata(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
330
int tmc_read_prepare_etb(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
331
int tmc_read_unprepare_etb(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
335
ssize_t tmc_etb_get_sysfs_trace(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc.h
338
int tmc_read_prepare_etr(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
339
int tmc_read_unprepare_etr(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
340
void tmc_etr_disable_hw(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tmc.h
342
ssize_t tmc_etr_get_sysfs_trace(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc.h
348
tmc_read_##name(struct tmc_drvdata *drvdata) \
drivers/hwtracing/coresight/coresight-tmc.h
350
return csdev_access_relaxed_read_pair(&drvdata->csdev->access, lo_off, hi_off); \
drivers/hwtracing/coresight/coresight-tmc.h
353
tmc_write_##name(struct tmc_drvdata *drvdata, u64 val) \
drivers/hwtracing/coresight/coresight-tmc.h
355
csdev_access_relaxed_write_pair(&drvdata->csdev->access, val, lo_off, hi_off); \
drivers/hwtracing/coresight/coresight-tmc.h
363
static inline void tmc_etr_init_caps(struct tmc_drvdata *drvdata, u32 dev_caps)
drivers/hwtracing/coresight/coresight-tmc.h
365
WARN_ON(drvdata->etr_caps);
drivers/hwtracing/coresight/coresight-tmc.h
366
drvdata->etr_caps = dev_caps;
drivers/hwtracing/coresight/coresight-tmc.h
369
static inline void tmc_etr_set_cap(struct tmc_drvdata *drvdata, u32 cap)
drivers/hwtracing/coresight/coresight-tmc.h
371
drvdata->etr_caps |= cap;
drivers/hwtracing/coresight/coresight-tmc.h
374
static inline bool tmc_etr_has_cap(struct tmc_drvdata *drvdata, u32 cap)
drivers/hwtracing/coresight/coresight-tmc.h
376
return !!(drvdata->etr_caps & cap);
drivers/hwtracing/coresight/coresight-tmc.h
397
static inline bool tmc_has_reserved_buffer(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc.h
399
if (drvdata->resrv_buf.vaddr &&
drivers/hwtracing/coresight/coresight-tmc.h
400
drvdata->resrv_buf.size)
drivers/hwtracing/coresight/coresight-tmc.h
405
static inline bool tmc_has_crash_mdata_buffer(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc.h
407
if (drvdata->crash_mdata.vaddr &&
drivers/hwtracing/coresight/coresight-tmc.h
408
drvdata->crash_mdata.size)
drivers/hwtracing/coresight/coresight-tmc.h
413
static inline void tmc_crashdata_set_invalid(struct tmc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tmc.h
417
mdata = (struct tmc_crash_metadata *)drvdata->crash_mdata.vaddr;
drivers/hwtracing/coresight/coresight-tmc.h
419
if (tmc_has_crash_mdata_buffer(drvdata))
drivers/hwtracing/coresight/coresight-tmc.h
432
static inline uint32_t find_crash_tracedata_crc(struct tmc_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tmc.h
439
return crc32_le(0, (void *)drvdata->resrv_buf.vaddr, crc_size);
drivers/hwtracing/coresight/coresight-tmc.h
442
struct coresight_device *tmc_etr_get_catu_device(struct tmc_drvdata *drvdata);
drivers/hwtracing/coresight/coresight-tnoc.c
100
struct trace_noc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tnoc.c
102
scoped_guard(spinlock, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-tnoc.c
104
writel(0x0, drvdata->base + TRACE_NOC_CTRL);
drivers/hwtracing/coresight/coresight-tnoc.c
106
dev_dbg(drvdata->dev, "Trace NOC is disabled\n");
drivers/hwtracing/coresight/coresight-tnoc.c
112
struct trace_noc_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tnoc.c
114
drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tnoc.c
116
return drvdata->atid;
drivers/hwtracing/coresight/coresight-tnoc.c
129
static int trace_noc_init_default_data(struct trace_noc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tnoc.c
133
if (!dev_is_amba(drvdata->dev)) {
drivers/hwtracing/coresight/coresight-tnoc.c
134
drvdata->atid = -EOPNOTSUPP;
drivers/hwtracing/coresight/coresight-tnoc.c
142
drvdata->atid = atid;
drivers/hwtracing/coresight/coresight-tnoc.c
151
struct trace_noc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tnoc.c
153
val = drvdata->atid;
drivers/hwtracing/coresight/coresight-tnoc.c
167
struct trace_noc_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tnoc.c
169
if (attr == &dev_attr_traceid.attr && drvdata->atid < 0)
drivers/hwtracing/coresight/coresight-tnoc.c
188
struct trace_noc_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tnoc.c
201
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tnoc.c
202
if (!drvdata)
drivers/hwtracing/coresight/coresight-tnoc.c
205
drvdata->dev = dev;
drivers/hwtracing/coresight/coresight-tnoc.c
206
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-tnoc.c
208
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, NULL);
drivers/hwtracing/coresight/coresight-tnoc.c
212
drvdata->base = devm_ioremap_resource(dev, res);
drivers/hwtracing/coresight/coresight-tnoc.c
213
if (IS_ERR(drvdata->base))
drivers/hwtracing/coresight/coresight-tnoc.c
214
return PTR_ERR(drvdata->base);
drivers/hwtracing/coresight/coresight-tnoc.c
216
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tnoc.c
218
ret = trace_noc_init_default_data(drvdata);
drivers/hwtracing/coresight/coresight-tnoc.c
227
desc.access = CSDEV_ACCESS_IOMEM(drvdata->base);
drivers/hwtracing/coresight/coresight-tnoc.c
229
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-tnoc.c
230
if (IS_ERR(drvdata->csdev)) {
drivers/hwtracing/coresight/coresight-tnoc.c
231
if (drvdata->atid > 0)
drivers/hwtracing/coresight/coresight-tnoc.c
232
coresight_trace_id_put_system_id(drvdata->atid);
drivers/hwtracing/coresight/coresight-tnoc.c
233
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tnoc.c
252
struct trace_noc_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-tnoc.c
254
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tnoc.c
255
coresight_trace_id_put_system_id(drvdata->atid);
drivers/hwtracing/coresight/coresight-tnoc.c
300
struct trace_noc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/coresight-tnoc.c
302
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tnoc.c
309
struct trace_noc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tnoc.c
311
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tnoc.c
318
struct trace_noc_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tnoc.c
320
return clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tnoc.c
50
static void trace_noc_enable_hw(struct trace_noc_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tnoc.c
55
if (drvdata->atid == -EOPNOTSUPP) {
drivers/hwtracing/coresight/coresight-tnoc.c
56
writel(TRACE_NOC_CTRL_PORTEN, drvdata->base + TRACE_NOC_CTRL);
drivers/hwtracing/coresight/coresight-tnoc.c
61
writel_relaxed(drvdata->atid, drvdata->base + TRACE_NOC_XLD);
drivers/hwtracing/coresight/coresight-tnoc.c
64
writel_relaxed(TRACE_NOC_SYNC_INTERVAL, drvdata->base + TRACE_NOC_SYNCR);
drivers/hwtracing/coresight/coresight-tnoc.c
72
val = readl_relaxed(drvdata->base + TRACE_NOC_CTRL);
drivers/hwtracing/coresight/coresight-tnoc.c
78
writel(val, drvdata->base + TRACE_NOC_CTRL);
drivers/hwtracing/coresight/coresight-tnoc.c
84
struct trace_noc_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tnoc.c
86
scoped_guard(spinlock, &drvdata->spinlock) {
drivers/hwtracing/coresight/coresight-tnoc.c
88
trace_noc_enable_hw(drvdata);
drivers/hwtracing/coresight/coresight-tnoc.c
93
dev_dbg(drvdata->dev, "Trace NOC is enabled\n");
drivers/hwtracing/coresight/coresight-tpda.c
119
if (drvdata->dsb_esize || drvdata->cmb_esize)
drivers/hwtracing/coresight/coresight-tpda.c
121
rc = tpdm_read_element_size(drvdata, in);
drivers/hwtracing/coresight/coresight-tpda.c
126
rc = tpda_get_element_size(drvdata, in, -1);
drivers/hwtracing/coresight/coresight-tpda.c
136
static void tpda_enable_pre_port(struct tpda_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpda.c
140
val |= FIELD_PREP(TPDA_CR_ATID, drvdata->atid);
drivers/hwtracing/coresight/coresight-tpda.c
141
if (drvdata->trig_async)
drivers/hwtracing/coresight/coresight-tpda.c
144
if (drvdata->trig_flag_ts)
drivers/hwtracing/coresight/coresight-tpda.c
147
if (drvdata->trig_freq)
drivers/hwtracing/coresight/coresight-tpda.c
150
if (drvdata->freq_ts)
drivers/hwtracing/coresight/coresight-tpda.c
153
if (drvdata->cmbchan_mode)
drivers/hwtracing/coresight/coresight-tpda.c
156
writel_relaxed(val, drvdata->base + TPDA_CR);
drivers/hwtracing/coresight/coresight-tpda.c
162
if (drvdata->trig_flag_ts)
drivers/hwtracing/coresight/coresight-tpda.c
163
writel_relaxed(0x0, drvdata->base + TPDA_FPID_CR);
drivers/hwtracing/coresight/coresight-tpda.c
167
if (drvdata->syncr_mode)
drivers/hwtracing/coresight/coresight-tpda.c
170
if (drvdata->syncr_count > 0 &&
drivers/hwtracing/coresight/coresight-tpda.c
171
drvdata->syncr_count < TPDA_SYNCR_COUNT_MASK)
drivers/hwtracing/coresight/coresight-tpda.c
172
val |= drvdata->syncr_count;
drivers/hwtracing/coresight/coresight-tpda.c
177
writel_relaxed(val, drvdata->base + TPDA_SYNCR);
drivers/hwtracing/coresight/coresight-tpda.c
180
static int tpda_enable_port(struct tpda_drvdata *drvdata, int port)
drivers/hwtracing/coresight/coresight-tpda.c
185
val = readl_relaxed(drvdata->base + TPDA_Pn_CR(port));
drivers/hwtracing/coresight/coresight-tpda.c
186
tpda_clear_element_size(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpda.c
187
rc = tpda_get_element_size(drvdata, drvdata->csdev, port);
drivers/hwtracing/coresight/coresight-tpda.c
188
if (!rc && (drvdata->dsb_esize || drvdata->cmb_esize)) {
drivers/hwtracing/coresight/coresight-tpda.c
189
tpda_set_element_size(drvdata, &val);
drivers/hwtracing/coresight/coresight-tpda.c
192
writel_relaxed(val, drvdata->base + TPDA_Pn_CR(port));
drivers/hwtracing/coresight/coresight-tpda.c
194
dev_warn_once(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tpda.c
197
dev_warn_once(&drvdata->csdev->dev,
drivers/hwtracing/coresight/coresight-tpda.c
203
static int __tpda_enable(struct tpda_drvdata *drvdata, int port)
drivers/hwtracing/coresight/coresight-tpda.c
207
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
213
lockdep_assert_held(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
214
if (!drvdata->csdev->refcnt)
drivers/hwtracing/coresight/coresight-tpda.c
215
tpda_enable_pre_port(drvdata);
drivers/hwtracing/coresight/coresight-tpda.c
217
ret = tpda_enable_port(drvdata, port);
drivers/hwtracing/coresight/coresight-tpda.c
218
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
227
struct tpda_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpda.c
230
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
232
ret = __tpda_enable(drvdata, in->dest_port);
drivers/hwtracing/coresight/coresight-tpda.c
236
dev_dbg(drvdata->dev, "TPDA inport %d enabled.\n", in->dest_port);
drivers/hwtracing/coresight/coresight-tpda.c
240
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
244
static void __tpda_disable(struct tpda_drvdata *drvdata, int port)
drivers/hwtracing/coresight/coresight-tpda.c
248
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
25
struct tpda_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpda.c
250
val = readl_relaxed(drvdata->base + TPDA_Pn_CR(port));
drivers/hwtracing/coresight/coresight-tpda.c
252
writel_relaxed(val, drvdata->base + TPDA_Pn_CR(port));
drivers/hwtracing/coresight/coresight-tpda.c
254
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
261
struct tpda_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpda.c
263
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
265
__tpda_disable(drvdata, in->dest_port);
drivers/hwtracing/coresight/coresight-tpda.c
268
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
27
drvdata->dsb_esize = 0;
drivers/hwtracing/coresight/coresight-tpda.c
270
dev_dbg(drvdata->dev, "TPDA inport %d disabled\n", in->dest_port);
drivers/hwtracing/coresight/coresight-tpda.c
276
struct tpda_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tpda.c
278
drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpda.c
28
drvdata->cmb_esize = 0;
drivers/hwtracing/coresight/coresight-tpda.c
280
return drvdata->atid;
drivers/hwtracing/coresight/coresight-tpda.c
300
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
302
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
305
return sysfs_emit(buf, "%u\n", (unsigned int)drvdata->freq_ts);
drivers/hwtracing/coresight/coresight-tpda.c
307
return sysfs_emit(buf, "%u\n", (unsigned int)drvdata->trig_freq);
drivers/hwtracing/coresight/coresight-tpda.c
309
return sysfs_emit(buf, "%u\n", (unsigned int)drvdata->trig_flag_ts);
drivers/hwtracing/coresight/coresight-tpda.c
31
static void tpda_set_element_size(struct tpda_drvdata *drvdata, u32 *val)
drivers/hwtracing/coresight/coresight-tpda.c
311
return sysfs_emit(buf, "%u\n", (unsigned int)drvdata->trig_async);
drivers/hwtracing/coresight/coresight-tpda.c
313
return sysfs_emit(buf, "%u\n", (unsigned int)drvdata->cmbchan_mode);
drivers/hwtracing/coresight/coresight-tpda.c
326
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
332
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
335
drvdata->freq_ts = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
338
drvdata->trig_freq = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
341
drvdata->trig_flag_ts = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
344
drvdata->trig_async = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
347
drvdata->cmbchan_mode = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
36
if (drvdata->dsb_esize == 64)
drivers/hwtracing/coresight/coresight-tpda.c
360
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
363
if (!drvdata->csdev->refcnt)
drivers/hwtracing/coresight/coresight-tpda.c
366
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
367
val = readl_relaxed(drvdata->base + TPDA_CR);
drivers/hwtracing/coresight/coresight-tpda.c
379
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
38
else if (drvdata->dsb_esize == 32)
drivers/hwtracing/coresight/coresight-tpda.c
385
if (!drvdata->csdev->refcnt || !val)
drivers/hwtracing/coresight/coresight-tpda.c
388
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
389
val = readl_relaxed(drvdata->base + TPDA_CR);
drivers/hwtracing/coresight/coresight-tpda.c
392
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
393
writel_relaxed(val, drvdata->base + TPDA_CR);
drivers/hwtracing/coresight/coresight-tpda.c
394
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
404
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
407
if (!drvdata->csdev->refcnt)
drivers/hwtracing/coresight/coresight-tpda.c
41
if (drvdata->cmb_esize == 64)
drivers/hwtracing/coresight/coresight-tpda.c
410
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
411
syncr_val = readl_relaxed(drvdata->base + TPDA_SYNCR);
drivers/hwtracing/coresight/coresight-tpda.c
422
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
428
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
43
else if (drvdata->cmb_esize == 32)
drivers/hwtracing/coresight/coresight-tpda.c
430
drvdata->syncr_mode = !!val;
drivers/hwtracing/coresight/coresight-tpda.c
440
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
443
if (!drvdata->csdev->refcnt)
drivers/hwtracing/coresight/coresight-tpda.c
446
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
447
val = readl_relaxed(drvdata->base + TPDA_SYNCR);
drivers/hwtracing/coresight/coresight-tpda.c
45
else if (drvdata->cmb_esize == 8)
drivers/hwtracing/coresight/coresight-tpda.c
458
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
467
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
468
drvdata->syncr_count = val;
drivers/hwtracing/coresight/coresight-tpda.c
478
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
481
if (!drvdata->csdev->refcnt)
drivers/hwtracing/coresight/coresight-tpda.c
484
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
485
val = readl_relaxed(drvdata->base + TPDA_FLUSH_CR);
drivers/hwtracing/coresight/coresight-tpda.c
495
struct tpda_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpda.c
501
if (!drvdata->csdev->refcnt || !val)
drivers/hwtracing/coresight/coresight-tpda.c
504
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
505
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
506
writel_relaxed(val, drvdata->base + TPDA_FLUSH_CR);
drivers/hwtracing/coresight/coresight-tpda.c
507
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpda.c
535
static int tpda_init_default_data(struct tpda_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpda.c
549
drvdata->atid = atid;
drivers/hwtracing/coresight/coresight-tpda.c
550
drvdata->freq_ts = true;
drivers/hwtracing/coresight/coresight-tpda.c
559
struct tpda_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tpda.c
56
static int tpdm_read_element_size(struct tpda_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tpda.c
568
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpda.c
569
if (!drvdata)
drivers/hwtracing/coresight/coresight-tpda.c
572
drvdata->dev = &adev->dev;
drivers/hwtracing/coresight/coresight-tpda.c
573
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-tpda.c
578
drvdata->base = base;
drivers/hwtracing/coresight/coresight-tpda.c
580
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpda.c
582
ret = tpda_init_default_data(drvdata);
drivers/hwtracing/coresight/coresight-tpda.c
596
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-tpda.c
597
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-tpda.c
598
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpda.c
602
dev_dbg(drvdata->dev, "TPDA initialized\n");
drivers/hwtracing/coresight/coresight-tpda.c
608
struct tpda_drvdata *drvdata = dev_get_drvdata(&adev->dev);
drivers/hwtracing/coresight/coresight-tpda.c
610
coresight_trace_id_put_system_id(drvdata->atid);
drivers/hwtracing/coresight/coresight-tpda.c
611
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpda.c
64
"qcom,dsb-element-bits", &drvdata->dsb_esize);
drivers/hwtracing/coresight/coresight-tpda.c
71
"qcom,cmb-element-bits", &drvdata->cmb_esize);
drivers/hwtracing/coresight/coresight-tpda.c
90
static int tpda_get_element_size(struct tpda_drvdata *drvdata,
drivers/hwtracing/coresight/coresight-tpdm.c
1001
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1003
return sysfs_emit(buf, "%x\n", drvdata->cmb->trace_mode);
drivers/hwtracing/coresight/coresight-tpdm.c
101
drvdata->cmb->patt_mask[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
1012
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1018
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1019
drvdata->cmb->trace_mode = trace_mode;
drivers/hwtracing/coresight/coresight-tpdm.c
1020
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1029
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
103
if (tpdm_attr->idx >= drvdata->cmb_msr_num)
drivers/hwtracing/coresight/coresight-tpdm.c
1032
(unsigned int)drvdata->cmb->ts_all);
drivers/hwtracing/coresight/coresight-tpdm.c
1040
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1046
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1048
drvdata->cmb->ts_all = true;
drivers/hwtracing/coresight/coresight-tpdm.c
1050
drvdata->cmb->ts_all = false;
drivers/hwtracing/coresight/coresight-tpdm.c
106
drvdata->cmb->msr[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
1060
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1063
(unsigned int)drvdata->cmb->trig_ts);
drivers/hwtracing/coresight/coresight-tpdm.c
1071
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1077
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1079
drvdata->cmb->trig_ts = true;
drivers/hwtracing/coresight/coresight-tpdm.c
1081
drvdata->cmb->trig_ts = false;
drivers/hwtracing/coresight/coresight-tpdm.c
1091
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1094
(unsigned int)drvdata->cmb->mcmb.trig_lane);
drivers/hwtracing/coresight/coresight-tpdm.c
1102
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1108
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1109
drvdata->cmb->mcmb.trig_lane = val;
drivers/hwtracing/coresight/coresight-tpdm.c
1119
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1122
(unsigned int)drvdata->cmb->mcmb.lane_select);
drivers/hwtracing/coresight/coresight-tpdm.c
1130
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
1136
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1137
drvdata->cmb->mcmb.lane_select = val & TPDM_MCMB_E_LN_MASK;
drivers/hwtracing/coresight/coresight-tpdm.c
120
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
127
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
131
drvdata->dsb->trig_patt[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
137
drvdata->dsb->trig_patt_mask[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
1407
struct tpdm_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tpdm.c
1417
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpdm.c
1418
if (!drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
1420
drvdata->dev = dev;
drivers/hwtracing/coresight/coresight-tpdm.c
1421
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
1428
drvdata->base = base;
drivers/hwtracing/coresight/coresight-tpdm.c
1429
ret = tpdm_datasets_setup(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
143
drvdata->dsb->patt_val[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
1434
if (tpdm_has_dsb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
1435
of_property_read_u32(drvdata->dev->of_node,
drivers/hwtracing/coresight/coresight-tpdm.c
1436
"qcom,dsb-msrs-num", &drvdata->dsb_msr_num);
drivers/hwtracing/coresight/coresight-tpdm.c
1438
if (tpdm_has_cmb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
1439
of_property_read_u32(drvdata->dev->of_node,
drivers/hwtracing/coresight/coresight-tpdm.c
1440
"qcom,cmb-msrs-num", &drvdata->cmb_msr_num);
drivers/hwtracing/coresight/coresight-tpdm.c
1442
ret = static_tpdm_datasets_setup(drvdata, dev);
drivers/hwtracing/coresight/coresight-tpdm.c
1460
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-tpdm.c
1461
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-tpdm.c
1462
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpdm.c
1464
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
1471
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tpdm.c
1473
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpdm.c
149
drvdata->dsb->patt_mask[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
1538
struct tpdm_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-tpdm.c
154
if (tpdm_attr->idx < drvdata->dsb_msr_num) {
drivers/hwtracing/coresight/coresight-tpdm.c
1540
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
155
drvdata->dsb->msr[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
161
drvdata->cmb->trig_patt[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
167
drvdata->cmb->trig_patt_mask[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
173
drvdata->cmb->patt_val[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
179
drvdata->cmb->patt_mask[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
184
if (tpdm_attr->idx < drvdata->cmb_msr_num) {
drivers/hwtracing/coresight/coresight-tpdm.c
185
drvdata->cmb->msr[tpdm_attr->idx] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
200
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
202
if (drvdata && tpdm_has_dsb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
212
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
214
if (drvdata && drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
22
static bool tpdm_has_dsb_dataset(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
224
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
230
if (tpdm_attr->idx < drvdata->dsb_msr_num)
drivers/hwtracing/coresight/coresight-tpdm.c
24
return (drvdata->datasets & TPDM_PIDR0_DS_DSB);
drivers/hwtracing/coresight/coresight-tpdm.c
240
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
247
if (tpdm_attr->idx < drvdata->cmb_msr_num)
drivers/hwtracing/coresight/coresight-tpdm.c
257
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
259
if (drvdata && tpdm_has_mcmb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
265
static void tpdm_reset_datasets(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
267
if (tpdm_has_dsb_dataset(drvdata)) {
drivers/hwtracing/coresight/coresight-tpdm.c
268
memset(drvdata->dsb, 0, sizeof(struct dsb_dataset));
drivers/hwtracing/coresight/coresight-tpdm.c
27
static bool tpdm_has_cmb_dataset(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
270
drvdata->dsb->trig_ts = true;
drivers/hwtracing/coresight/coresight-tpdm.c
271
drvdata->dsb->trig_type = false;
drivers/hwtracing/coresight/coresight-tpdm.c
274
if (drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
275
memset(drvdata->cmb, 0, sizeof(struct cmb_dataset));
drivers/hwtracing/coresight/coresight-tpdm.c
278
static void set_dsb_mode(struct tpdm_drvdata *drvdata, u32 *val)
drivers/hwtracing/coresight/coresight-tpdm.c
283
mode = TPDM_DSB_MODE_TEST(drvdata->dsb->mode);
drivers/hwtracing/coresight/coresight-tpdm.c
288
mode = TPDM_DSB_MODE_HPBYTESEL(drvdata->dsb->mode);
drivers/hwtracing/coresight/coresight-tpdm.c
29
return (drvdata->datasets & TPDM_PIDR0_DS_CMB);
drivers/hwtracing/coresight/coresight-tpdm.c
293
if (drvdata->dsb->mode & TPDM_DSB_MODE_PERF)
drivers/hwtracing/coresight/coresight-tpdm.c
299
static void set_dsb_tier(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
303
val = readl_relaxed(drvdata->base + TPDM_DSB_TIER);
drivers/hwtracing/coresight/coresight-tpdm.c
310
if (drvdata->dsb->patt_ts) {
drivers/hwtracing/coresight/coresight-tpdm.c
312
if (drvdata->dsb->patt_type)
drivers/hwtracing/coresight/coresight-tpdm.c
32
static bool tpdm_has_mcmb_dataset(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
321
if (drvdata->dsb->trig_ts)
drivers/hwtracing/coresight/coresight-tpdm.c
326
writel_relaxed(val, drvdata->base + TPDM_DSB_TIER);
drivers/hwtracing/coresight/coresight-tpdm.c
329
static void set_dsb_msr(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
333
for (i = 0; i < drvdata->dsb_msr_num; i++)
drivers/hwtracing/coresight/coresight-tpdm.c
334
writel_relaxed(drvdata->dsb->msr[i],
drivers/hwtracing/coresight/coresight-tpdm.c
335
drvdata->base + TPDM_DSB_MSR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
338
static void tpdm_enable_dsb(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
34
return (drvdata->datasets & TPDM_PIDR0_DS_MCMB);
drivers/hwtracing/coresight/coresight-tpdm.c
342
if (!tpdm_has_dsb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
346
writel_relaxed(drvdata->dsb->edge_ctrl[i],
drivers/hwtracing/coresight/coresight-tpdm.c
347
drvdata->base + TPDM_DSB_EDCR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
349
writel_relaxed(drvdata->dsb->edge_ctrl_mask[i],
drivers/hwtracing/coresight/coresight-tpdm.c
350
drvdata->base + TPDM_DSB_EDCMR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
352
writel_relaxed(drvdata->dsb->patt_val[i],
drivers/hwtracing/coresight/coresight-tpdm.c
353
drvdata->base + TPDM_DSB_TPR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
354
writel_relaxed(drvdata->dsb->patt_mask[i],
drivers/hwtracing/coresight/coresight-tpdm.c
355
drvdata->base + TPDM_DSB_TPMR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
356
writel_relaxed(drvdata->dsb->trig_patt[i],
drivers/hwtracing/coresight/coresight-tpdm.c
357
drvdata->base + TPDM_DSB_XPR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
358
writel_relaxed(drvdata->dsb->trig_patt_mask[i],
drivers/hwtracing/coresight/coresight-tpdm.c
359
drvdata->base + TPDM_DSB_XPMR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
362
set_dsb_tier(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
363
set_dsb_msr(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
365
val = readl_relaxed(drvdata->base + TPDM_DSB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
367
set_dsb_mode(drvdata, &val);
drivers/hwtracing/coresight/coresight-tpdm.c
369
if (drvdata->dsb->trig_type)
drivers/hwtracing/coresight/coresight-tpdm.c
375
writel_relaxed(val, drvdata->base + TPDM_DSB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
378
static void set_cmb_tier(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
382
val = readl_relaxed(drvdata->base + TPDM_CMB_TIER);
drivers/hwtracing/coresight/coresight-tpdm.c
389
if (drvdata->cmb->patt_ts)
drivers/hwtracing/coresight/coresight-tpdm.c
393
if (drvdata->cmb->trig_ts)
drivers/hwtracing/coresight/coresight-tpdm.c
397
if (drvdata->cmb->ts_all)
drivers/hwtracing/coresight/coresight-tpdm.c
400
writel_relaxed(val, drvdata->base + TPDM_CMB_TIER);
drivers/hwtracing/coresight/coresight-tpdm.c
403
static void set_cmb_msr(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
407
for (i = 0; i < drvdata->cmb_msr_num; i++)
drivers/hwtracing/coresight/coresight-tpdm.c
408
writel_relaxed(drvdata->cmb->msr[i],
drivers/hwtracing/coresight/coresight-tpdm.c
409
drvdata->base + TPDM_CMB_MSR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
412
static void tpdm_enable_cmb(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
416
if (!drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
42
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
421
writel_relaxed(drvdata->cmb->patt_val[i],
drivers/hwtracing/coresight/coresight-tpdm.c
422
drvdata->base + TPDM_CMB_TPR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
423
writel_relaxed(drvdata->cmb->patt_mask[i],
drivers/hwtracing/coresight/coresight-tpdm.c
424
drvdata->base + TPDM_CMB_TPMR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
425
writel_relaxed(drvdata->cmb->trig_patt[i],
drivers/hwtracing/coresight/coresight-tpdm.c
426
drvdata->base + TPDM_CMB_XPR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
427
writel_relaxed(drvdata->cmb->trig_patt_mask[i],
drivers/hwtracing/coresight/coresight-tpdm.c
428
drvdata->base + TPDM_CMB_XPMR(i));
drivers/hwtracing/coresight/coresight-tpdm.c
431
set_cmb_tier(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
432
set_cmb_msr(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
434
val = readl_relaxed(drvdata->base + TPDM_CMB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
439
if (drvdata->cmb->trace_mode)
drivers/hwtracing/coresight/coresight-tpdm.c
444
if (tpdm_has_mcmb_dataset(drvdata)) {
drivers/hwtracing/coresight/coresight-tpdm.c
448
drvdata->cmb->mcmb.trig_lane);
drivers/hwtracing/coresight/coresight-tpdm.c
453
drvdata->cmb->mcmb.lane_select);
drivers/hwtracing/coresight/coresight-tpdm.c
458
writel_relaxed(val, drvdata->base + TPDM_CMB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
469
static void __tpdm_enable(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
471
if (coresight_is_static_tpdm(drvdata->csdev))
drivers/hwtracing/coresight/coresight-tpdm.c
474
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
476
tpdm_enable_dsb(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
477
tpdm_enable_cmb(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
479
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
486
struct tpdm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpdm.c
488
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
489
if (drvdata->enable) {
drivers/hwtracing/coresight/coresight-tpdm.c
490
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
495
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
499
__tpdm_enable(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
500
drvdata->traceid = path->trace_id;
drivers/hwtracing/coresight/coresight-tpdm.c
501
drvdata->enable = true;
drivers/hwtracing/coresight/coresight-tpdm.c
502
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
504
dev_dbg(drvdata->dev, "TPDM tracing enabled\n");
drivers/hwtracing/coresight/coresight-tpdm.c
508
static void tpdm_disable_dsb(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
51
drvdata->dsb->edge_ctrl[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
512
if (!tpdm_has_dsb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
516
val = readl_relaxed(drvdata->base + TPDM_DSB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
518
writel_relaxed(val, drvdata->base + TPDM_DSB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
521
static void tpdm_disable_cmb(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
525
if (!drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
528
val = readl_relaxed(drvdata->base + TPDM_CMB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
531
writel_relaxed(val, drvdata->base + TPDM_CMB_CR);
drivers/hwtracing/coresight/coresight-tpdm.c
535
static void __tpdm_disable(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
537
if (coresight_is_static_tpdm(drvdata->csdev))
drivers/hwtracing/coresight/coresight-tpdm.c
540
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
542
tpdm_disable_dsb(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
543
tpdm_disable_cmb(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
545
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
551
struct tpdm_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpdm.c
553
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
554
if (!drvdata->enable) {
drivers/hwtracing/coresight/coresight-tpdm.c
555
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
559
__tpdm_disable(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
56
drvdata->dsb->edge_ctrl_mask[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
561
drvdata->enable = false;
drivers/hwtracing/coresight/coresight-tpdm.c
562
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
564
dev_dbg(drvdata->dev, "TPDM tracing disabled\n");
drivers/hwtracing/coresight/coresight-tpdm.c
576
static int tpdm_datasets_setup(struct tpdm_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-tpdm.c
581
pidr = readl_relaxed(drvdata->base + CORESIGHT_PERIPHIDR0);
drivers/hwtracing/coresight/coresight-tpdm.c
582
drvdata->datasets |= pidr & GENMASK(TPDM_DATASETS - 1, 0);
drivers/hwtracing/coresight/coresight-tpdm.c
584
if (tpdm_has_dsb_dataset(drvdata) && (!drvdata->dsb)) {
drivers/hwtracing/coresight/coresight-tpdm.c
585
drvdata->dsb = devm_kzalloc(drvdata->dev,
drivers/hwtracing/coresight/coresight-tpdm.c
586
sizeof(*drvdata->dsb), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpdm.c
587
if (!drvdata->dsb)
drivers/hwtracing/coresight/coresight-tpdm.c
590
if ((tpdm_has_cmb_dataset(drvdata) || tpdm_has_mcmb_dataset(drvdata))
drivers/hwtracing/coresight/coresight-tpdm.c
591
&& (!drvdata->cmb)) {
drivers/hwtracing/coresight/coresight-tpdm.c
592
drvdata->cmb = devm_kzalloc(drvdata->dev,
drivers/hwtracing/coresight/coresight-tpdm.c
593
sizeof(*drvdata->cmb), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpdm.c
594
if (!drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
598
tpdm_reset_datasets(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
603
static int static_tpdm_datasets_setup(struct tpdm_drvdata *drvdata, struct device *dev)
drivers/hwtracing/coresight/coresight-tpdm.c
607
(!drvdata->dsb)) {
drivers/hwtracing/coresight/coresight-tpdm.c
608
drvdata->dsb = devm_kzalloc(drvdata->dev,
drivers/hwtracing/coresight/coresight-tpdm.c
609
sizeof(*drvdata->dsb), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpdm.c
61
drvdata->dsb->trig_patt[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
611
if (!drvdata->dsb)
drivers/hwtracing/coresight/coresight-tpdm.c
616
(!drvdata->cmb)) {
drivers/hwtracing/coresight/coresight-tpdm.c
617
drvdata->cmb = devm_kzalloc(drvdata->dev,
drivers/hwtracing/coresight/coresight-tpdm.c
618
sizeof(*drvdata->cmb), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpdm.c
620
if (!drvdata->cmb)
drivers/hwtracing/coresight/coresight-tpdm.c
634
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
640
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
641
tpdm_reset_datasets(drvdata);
drivers/hwtracing/coresight/coresight-tpdm.c
642
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
659
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
66
drvdata->dsb->trig_patt_mask[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
668
if (!drvdata->enable)
drivers/hwtracing/coresight/coresight-tpdm.c
675
CS_UNLOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
676
writel_relaxed(0x1, drvdata->base + TPDM_ITCNTRL);
drivers/hwtracing/coresight/coresight-tpdm.c
679
writel_relaxed(val, drvdata->base + TPDM_ITATBCNTRL);
drivers/hwtracing/coresight/coresight-tpdm.c
681
writel_relaxed(0, drvdata->base + TPDM_ITCNTRL);
drivers/hwtracing/coresight/coresight-tpdm.c
682
CS_LOCK(drvdata->base);
drivers/hwtracing/coresight/coresight-tpdm.c
701
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
703
val = drvdata->traceid;
drivers/hwtracing/coresight/coresight-tpdm.c
71
drvdata->dsb->patt_val[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
724
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
726
return sysfs_emit(buf, "%x\n", drvdata->dsb->mode);
drivers/hwtracing/coresight/coresight-tpdm.c
734
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
740
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
741
drvdata->dsb->mode = val & TPDM_DSB_MODE_MASK;
drivers/hwtracing/coresight/coresight-tpdm.c
742
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
751
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
754
(unsigned int)drvdata->dsb->edge_ctrl_idx);
drivers/hwtracing/coresight/coresight-tpdm.c
76
drvdata->dsb->patt_mask[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
769
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
775
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
776
drvdata->dsb->edge_ctrl_idx = val;
drivers/hwtracing/coresight/coresight-tpdm.c
777
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
78
if (tpdm_attr->idx >= drvdata->dsb_msr_num)
drivers/hwtracing/coresight/coresight-tpdm.c
796
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
803
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
808
reg = EDCR_TO_WORD_IDX(drvdata->dsb->edge_ctrl_idx);
drivers/hwtracing/coresight/coresight-tpdm.c
809
val = drvdata->dsb->edge_ctrl[reg];
drivers/hwtracing/coresight/coresight-tpdm.c
81
drvdata->dsb->msr[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
810
val &= ~EDCR_TO_WORD_MASK(drvdata->dsb->edge_ctrl_idx);
drivers/hwtracing/coresight/coresight-tpdm.c
811
val |= EDCR_TO_WORD_VAL(edge_ctrl, drvdata->dsb->edge_ctrl_idx);
drivers/hwtracing/coresight/coresight-tpdm.c
812
drvdata->dsb->edge_ctrl[reg] = val;
drivers/hwtracing/coresight/coresight-tpdm.c
813
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
824
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
832
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
837
reg = EDCMR_TO_WORD_IDX(drvdata->dsb->edge_ctrl_idx);
drivers/hwtracing/coresight/coresight-tpdm.c
838
set = drvdata->dsb->edge_ctrl_mask[reg];
drivers/hwtracing/coresight/coresight-tpdm.c
840
set |= BIT(EDCMR_TO_WORD_SHIFT(drvdata->dsb->edge_ctrl_idx));
drivers/hwtracing/coresight/coresight-tpdm.c
842
set &= ~BIT(EDCMR_TO_WORD_SHIFT(drvdata->dsb->edge_ctrl_idx));
drivers/hwtracing/coresight/coresight-tpdm.c
843
drvdata->dsb->edge_ctrl_mask[reg] = set;
drivers/hwtracing/coresight/coresight-tpdm.c
844
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
854
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
86
drvdata->cmb->trig_patt[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
861
(unsigned int)drvdata->dsb->patt_ts);
drivers/hwtracing/coresight/coresight-tpdm.c
864
(unsigned int)drvdata->cmb->patt_ts);
drivers/hwtracing/coresight/coresight-tpdm.c
877
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
885
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
887
drvdata->dsb->patt_ts = !!val;
drivers/hwtracing/coresight/coresight-tpdm.c
889
drvdata->cmb->patt_ts = !!val;
drivers/hwtracing/coresight/coresight-tpdm.c
900
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
903
(unsigned int)drvdata->dsb->patt_type);
drivers/hwtracing/coresight/coresight-tpdm.c
91
drvdata->cmb->trig_patt_mask[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
913
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
919
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
920
drvdata->dsb->patt_type = val;
drivers/hwtracing/coresight/coresight-tpdm.c
921
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
929
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
932
(unsigned int)drvdata->dsb->trig_type);
drivers/hwtracing/coresight/coresight-tpdm.c
945
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
951
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
953
drvdata->dsb->trig_type = true;
drivers/hwtracing/coresight/coresight-tpdm.c
955
drvdata->dsb->trig_type = false;
drivers/hwtracing/coresight/coresight-tpdm.c
956
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
96
drvdata->cmb->patt_val[tpdm_attr->idx]);
drivers/hwtracing/coresight/coresight-tpdm.c
965
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
968
(unsigned int)drvdata->dsb->trig_ts);
drivers/hwtracing/coresight/coresight-tpdm.c
981
struct tpdm_drvdata *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/coresight-tpdm.c
987
spin_lock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpdm.c
989
drvdata->dsb->trig_ts = true;
drivers/hwtracing/coresight/coresight-tpdm.c
991
drvdata->dsb->trig_ts = false;
drivers/hwtracing/coresight/coresight-tpdm.c
992
spin_unlock(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpiu.c
105
struct tpiu_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpiu.c
107
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpiu.c
131
struct tpiu_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-tpiu.c
139
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-tpiu.c
140
if (!drvdata)
drivers/hwtracing/coresight/coresight-tpiu.c
143
spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-tpiu.c
145
ret = coresight_get_enable_clocks(dev, &drvdata->pclk, &drvdata->atclk);
drivers/hwtracing/coresight/coresight-tpiu.c
149
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-tpiu.c
156
drvdata->base = base;
drivers/hwtracing/coresight/coresight-tpiu.c
172
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/coresight-tpiu.c
174
if (!IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/coresight-tpiu.c
177
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpiu.c
192
struct tpiu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tpiu.c
194
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/coresight-tpiu.c
205
struct tpiu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tpiu.c
207
clk_disable_unprepare(drvdata->atclk);
drivers/hwtracing/coresight/coresight-tpiu.c
208
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tpiu.c
215
struct tpiu_drvdata *drvdata = dev_get_drvdata(dev);
drivers/hwtracing/coresight/coresight-tpiu.c
218
ret = clk_prepare_enable(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tpiu.c
222
ret = clk_prepare_enable(drvdata->atclk);
drivers/hwtracing/coresight/coresight-tpiu.c
224
clk_disable_unprepare(drvdata->pclk);
drivers/hwtracing/coresight/coresight-tpiu.c
283
struct tpiu_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
drivers/hwtracing/coresight/coresight-tpiu.c
285
if (WARN_ON(!drvdata))
drivers/hwtracing/coresight/coresight-tpiu.c
78
struct tpiu_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-tpiu.c
80
guard(spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/coresight-trbe.c
1022
*this_cpu_ptr(buf->cpudata->drvdata->handle) = handle;
drivers/hwtracing/coresight/coresight-trbe.c
1033
struct trbe_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-trbe.c
1039
WARN_ON(cpudata->drvdata != drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1052
struct trbe_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-trbe.c
1058
WARN_ON(cpudata->drvdata != drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1104
*this_cpu_ptr(buf->cpudata->drvdata->handle) = NULL;
drivers/hwtracing/coresight/coresight-trbe.c
1115
struct trbe_drvdata *drvdata = cpudata->drvdata;
drivers/hwtracing/coresight/coresight-trbe.c
1127
if (!cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1294
struct trbe_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-trbe.c
1295
struct trbe_cpudata *cpudata = this_cpu_ptr(drvdata->cpudata);
drivers/hwtracing/coresight/coresight-trbe.c
1298
enable_percpu_irq(drvdata->irq, IRQ_TYPE_NONE);
drivers/hwtracing/coresight/coresight-trbe.c
1303
struct trbe_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-trbe.c
1304
struct trbe_cpudata *cpudata = this_cpu_ptr(drvdata->cpudata);
drivers/hwtracing/coresight/coresight-trbe.c
1306
disable_percpu_irq(drvdata->irq);
drivers/hwtracing/coresight/coresight-trbe.c
1311
static void arm_trbe_register_coresight_cpu(struct trbe_drvdata *drvdata, int cpu)
drivers/hwtracing/coresight/coresight-trbe.c
1313
struct trbe_cpudata *cpudata = per_cpu_ptr(drvdata->cpudata, cpu);
drivers/hwtracing/coresight/coresight-trbe.c
1322
if (WARN_ON(!cpudata->drvdata))
drivers/hwtracing/coresight/coresight-trbe.c
1325
dev = &cpudata->drvdata->pdev->dev;
drivers/hwtracing/coresight/coresight-trbe.c
1359
cpumask_clear_cpu(cpu, &drvdata->supported_cpus);
drivers/hwtracing/coresight/coresight-trbe.c
1367
struct trbe_drvdata *drvdata = info;
drivers/hwtracing/coresight/coresight-trbe.c
1369
struct trbe_cpudata *cpudata = per_cpu_ptr(drvdata->cpudata, cpu);
drivers/hwtracing/coresight/coresight-trbe.c
1421
cpudata->drvdata = drvdata;
drivers/hwtracing/coresight/coresight-trbe.c
1424
cpumask_clear_cpu(cpu, &drvdata->supported_cpus);
drivers/hwtracing/coresight/coresight-trbe.c
1427
static void arm_trbe_remove_coresight_cpu(struct trbe_drvdata *drvdata, int cpu)
drivers/hwtracing/coresight/coresight-trbe.c
1437
static int arm_trbe_probe_coresight(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1441
drvdata->cpudata = alloc_percpu(typeof(*drvdata->cpudata));
drivers/hwtracing/coresight/coresight-trbe.c
1442
if (!drvdata->cpudata)
drivers/hwtracing/coresight/coresight-trbe.c
1445
for_each_cpu(cpu, &drvdata->supported_cpus) {
drivers/hwtracing/coresight/coresight-trbe.c
1447
if (smp_call_function_single(cpu, arm_trbe_probe_cpu, drvdata, 1))
drivers/hwtracing/coresight/coresight-trbe.c
1449
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1450
arm_trbe_register_coresight_cpu(drvdata, cpu);
drivers/hwtracing/coresight/coresight-trbe.c
1451
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1452
smp_call_function_single(cpu, arm_trbe_enable_cpu, drvdata, 1);
drivers/hwtracing/coresight/coresight-trbe.c
1457
static int arm_trbe_remove_coresight(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1461
for_each_cpu(cpu, &drvdata->supported_cpus) {
drivers/hwtracing/coresight/coresight-trbe.c
1462
smp_call_function_single(cpu, arm_trbe_disable_cpu, drvdata, 1);
drivers/hwtracing/coresight/coresight-trbe.c
1463
arm_trbe_remove_coresight_cpu(drvdata, cpu);
drivers/hwtracing/coresight/coresight-trbe.c
1465
free_percpu(drvdata->cpudata);
drivers/hwtracing/coresight/coresight-trbe.c
1469
static void arm_trbe_probe_hotplugged_cpu(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1472
arm_trbe_probe_cpu(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1478
struct trbe_drvdata *drvdata = hlist_entry_safe(node, struct trbe_drvdata, hotplug_node);
drivers/hwtracing/coresight/coresight-trbe.c
1480
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus)) {
drivers/hwtracing/coresight/coresight-trbe.c
1487
arm_trbe_probe_hotplugged_cpu(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1488
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1489
arm_trbe_register_coresight_cpu(drvdata, cpu);
drivers/hwtracing/coresight/coresight-trbe.c
1490
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1491
arm_trbe_enable_cpu(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1493
arm_trbe_enable_cpu(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
150
struct trbe_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-trbe.c
1501
struct trbe_drvdata *drvdata = hlist_entry_safe(node, struct trbe_drvdata, hotplug_node);
drivers/hwtracing/coresight/coresight-trbe.c
1503
if (cpumask_test_cpu(cpu, &drvdata->supported_cpus))
drivers/hwtracing/coresight/coresight-trbe.c
1504
arm_trbe_disable_cpu(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1508
static int arm_trbe_probe_cpuhp(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1518
ret = cpuhp_state_add_instance(trbe_online, &drvdata->hotplug_node);
drivers/hwtracing/coresight/coresight-trbe.c
1523
drvdata->trbe_online = trbe_online;
drivers/hwtracing/coresight/coresight-trbe.c
1527
static void arm_trbe_remove_cpuhp(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1529
cpuhp_state_remove_instance(drvdata->trbe_online, &drvdata->hotplug_node);
drivers/hwtracing/coresight/coresight-trbe.c
1530
cpuhp_remove_multi_state(drvdata->trbe_online);
drivers/hwtracing/coresight/coresight-trbe.c
1534
struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1539
drvdata->irq = platform_get_irq_affinity(pdev, 0, &affinity);
drivers/hwtracing/coresight/coresight-trbe.c
1540
if (drvdata->irq < 0) {
drivers/hwtracing/coresight/coresight-trbe.c
1542
return drvdata->irq;
drivers/hwtracing/coresight/coresight-trbe.c
1545
if (!irq_is_percpu(drvdata->irq)) {
drivers/hwtracing/coresight/coresight-trbe.c
1550
cpumask_copy(&drvdata->supported_cpus, affinity);
drivers/hwtracing/coresight/coresight-trbe.c
1552
drvdata->handle = alloc_percpu(struct perf_output_handle *);
drivers/hwtracing/coresight/coresight-trbe.c
1553
if (!drvdata->handle)
drivers/hwtracing/coresight/coresight-trbe.c
1556
ret = request_percpu_irq_affinity(drvdata->irq, arm_trbe_irq_handler, DRVNAME,
drivers/hwtracing/coresight/coresight-trbe.c
1557
affinity, drvdata->handle);
drivers/hwtracing/coresight/coresight-trbe.c
1559
free_percpu(drvdata->handle);
drivers/hwtracing/coresight/coresight-trbe.c
1565
static void arm_trbe_remove_irq(struct trbe_drvdata *drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1567
free_percpu_irq(drvdata->irq, drvdata->handle);
drivers/hwtracing/coresight/coresight-trbe.c
1568
free_percpu(drvdata->handle);
drivers/hwtracing/coresight/coresight-trbe.c
1573
struct trbe_drvdata *drvdata;
drivers/hwtracing/coresight/coresight-trbe.c
1583
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/coresight-trbe.c
1584
if (!drvdata)
drivers/hwtracing/coresight/coresight-trbe.c
1587
dev_set_drvdata(dev, drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1588
drvdata->pdev = pdev;
drivers/hwtracing/coresight/coresight-trbe.c
1589
ret = arm_trbe_probe_irq(pdev, drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1593
ret = arm_trbe_probe_coresight(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1597
ret = arm_trbe_probe_cpuhp(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1603
arm_trbe_remove_coresight(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1605
arm_trbe_remove_irq(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1611
struct trbe_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/coresight-trbe.c
1613
arm_trbe_remove_cpuhp(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1614
arm_trbe_remove_coresight(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
1615
arm_trbe_remove_irq(drvdata);
drivers/hwtracing/coresight/coresight-trbe.c
316
*this_cpu_ptr(buf->cpudata->drvdata->handle) = NULL;
drivers/hwtracing/coresight/coresight-trbe.c
805
struct trbe_drvdata *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/coresight-trbe.c
815
WARN_ON(cpudata->drvdata != drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
100
if (drvdata->reading)
drivers/hwtracing/coresight/ultrasoc-smb.c
103
if (drvdata->csdev->refcnt)
drivers/hwtracing/coresight/ultrasoc-smb.c
106
smb_update_data_size(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
107
drvdata->reading = true;
drivers/hwtracing/coresight/ultrasoc-smb.c
115
struct smb_drv_data *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/ultrasoc-smb.c
117
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
118
struct device *dev = &drvdata->csdev->dev;
drivers/hwtracing/coresight/ultrasoc-smb.c
139
smb_update_read_ptr(drvdata, to_copy);
drivers/hwtracing/coresight/ultrasoc-smb.c
141
smb_reset_buffer(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
149
struct smb_drv_data *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/ultrasoc-smb.c
152
guard(raw_spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/ultrasoc-smb.c
153
drvdata->reading = false;
drivers/hwtracing/coresight/ultrasoc-smb.c
168
struct smb_drv_data *drvdata = dev_get_drvdata(dev->parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
170
return sysfs_emit(buf, "0x%lx\n", drvdata->sdb.buf_size);
drivers/hwtracing/coresight/ultrasoc-smb.c
192
static void smb_enable_hw(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
194
writel(SMB_GLB_EN_HW_ENABLE, drvdata->base + SMB_GLB_EN_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
197
static void smb_disable_hw(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
199
writel(0x0, drvdata->base + SMB_GLB_EN_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
204
struct smb_drv_data *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
209
smb_enable_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
21
static bool smb_buffer_not_empty(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
216
struct smb_drv_data *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
228
if (drvdata->pid != -1 && drvdata->pid != pid)
drivers/hwtracing/coresight/ultrasoc-smb.c
23
u32 buf_status = readl(drvdata->base + SMB_LB_INT_STS_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
231
if (drvdata->pid == -1) {
drivers/hwtracing/coresight/ultrasoc-smb.c
232
smb_enable_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
233
drvdata->pid = pid;
drivers/hwtracing/coresight/ultrasoc-smb.c
243
struct smb_drv_data *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
246
guard(raw_spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/ultrasoc-smb.c
249
if (drvdata->reading)
drivers/hwtracing/coresight/ultrasoc-smb.c
279
struct smb_drv_data *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
28
static void smb_update_data_size(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
281
guard(raw_spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/ultrasoc-smb.c
283
if (drvdata->reading)
drivers/hwtracing/coresight/ultrasoc-smb.c
293
smb_disable_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
296
drvdata->pid = -1;
drivers/hwtracing/coresight/ultrasoc-smb.c
30
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
33
buf_wrptr = readl(drvdata->base + SMB_LB_WR_ADDR_REG) -
drivers/hwtracing/coresight/ultrasoc-smb.c
330
static void smb_sync_perf_buffer(struct smb_drv_data *drvdata,
drivers/hwtracing/coresight/ultrasoc-smb.c
334
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
361
smb_update_read_ptr(drvdata, to_copy);
drivers/hwtracing/coresight/ultrasoc-smb.c
364
smb_reset_buffer(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
37
if (buf_wrptr == sdb->buf_rdptr && smb_buffer_not_empty(drvdata)) {
drivers/hwtracing/coresight/ultrasoc-smb.c
371
struct smb_drv_data *drvdata = dev_get_drvdata(csdev->dev.parent);
drivers/hwtracing/coresight/ultrasoc-smb.c
372
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
380
guard(raw_spinlock)(&drvdata->spinlock);
drivers/hwtracing/coresight/ultrasoc-smb.c
386
smb_disable_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
387
smb_update_data_size(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
395
smb_update_read_ptr(drvdata, sdb->data_size - handle->size);
drivers/hwtracing/coresight/ultrasoc-smb.c
400
smb_sync_perf_buffer(drvdata, buf, handle->head);
drivers/hwtracing/coresight/ultrasoc-smb.c
451
static void smb_init_hw(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
453
smb_disable_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
455
writel(SMB_LB_CFG_LO_DEFAULT, drvdata->base + SMB_LB_CFG_LO_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
456
writel(SMB_LB_CFG_HI_DEFAULT, drvdata->base + SMB_LB_CFG_HI_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
457
writel(SMB_GLB_CFG_DEFAULT, drvdata->base + SMB_GLB_CFG_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
458
writel(SMB_GLB_INT_CFG, drvdata->base + SMB_GLB_INT_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
459
writel(SMB_LB_INT_CTRL_CFG, drvdata->base + SMB_LB_INT_CTRL_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
463
struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
484
desc.access = CSDEV_ACCESS_IOMEM(drvdata->base);
drivers/hwtracing/coresight/ultrasoc-smb.c
486
drvdata->csdev = coresight_register(&desc);
drivers/hwtracing/coresight/ultrasoc-smb.c
487
if (IS_ERR(drvdata->csdev))
drivers/hwtracing/coresight/ultrasoc-smb.c
488
return PTR_ERR(drvdata->csdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
490
drvdata->miscdev.name = desc.name;
drivers/hwtracing/coresight/ultrasoc-smb.c
491
drvdata->miscdev.minor = MISC_DYNAMIC_MINOR;
drivers/hwtracing/coresight/ultrasoc-smb.c
492
drvdata->miscdev.fops = &smb_fops;
drivers/hwtracing/coresight/ultrasoc-smb.c
493
ret = misc_register(&drvdata->miscdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
495
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
502
static void smb_unregister_sink(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
504
misc_deregister(&drvdata->miscdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
505
coresight_unregister(drvdata->csdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
52
static void smb_update_read_ptr(struct smb_drv_data *drvdata, u32 nbytes)
drivers/hwtracing/coresight/ultrasoc-smb.c
538
struct smb_drv_data *drvdata;
drivers/hwtracing/coresight/ultrasoc-smb.c
54
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
541
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/hwtracing/coresight/ultrasoc-smb.c
542
if (!drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
545
drvdata->base = devm_platform_ioremap_resource(pdev, SMB_REG_ADDR_RES);
drivers/hwtracing/coresight/ultrasoc-smb.c
546
if (IS_ERR(drvdata->base)) {
drivers/hwtracing/coresight/ultrasoc-smb.c
548
return PTR_ERR(drvdata->base);
drivers/hwtracing/coresight/ultrasoc-smb.c
551
smb_init_hw(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
553
ret = smb_init_data_buffer(pdev, &drvdata->sdb);
drivers/hwtracing/coresight/ultrasoc-smb.c
563
smb_reset_buffer(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
564
platform_set_drvdata(pdev, drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
565
raw_spin_lock_init(&drvdata->spinlock);
drivers/hwtracing/coresight/ultrasoc-smb.c
566
drvdata->pid = -1;
drivers/hwtracing/coresight/ultrasoc-smb.c
568
ret = smb_register_sink(pdev, drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
580
struct smb_drv_data *drvdata = platform_get_drvdata(pdev);
drivers/hwtracing/coresight/ultrasoc-smb.c
582
smb_unregister_sink(drvdata);
drivers/hwtracing/coresight/ultrasoc-smb.c
59
drvdata->base + SMB_LB_RD_ADDR_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
64
static void smb_reset_buffer(struct smb_drv_data *drvdata)
drivers/hwtracing/coresight/ultrasoc-smb.c
66
struct smb_data_buffer *sdb = &drvdata->sdb;
drivers/hwtracing/coresight/ultrasoc-smb.c
74
writel(SMB_LB_PURGE_PURGED, drvdata->base + SMB_LB_PURGE_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
77
writel(SMB_LB_INT_STS_RESET, drvdata->base + SMB_LB_INT_STS_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
79
write_ptr = readl(drvdata->base + SMB_LB_WR_ADDR_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
89
writel(write_ptr, drvdata->base + SMB_LB_RD_ADDR_REG);
drivers/hwtracing/coresight/ultrasoc-smb.c
95
struct smb_drv_data *drvdata = container_of(file->private_data,
drivers/hwtracing/coresight/ultrasoc-smb.c
98
guard(raw_spinlock)(&drvdata->spinlock);
drivers/hwtracing/intel_th/core.c
629
thdev->drvdata = th->drvdata;
drivers/hwtracing/intel_th/core.c
878
intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
drivers/hwtracing/intel_th/core.c
902
th->drvdata = drvdata;
drivers/hwtracing/intel_th/intel_th.h
230
intel_th_alloc(struct device *dev, const struct intel_th_drvdata *drvdata,
drivers/hwtracing/intel_th/intel_th.h
278
const struct intel_th_drvdata *drvdata;
drivers/hwtracing/intel_th/intel_th.h
61
#define INTEL_TH_CAP(_th, _cap) ((_th)->drvdata ? (_th)->drvdata->_cap : 0)
drivers/hwtracing/intel_th/intel_th.h
77
const struct intel_th_drvdata *drvdata;
drivers/hwtracing/intel_th/pci.c
108
th = intel_th_alloc(&pdev->dev, drvdata, resource, r);
drivers/hwtracing/intel_th/pci.c
74
const struct intel_th_drvdata *drvdata = (void *)id->driver_data;
drivers/i2c/busses/i2c-gxp.c
100
drvdata->buf_remaining = drvdata->curr_msg->len;
drivers/i2c/busses/i2c-gxp.c
103
value = drvdata->curr_msg->addr << 9;
drivers/i2c/busses/i2c-gxp.c
106
value |= drvdata->curr_msg->flags & I2C_M_RD ? RW_CMD | START_CMD : START_CMD;
drivers/i2c/busses/i2c-gxp.c
108
drvdata->state = GXP_I2C_ADDR_PHASE;
drivers/i2c/busses/i2c-gxp.c
109
writew(value, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
116
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(adapter);
drivers/i2c/busses/i2c-gxp.c
119
drvdata->msgs_remaining = num;
drivers/i2c/busses/i2c-gxp.c
120
drvdata->curr_msg = msgs;
drivers/i2c/busses/i2c-gxp.c
121
drvdata->msgs_num = num;
drivers/i2c/busses/i2c-gxp.c
122
reinit_completion(&drvdata->completion);
drivers/i2c/busses/i2c-gxp.c
124
gxp_i2c_start(drvdata);
drivers/i2c/busses/i2c-gxp.c
126
time_left = wait_for_completion_timeout(&drvdata->completion,
drivers/i2c/busses/i2c-gxp.c
128
ret = num - drvdata->msgs_remaining;
drivers/i2c/busses/i2c-gxp.c
132
if (drvdata->state == GXP_I2C_ADDR_NACK)
drivers/i2c/busses/i2c-gxp.c
135
if (drvdata->state == GXP_I2C_DATA_NACK)
drivers/i2c/busses/i2c-gxp.c
152
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
154
if (drvdata->slave)
drivers/i2c/busses/i2c-gxp.c
160
drvdata->slave = slave;
drivers/i2c/busses/i2c-gxp.c
162
writeb(slave->addr << 1, drvdata->base + GXP_I2COWNADR);
drivers/i2c/busses/i2c-gxp.c
164
SLAVE_EVT_STALL, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
171
struct gxp_i2c_drvdata *drvdata = i2c_get_adapdata(slave->adapter);
drivers/i2c/busses/i2c-gxp.c
173
WARN_ON(!drvdata->slave);
drivers/i2c/busses/i2c-gxp.c
175
writeb(0x00, drvdata->base + GXP_I2COWNADR);
drivers/i2c/busses/i2c-gxp.c
177
SLAVE_EVT_MASK, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
179
drvdata->slave = NULL;
drivers/i2c/busses/i2c-gxp.c
194
static void gxp_i2c_stop(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
197
writeb(MASTER_EVT_CLR | STOP_CMD, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
199
complete(&drvdata->completion);
drivers/i2c/busses/i2c-gxp.c
202
static void gxp_i2c_restart(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
206
drvdata->buf = drvdata->curr_msg->buf;
drivers/i2c/busses/i2c-gxp.c
207
drvdata->buf_remaining = drvdata->curr_msg->len;
drivers/i2c/busses/i2c-gxp.c
209
value = drvdata->curr_msg->addr << 9;
drivers/i2c/busses/i2c-gxp.c
211
if (drvdata->curr_msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-gxp.c
219
drvdata->state = GXP_I2C_ADDR_PHASE;
drivers/i2c/busses/i2c-gxp.c
221
writew(value, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
224
static void gxp_i2c_chk_addr_ack(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
228
value = readb(drvdata->base + GXP_I2CSTAT);
drivers/i2c/busses/i2c-gxp.c
231
drvdata->state = GXP_I2C_ADDR_NACK;
drivers/i2c/busses/i2c-gxp.c
232
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
236
if (drvdata->curr_msg->flags & I2C_M_RD) {
drivers/i2c/busses/i2c-gxp.c
238
if (drvdata->buf_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
240
drvdata->msgs_remaining--;
drivers/i2c/busses/i2c-gxp.c
241
drvdata->state = GXP_I2C_COMP;
drivers/i2c/busses/i2c-gxp.c
242
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
245
drvdata->state = GXP_I2C_RDATA_PHASE;
drivers/i2c/busses/i2c-gxp.c
247
if (drvdata->buf_remaining == 1) {
drivers/i2c/busses/i2c-gxp.c
250
drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
254
RW_CMD, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
258
if (drvdata->buf_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
260
drvdata->msgs_remaining--;
drivers/i2c/busses/i2c-gxp.c
261
drvdata->state = GXP_I2C_COMP;
drivers/i2c/busses/i2c-gxp.c
262
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
265
value = *drvdata->buf;
drivers/i2c/busses/i2c-gxp.c
269
drvdata->buf++;
drivers/i2c/busses/i2c-gxp.c
270
drvdata->buf_remaining--;
drivers/i2c/busses/i2c-gxp.c
271
drvdata->state = GXP_I2C_WDATA_PHASE;
drivers/i2c/busses/i2c-gxp.c
272
writew(value, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
276
static void gxp_i2c_ack_data(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
281
value = readb(drvdata->base + GXP_I2CSNPDAT);
drivers/i2c/busses/i2c-gxp.c
282
*drvdata->buf = value;
drivers/i2c/busses/i2c-gxp.c
283
drvdata->buf++;
drivers/i2c/busses/i2c-gxp.c
284
drvdata->buf_remaining--;
drivers/i2c/busses/i2c-gxp.c
286
if (drvdata->buf_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
288
drvdata->msgs_remaining--;
drivers/i2c/busses/i2c-gxp.c
290
if (drvdata->msgs_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
292
drvdata->state = GXP_I2C_COMP;
drivers/i2c/busses/i2c-gxp.c
293
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
297
drvdata->curr_msg++;
drivers/i2c/busses/i2c-gxp.c
298
gxp_i2c_restart(drvdata);
drivers/i2c/busses/i2c-gxp.c
303
drvdata->state = GXP_I2C_RDATA_PHASE;
drivers/i2c/busses/i2c-gxp.c
304
if (drvdata->buf_remaining == 1) {
drivers/i2c/busses/i2c-gxp.c
307
drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
311
RW_CMD, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
315
static void gxp_i2c_chk_data_ack(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
319
value = readb(drvdata->base + GXP_I2CSTAT);
drivers/i2c/busses/i2c-gxp.c
322
drvdata->state = GXP_I2C_DATA_NACK;
drivers/i2c/busses/i2c-gxp.c
323
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
328
if (drvdata->buf_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
330
drvdata->msgs_remaining--;
drivers/i2c/busses/i2c-gxp.c
332
if (drvdata->msgs_remaining == 0) {
drivers/i2c/busses/i2c-gxp.c
334
drvdata->state = GXP_I2C_COMP;
drivers/i2c/busses/i2c-gxp.c
335
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
339
drvdata->curr_msg++;
drivers/i2c/busses/i2c-gxp.c
340
gxp_i2c_restart(drvdata);
drivers/i2c/busses/i2c-gxp.c
345
value = *drvdata->buf;
drivers/i2c/busses/i2c-gxp.c
350
drvdata->buf++;
drivers/i2c/busses/i2c-gxp.c
351
drvdata->buf_remaining--;
drivers/i2c/busses/i2c-gxp.c
352
drvdata->state = GXP_I2C_WDATA_PHASE;
drivers/i2c/busses/i2c-gxp.c
353
writew(value, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
356
static bool gxp_i2c_slave_irq_handler(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
362
value = readb(drvdata->base + GXP_I2CEVTERR);
drivers/i2c/busses/i2c-gxp.c
366
value = readb(drvdata->base + GXP_I2CSTAT);
drivers/i2c/busses/i2c-gxp.c
369
if (drvdata->stopped == 0)
drivers/i2c/busses/i2c-gxp.c
370
i2c_slave_event(drvdata->slave, I2C_SLAVE_STOP, &buf);
drivers/i2c/busses/i2c-gxp.c
372
SLAVE_ACK_ENAB | SLAVE_EVT_STALL, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
373
drvdata->stopped = 1;
drivers/i2c/busses/i2c-gxp.c
376
drvdata->stopped = 0;
drivers/i2c/busses/i2c-gxp.c
378
i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
382
writew(value, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
385
ret = i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
391
drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
395
SLAVE_EVT_STALL, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
400
value = readb(drvdata->base + GXP_I2CSTAT);
drivers/i2c/busses/i2c-gxp.c
405
i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
409
writew(value, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
414
drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
418
value = readb(drvdata->base + GXP_I2CSNPDAT);
drivers/i2c/busses/i2c-gxp.c
420
ret = i2c_slave_event(drvdata->slave,
drivers/i2c/busses/i2c-gxp.c
426
drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
430
SLAVE_EVT_STALL, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
442
struct gxp_i2c_drvdata *drvdata = (struct gxp_i2c_drvdata *)_drvdata;
drivers/i2c/busses/i2c-gxp.c
447
if (!(value & BIT(drvdata->engine)))
drivers/i2c/busses/i2c-gxp.c
450
value = readb(drvdata->base + GXP_I2CEVTERR);
drivers/i2c/busses/i2c-gxp.c
456
writeb(0x00, drvdata->base + GXP_I2CEVTERR);
drivers/i2c/busses/i2c-gxp.c
457
drvdata->state = GXP_I2C_ERROR;
drivers/i2c/busses/i2c-gxp.c
458
gxp_i2c_stop(drvdata);
drivers/i2c/busses/i2c-gxp.c
465
if (gxp_i2c_slave_irq_handler(drvdata))
drivers/i2c/busses/i2c-gxp.c
472
switch (drvdata->state) {
drivers/i2c/busses/i2c-gxp.c
474
gxp_i2c_chk_addr_ack(drvdata);
drivers/i2c/busses/i2c-gxp.c
478
gxp_i2c_ack_data(drvdata);
drivers/i2c/busses/i2c-gxp.c
482
gxp_i2c_chk_data_ack(drvdata);
drivers/i2c/busses/i2c-gxp.c
489
static void gxp_i2c_init(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
491
drvdata->state = GXP_I2C_IDLE;
drivers/i2c/busses/i2c-gxp.c
492
writeb(2000000 / drvdata->t.bus_freq_hz,
drivers/i2c/busses/i2c-gxp.c
493
drvdata->base + GXP_I2CFREQDIV);
drivers/i2c/busses/i2c-gxp.c
495
drvdata->base + GXP_I2CFLTFAIR);
drivers/i2c/busses/i2c-gxp.c
496
writeb(GXP_DATA_EDGE_RST_CTRL, drvdata->base + GXP_I2CTMOEDG);
drivers/i2c/busses/i2c-gxp.c
497
writeb(0x00, drvdata->base + GXP_I2CCYCTIM);
drivers/i2c/busses/i2c-gxp.c
498
writeb(0x00, drvdata->base + GXP_I2CSNPAA);
drivers/i2c/busses/i2c-gxp.c
499
writeb(0x00, drvdata->base + GXP_I2CADVFEAT);
drivers/i2c/busses/i2c-gxp.c
501
SLAVE_EVT_MASK, drvdata->base + GXP_I2CSCMD);
drivers/i2c/busses/i2c-gxp.c
502
writeb(MASTER_EVT_CLR, drvdata->base + GXP_I2CMCMD);
drivers/i2c/busses/i2c-gxp.c
503
writeb(0x00, drvdata->base + GXP_I2CEVTERR);
drivers/i2c/busses/i2c-gxp.c
504
writeb(0x00, drvdata->base + GXP_I2COWNADR);
drivers/i2c/busses/i2c-gxp.c
509
struct gxp_i2c_drvdata *drvdata;
drivers/i2c/busses/i2c-gxp.c
525
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata),
drivers/i2c/busses/i2c-gxp.c
527
if (!drvdata)
drivers/i2c/busses/i2c-gxp.c
530
platform_set_drvdata(pdev, drvdata);
drivers/i2c/busses/i2c-gxp.c
531
drvdata->dev = &pdev->dev;
drivers/i2c/busses/i2c-gxp.c
532
init_completion(&drvdata->completion);
drivers/i2c/busses/i2c-gxp.c
534
drvdata->base = devm_platform_ioremap_resource(pdev, 0);
drivers/i2c/busses/i2c-gxp.c
535
if (IS_ERR(drvdata->base))
drivers/i2c/busses/i2c-gxp.c
536
return PTR_ERR(drvdata->base);
drivers/i2c/busses/i2c-gxp.c
539
drvdata->engine = ((size_t)drvdata->base & 0xf00) >> 8;
drivers/i2c/busses/i2c-gxp.c
541
if (drvdata->engine >= GXP_MAX_I2C_ENGINE) {
drivers/i2c/busses/i2c-gxp.c
543
drvdata->engine);
drivers/i2c/busses/i2c-gxp.c
550
drvdata->irq = rc;
drivers/i2c/busses/i2c-gxp.c
551
rc = devm_request_irq(&pdev->dev, drvdata->irq, gxp_i2c_irq_handler,
drivers/i2c/busses/i2c-gxp.c
552
IRQF_SHARED, gxp_i2c_name[drvdata->engine], drvdata);
drivers/i2c/busses/i2c-gxp.c
556
i2c_parse_fw_timings(&pdev->dev, &drvdata->t, true);
drivers/i2c/busses/i2c-gxp.c
558
gxp_i2c_init(drvdata);
drivers/i2c/busses/i2c-gxp.c
561
regmap_update_bits(i2cg_map, GXP_I2CINTEN, BIT(drvdata->engine),
drivers/i2c/busses/i2c-gxp.c
562
BIT(drvdata->engine));
drivers/i2c/busses/i2c-gxp.c
564
adapter = &drvdata->adapter;
drivers/i2c/busses/i2c-gxp.c
565
i2c_set_adapdata(adapter, drvdata);
drivers/i2c/busses/i2c-gxp.c
582
struct gxp_i2c_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/i2c/busses/i2c-gxp.c
585
regmap_update_bits(i2cg_map, GXP_I2CINTEN, BIT(drvdata->engine), 0);
drivers/i2c/busses/i2c-gxp.c
586
i2c_del_adapter(&drvdata->adapter);
drivers/i2c/busses/i2c-gxp.c
95
static void gxp_i2c_start(struct gxp_i2c_drvdata *drvdata)
drivers/i2c/busses/i2c-gxp.c
99
drvdata->buf = drvdata->curr_msg->buf;
drivers/i3c/master/dw-i3c-master.c
1566
const struct dw_i3c_drvdata *drvdata;
drivers/i3c/master/dw-i3c-master.c
1640
drvdata = device_get_match_data(&pdev->dev);
drivers/i3c/master/dw-i3c-master.c
1641
if (drvdata)
drivers/i3c/master/dw-i3c-master.c
1642
quirks = drvdata->flags;
drivers/i3c/master/svc-i3c-master.c
1998
master->drvdata = of_device_get_match_data(dev);
drivers/i3c/master/svc-i3c-master.c
1999
if (!master->drvdata)
drivers/i3c/master/svc-i3c-master.c
255
const struct svc_i3c_drvdata *drvdata;
drivers/i3c/master/svc-i3c-master.c
274
return (master->drvdata->quirks & quirk);
drivers/i3c/master/svc-i3c-master.c
279
return ((master->drvdata->quirks & SVC_I3C_QUIRK_DAA_CORRUPT) &&
drivers/iio/addac/stx104.c
499
.drvdata = dio_map,
drivers/input/rmi4/rmi_bus.c
178
struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
drivers/input/rmi4/rmi_bus.c
184
fn->irq[i] = irq_create_mapping(drvdata->irqdomain,
drivers/input/rmi4/rmi_driver.c
171
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_driver.c
175
if (!drvdata->enabled)
drivers/input/rmi4/rmi_driver.c
186
if (!kfifo_put(&drvdata->attn_fifo, attn_data)) {
drivers/input/rmi4/rmi_driver.c
197
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_driver.c
202
count = kfifo_get(&drvdata->attn_fifo, &attn_data);
drivers/input/rmi4/rmi_driver.c
204
*drvdata->irq_status = attn_data.irq_status;
drivers/input/rmi4/rmi_driver.c
205
drvdata->attn_data = attn_data;
drivers/input/rmi4/rmi_driver.c
216
drvdata->attn_data.data = NULL;
drivers/input/rmi4/rmi_driver.c
218
} while (!kfifo_is_empty(&drvdata->attn_fifo));
drivers/input/rmi4/rmi_f03.c
248
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_f03.c
259
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f03.c
261
if (drvdata->attn_data.size < ob_len) {
drivers/input/rmi4/rmi_f03.c
266
memcpy(obs, drvdata->attn_data.data, ob_len);
drivers/input/rmi4/rmi_f03.c
268
drvdata->attn_data.data += ob_len;
drivers/input/rmi4/rmi_f03.c
269
drvdata->attn_data.size -= ob_len;
drivers/input/rmi4/rmi_f11.c
1073
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_f11.c
1080
mask_size = BITS_TO_LONGS(drvdata->irq_count) * sizeof(unsigned long);
drivers/input/rmi4/rmi_f11.c
1303
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_f11.c
1309
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f11.c
1314
if (f11->sensor.attn_size > drvdata->attn_data.size)
drivers/input/rmi4/rmi_f11.c
1315
valid_bytes = drvdata->attn_data.size;
drivers/input/rmi4/rmi_f11.c
1318
memcpy(f11->sensor.data_pkt, drvdata->attn_data.data,
drivers/input/rmi4/rmi_f11.c
1320
drvdata->attn_data.data += valid_bytes;
drivers/input/rmi4/rmi_f11.c
1321
drvdata->attn_data.size -= valid_bytes;
drivers/input/rmi4/rmi_f12.c
252
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_f12.c
258
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f12.c
259
valid_bytes = min_t(u32, sensor->attn_size, drvdata->attn_data.size);
drivers/input/rmi4/rmi_f12.c
260
memcpy(sensor->data_pkt, drvdata->attn_data.data, valid_bytes);
drivers/input/rmi4/rmi_f12.c
261
drvdata->attn_data.data += valid_bytes;
drivers/input/rmi4/rmi_f12.c
262
drvdata->attn_data.size -= valid_bytes;
drivers/input/rmi4/rmi_f12.c
348
struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
drivers/input/rmi4/rmi_f12.c
349
int irq_mask_size = BITS_TO_LONGS(drvdata->irq_count);
drivers/input/rmi4/rmi_f12.c
382
struct rmi_driver_data *drvdata = dev_get_drvdata(&rmi_dev->dev);
drivers/input/rmi4/rmi_f12.c
390
irq_mask_size = BITS_TO_LONGS(drvdata->irq_count);
drivers/input/rmi4/rmi_f12.c
471
if (drvdata->attn_data.data && i != 1 && i != 5)
drivers/input/rmi4/rmi_f21.c
45
struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
drivers/input/rmi4/rmi_f21.c
50
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f21.c
51
if (drvdata->attn_data.size < f21->attn_data_size) {
drivers/input/rmi4/rmi_f21.c
56
pdata = drvdata->attn_data.data + f21->attn_data_button_offset;
drivers/input/rmi4/rmi_f21.c
58
drvdata->attn_data.data += f21->attn_data_size;
drivers/input/rmi4/rmi_f21.c
59
drvdata->attn_data.size -= f21->attn_data_size;
drivers/input/rmi4/rmi_f30.c
126
struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
drivers/input/rmi4/rmi_f30.c
131
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f30.c
132
if (drvdata->attn_data.size < f30->register_count) {
drivers/input/rmi4/rmi_f30.c
137
memcpy(f30->data_regs, drvdata->attn_data.data,
drivers/input/rmi4/rmi_f30.c
139
drvdata->attn_data.data += f30->register_count;
drivers/input/rmi4/rmi_f30.c
140
drvdata->attn_data.size -= f30->register_count;
drivers/input/rmi4/rmi_f3a.c
60
struct rmi_driver_data *drvdata = dev_get_drvdata(&fn->rmi_dev->dev);
drivers/input/rmi4/rmi_f3a.c
64
if (drvdata->attn_data.data) {
drivers/input/rmi4/rmi_f3a.c
65
if (drvdata->attn_data.size < f3a->register_count) {
drivers/input/rmi4/rmi_f3a.c
70
memcpy(f3a->data_regs, drvdata->attn_data.data,
drivers/input/rmi4/rmi_f3a.c
72
drvdata->attn_data.data += f3a->register_count;
drivers/input/rmi4/rmi_f3a.c
73
drvdata->attn_data.size -= f3a->register_count;
drivers/input/serio/ps2-gpio.c
100
drvdata->t_irq_last = 0;
drivers/input/serio/ps2-gpio.c
101
drvdata->tx.t_xfer_end = 0;
drivers/input/serio/ps2-gpio.c
103
enable_irq(drvdata->irq);
drivers/input/serio/ps2-gpio.c
109
struct ps2_gpio_data *drvdata = serio->port_data;
drivers/input/serio/ps2-gpio.c
111
flush_delayed_work(&drvdata->tx.work);
drivers/input/serio/ps2-gpio.c
112
disable_irq(drvdata->irq);
drivers/input/serio/ps2-gpio.c
117
struct ps2_gpio_data *drvdata = serio->port_data;
drivers/input/serio/ps2-gpio.c
119
disable_irq_nosync(drvdata->irq);
drivers/input/serio/ps2-gpio.c
120
gpiod_direction_output(drvdata->gpio_clk, 0);
drivers/input/serio/ps2-gpio.c
122
drvdata->mode = PS2_MODE_TX;
drivers/input/serio/ps2-gpio.c
123
drvdata->tx.byte = val;
drivers/input/serio/ps2-gpio.c
125
schedule_delayed_work(&drvdata->tx.work, usecs_to_jiffies(200));
drivers/input/serio/ps2-gpio.c
132
struct ps2_gpio_data *drvdata = serio->port_data;
drivers/input/serio/ps2-gpio.c
136
guard(mutex)(&drvdata->tx.mutex);
drivers/input/serio/ps2-gpio.c
139
if (!wait_for_completion_timeout(&drvdata->tx.complete,
drivers/input/serio/ps2-gpio.c
152
struct ps2_gpio_data *drvdata = container_of(dwork,
drivers/input/serio/ps2-gpio.c
156
drvdata->tx.t_xfer_start = ktime_get();
drivers/input/serio/ps2-gpio.c
157
enable_irq(drvdata->irq);
drivers/input/serio/ps2-gpio.c
158
gpiod_direction_output(drvdata->gpio_data, 0);
drivers/input/serio/ps2-gpio.c
159
gpiod_direction_input(drvdata->gpio_clk);
drivers/input/serio/ps2-gpio.c
162
static irqreturn_t ps2_gpio_irq_rx(struct ps2_gpio_data *drvdata)
drivers/input/serio/ps2-gpio.c
169
byte = drvdata->rx.byte;
drivers/input/serio/ps2-gpio.c
170
cnt = drvdata->rx.cnt;
drivers/input/serio/ps2-gpio.c
172
drvdata->t_irq_now = ktime_get();
drivers/input/serio/ps2-gpio.c
178
us_delta = ktime_us_delta(drvdata->t_irq_now, drvdata->tx.t_xfer_end);
drivers/input/serio/ps2-gpio.c
182
us_delta = ktime_us_delta(drvdata->t_irq_now, drvdata->t_irq_last);
drivers/input/serio/ps2-gpio.c
184
dev_err(drvdata->dev,
drivers/input/serio/ps2-gpio.c
191
drvdata->t_irq_last = drvdata->t_irq_now;
drivers/input/serio/ps2-gpio.c
193
data = gpiod_get_value(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
195
dev_err(drvdata->dev, "RX: failed to get data gpio val: %d\n",
drivers/input/serio/ps2-gpio.c
204
dev_err(drvdata->dev, "RX: start bit should be low\n");
drivers/input/serio/ps2-gpio.c
224
dev_warn(drvdata->dev, "RX: parity error\n");
drivers/input/serio/ps2-gpio.c
225
if (!drvdata->write_enable)
drivers/input/serio/ps2-gpio.c
232
dev_err(drvdata->dev, "RX: stop bit should be high\n");
drivers/input/serio/ps2-gpio.c
240
if (!drvdata->write_enable) {
drivers/input/serio/ps2-gpio.c
247
serio_interrupt(drvdata->serio, byte, rxflags);
drivers/input/serio/ps2-gpio.c
248
dev_dbg(drvdata->dev, "RX: sending byte 0x%x\n", byte);
drivers/input/serio/ps2-gpio.c
254
dev_err(drvdata->dev, "RX: got out of sync with the device\n");
drivers/input/serio/ps2-gpio.c
263
__ps2_gpio_write(drvdata->serio, PS2_CMD_RESEND);
drivers/input/serio/ps2-gpio.c
265
drvdata->rx.cnt = cnt;
drivers/input/serio/ps2-gpio.c
266
drvdata->rx.byte = byte;
drivers/input/serio/ps2-gpio.c
270
static irqreturn_t ps2_gpio_irq_tx(struct ps2_gpio_data *drvdata)
drivers/input/serio/ps2-gpio.c
276
cnt = drvdata->tx.cnt;
drivers/input/serio/ps2-gpio.c
277
byte = drvdata->tx.byte;
drivers/input/serio/ps2-gpio.c
279
drvdata->t_irq_now = ktime_get();
drivers/input/serio/ps2-gpio.c
287
us_delta = ktime_us_delta(drvdata->t_irq_now,
drivers/input/serio/ps2-gpio.c
288
drvdata->tx.t_xfer_start);
drivers/input/serio/ps2-gpio.c
292
us_delta = ktime_us_delta(drvdata->t_irq_now, drvdata->t_irq_last);
drivers/input/serio/ps2-gpio.c
294
dev_err(drvdata->dev,
drivers/input/serio/ps2-gpio.c
301
drvdata->t_irq_last = drvdata->t_irq_now;
drivers/input/serio/ps2-gpio.c
306
dev_err(drvdata->dev,
drivers/input/serio/ps2-gpio.c
318
gpiod_set_value(drvdata->gpio_data, data);
drivers/input/serio/ps2-gpio.c
323
gpiod_set_value(drvdata->gpio_data, data);
drivers/input/serio/ps2-gpio.c
327
gpiod_direction_input(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
330
data = gpiod_get_value(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
332
dev_warn(drvdata->dev, "TX: received NACK, retry\n");
drivers/input/serio/ps2-gpio.c
336
drvdata->tx.t_xfer_end = ktime_get();
drivers/input/serio/ps2-gpio.c
337
drvdata->mode = PS2_MODE_RX;
drivers/input/serio/ps2-gpio.c
338
complete(&drvdata->tx.complete);
drivers/input/serio/ps2-gpio.c
347
gpiod_direction_input(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
348
dev_err(drvdata->dev, "TX: got out of sync with the device\n");
drivers/input/serio/ps2-gpio.c
357
gpiod_direction_input(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
358
__ps2_gpio_write(drvdata->serio, drvdata->tx.byte);
drivers/input/serio/ps2-gpio.c
360
drvdata->tx.cnt = cnt;
drivers/input/serio/ps2-gpio.c
366
struct ps2_gpio_data *drvdata = dev_id;
drivers/input/serio/ps2-gpio.c
368
return drvdata->mode ? ps2_gpio_irq_tx(drvdata) :
drivers/input/serio/ps2-gpio.c
369
ps2_gpio_irq_rx(drvdata);
drivers/input/serio/ps2-gpio.c
373
struct ps2_gpio_data *drvdata)
drivers/input/serio/ps2-gpio.c
380
drvdata->gpio_data = devm_gpiod_get(dev, "data", gflags);
drivers/input/serio/ps2-gpio.c
381
if (IS_ERR(drvdata->gpio_data)) {
drivers/input/serio/ps2-gpio.c
383
PTR_ERR(drvdata->gpio_data));
drivers/input/serio/ps2-gpio.c
384
return PTR_ERR(drvdata->gpio_data);
drivers/input/serio/ps2-gpio.c
387
drvdata->gpio_clk = devm_gpiod_get(dev, "clk", gflags);
drivers/input/serio/ps2-gpio.c
388
if (IS_ERR(drvdata->gpio_clk)) {
drivers/input/serio/ps2-gpio.c
390
PTR_ERR(drvdata->gpio_clk));
drivers/input/serio/ps2-gpio.c
391
return PTR_ERR(drvdata->gpio_clk);
drivers/input/serio/ps2-gpio.c
394
drvdata->write_enable = device_property_read_bool(dev,
drivers/input/serio/ps2-gpio.c
402
struct ps2_gpio_data *drvdata;
drivers/input/serio/ps2-gpio.c
407
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/input/serio/ps2-gpio.c
409
if (!drvdata || !serio) {
drivers/input/serio/ps2-gpio.c
414
error = ps2_gpio_get_props(dev, drvdata);
drivers/input/serio/ps2-gpio.c
418
if (gpiod_cansleep(drvdata->gpio_data) ||
drivers/input/serio/ps2-gpio.c
419
gpiod_cansleep(drvdata->gpio_clk)) {
drivers/input/serio/ps2-gpio.c
425
drvdata->irq = platform_get_irq(pdev, 0);
drivers/input/serio/ps2-gpio.c
426
if (drvdata->irq < 0) {
drivers/input/serio/ps2-gpio.c
427
error = drvdata->irq;
drivers/input/serio/ps2-gpio.c
431
error = devm_request_irq(dev, drvdata->irq, ps2_gpio_irq,
drivers/input/serio/ps2-gpio.c
433
drvdata);
drivers/input/serio/ps2-gpio.c
436
drvdata->irq, error);
drivers/input/serio/ps2-gpio.c
447
serio->write = drvdata->write_enable ? ps2_gpio_write : NULL;
drivers/input/serio/ps2-gpio.c
448
serio->port_data = drvdata;
drivers/input/serio/ps2-gpio.c
453
drvdata->serio = serio;
drivers/input/serio/ps2-gpio.c
454
drvdata->dev = dev;
drivers/input/serio/ps2-gpio.c
455
drvdata->mode = PS2_MODE_RX;
drivers/input/serio/ps2-gpio.c
461
drvdata->tx.cnt = 1;
drivers/input/serio/ps2-gpio.c
463
INIT_DELAYED_WORK(&drvdata->tx.work, ps2_gpio_tx_work_fn);
drivers/input/serio/ps2-gpio.c
464
init_completion(&drvdata->tx.complete);
drivers/input/serio/ps2-gpio.c
465
mutex_init(&drvdata->tx.mutex);
drivers/input/serio/ps2-gpio.c
468
platform_set_drvdata(pdev, drvdata);
drivers/input/serio/ps2-gpio.c
479
struct ps2_gpio_data *drvdata = platform_get_drvdata(pdev);
drivers/input/serio/ps2-gpio.c
481
serio_unregister_port(drvdata->serio);
drivers/input/serio/ps2-gpio.c
98
struct ps2_gpio_data *drvdata = serio->port_data;
drivers/input/serio/sun4i-ps2.c
103
guard(spinlock)(&drvdata->lock);
drivers/input/serio/sun4i-ps2.c
106
intr_status = readl(drvdata->reg_base + PS2_REG_LSTS);
drivers/input/serio/sun4i-ps2.c
107
fifo_status = readl(drvdata->reg_base + PS2_REG_FSTS);
drivers/input/serio/sun4i-ps2.c
117
writel(rval, drvdata->reg_base + PS2_REG_LSTS);
drivers/input/serio/sun4i-ps2.c
124
writel(rval, drvdata->reg_base + PS2_REG_FSTS);
drivers/input/serio/sun4i-ps2.c
129
byte = readl(drvdata->reg_base + PS2_REG_DATA) & 0xff;
drivers/input/serio/sun4i-ps2.c
130
serio_interrupt(drvdata->serio, byte, rxflags);
drivers/input/serio/sun4i-ps2.c
133
writel(intr_status, drvdata->reg_base + PS2_REG_LSTS);
drivers/input/serio/sun4i-ps2.c
134
writel(fifo_status, drvdata->reg_base + PS2_REG_FSTS);
drivers/input/serio/sun4i-ps2.c
141
struct sun4i_ps2data *drvdata = serio->port_data;
drivers/input/serio/sun4i-ps2.c
150
writel(rval, drvdata->reg_base + PS2_REG_LCTL);
drivers/input/serio/sun4i-ps2.c
157
writel(rval, drvdata->reg_base + PS2_REG_FCTL);
drivers/input/serio/sun4i-ps2.c
159
src_clk = clk_get_rate(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
164
writel(rval, drvdata->reg_base + PS2_REG_CLKDR);
drivers/input/serio/sun4i-ps2.c
170
guard(spinlock_irqsave)(&drvdata->lock);
drivers/input/serio/sun4i-ps2.c
171
writel(rval, drvdata->reg_base + PS2_REG_GCTL);
drivers/input/serio/sun4i-ps2.c
178
struct sun4i_ps2data *drvdata = serio->port_data;
drivers/input/serio/sun4i-ps2.c
182
rval = readl(drvdata->reg_base + PS2_REG_GCTL);
drivers/input/serio/sun4i-ps2.c
183
writel(rval & ~(PS2_GCTL_INTEN), drvdata->reg_base + PS2_REG_GCTL);
drivers/input/serio/sun4i-ps2.c
185
synchronize_irq(drvdata->irq);
drivers/input/serio/sun4i-ps2.c
191
struct sun4i_ps2data *drvdata = serio->port_data;
drivers/input/serio/sun4i-ps2.c
194
if (readl(drvdata->reg_base + PS2_REG_FSTS) & PS2_FSTS_TXRDY) {
drivers/input/serio/sun4i-ps2.c
195
writel(val, drvdata->reg_base + PS2_REG_DATA);
drivers/input/serio/sun4i-ps2.c
206
struct sun4i_ps2data *drvdata;
drivers/input/serio/sun4i-ps2.c
211
drvdata = kzalloc_obj(*drvdata);
drivers/input/serio/sun4i-ps2.c
213
if (!drvdata || !serio) {
drivers/input/serio/sun4i-ps2.c
218
spin_lock_init(&drvdata->lock);
drivers/input/serio/sun4i-ps2.c
228
drvdata->reg_base = ioremap(res->start, resource_size(res));
drivers/input/serio/sun4i-ps2.c
229
if (!drvdata->reg_base) {
drivers/input/serio/sun4i-ps2.c
235
drvdata->clk = clk_get(dev, NULL);
drivers/input/serio/sun4i-ps2.c
236
if (IS_ERR(drvdata->clk)) {
drivers/input/serio/sun4i-ps2.c
237
error = PTR_ERR(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
242
error = clk_prepare_enable(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
252
serio->port_data = drvdata;
drivers/input/serio/sun4i-ps2.c
258
writel(0, drvdata->reg_base + PS2_REG_GCTL);
drivers/input/serio/sun4i-ps2.c
261
drvdata->irq = platform_get_irq(pdev, 0);
drivers/input/serio/sun4i-ps2.c
262
if (drvdata->irq < 0) {
drivers/input/serio/sun4i-ps2.c
263
error = drvdata->irq;
drivers/input/serio/sun4i-ps2.c
267
drvdata->serio = serio;
drivers/input/serio/sun4i-ps2.c
268
drvdata->dev = dev;
drivers/input/serio/sun4i-ps2.c
270
error = request_irq(drvdata->irq, sun4i_ps2_interrupt, 0,
drivers/input/serio/sun4i-ps2.c
271
DRIVER_NAME, drvdata);
drivers/input/serio/sun4i-ps2.c
273
dev_err(drvdata->dev, "failed to allocate interrupt %d: %d\n",
drivers/input/serio/sun4i-ps2.c
274
drvdata->irq, error);
drivers/input/serio/sun4i-ps2.c
279
platform_set_drvdata(pdev, drvdata);
drivers/input/serio/sun4i-ps2.c
284
clk_disable_unprepare(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
286
clk_put(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
288
iounmap(drvdata->reg_base);
drivers/input/serio/sun4i-ps2.c
291
kfree(drvdata);
drivers/input/serio/sun4i-ps2.c
297
struct sun4i_ps2data *drvdata = platform_get_drvdata(pdev);
drivers/input/serio/sun4i-ps2.c
299
serio_unregister_port(drvdata->serio);
drivers/input/serio/sun4i-ps2.c
301
free_irq(drvdata->irq, drvdata);
drivers/input/serio/sun4i-ps2.c
303
clk_disable_unprepare(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
304
clk_put(drvdata->clk);
drivers/input/serio/sun4i-ps2.c
306
iounmap(drvdata->reg_base);
drivers/input/serio/sun4i-ps2.c
308
kfree(drvdata);
drivers/input/serio/sun4i-ps2.c
96
struct sun4i_ps2data *drvdata = dev_id;
drivers/leds/leds-lm3530.c
189
static int lm3530_led_enable(struct lm3530_data *drvdata)
drivers/leds/leds-lm3530.c
193
if (drvdata->enable)
drivers/leds/leds-lm3530.c
196
ret = regulator_enable(drvdata->regulator);
drivers/leds/leds-lm3530.c
198
dev_err(drvdata->led_dev.dev, "Failed to enable vin:%d\n", ret);
drivers/leds/leds-lm3530.c
202
drvdata->enable = true;
drivers/leds/leds-lm3530.c
206
static void lm3530_led_disable(struct lm3530_data *drvdata)
drivers/leds/leds-lm3530.c
210
if (!drvdata->enable)
drivers/leds/leds-lm3530.c
213
ret = regulator_disable(drvdata->regulator);
drivers/leds/leds-lm3530.c
215
dev_err(drvdata->led_dev.dev, "Failed to disable vin:%d\n",
drivers/leds/leds-lm3530.c
220
drvdata->enable = false;
drivers/leds/leds-lm3530.c
223
static int lm3530_init_registers(struct lm3530_data *drvdata)
drivers/leds/leds-lm3530.c
231
struct lm3530_platform_data *pdata = drvdata->pdata;
drivers/leds/leds-lm3530.c
232
struct i2c_client *client = drvdata->client;
drivers/leds/leds-lm3530.c
241
switch (drvdata->mode) {
drivers/leds/leds-lm3530.c
258
if (drvdata->brightness)
drivers/leds/leds-lm3530.c
259
brightness = drvdata->brightness;
drivers/leds/leds-lm3530.c
261
brightness = drvdata->brightness = pdata->brt_val;
drivers/leds/leds-lm3530.c
263
if (brightness > drvdata->led_dev.max_brightness)
drivers/leds/leds-lm3530.c
264
brightness = drvdata->led_dev.max_brightness;
drivers/leds/leds-lm3530.c
281
ret = lm3530_led_enable(drvdata);
drivers/leds/leds-lm3530.c
288
drvdata->mode == LM3530_BL_MODE_PWM) {
drivers/leds/leds-lm3530.c
291
drvdata->led_dev.max_brightness);
drivers/leds/leds-lm3530.c
308
struct lm3530_data *drvdata =
drivers/leds/leds-lm3530.c
310
struct lm3530_platform_data *pdata = drvdata->pdata;
drivers/leds/leds-lm3530.c
314
switch (drvdata->mode) {
drivers/leds/leds-lm3530.c
317
if (!drvdata->enable) {
drivers/leds/leds-lm3530.c
318
err = lm3530_init_registers(drvdata);
drivers/leds/leds-lm3530.c
320
dev_err(&drvdata->client->dev,
drivers/leds/leds-lm3530.c
327
err = i2c_smbus_write_byte_data(drvdata->client,
drivers/leds/leds-lm3530.c
330
dev_err(&drvdata->client->dev,
drivers/leds/leds-lm3530.c
333
drvdata->brightness = brt_val;
drivers/leds/leds-lm3530.c
336
lm3530_led_disable(drvdata);
drivers/leds/leds-lm3530.c
353
struct lm3530_data *drvdata;
drivers/leds/leds-lm3530.c
356
drvdata = container_of(led_cdev, struct lm3530_data, led_dev);
drivers/leds/leds-lm3530.c
358
if (drvdata->mode == mode_map[i].mode_val)
drivers/leds/leds-lm3530.c
372
struct lm3530_data *drvdata;
drivers/leds/leds-lm3530.c
377
drvdata = container_of(led_cdev, struct lm3530_data, led_dev);
drivers/leds/leds-lm3530.c
378
pwm = &drvdata->pdata->pwm_data;
drivers/leds/leds-lm3530.c
386
drvdata->mode = mode;
drivers/leds/leds-lm3530.c
392
err = lm3530_init_registers(drvdata);
drivers/leds/leds-lm3530.c
398
return sizeof(drvdata->mode);
drivers/leds/leds-lm3530.c
411
struct lm3530_data *drvdata;
drivers/leds/leds-lm3530.c
430
drvdata = devm_kzalloc(&client->dev, sizeof(struct lm3530_data),
drivers/leds/leds-lm3530.c
432
if (drvdata == NULL)
drivers/leds/leds-lm3530.c
435
drvdata->mode = pdata->mode;
drivers/leds/leds-lm3530.c
436
drvdata->client = client;
drivers/leds/leds-lm3530.c
437
drvdata->pdata = pdata;
drivers/leds/leds-lm3530.c
438
drvdata->brightness = LED_OFF;
drivers/leds/leds-lm3530.c
439
drvdata->enable = false;
drivers/leds/leds-lm3530.c
440
drvdata->led_dev.name = LM3530_LED_DEV;
drivers/leds/leds-lm3530.c
441
drvdata->led_dev.brightness_set = lm3530_brightness_set;
drivers/leds/leds-lm3530.c
442
drvdata->led_dev.max_brightness = MAX_BRIGHTNESS;
drivers/leds/leds-lm3530.c
443
drvdata->led_dev.groups = lm3530_groups;
drivers/leds/leds-lm3530.c
445
i2c_set_clientdata(client, drvdata);
drivers/leds/leds-lm3530.c
447
drvdata->regulator = devm_regulator_get(&client->dev, "vin");
drivers/leds/leds-lm3530.c
448
if (IS_ERR(drvdata->regulator)) {
drivers/leds/leds-lm3530.c
450
err = PTR_ERR(drvdata->regulator);
drivers/leds/leds-lm3530.c
451
drvdata->regulator = NULL;
drivers/leds/leds-lm3530.c
455
if (drvdata->pdata->brt_val) {
drivers/leds/leds-lm3530.c
456
err = lm3530_init_registers(drvdata);
drivers/leds/leds-lm3530.c
463
err = led_classdev_register(&client->dev, &drvdata->led_dev);
drivers/leds/leds-lm3530.c
474
struct lm3530_data *drvdata = i2c_get_clientdata(client);
drivers/leds/leds-lm3530.c
476
lm3530_led_disable(drvdata);
drivers/leds/leds-lm3530.c
477
led_classdev_unregister(&drvdata->led_dev);
drivers/leds/leds-lm3532.c
386
struct lm3532_data *drvdata = led->priv;
drivers/leds/leds-lm3532.c
397
if (drvdata->enable_gpio)
drivers/leds/leds-lm3532.c
398
gpiod_direction_output(drvdata->enable_gpio, 1);
drivers/leds/leds-lm3532.c
405
ret = regmap_read(drvdata->regmap, brightness_config_reg,
drivers/leds/leds-lm3532.c
412
ret = regmap_write(drvdata->regmap, brightness_config_reg,
drivers/leds/leds-lm3532.c
422
ret = regmap_write(drvdata->regmap, fs_current_reg,
drivers/leds/leds-lm3532.c
434
ret = regmap_update_bits(drvdata->regmap, LM3532_REG_OUTPUT_CFG,
drivers/leds/leds-lm3532.c
439
runtime_ramp_val = drvdata->runtime_ramp_up |
drivers/leds/leds-lm3532.c
440
(drvdata->runtime_ramp_down << LM3532_RAMP_DOWN_SHIFT);
drivers/leds/leds-lm3532.c
442
return regmap_write(drvdata->regmap, LM3532_REG_RT_RAMP,
drivers/leds/leds-lm3532.c
677
struct lm3532_data *drvdata;
drivers/leds/leds-lm3532.c
687
drvdata = devm_kzalloc(&client->dev, struct_size(drvdata, leds, count),
drivers/leds/leds-lm3532.c
689
if (drvdata == NULL)
drivers/leds/leds-lm3532.c
692
drvdata->client = client;
drivers/leds/leds-lm3532.c
693
drvdata->dev = &client->dev;
drivers/leds/leds-lm3532.c
695
drvdata->regmap = devm_regmap_init_i2c(client, &lm3532_regmap_config);
drivers/leds/leds-lm3532.c
696
if (IS_ERR(drvdata->regmap)) {
drivers/leds/leds-lm3532.c
697
ret = PTR_ERR(drvdata->regmap);
drivers/leds/leds-lm3532.c
703
ret = devm_mutex_init(&client->dev, &drvdata->lock);
drivers/leds/leds-lm3532.c
707
i2c_set_clientdata(client, drvdata);
drivers/leds/leds-lm3532.c
709
ret = lm3532_parse_node(drvdata);
drivers/leds/leds-wm831x-status.c
213
struct wm831x_status *drvdata;
drivers/leds/leds-wm831x-status.c
224
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct wm831x_status),
drivers/leds/leds-wm831x-status.c
226
if (!drvdata)
drivers/leds/leds-wm831x-status.c
229
drvdata->wm831x = wm831x;
drivers/leds/leds-wm831x-status.c
230
drvdata->reg = res->start;
drivers/leds/leds-wm831x-status.c
243
mutex_init(&drvdata->mutex);
drivers/leds/leds-wm831x-status.c
244
spin_lock_init(&drvdata->value_lock);
drivers/leds/leds-wm831x-status.c
248
drvdata->reg_val = wm831x_reg_read(wm831x, drvdata->reg);
drivers/leds/leds-wm831x-status.c
250
if (drvdata->reg_val & WM831X_LED_MODE_MASK)
drivers/leds/leds-wm831x-status.c
251
drvdata->brightness = LED_FULL;
drivers/leds/leds-wm831x-status.c
253
drvdata->brightness = LED_OFF;
drivers/leds/leds-wm831x-status.c
259
drvdata->src = drvdata->reg_val;
drivers/leds/leds-wm831x-status.c
260
drvdata->src &= WM831X_LED_SRC_MASK;
drivers/leds/leds-wm831x-status.c
261
drvdata->src >>= WM831X_LED_SRC_SHIFT;
drivers/leds/leds-wm831x-status.c
263
drvdata->src = pdata.default_src - 1;
drivers/leds/leds-wm831x-status.c
266
drvdata->cdev.name = pdata.name;
drivers/leds/leds-wm831x-status.c
267
drvdata->cdev.default_trigger = pdata.default_trigger;
drivers/leds/leds-wm831x-status.c
268
drvdata->cdev.brightness_set_blocking = wm831x_status_brightness_set;
drivers/leds/leds-wm831x-status.c
269
drvdata->cdev.blink_set = wm831x_status_blink_set;
drivers/leds/leds-wm831x-status.c
270
drvdata->cdev.groups = wm831x_status_groups;
drivers/leds/leds-wm831x-status.c
272
ret = led_classdev_register(wm831x->dev, &drvdata->cdev);
drivers/leds/leds-wm831x-status.c
278
platform_set_drvdata(pdev, drvdata);
drivers/leds/leds-wm831x-status.c
285
struct wm831x_status *drvdata = platform_get_drvdata(pdev);
drivers/leds/leds-wm831x-status.c
287
led_classdev_unregister(&drvdata->cdev);
drivers/media/i2c/video-i2c.c
271
static umode_t amg88xx_is_visible(const void *drvdata,
drivers/media/pci/mantis/hopper_cards.c
147
struct mantis_pci_drvdata *drvdata;
drivers/media/pci/mantis/hopper_cards.c
158
drvdata = (void *)pci_id->driver_data;
drivers/media/pci/mantis/hopper_cards.c
162
config = drvdata->hwconfig;
drivers/media/pci/mantis/hopper_cards.c
165
mantis->rc_map_name = drvdata->rc_map_name;
drivers/media/pci/mantis/mantis_cards.c
156
struct mantis_pci_drvdata *drvdata;
drivers/media/pci/mantis/mantis_cards.c
165
drvdata = (void *)pci_id->driver_data;
drivers/media/pci/mantis/mantis_cards.c
169
config = drvdata->hwconfig;
drivers/media/pci/mantis/mantis_cards.c
172
mantis->rc_map_name = drvdata->rc_map_name;
drivers/media/platform/samsung/exynos4-is/fimc-is-param.c
246
switch (is->sensor->drvdata->id) {
drivers/media/platform/samsung/exynos4-is/fimc-is-sensor.h
45
const struct sensor_drv_data *drvdata;
drivers/media/platform/samsung/exynos4-is/fimc-is.c
171
sensor->drvdata = fimc_is_sensor_get_drvdata(node);
drivers/media/platform/samsung/exynos4-is/fimc-is.c
172
if (!sensor->drvdata) {
drivers/media/platform/samsung/exynos4-is/fimc-is.c
639
mcuctl_write(sensor->drvdata->id, is, MCUCTL_REG_ISSR(2));
drivers/media/platform/samsung/exynos4-is/fimc-is.c
646
sensor->drvdata->open_timeout);
drivers/media/platform/samsung/exynos4-is/media-dev.c
686
void *drvdata;
drivers/media/platform/samsung/exynos4-is/media-dev.c
694
drvdata = dev_get_drvdata(dev);
drivers/media/platform/samsung/exynos4-is/media-dev.c
696
if (drvdata) {
drivers/media/platform/samsung/exynos4-is/media-dev.c
699
ret = register_fimc_entity(fmd, drvdata);
drivers/media/platform/samsung/exynos4-is/media-dev.c
702
ret = register_fimc_lite_entity(fmd, drvdata);
drivers/media/platform/samsung/exynos4-is/media-dev.c
705
ret = register_csis_entity(fmd, pdev, drvdata);
drivers/media/platform/samsung/exynos4-is/media-dev.c
708
ret = register_fimc_is_entity(fmd, drvdata);
drivers/media/platform/samsung/s3c-camif/camif-core.c
402
struct s3c_camif_drvdata *drvdata;
drivers/media/platform/samsung/s3c-camif/camif-core.c
421
drvdata = (void *)platform_get_device_id(pdev)->driver_data;
drivers/media/platform/samsung/s3c-camif/camif-core.c
422
camif->variant = drvdata->variant;
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
123
const struct dw_mipi_csi2rx_drvdata *drvdata;
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
304
(csi2->drvdata->regs[index] & DW_REG_EXIST))
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
314
u32 off = (~DW_REG_EXIST) & csi2->drvdata->regs[index];
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
410
if (csi2->drvdata->dphy_assert_reset)
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
411
csi2->drvdata->dphy_assert_reset(csi2);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
425
if (csi2->drvdata->dphy_deassert_reset)
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
426
csi2->drvdata->dphy_deassert_reset(csi2);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
430
if (csi2->drvdata->ipi_enable)
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
431
csi2->drvdata->ipi_enable(csi2);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
577
csi2->drvdata->wait_for_phy_stopstate) {
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
578
ret = csi2->drvdata->wait_for_phy_stopstate(csi2);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
968
csi2->drvdata = device_get_match_data(dev);
drivers/media/platform/synopsys/dw-mipi-csi2rx.c
969
if (!csi2->drvdata)
drivers/misc/open-dice.c
105
mmap_action_simple_ioremap(desc, drvdata->rmem->base,
drivers/misc/open-dice.c
106
drvdata->rmem->size);
drivers/misc/open-dice.c
122
struct open_dice_drvdata *drvdata;
drivers/misc/open-dice.c
141
drvdata = devm_kmalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/misc/open-dice.c
142
if (!drvdata)
drivers/misc/open-dice.c
145
*drvdata = (struct open_dice_drvdata){
drivers/misc/open-dice.c
149
.name = drvdata->name,
drivers/misc/open-dice.c
155
mutex_init(&drvdata->lock);
drivers/misc/open-dice.c
158
snprintf(drvdata->name, sizeof(drvdata->name), DRIVER_NAME"%u", dev_idx++);
drivers/misc/open-dice.c
160
ret = misc_register(&drvdata->misc);
drivers/misc/open-dice.c
163
drvdata->name, ret);
drivers/misc/open-dice.c
167
platform_set_drvdata(pdev, drvdata);
drivers/misc/open-dice.c
173
struct open_dice_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/misc/open-dice.c
175
misc_deregister(&drvdata->misc);
drivers/misc/open-dice.c
43
static int open_dice_wipe(struct open_dice_drvdata *drvdata)
drivers/misc/open-dice.c
47
mutex_lock(&drvdata->lock);
drivers/misc/open-dice.c
48
kaddr = devm_memremap(drvdata->misc.this_device, drvdata->rmem->base,
drivers/misc/open-dice.c
49
drvdata->rmem->size, MEMREMAP_WC);
drivers/misc/open-dice.c
51
mutex_unlock(&drvdata->lock);
drivers/misc/open-dice.c
55
memset(kaddr, 0, drvdata->rmem->size);
drivers/misc/open-dice.c
56
devm_memunmap(drvdata->misc.this_device, kaddr);
drivers/misc/open-dice.c
57
mutex_unlock(&drvdata->lock);
drivers/misc/open-dice.c
92
struct open_dice_drvdata *drvdata = to_open_dice_drvdata(filp);
drivers/mmc/host/sdhci_am654.c
930
const struct sdhci_am654_driver_data *drvdata;
drivers/mmc/host/sdhci_am654.c
942
drvdata = match->data;
drivers/mmc/host/sdhci_am654.c
947
drvdata = soc->data;
drivers/mmc/host/sdhci_am654.c
949
host = sdhci_pltfm_init(pdev, drvdata->pdata, sizeof(*sdhci_am654));
drivers/mmc/host/sdhci_am654.c
955
sdhci_am654->flags = drvdata->flags;
drivers/mmc/host/sdhci_am654.c
956
sdhci_am654->quirks = drvdata->quirks;
drivers/mtd/nand/raw/txx9ndfmc.c
222
struct txx9ndfmc_drvdata *drvdata = platform_get_drvdata(dev);
drivers/mtd/nand/raw/txx9ndfmc.c
242
txx9ndfmc_write(dev, (drvdata->hold << 4) | drvdata->spw, TXX9_NDFSPR);
drivers/mtd/nand/raw/txx9ndfmc.c
284
struct txx9ndfmc_drvdata *drvdata;
drivers/mtd/nand/raw/txx9ndfmc.c
287
drvdata = devm_kzalloc(&dev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/mtd/nand/raw/txx9ndfmc.c
288
if (!drvdata)
drivers/mtd/nand/raw/txx9ndfmc.c
290
drvdata->base = devm_platform_ioremap_resource(dev, 0);
drivers/mtd/nand/raw/txx9ndfmc.c
291
if (IS_ERR(drvdata->base))
drivers/mtd/nand/raw/txx9ndfmc.c
292
return PTR_ERR(drvdata->base);
drivers/mtd/nand/raw/txx9ndfmc.c
303
drvdata->hold = hold;
drivers/mtd/nand/raw/txx9ndfmc.c
305
drvdata->spw = spw;
drivers/mtd/nand/raw/txx9ndfmc.c
309
nand_controller_init(&drvdata->controller);
drivers/mtd/nand/raw/txx9ndfmc.c
310
drvdata->controller.ops = &txx9ndfmc_controller_ops;
drivers/mtd/nand/raw/txx9ndfmc.c
312
platform_set_drvdata(dev, drvdata);
drivers/mtd/nand/raw/txx9ndfmc.c
335
chip->controller = &drvdata->controller;
drivers/mtd/nand/raw/txx9ndfmc.c
365
drvdata->mtds[i] = mtd;
drivers/mtd/nand/raw/txx9ndfmc.c
373
struct txx9ndfmc_drvdata *drvdata = platform_get_drvdata(dev);
drivers/mtd/nand/raw/txx9ndfmc.c
377
struct mtd_info *mtd = drvdata->mtds[i];
drivers/mtd/nand/raw/txx9ndfmc.c
84
struct txx9ndfmc_drvdata *drvdata = platform_get_drvdata(dev);
drivers/mtd/nand/raw/txx9ndfmc.c
87
return drvdata->base + (reg << plat->shift);
drivers/net/can/c_can/c_can_platform.c
265
const struct c_can_driver_data *drvdata;
drivers/net/can/c_can/c_can_platform.c
268
drvdata = device_get_match_data(&pdev->dev);
drivers/net/can/c_can/c_can_platform.c
285
dev = alloc_c_can_dev(drvdata->msg_obj_num);
drivers/net/can/c_can/c_can_platform.c
290
switch (drvdata->id) {
drivers/net/can/c_can/c_can_platform.c
336
if (id >= drvdata->raminit_num) {
drivers/net/can/c_can/c_can_platform.c
342
raminit->bits = drvdata->raminit_bits[id];
drivers/net/can/c_can/c_can_platform.c
343
raminit->needs_pulse = drvdata->raminit_pulse;
drivers/net/can/c_can/c_can_platform.c
359
priv->type = drvdata->id;
drivers/net/ethernet/freescale/enetc/enetc.c
34
enetc_port_wr(&si->hw, reg + si->drvdata->pmac_offset, val);
drivers/net/ethernet/freescale/enetc/enetc.c
3787
si->drvdata = enetc_info[i].data;
drivers/net/ethernet/freescale/enetc/enetc.h
324
const struct enetc_drvdata *drvdata;
drivers/net/ethernet/freescale/enetc/enetc_ethtool.c
1647
ndev->ethtool_ops = priv->si->drvdata->eth_ops;
drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
103
priv->sysclk_freq = si->drvdata->sysclk_freq;
drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
104
priv->max_frags = si->drvdata->max_frags;
drivers/net/ethernet/freescale/enetc/enetc_pf_common.c
125
if (si->drvdata->tx_csum)
drivers/net/ethernet/freescale/enetc/enetc_vf.c
259
priv->sysclk_freq = si->drvdata->sysclk_freq;
drivers/net/ethernet/freescale/enetc/enetc_vf.c
260
priv->max_frags = si->drvdata->max_frags;
drivers/net/ethernet/ibm/emac/core.c
2334
void *drvdata;
drivers/net/ethernet/ibm/emac/core.c
2376
if (deps[i].drvdata == NULL)
drivers/net/ethernet/ibm/emac/core.c
2377
deps[i].drvdata = platform_get_drvdata(deps[i].ofdev);
drivers/net/ethernet/ibm/emac/core.c
2378
if (deps[i].drvdata != NULL)
drivers/net/ethernet/meta/fbnic/fbnic_hwmon.c
19
static umode_t fbnic_hwmon_is_visible(const void *drvdata,
drivers/net/ethernet/xilinx/xilinx_emaclite.c
151
static void xemaclite_enable_interrupts(struct net_local *drvdata)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
156
reg_data = xemaclite_readl(drvdata->base_addr + XEL_TSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
158
drvdata->base_addr + XEL_TSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
161
xemaclite_writel(XEL_RSR_RECV_IE_MASK, drvdata->base_addr + XEL_RSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
164
xemaclite_writel(XEL_GIER_GIE_MASK, drvdata->base_addr + XEL_GIER_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
174
static void xemaclite_disable_interrupts(struct net_local *drvdata)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
179
xemaclite_writel(XEL_GIER_GIE_MASK, drvdata->base_addr + XEL_GIER_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
182
reg_data = xemaclite_readl(drvdata->base_addr + XEL_TSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
184
drvdata->base_addr + XEL_TSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
187
reg_data = xemaclite_readl(drvdata->base_addr + XEL_RSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
189
drvdata->base_addr + XEL_RSR_OFFSET);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
308
static int xemaclite_send_data(struct net_local *drvdata, u8 *data,
drivers/net/ethernet/xilinx/xilinx_emaclite.c
315
addr = drvdata->base_addr + drvdata->next_tx_buf_to_use;
drivers/net/ethernet/xilinx/xilinx_emaclite.c
326
if (drvdata->tx_ping_pong != 0)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
327
drvdata->next_tx_buf_to_use ^= XEL_BUFFER_OFFSET;
drivers/net/ethernet/xilinx/xilinx_emaclite.c
328
} else if (drvdata->tx_ping_pong != 0) {
drivers/net/ethernet/xilinx/xilinx_emaclite.c
373
static u16 xemaclite_recv_data(struct net_local *drvdata, u8 *data, int maxlen)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
380
addr = (drvdata->base_addr + drvdata->next_rx_buf_to_use);
drivers/net/ethernet/xilinx/xilinx_emaclite.c
386
if (drvdata->rx_ping_pong != 0)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
387
drvdata->next_rx_buf_to_use ^= XEL_BUFFER_OFFSET;
drivers/net/ethernet/xilinx/xilinx_emaclite.c
394
if (drvdata->rx_ping_pong != 0)
drivers/net/ethernet/xilinx/xilinx_emaclite.c
466
static void xemaclite_update_address(struct net_local *drvdata,
drivers/net/ethernet/xilinx/xilinx_emaclite.c
473
addr = drvdata->base_addr + drvdata->next_tx_buf_to_use;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2420
static const struct brcmf_pcie_drvdata drvdata[] = {
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2523
bus->fwvid = drvdata[id->driver_data].vendor;
drivers/net/wireless/broadcom/brcm80211/brcmfmac/pcie.c
2524
devinfo->fwseed = drvdata[id->driver_data].fw_seed;
drivers/net/wwan/wwan_core.c
626
void *drvdata)
drivers/net/wwan/wwan_core.c
659
dev_set_drvdata(&port->dev, drvdata);
drivers/nvme/target/nvmet.h
257
void *drvdata;
drivers/nvme/target/pci-epf.c
1260
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1269
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1350
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1369
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1421
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1441
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
1484
struct nvmet_pci_epf_ctrl *ctrl = tctrl->drvdata;
drivers/nvme/target/pci-epf.c
2069
ctrl->tctrl->drvdata = ctrl;
drivers/nvmem/imx-iim.c
102
const struct imx_iim_drvdata *drvdata = NULL;
drivers/nvmem/imx-iim.c
112
drvdata = of_device_get_match_data(&pdev->dev);
drivers/nvmem/imx-iim.c
124
cfg.size = drvdata->nregs;
drivers/nvmem/meson-mx-efuse.c
193
const struct meson_mx_efuse_platform_data *drvdata;
drivers/nvmem/meson-mx-efuse.c
197
drvdata = of_device_get_match_data(&pdev->dev);
drivers/nvmem/meson-mx-efuse.c
198
if (!drvdata)
drivers/nvmem/meson-mx-efuse.c
209
efuse->config.name = drvdata->name;
drivers/nvmem/meson-mx-efuse.c
214
efuse->config.stride = drvdata->word_size;
drivers/nvmem/meson-mx-efuse.c
215
efuse->config.word_size = drvdata->word_size;
drivers/pci/controller/dwc/pci-imx6.c
1002
if (!(imx_pcie->drvdata->flags &
drivers/pci/controller/dwc/pci-imx6.c
1121
if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE)
drivers/pci/controller/dwc/pci-imx6.c
125
#define imx_check_flag(pci, val) (pci->drvdata->flags & val)
drivers/pci/controller/dwc/pci-imx6.c
1399
if (imx_pcie->drvdata->select_ref_clk_src)
drivers/pci/controller/dwc/pci-imx6.c
1400
imx_pcie->drvdata->select_ref_clk_src(imx_pcie);
drivers/pci/controller/dwc/pci-imx6.c
1404
if (imx_pcie->drvdata->init_phy)
drivers/pci/controller/dwc/pci-imx6.c
1405
imx_pcie->drvdata->init_phy(imx_pcie);
drivers/pci/controller/dwc/pci-imx6.c
1417
imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE ?
drivers/pci/controller/dwc/pci-imx6.c
1437
if (imx_pcie->drvdata->wait_pll_lock) {
drivers/pci/controller/dwc/pci-imx6.c
1438
ret = imx_pcie->drvdata->wait_pll_lock(imx_pcie);
drivers/pci/controller/dwc/pci-imx6.c
1487
if (imx_pcie->drvdata->flags & IMX_PCIE_FLAG_8GT_ECN_ERR051586) {
drivers/pci/controller/dwc/pci-imx6.c
1508
if (imx_pcie->drvdata->clr_clkreq_override)
drivers/pci/controller/dwc/pci-imx6.c
1509
imx_pcie->drvdata->clr_clkreq_override(imx_pcie);
drivers/pci/controller/dwc/pci-imx6.c
1610
return imx_pcie->drvdata->epc_features;
drivers/pci/controller/dwc/pci-imx6.c
1634
ep->page_size = imx_pcie->drvdata->epc_features->align;
drivers/pci/controller/dwc/pci-imx6.c
1715
if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_SUPPORTS_SUSPEND))
drivers/pci/controller/dwc/pci-imx6.c
1729
imx_pcie->drvdata->enable_ref_clk(imx_pcie, false);
drivers/pci/controller/dwc/pci-imx6.c
1742
if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_SUPPORTS_SUSPEND))
drivers/pci/controller/dwc/pci-imx6.c
1746
ret = imx_pcie->drvdata->enable_ref_clk(imx_pcie, true);
drivers/pci/controller/dwc/pci-imx6.c
1798
imx_pcie->drvdata = of_device_get_match_data(dev);
drivers/pci/controller/dwc/pci-imx6.c
1802
if (imx_pcie->drvdata->ops)
drivers/pci/controller/dwc/pci-imx6.c
1803
pci->pp.ops = imx_pcie->drvdata->ops;
drivers/pci/controller/dwc/pci-imx6.c
185
const struct imx_pcie_drvdata *drvdata;
drivers/pci/controller/dwc/pci-imx6.c
1853
switch (imx_pcie->drvdata->variant) {
drivers/pci/controller/dwc/pci-imx6.c
1866
if (imx_pcie->drvdata->gpr) {
drivers/pci/controller/dwc/pci-imx6.c
1869
syscon_regmap_lookup_by_compatible(imx_pcie->drvdata->gpr);
drivers/pci/controller/dwc/pci-imx6.c
1949
if (imx_pcie->drvdata->mode == DW_PCIE_EP_TYPE) {
drivers/pci/controller/dwc/pci-imx6.c
1992
static const struct imx_pcie_drvdata drvdata[] = {
drivers/pci/controller/dwc/pci-imx6.c
2177
{ .compatible = "fsl,imx6q-pcie", .data = &drvdata[IMX6Q], },
drivers/pci/controller/dwc/pci-imx6.c
2178
{ .compatible = "fsl,imx6sx-pcie", .data = &drvdata[IMX6SX], },
drivers/pci/controller/dwc/pci-imx6.c
2179
{ .compatible = "fsl,imx6qp-pcie", .data = &drvdata[IMX6QP], },
drivers/pci/controller/dwc/pci-imx6.c
2180
{ .compatible = "fsl,imx7d-pcie", .data = &drvdata[IMX7D], },
drivers/pci/controller/dwc/pci-imx6.c
2181
{ .compatible = "fsl,imx8mq-pcie", .data = &drvdata[IMX8MQ], },
drivers/pci/controller/dwc/pci-imx6.c
2182
{ .compatible = "fsl,imx8mm-pcie", .data = &drvdata[IMX8MM], },
drivers/pci/controller/dwc/pci-imx6.c
2183
{ .compatible = "fsl,imx8mp-pcie", .data = &drvdata[IMX8MP], },
drivers/pci/controller/dwc/pci-imx6.c
2184
{ .compatible = "fsl,imx8q-pcie", .data = &drvdata[IMX8Q], },
drivers/pci/controller/dwc/pci-imx6.c
2185
{ .compatible = "fsl,imx95-pcie", .data = &drvdata[IMX95], },
drivers/pci/controller/dwc/pci-imx6.c
2186
{ .compatible = "fsl,imx8mq-pcie-ep", .data = &drvdata[IMX8MQ_EP], },
drivers/pci/controller/dwc/pci-imx6.c
2187
{ .compatible = "fsl,imx8mm-pcie-ep", .data = &drvdata[IMX8MM_EP], },
drivers/pci/controller/dwc/pci-imx6.c
2188
{ .compatible = "fsl,imx8mp-pcie-ep", .data = &drvdata[IMX8MP_EP], },
drivers/pci/controller/dwc/pci-imx6.c
2189
{ .compatible = "fsl,imx8q-pcie-ep", .data = &drvdata[IMX8Q_EP], },
drivers/pci/controller/dwc/pci-imx6.c
2190
{ .compatible = "fsl,imx95-pcie-ep", .data = &drvdata[IMX95_EP], },
drivers/pci/controller/dwc/pci-imx6.c
2227
if (imx_pcie->drvdata->dbi_length) {
drivers/pci/controller/dwc/pci-imx6.c
2228
dev->cfg_size = imx_pcie->drvdata->dbi_length;
drivers/pci/controller/dwc/pci-imx6.c
245
WARN_ON(imx_pcie->drvdata->variant != IMX8MQ &&
drivers/pci/controller/dwc/pci-imx6.c
246
imx_pcie->drvdata->variant != IMX8MQ_EP &&
drivers/pci/controller/dwc/pci-imx6.c
247
imx_pcie->drvdata->variant != IMX8MM &&
drivers/pci/controller/dwc/pci-imx6.c
248
imx_pcie->drvdata->variant != IMX8MM_EP &&
drivers/pci/controller/dwc/pci-imx6.c
249
imx_pcie->drvdata->variant != IMX8MP &&
drivers/pci/controller/dwc/pci-imx6.c
250
imx_pcie->drvdata->variant != IMX8MP_EP);
drivers/pci/controller/dwc/pci-imx6.c
297
const struct imx_pcie_drvdata *drvdata = imx_pcie->drvdata;
drivers/pci/controller/dwc/pci-imx6.c
300
if (drvdata->mode == DW_PCIE_EP_TYPE)
drivers/pci/controller/dwc/pci-imx6.c
308
if (!drvdata->mode_mask[0])
drivers/pci/controller/dwc/pci-imx6.c
312
if (!drvdata->mode_mask[id])
drivers/pci/controller/dwc/pci-imx6.c
315
mask = drvdata->mode_mask[id];
drivers/pci/controller/dwc/pci-imx6.c
318
regmap_update_bits(imx_pcie->iomuxc_gpr, drvdata->mode_off[id], mask, val);
drivers/pci/controller/dwc/pci-imx6.c
540
if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_IMX_PHY))
drivers/pci/controller/dwc/pci-imx6.c
589
if (!(imx_pcie->drvdata->flags & IMX_PCIE_FLAG_IMX_PHY))
drivers/pci/controller/dwc/pci-imx6.c
786
if (imx_pcie->drvdata->enable_ref_clk) {
drivers/pci/controller/dwc/pci-imx6.c
787
ret = imx_pcie->drvdata->enable_ref_clk(imx_pcie, true);
drivers/pci/controller/dwc/pci-imx6.c
806
if (imx_pcie->drvdata->enable_ref_clk)
drivers/pci/controller/dwc/pci-imx6.c
807
imx_pcie->drvdata->enable_ref_clk(imx_pcie, false);
drivers/pci/controller/dwc/pci-imx6.c
934
if (imx_pcie->drvdata->core_reset)
drivers/pci/controller/dwc/pci-imx6.c
935
imx_pcie->drvdata->core_reset(imx_pcie, true);
drivers/pci/controller/dwc/pci-imx6.c
942
if (imx_pcie->drvdata->core_reset)
drivers/pci/controller/dwc/pci-imx6.c
943
imx_pcie->drvdata->core_reset(imx_pcie, false);
drivers/pci/controller/dwc/pci-imx6.c
968
const struct imx_pcie_drvdata *drvdata = imx_pcie->drvdata;
drivers/pci/controller/dwc/pci-imx6.c
974
if (drvdata->ltssm_mask)
drivers/pci/controller/dwc/pci-imx6.c
975
regmap_update_bits(imx_pcie->iomuxc_gpr, drvdata->ltssm_off, drvdata->ltssm_mask,
drivers/pci/controller/dwc/pci-imx6.c
976
drvdata->ltssm_mask);
drivers/pci/controller/dwc/pci-imx6.c
984
const struct imx_pcie_drvdata *drvdata = imx_pcie->drvdata;
drivers/pci/controller/dwc/pci-imx6.c
987
if (drvdata->ltssm_mask)
drivers/pci/controller/dwc/pci-imx6.c
988
regmap_update_bits(imx_pcie->iomuxc_gpr, drvdata->ltssm_off,
drivers/pci/controller/dwc/pci-imx6.c
989
drvdata->ltssm_mask, 0);
drivers/pci/controller/dwc/pci-layerscape-ep.c
188
WARN_ON(func_no && !pcie->drvdata->func_offset);
drivers/pci/controller/dwc/pci-layerscape-ep.c
189
return pcie->drvdata->func_offset * func_no;
drivers/pci/controller/dwc/pci-layerscape-ep.c
244
pcie->drvdata = of_device_get_match_data(dev);
drivers/pci/controller/dwc/pci-layerscape-ep.c
247
pci->ops = pcie->drvdata->dw_pcie_ops;
drivers/pci/controller/dwc/pci-layerscape-ep.c
46
const struct ls_pcie_ep_drvdata *drvdata;
drivers/pci/controller/dwc/pci-layerscape.c
342
pcie->drvdata = of_device_get_match_data(dev);
drivers/pci/controller/dwc/pci-layerscape.c
346
pci->pp.ops = pcie->drvdata->ops;
drivers/pci/controller/dwc/pci-layerscape.c
355
pcie->pf_lut_base = pci->dbi_base + pcie->drvdata->pf_lut_off;
drivers/pci/controller/dwc/pci-layerscape.c
357
if (pcie->drvdata->scfg_support) {
drivers/pci/controller/dwc/pci-layerscape.c
382
if (!pcie->drvdata->pm_support)
drivers/pci/controller/dwc/pci-layerscape.c
393
if (!pcie->drvdata->pm_support)
drivers/pci/controller/dwc/pci-layerscape.c
396
ret = pcie->drvdata->exit_from_l2(&pcie->pci->pp);
drivers/pci/controller/dwc/pci-layerscape.c
66
const struct ls_pcie_drvdata *drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
637
static int dw_pcie_ptm_check_capability(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
639
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
646
static int dw_pcie_ptm_context_update_write(void *drvdata, u8 mode)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
648
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
667
static int dw_pcie_ptm_context_update_read(void *drvdata, u8 *mode)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
669
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
686
static int dw_pcie_ptm_context_valid_write(void *drvdata, bool valid)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
688
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
704
static int dw_pcie_ptm_context_valid_read(void *drvdata, bool *valid)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
706
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
715
static int dw_pcie_ptm_local_clock_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
717
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
730
static int dw_pcie_ptm_master_clock_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
732
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
745
static int dw_pcie_ptm_t1_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
747
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
760
static int dw_pcie_ptm_t2_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
762
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
775
static int dw_pcie_ptm_t3_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
777
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
790
static int dw_pcie_ptm_t4_read(void *drvdata, u64 *clock)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
792
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
805
static bool dw_pcie_ptm_context_update_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
807
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
812
static bool dw_pcie_ptm_context_valid_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
814
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
819
static bool dw_pcie_ptm_local_clock_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
825
static bool dw_pcie_ptm_master_clock_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
827
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
832
static bool dw_pcie_ptm_t1_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
834
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
839
static bool dw_pcie_ptm_t2_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
841
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
846
static bool dw_pcie_ptm_t3_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
848
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-designware-debugfs.c
853
static bool dw_pcie_ptm_t4_visible(void *drvdata)
drivers/pci/controller/dwc/pcie-designware-debugfs.c
855
struct dw_pcie *pci = drvdata;
drivers/pci/controller/dwc/pcie-rcar-gen4.c
137
if (rcar->drvdata->ltssm_control) {
drivers/pci/controller/dwc/pcie-rcar-gen4.c
138
ret = rcar->drvdata->ltssm_control(rcar, true);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
153
if (changes && rcar->drvdata->mode == DW_PCIE_RC_TYPE)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
169
if (rcar->drvdata->ltssm_control)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
170
rcar->drvdata->ltssm_control(rcar, false);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
198
if (rcar->drvdata->mode == DW_PCIE_RC_TYPE) {
drivers/pci/controller/dwc/pcie-rcar-gen4.c
200
} else if (rcar->drvdata->mode == DW_PCIE_EP_TYPE) {
drivers/pci/controller/dwc/pcie-rcar-gen4.c
229
if (rcar->drvdata->additional_common_init)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
230
rcar->drvdata->additional_common_init(rcar);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
489
rcar->drvdata = of_device_get_match_data(&rcar->pdev->dev);
drivers/pci/controller/dwc/pcie-rcar-gen4.c
490
if (!rcar->drvdata)
drivers/pci/controller/dwc/pcie-rcar-gen4.c
493
switch (rcar->drvdata->mode) {
drivers/pci/controller/dwc/pcie-rcar-gen4.c
534
switch (rcar->drvdata->mode) {
drivers/pci/controller/dwc/pcie-rcar-gen4.c
85
const struct rcar_gen4_pcie_drvdata *drvdata;
drivers/phy/apple/atc.c
2075
.drvdata = atcphy,
drivers/phy/apple/atc.c
2165
.drvdata = atcphy,
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
114
if (imx8_phy->drvdata->variant != IMX8MM) {
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
222
imx8_phy->drvdata = of_device_get_match_data(dev);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
248
syscon_regmap_lookup_by_compatible(imx8_phy->drvdata->gpr);
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
258
if (imx8_phy->drvdata->variant == IMX8MP) {
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
70
const struct imx8_pcie_phy_drvdata *drvdata;
drivers/phy/freescale/phy-fsl-imx8m-pcie.c
80
switch (imx8_phy->drvdata->variant) {
drivers/phy/freescale/phy-fsl-imx8mq-usb.c
161
sw_desc.drvdata = imx_phy;
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
540
if (idx < 0 || idx >= priv->drvdata->lane_num)
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
562
priv->drvdata = of_device_get_match_data(dev);
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
597
for (i = 0; i < priv->drvdata->lane_num; i++) {
drivers/phy/freescale/phy-fsl-imx8qm-hsio.c
95
const struct imx_hsio_drvdata *drvdata;
drivers/phy/phy-can-transceiver.c
124
const struct can_transceiver_data *drvdata;
drivers/phy/phy-can-transceiver.c
134
drvdata = device_get_match_data(dev);
drivers/phy/phy-can-transceiver.c
135
if (!drvdata)
drivers/phy/phy-can-transceiver.c
138
if (drvdata->flags & CAN_TRANSCEIVER_DUAL_CH)
drivers/phy/phy-can-transceiver.c
183
if (drvdata->flags & CAN_TRANSCEIVER_STB_PRESENT) {
drivers/phy/phy-can-transceiver.c
191
if (drvdata->flags & CAN_TRANSCEIVER_EN_PRESENT) {
drivers/phy/phy-can-transceiver.c
199
if (drvdata->flags & CAN_TRANSCEIVER_SILENT_PRESENT) {
drivers/phy/phy-google-usb.c
257
sw_desc.drvdata = gphy;
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4558
sw_desc.drvdata = qmp;
drivers/phy/qualcomm/phy-qcom-qmp-combo.c
4571
mux_desc.drvdata = qmp;
drivers/phy/qualcomm/phy-qcom-qmp-usbc.c
1740
sw_desc.drvdata = qmp;
drivers/phy/rockchip/phy-rockchip-usbdp.c
1413
mux_desc.drvdata = udphy;
drivers/phy/rockchip/phy-rockchip-usbdp.c
688
sw_desc.drvdata = udphy;
drivers/phy/samsung/phy-exynos-dp-video.c
26
const struct exynos_dp_video_phy_drvdata *drvdata;
drivers/phy/samsung/phy-exynos-dp-video.c
34
return regmap_update_bits(state->regs, state->drvdata->phy_ctrl_offset,
drivers/phy/samsung/phy-exynos-dp-video.c
43
return regmap_update_bits(state->regs, state->drvdata->phy_ctrl_offset,
drivers/phy/samsung/phy-exynos-dp-video.c
94
state->drvdata = of_device_get_match_data(dev);
drivers/phy/samsung/phy-exynos5-usbdrd.c
1901
sw_desc.drvdata = phy_drd;
drivers/phy/samsung/phy-samsung-ufs.c
102
ufs_phy->drvdata->wait_for_cal) {
drivers/phy/samsung/phy-samsung-ufs.c
103
err = ufs_phy->drvdata->wait_for_cal(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
109
ufs_phy->drvdata->wait_for_cdr) {
drivers/phy/samsung/phy-samsung-ufs.c
110
err = ufs_phy->drvdata->wait_for_cdr(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
150
const struct samsung_ufs_phy_drvdata *drvdata = phy->drvdata;
drivers/phy/samsung/phy-samsung-ufs.c
151
int num_clks = drvdata->num_clks;
drivers/phy/samsung/phy-samsung-ufs.c
159
phy->clks[i].id = drvdata->clk_list[i];
drivers/phy/samsung/phy-samsung-ufs.c
181
ret = clk_bulk_prepare_enable(ss_phy->drvdata->num_clks, ss_phy->clks);
drivers/phy/samsung/phy-samsung-ufs.c
200
clk_bulk_disable_unprepare(ss_phy->drvdata->num_clks, ss_phy->clks);
drivers/phy/samsung/phy-samsung-ufs.c
245
if (ufs_phy->drvdata->wait_for_cdr) {
drivers/phy/samsung/phy-samsung-ufs.c
246
err = ufs_phy->drvdata->wait_for_cdr(phy, i);
drivers/phy/samsung/phy-samsung-ufs.c
287
const struct samsung_ufs_phy_drvdata *drvdata;
drivers/phy/samsung/phy-samsung-ufs.c
325
drvdata = match->data;
drivers/phy/samsung/phy-samsung-ufs.c
327
phy->drvdata = drvdata;
drivers/phy/samsung/phy-samsung-ufs.c
328
phy->cfgs = drvdata->cfgs;
drivers/phy/samsung/phy-samsung-ufs.c
329
phy->cfgs_hibern8 = drvdata->cfgs_hibern8;
drivers/phy/samsung/phy-samsung-ufs.c
330
memcpy(&phy->isol, &drvdata->isol, sizeof(phy->isol));
drivers/phy/samsung/phy-samsung-ufs.c
67
PHY_APB_ADDR(ufs_phy->drvdata->cdr_lock_status_offset),
drivers/phy/samsung/phy-samsung-ufs.h
131
const struct samsung_ufs_phy_drvdata *drvdata;
drivers/pinctrl/pinctrl-equilibrium.c
217
static int gpiolib_reg(struct eqbr_pinctrl_drv_data *drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
220
struct device *dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
226
for (i = 0; i < drvdata->nr_gpio_ctrls; i++) {
drivers/pinctrl/pinctrl-equilibrium.c
227
gctrl = drvdata->gpio_ctrls + i;
drivers/pinctrl/pinctrl-equilibrium.c
661
static int eqbr_build_functions(struct eqbr_pinctrl_drv_data *drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
663
struct device *dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
704
ret = pinmux_generic_add_pinfunction(drvdata->pctl_dev,
drivers/pinctrl/pinctrl-equilibrium.c
705
&funcs[i], drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
716
static int eqbr_build_groups(struct eqbr_pinctrl_drv_data *drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
718
struct device *dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
753
if (pin_id >= drvdata->pctl_desc.npins) {
drivers/pinctrl/pinctrl-equilibrium.c
767
err = pinctrl_generic_add_group(drvdata->pctl_dev,
drivers/pinctrl/pinctrl-equilibrium.c
781
static int pinctrl_reg(struct eqbr_pinctrl_drv_data *drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
790
dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
791
pctl_desc = &drvdata->pctl_desc;
drivers/pinctrl/pinctrl-equilibrium.c
797
raw_spin_lock_init(&drvdata->lock);
drivers/pinctrl/pinctrl-equilibrium.c
799
for (i = 0, nr_pins = 0; i < drvdata->nr_banks; i++)
drivers/pinctrl/pinctrl-equilibrium.c
800
nr_pins += drvdata->pin_banks[i].nr_pins;
drivers/pinctrl/pinctrl-equilibrium.c
819
ret = devm_pinctrl_register_and_init(dev, pctl_desc, drvdata,
drivers/pinctrl/pinctrl-equilibrium.c
820
&drvdata->pctl_dev);
drivers/pinctrl/pinctrl-equilibrium.c
824
ret = eqbr_build_groups(drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
830
ret = eqbr_build_functions(drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
836
return pinctrl_enable(drvdata->pctl_dev);
drivers/pinctrl/pinctrl-equilibrium.c
840
struct eqbr_pinctrl_drv_data *drvdata,
drivers/pinctrl/pinctrl-equilibrium.c
843
struct device *dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
847
bank->membase = drvdata->membase + id * PAD_REG_OFF;
drivers/pinctrl/pinctrl-equilibrium.c
869
static int pinbank_probe(struct eqbr_pinctrl_drv_data *drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
871
struct device *dev = drvdata->dev;
drivers/pinctrl/pinctrl-equilibrium.c
906
pinbank_init(np_gpio, drvdata, banks + i, i);
drivers/pinctrl/pinctrl-equilibrium.c
913
drvdata->pin_banks = banks;
drivers/pinctrl/pinctrl-equilibrium.c
914
drvdata->nr_banks = nr_gpio;
drivers/pinctrl/pinctrl-equilibrium.c
915
drvdata->gpio_ctrls = gctrls;
drivers/pinctrl/pinctrl-equilibrium.c
916
drvdata->nr_gpio_ctrls = nr_gpio;
drivers/pinctrl/pinctrl-equilibrium.c
923
struct eqbr_pinctrl_drv_data *drvdata;
drivers/pinctrl/pinctrl-equilibrium.c
927
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/pinctrl/pinctrl-equilibrium.c
928
if (!drvdata)
drivers/pinctrl/pinctrl-equilibrium.c
931
drvdata->dev = dev;
drivers/pinctrl/pinctrl-equilibrium.c
933
drvdata->membase = devm_platform_ioremap_resource(pdev, 0);
drivers/pinctrl/pinctrl-equilibrium.c
934
if (IS_ERR(drvdata->membase))
drivers/pinctrl/pinctrl-equilibrium.c
935
return PTR_ERR(drvdata->membase);
drivers/pinctrl/pinctrl-equilibrium.c
937
ret = pinbank_probe(drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
941
ret = pinctrl_reg(drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
945
ret = gpiolib_reg(drvdata);
drivers/pinctrl/pinctrl-equilibrium.c
949
platform_set_drvdata(pdev, drvdata);
drivers/pinctrl/pinctrl-rockchip.c
1141
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1165
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1258
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1295
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1435
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1467
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1500
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1533
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1602
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1672
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1738
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1769
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1802
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1832
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1869
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1908
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1942
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1962
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
1980
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2002
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2039
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2075
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2107
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2126
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2145
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2164
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2184
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2217
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2251
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2283
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2315
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2400
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2486
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2570
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2606
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2643
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2679
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2727
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2776
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2822
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2855
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2893
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2938
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
2984
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3126
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3151
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3177
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3206
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3293
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3457
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3522
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3614
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3637
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3657
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
3696
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.c
4304
bank->drvdata = d;
drivers/pinctrl/pinctrl-rockchip.c
794
struct rockchip_pinctrl *info = bank->drvdata;
drivers/pinctrl/pinctrl-rockchip.h
339
struct rockchip_pinctrl *drvdata;
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
47
static void s5pv210_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
49
unsigned int *pud_val = drvdata->pud_val;
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
56
static void s5pv210_retention_disable(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
58
void __iomem *clk_base = (void __iomem *)drvdata->retention_ctrl->priv;
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
68
s5pv210_retention_init(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos-arm.c
75
ctrl = devm_kzalloc(drvdata->dev, sizeof(*ctrl), GFP_KERNEL);
drivers/pinctrl/samsung/pinctrl-exynos.c
101
if (clk_enable(bank->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
1057
static void exynos_retention_enable(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-exynos.c
1059
if (drvdata->retention_ctrl->refcnt)
drivers/pinctrl/samsung/pinctrl-exynos.c
1060
atomic_inc(drvdata->retention_ctrl->refcnt);
drivers/pinctrl/samsung/pinctrl-exynos.c
1063
static void exynos_retention_disable(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-exynos.c
1065
struct samsung_retention_ctrl *ctrl = drvdata->retention_ctrl;
drivers/pinctrl/samsung/pinctrl-exynos.c
1077
exynos_retention_init(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos.c
1084
ctrl = devm_kzalloc(drvdata->dev, sizeof(*ctrl), GFP_KERNEL);
drivers/pinctrl/samsung/pinctrl-exynos.c
109
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
137
if (clk_enable(bank->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
151
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
195
ret = clk_enable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
207
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
216
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-exynos.c
245
ret = clk_enable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
262
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
278
if (clk_enable(bank->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
294
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
345
if (clk_enable(bank->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
356
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
402
void __iomem *reg = bank->drvdata->virt_base + off;
drivers/pinctrl/samsung/pinctrl-exynos.c
45
void (*set_eint_wakeup_mask)(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos.c
480
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-exynos.c
499
gs101_pinctrl_set_eint_wakeup_mask(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos.c
504
if (!drvdata->retention_ctrl || !drvdata->retention_ctrl->priv) {
drivers/pinctrl/samsung/pinctrl-exynos.c
505
dev_warn(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-exynos.c
510
pmu_regs = drvdata->retention_ctrl->priv;
drivers/pinctrl/samsung/pinctrl-exynos.c
512
dev_dbg(drvdata->dev, "Setting external wakeup interrupt mask:\n");
drivers/pinctrl/samsung/pinctrl-exynos.c
515
dev_dbg(drvdata->dev, "\tWAKEUP_MASK%d[0x%X] value[0x%X]\n",
drivers/pinctrl/samsung/pinctrl-exynos.c
540
exynos_pinctrl_set_eint_wakeup_mask(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos.c
545
if (!drvdata->retention_ctrl || !drvdata->retention_ctrl->priv) {
drivers/pinctrl/samsung/pinctrl-exynos.c
546
dev_warn(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-exynos.c
551
pmu_regs = drvdata->retention_ctrl->priv;
drivers/pinctrl/samsung/pinctrl-exynos.c
552
dev_info(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-exynos.c
561
s5pv210_pinctrl_set_eint_wakeup_mask(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-exynos.c
567
if (!drvdata->retention_ctrl || !drvdata->retention_ctrl->priv) {
drivers/pinctrl/samsung/pinctrl-exynos.c
568
dev_warn(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-exynos.c
574
clk_base = (void __iomem *) drvdata->retention_ctrl->priv;
drivers/pinctrl/samsung/pinctrl-exynos.c
72
if (clk_enable(bank->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
739
if (clk_enable(b->drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-exynos.c
756
clk_disable(eintd->banks[0]->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
86
clk_disable(bank->drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-exynos.c
877
irq_chip->set_eint_wakeup_mask(bank->drvdata, irq_chip);
drivers/pinctrl/samsung/pinctrl-exynos.h
280
exynos_retention_init(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
206
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
227
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
262
static void s3c64xx_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
264
unsigned int *pud_val = drvdata->pud_val;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
319
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
345
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
355
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
422
struct samsung_pinctrl_drv_data *drvdata = data->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
432
svc = readl(drvdata->virt_base + SERVICE_REG);
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
501
data->drvdata = d;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
525
struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
550
struct samsung_pinctrl_drv_data *d = ddata->bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
561
struct samsung_pinctrl_drv_data *d = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
609
struct samsung_pinctrl_drv_data *drvdata = data->drvdata;
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
614
pend = readl(drvdata->virt_base + EINT0PEND_REG);
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
615
mask = readl(drvdata->virt_base + EINT0MASK_REG);
drivers/pinctrl/samsung/pinctrl-s3c64xx.c
721
data->drvdata = d;
drivers/pinctrl/samsung/pinctrl-samsung.c
1033
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
1040
value = drvdata->pud_val[PUD_PULL_DISABLE];
drivers/pinctrl/samsung/pinctrl-samsung.c
1043
value = drvdata->pud_val[PUD_PULL_DOWN];
drivers/pinctrl/samsung/pinctrl-samsung.c
1046
value = drvdata->pud_val[PUD_PULL_UP];
drivers/pinctrl/samsung/pinctrl-samsung.c
1052
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1054
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
1062
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1082
struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
1084
struct samsung_pin_bank *bank = drvdata->pin_banks;
drivers/pinctrl/samsung/pinctrl-samsung.c
1089
for (i = 0; i < drvdata->nr_banks; ++i, ++bank) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1242
bank->drvdata = d;
drivers/pinctrl/samsung/pinctrl-samsung.c
1263
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
1268
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/pinctrl/samsung/pinctrl-samsung.c
1269
if (!drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
1272
ctrl = samsung_pinctrl_get_soc_data(drvdata, pdev);
drivers/pinctrl/samsung/pinctrl-samsung.c
1277
drvdata->dev = dev;
drivers/pinctrl/samsung/pinctrl-samsung.c
1283
drvdata->irq = ret;
drivers/pinctrl/samsung/pinctrl-samsung.c
1286
drvdata->retention_ctrl = ctrl->retention_data->init(drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
1288
if (IS_ERR(drvdata->retention_ctrl)) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1289
ret = PTR_ERR(drvdata->retention_ctrl);
drivers/pinctrl/samsung/pinctrl-samsung.c
1294
drvdata->pclk = devm_clk_get_optional_prepared(dev, "pclk");
drivers/pinctrl/samsung/pinctrl-samsung.c
1295
if (IS_ERR(drvdata->pclk)) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1296
ret = PTR_ERR(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1300
ret = samsung_pinctrl_register(pdev, drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1305
ctrl->eint_gpio_init(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1307
ctrl->eint_wkup_init(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1310
ctrl->pud_value_init(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1312
samsung_pud_value_init(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1314
ret = samsung_gpiolib_register(pdev, drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1318
ret = pinctrl_enable(drvdata->pctl_dev);
drivers/pinctrl/samsung/pinctrl-samsung.c
1322
platform_set_drvdata(pdev, drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1327
samsung_pinctrl_unregister(pdev, drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1329
samsung_banks_node_put(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1340
struct samsung_pinctrl_drv_data *drvdata = dev_get_drvdata(dev);
drivers/pinctrl/samsung/pinctrl-samsung.c
1344
i = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1346
dev_err(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-samsung.c
1351
for (i = 0; i < drvdata->nr_banks; i++) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1352
bank = &drvdata->pin_banks[i];
drivers/pinctrl/samsung/pinctrl-samsung.c
1380
for (i = 0; i < drvdata->nr_banks; i++) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1381
bank = &drvdata->pin_banks[i];
drivers/pinctrl/samsung/pinctrl-samsung.c
1382
if (drvdata->suspend)
drivers/pinctrl/samsung/pinctrl-samsung.c
1383
drvdata->suspend(bank);
drivers/pinctrl/samsung/pinctrl-samsung.c
1386
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1388
if (drvdata->retention_ctrl && drvdata->retention_ctrl->enable)
drivers/pinctrl/samsung/pinctrl-samsung.c
1389
drvdata->retention_ctrl->enable(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
1404
struct samsung_pinctrl_drv_data *drvdata = dev_get_drvdata(dev);
drivers/pinctrl/samsung/pinctrl-samsung.c
1413
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1415
dev_err(drvdata->dev,
drivers/pinctrl/samsung/pinctrl-samsung.c
1420
for (i = 0; i < drvdata->nr_banks; i++) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1421
bank = &drvdata->pin_banks[i];
drivers/pinctrl/samsung/pinctrl-samsung.c
1422
if (drvdata->resume)
drivers/pinctrl/samsung/pinctrl-samsung.c
1423
drvdata->resume(bank);
drivers/pinctrl/samsung/pinctrl-samsung.c
1426
for (i = 0; i < drvdata->nr_banks; i++) {
drivers/pinctrl/samsung/pinctrl-samsung.c
1427
bank = &drvdata->pin_banks[i];
drivers/pinctrl/samsung/pinctrl-samsung.c
1457
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
1459
if (drvdata->retention_ctrl && drvdata->retention_ctrl->disable)
drivers/pinctrl/samsung/pinctrl-samsung.c
1460
drvdata->retention_ctrl->disable(drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
172
static int samsung_dt_subnode_to_map(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
252
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
256
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
263
return samsung_dt_subnode_to_map(drvdata, pctldev->dev,
drivers/pinctrl/samsung/pinctrl-samsung.c
269
ret = samsung_dt_subnode_to_map(drvdata, pctldev->dev, np, map,
drivers/pinctrl/samsung/pinctrl-samsung.c
321
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
323
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
324
return drvdata->nr_functions;
drivers/pinctrl/samsung/pinctrl-samsung.c
331
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
333
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
334
return drvdata->pmx_functions[selector].name;
drivers/pinctrl/samsung/pinctrl-samsung.c
342
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
344
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
345
*groups = drvdata->pmx_functions[selector].groups;
drivers/pinctrl/samsung/pinctrl-samsung.c
346
*num_groups = drvdata->pmx_functions[selector].num_groups;
drivers/pinctrl/samsung/pinctrl-samsung.c
354
static void pin_to_reg_bank(struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
360
b = drvdata->pin_banks;
drivers/pinctrl/samsung/pinctrl-samsung.c
376
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
386
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
387
func = &drvdata->pmx_functions[selector];
drivers/pinctrl/samsung/pinctrl-samsung.c
388
grp = &drvdata->pin_groups[group];
drivers/pinctrl/samsung/pinctrl-samsung.c
390
pin_to_reg_bank(drvdata, grp->pins[0], &reg, &pin_offset, &bank);
drivers/pinctrl/samsung/pinctrl-samsung.c
400
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
415
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
440
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
450
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
451
pin_to_reg_bank(drvdata, pin, &reg_base, &pin_offset, &bank);
drivers/pinctrl/samsung/pinctrl-samsung.c
460
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
462
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
485
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
517
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
521
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
522
pins = drvdata->pin_groups[group].pins;
drivers/pinctrl/samsung/pinctrl-samsung.c
524
for (cnt = 0; cnt < drvdata->pin_groups[group].num_pins; cnt++)
drivers/pinctrl/samsung/pinctrl-samsung.c
534
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
537
drvdata = pinctrl_dev_get_drvdata(pctldev);
drivers/pinctrl/samsung/pinctrl-samsung.c
538
pins = drvdata->pin_groups[group].pins;
drivers/pinctrl/samsung/pinctrl-samsung.c
577
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
581
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
583
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
591
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
603
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
608
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
610
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
618
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
664
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
668
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
670
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
678
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
688
struct samsung_pinctrl_drv_data *drvdata = bank->drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.c
692
ret = clk_enable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
694
dev_err(drvdata->dev, "failed to enable clock\n");
drivers/pinctrl/samsung/pinctrl-samsung.c
703
clk_disable(drvdata->pclk);
drivers/pinctrl/samsung/pinctrl-samsung.c
735
pinctrl_add_gpio_range(bank->drvdata->pctl_dev, &bank->grange);
drivers/pinctrl/samsung/pinctrl-samsung.c
742
struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
745
struct pinctrl_desc *ctrldesc = &drvdata->pctl;
drivers/pinctrl/samsung/pinctrl-samsung.c
768
struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
812
struct samsung_pinctrl_drv_data *drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
857
ret = samsung_pinctrl_create_function(dev, drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
869
ret = samsung_pinctrl_create_function(dev, drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
891
struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
898
groups = samsung_pinctrl_create_groups(dev, drvdata, &grp_cnt);
drivers/pinctrl/samsung/pinctrl-samsung.c
904
functions = samsung_pinctrl_create_functions(dev, drvdata, &func_cnt);
drivers/pinctrl/samsung/pinctrl-samsung.c
910
drvdata->pin_groups = groups;
drivers/pinctrl/samsung/pinctrl-samsung.c
911
drvdata->nr_groups = grp_cnt;
drivers/pinctrl/samsung/pinctrl-samsung.c
912
drvdata->pmx_functions = functions;
drivers/pinctrl/samsung/pinctrl-samsung.c
913
drvdata->nr_functions = func_cnt;
drivers/pinctrl/samsung/pinctrl-samsung.c
920
struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
922
struct pinctrl_desc *ctrldesc = &drvdata->pctl;
drivers/pinctrl/samsung/pinctrl-samsung.c
935
drvdata->nr_pins, sizeof(*pindesc),
drivers/pinctrl/samsung/pinctrl-samsung.c
940
ctrldesc->npins = drvdata->nr_pins;
drivers/pinctrl/samsung/pinctrl-samsung.c
952
drvdata->nr_pins),
drivers/pinctrl/samsung/pinctrl-samsung.c
958
for (bank = 0; bank < drvdata->nr_banks; bank++) {
drivers/pinctrl/samsung/pinctrl-samsung.c
959
pin_bank = &drvdata->pin_banks[bank];
drivers/pinctrl/samsung/pinctrl-samsung.c
969
ret = samsung_pinctrl_parse_dt(pdev, drvdata);
drivers/pinctrl/samsung/pinctrl-samsung.c
973
ret = devm_pinctrl_register_and_init(&pdev->dev, ctrldesc, drvdata,
drivers/pinctrl/samsung/pinctrl-samsung.c
974
&drvdata->pctl_dev);
drivers/pinctrl/samsung/pinctrl-samsung.c
985
struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
987
struct samsung_pin_bank *bank = drvdata->pin_banks;
drivers/pinctrl/samsung/pinctrl-samsung.c
990
for (i = 0; i < drvdata->nr_banks; ++i, ++bank)
drivers/pinctrl/samsung/pinctrl-samsung.c
991
pinctrl_remove_gpio_range(drvdata->pctl_dev, &bank->grange);
drivers/pinctrl/samsung/pinctrl-samsung.c
996
static void samsung_pud_value_init(struct samsung_pinctrl_drv_data *drvdata)
drivers/pinctrl/samsung/pinctrl-samsung.c
998
unsigned int *pud_val = drvdata->pud_val;
drivers/pinctrl/samsung/pinctrl-samsung.h
218
struct samsung_pinctrl_drv_data *drvdata;
drivers/pinctrl/samsung/pinctrl-samsung.h
291
void (*pud_value_init)(struct samsung_pinctrl_drv_data *drvdata);
drivers/platform/chrome/cros_kbd_led_backlight.c
180
const struct keyboard_led_drvdata *drvdata;
drivers/platform/chrome/cros_kbd_led_backlight.c
185
drvdata = &keyboard_led_drvdata_ec_pwm_mfd;
drivers/platform/chrome/cros_kbd_led_backlight.c
187
drvdata = device_get_match_data(&pdev->dev);
drivers/platform/chrome/cros_kbd_led_backlight.c
188
if (!drvdata)
drivers/platform/chrome/cros_kbd_led_backlight.c
195
if (drvdata->init) {
drivers/platform/chrome/cros_kbd_led_backlight.c
196
err = drvdata->init(pdev, keyboard_led);
drivers/platform/chrome/cros_kbd_led_backlight.c
204
keyboard_led->cdev.brightness_set = drvdata->brightness_set;
drivers/platform/chrome/cros_kbd_led_backlight.c
205
keyboard_led->cdev.brightness_set_blocking = drvdata->brightness_set_blocking;
drivers/platform/chrome/cros_kbd_led_backlight.c
206
keyboard_led->cdev.brightness_get = drvdata->brightness_get;
drivers/platform/chrome/cros_typec_switch.c
185
.drvdata = port,
drivers/platform/chrome/cros_typec_switch.c
199
.drvdata = port,
drivers/platform/surface/surface_platform_profile.c
204
static int ssam_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/acer-wmi.c
2173
acer_predator_v4_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/amd/pmf/sps.c
396
static int amd_pmf_hidden_choices(void *drvdata, unsigned long *choices)
drivers/platform/x86/amd/pmf/sps.c
404
static int amd_pmf_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/asus-wmi.c
4230
static int asus_wmi_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/ayaneo-ec.c
146
static umode_t ayaneo_ec_hwmon_is_visible(const void *drvdata,
drivers/platform/x86/bitland-mifs-wmi.c
287
static int platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/dasharo-acpi.c
182
static umode_t dasharo_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/dasharo-acpi.c
185
const struct dasharo_data *data = drvdata;
drivers/platform/x86/dell/alienware-wmi-wmax.c
1296
static int awcc_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/dell/alienware-wmi-wmax.c
1299
struct awcc_priv *priv = drvdata;
drivers/platform/x86/dell/alienware-wmi-wmax.c
821
static umode_t awcc_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/dell/alienware-wmi-wmax.c
824
const struct awcc_priv *priv = drvdata;
drivers/platform/x86/dell/dell-pc.c
229
static int thermal_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/dell/dell-wmi-ddv.c
306
static umode_t dell_wmi_ddv_is_visible(const void *drvdata, enum hwmon_sensor_types type, u32 attr,
drivers/platform/x86/dell/dell-wmi-ddv.c
882
void *drvdata, enum power_supply_property psp,
drivers/platform/x86/dell/dell-wmi-ddv.c
885
struct dell_wmi_ddv_data *data = drvdata;
drivers/platform/x86/hp/hp-wmi.c
2010
static int hp_wmi_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/inspur_platform_profile.c
167
static int inspur_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/intel/pmc/ssram_telemetry.c
390
struct pmc_ssram_drvdata *drvdata;
drivers/platform/x86/intel/pmc/ssram_telemetry.c
413
drvdata = devm_kzalloc(&pcidev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/platform/x86/intel/pmc/ssram_telemetry.c
414
if (!drvdata) {
drivers/platform/x86/intel/pmc/ssram_telemetry.c
433
drvdata->owned_mask = probe_cache.owned_mask;
drivers/platform/x86/intel/pmc/ssram_telemetry.c
434
pci_set_drvdata(pcidev, drvdata);
drivers/platform/x86/intel/pmc/ssram_telemetry.c
445
struct pmc_ssram_drvdata *drvdata = pci_get_drvdata(pcidev);
drivers/platform/x86/intel/pmc/ssram_telemetry.c
447
if (drvdata)
drivers/platform/x86/intel/pmc/ssram_telemetry.c
448
pmc_ssram_publish_absent_mask(drvdata->owned_mask);
drivers/platform/x86/lenovo/ideapad-laptop.c
1087
static int dytc_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/lenovo/thinkpad_acpi.c
10586
static int dytc_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/lenovo/wmi-gamezone.c
324
static int lwmi_gz_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/lenovo/wmi-gamezone.c
326
struct lwmi_gz_priv *priv = drvdata;
drivers/platform/x86/lenovo/wmi-other.c
252
static umode_t lwmi_om_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/lenovo/wmi-other.c
255
struct lwmi_om_priv *priv = (struct lwmi_om_priv *)drvdata;
drivers/platform/x86/msi-wmi-platform.c
179
static umode_t msi_wmi_platform_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/msi-wmi-platform.c
295
static void msi_wmi_platform_debugfs_add(struct msi_wmi_platform_data *drvdata, struct dentry *dir,
drivers/platform/x86/msi-wmi-platform.c
301
data = devm_kzalloc(&drvdata->wdev->dev, sizeof(*data), GFP_KERNEL);
drivers/platform/x86/msi-wmi-platform.c
305
data->data = drvdata;
drivers/platform/x86/msi-wmi-platform.c
316
devm_kfree(&drvdata->wdev->dev, data);
drivers/platform/x86/oxpec.c
699
static umode_t oxp_ec_hwmon_is_visible(const void *drvdata,
drivers/platform/x86/portwell-ec.c
272
static umode_t pwec_hwmon_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/portwell-ec.c
275
const struct pwec_board_info *info = drvdata;
drivers/platform/x86/portwell-ec.c
360
void *drvdata = dev_get_platdata(&pdev->dev);
drivers/platform/x86/portwell-ec.c
381
"portwell_ec", drvdata, &pwec_chip_info, NULL);
drivers/platform/x86/samsung-galaxybook.c
651
static int galaxybook_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/platform/x86/samsung-galaxybook.c
653
struct samsung_galaxybook *galaxybook = drvdata;
drivers/platform/x86/system76_acpi.c
498
static umode_t thermal_is_visible(const void *drvdata, enum hwmon_sensor_types type,
drivers/platform/x86/system76_acpi.c
501
const struct system76_data *data = drvdata;
drivers/platform/x86/toshiba_acpi.c
3019
static umode_t toshiba_acpi_hwmon_is_visible(const void *drvdata,
drivers/platform/x86/uniwill/uniwill-acpi.c
1143
static umode_t uniwill_is_visible(const void *drvdata, enum hwmon_sensor_types type, u32 attr,
drivers/platform/x86/uniwill/uniwill-acpi.c
1146
const struct uniwill_data *data = drvdata;
drivers/platform/x86/uniwill/uniwill-acpi.c
1479
void *drvdata, enum power_supply_property psp,
drivers/platform/x86/uniwill/uniwill-acpi.c
1482
struct uniwill_data *data = drvdata;
drivers/platform/x86/uniwill/uniwill-acpi.c
1571
void *drvdata, enum power_supply_property psp,
drivers/platform/x86/uniwill/uniwill-acpi.c
1574
struct uniwill_data *data = drvdata;
drivers/platform/x86/uniwill/uniwill-acpi.c
1600
const struct power_supply_ext *ext, void *drvdata,
drivers/power/sequencing/core.c
491
dev_set_drvdata(&pwrseq->dev, config->drvdata);
drivers/power/sequencing/pwrseq-pcie-m2.c
529
config.drvdata = ctx;
drivers/power/sequencing/pwrseq-qcom-wcn.c
534
config.drvdata = ctx;
drivers/power/sequencing/pwrseq-thead-gpu.c
201
config.drvdata = ctx;
drivers/regulator/cros-ec-regulator.c
161
struct cros_ec_regulator_data *drvdata;
drivers/regulator/cros-ec-regulator.c
167
drvdata = devm_kzalloc(
drivers/regulator/cros-ec-regulator.c
169
if (!drvdata)
drivers/regulator/cros-ec-regulator.c
172
drvdata->ec_dev = dev_get_drvdata(dev->parent);
drivers/regulator/cros-ec-regulator.c
173
desc = &drvdata->desc;
drivers/regulator/cros-ec-regulator.c
179
ret = of_property_read_u32(np, "reg", &drvdata->index);
drivers/regulator/cros-ec-regulator.c
188
ret = cros_ec_regulator_init_info(dev, drvdata);
drivers/regulator/cros-ec-regulator.c
194
cfg.driver_data = drvdata;
drivers/regulator/cros-ec-regulator.c
197
drvdata->dev = devm_regulator_register(dev, &drvdata->desc, &cfg);
drivers/regulator/cros-ec-regulator.c
198
if (IS_ERR(drvdata->dev)) {
drivers/regulator/cros-ec-regulator.c
199
ret = PTR_ERR(drvdata->dev);
drivers/regulator/cros-ec-regulator.c
204
platform_set_drvdata(pdev, drvdata);
drivers/regulator/fixed.c
222
struct fixed_voltage_data *drvdata;
drivers/regulator/fixed.c
228
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct fixed_voltage_data),
drivers/regulator/fixed.c
230
if (!drvdata)
drivers/regulator/fixed.c
235
&drvdata->desc);
drivers/regulator/fixed.c
245
drvdata->desc.name = devm_kstrdup(&pdev->dev,
drivers/regulator/fixed.c
248
if (drvdata->desc.name == NULL) {
drivers/regulator/fixed.c
252
drvdata->desc.type = REGULATOR_VOLTAGE;
drivers/regulator/fixed.c
253
drvdata->desc.owner = THIS_MODULE;
drivers/regulator/fixed.c
256
drvdata->desc.ops = &fixed_voltage_clkenabled_ops;
drivers/regulator/fixed.c
258
drvdata->enable_clock = devm_clk_get(dev, NULL);
drivers/regulator/fixed.c
259
if (IS_ERR(drvdata->enable_clock)) {
drivers/regulator/fixed.c
261
return PTR_ERR(drvdata->enable_clock);
drivers/regulator/fixed.c
264
drvdata->desc.ops = &fixed_voltage_domain_ops;
drivers/regulator/fixed.c
266
drvdata->performance_state = of_get_required_opp_performance_state(dev->of_node, 0);
drivers/regulator/fixed.c
267
if (drvdata->performance_state < 0) {
drivers/regulator/fixed.c
269
return drvdata->performance_state;
drivers/regulator/fixed.c
272
drvdata->desc.ops = &fixed_voltage_ops;
drivers/regulator/fixed.c
275
drvdata->desc.enable_time = config->startup_delay;
drivers/regulator/fixed.c
276
drvdata->desc.off_on_delay = config->off_on_delay;
drivers/regulator/fixed.c
279
drvdata->desc.supply_name = devm_kstrdup(&pdev->dev,
drivers/regulator/fixed.c
282
if (!drvdata->desc.supply_name)
drivers/regulator/fixed.c
287
drvdata->desc.n_voltages = 1;
drivers/regulator/fixed.c
289
drvdata->desc.fixed_uV = config->microvolts;
drivers/regulator/fixed.c
324
cfg.driver_data = drvdata;
drivers/regulator/fixed.c
327
drvdata->dev = devm_regulator_register(&pdev->dev, &drvdata->desc,
drivers/regulator/fixed.c
329
if (IS_ERR(drvdata->dev))
drivers/regulator/fixed.c
330
return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->dev),
drivers/regulator/fixed.c
332
PTR_ERR(drvdata->dev));
drivers/regulator/fixed.c
334
platform_set_drvdata(pdev, drvdata);
drivers/regulator/fixed.c
336
dev_dbg(&pdev->dev, "%s supplying %duV\n", drvdata->desc.name,
drivers/regulator/fixed.c
337
drvdata->desc.fixed_uV);
drivers/regulator/fixed.c
339
ret = reg_fixed_get_irqs(dev, drvdata);
drivers/regulator/gpio-regulator.c
239
struct gpio_regulator_data *drvdata;
drivers/regulator/gpio-regulator.c
245
drvdata = devm_kzalloc(dev, sizeof(struct gpio_regulator_data),
drivers/regulator/gpio-regulator.c
247
if (drvdata == NULL)
drivers/regulator/gpio-regulator.c
252
&drvdata->desc);
drivers/regulator/gpio-regulator.c
257
drvdata->desc.name = devm_kstrdup(dev, config->supply_name, GFP_KERNEL);
drivers/regulator/gpio-regulator.c
258
if (drvdata->desc.name == NULL) {
drivers/regulator/gpio-regulator.c
263
drvdata->gpiods = devm_kcalloc(dev, config->ngpios,
drivers/regulator/gpio-regulator.c
265
if (!drvdata->gpiods)
drivers/regulator/gpio-regulator.c
269
drvdata->desc.supply_name = devm_kstrdup(&pdev->dev,
drivers/regulator/gpio-regulator.c
272
if (!drvdata->desc.supply_name) {
drivers/regulator/gpio-regulator.c
280
drvdata->gpiods[i] = devm_gpiod_get_index(dev,
drivers/regulator/gpio-regulator.c
284
if (IS_ERR(drvdata->gpiods[i]))
drivers/regulator/gpio-regulator.c
285
return PTR_ERR(drvdata->gpiods[i]);
drivers/regulator/gpio-regulator.c
287
gpiod_set_consumer_name(drvdata->gpiods[i], drvdata->desc.name);
drivers/regulator/gpio-regulator.c
289
drvdata->nr_gpios = config->ngpios;
drivers/regulator/gpio-regulator.c
291
drvdata->states = devm_kmemdup(dev,
drivers/regulator/gpio-regulator.c
296
if (drvdata->states == NULL) {
drivers/regulator/gpio-regulator.c
300
drvdata->nr_states = config->nr_states;
drivers/regulator/gpio-regulator.c
302
drvdata->desc.owner = THIS_MODULE;
drivers/regulator/gpio-regulator.c
303
drvdata->desc.enable_time = config->startup_delay;
drivers/regulator/gpio-regulator.c
308
drvdata->desc.type = REGULATOR_VOLTAGE;
drivers/regulator/gpio-regulator.c
309
drvdata->desc.ops = &gpio_regulator_voltage_ops;
drivers/regulator/gpio-regulator.c
310
drvdata->desc.n_voltages = config->nr_states;
drivers/regulator/gpio-regulator.c
313
drvdata->desc.type = REGULATOR_CURRENT;
drivers/regulator/gpio-regulator.c
314
drvdata->desc.ops = &gpio_regulator_current_ops;
drivers/regulator/gpio-regulator.c
323
for (ptr = 0; ptr < drvdata->nr_gpios; ptr++) {
drivers/regulator/gpio-regulator.c
327
drvdata->state = state;
drivers/regulator/gpio-regulator.c
331
cfg.driver_data = drvdata;
drivers/regulator/gpio-regulator.c
347
rdev = devm_regulator_register(dev, &drvdata->desc, &cfg);
drivers/regulator/gpio-regulator.c
352
platform_set_drvdata(pdev, drvdata);
drivers/regulator/pf0900-regulator.c
262
const struct pf0900_drvdata *drvdata;
drivers/regulator/pf0900-regulator.c
830
const struct pf0900_drvdata *drvdata = NULL;
drivers/regulator/pf0900-regulator.c
844
drvdata = device_get_match_data(&i2c->dev);
drivers/regulator/pf0900-regulator.c
845
if (!drvdata)
drivers/regulator/pf0900-regulator.c
848
regulator_desc = drvdata->desc;
drivers/regulator/pf0900-regulator.c
849
pf0900->drvdata = drvdata;
drivers/regulator/pf0900-regulator.c
875
for (i = 0; i < drvdata->rcnt; i++) {
drivers/regulator/pwm-regulator.c
107
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
112
return drvdata->duty_cycle_table[selector].uV;
drivers/regulator/pwm-regulator.c
117
struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev);
drivers/regulator/pwm-regulator.c
119
gpiod_set_value_cansleep(drvdata->enb_gpio, 1);
drivers/regulator/pwm-regulator.c
121
return pwm_enable(drvdata->pwm);
drivers/regulator/pwm-regulator.c
126
struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev);
drivers/regulator/pwm-regulator.c
128
pwm_disable(drvdata->pwm);
drivers/regulator/pwm-regulator.c
130
gpiod_set_value_cansleep(drvdata->enb_gpio, 0);
drivers/regulator/pwm-regulator.c
137
struct pwm_regulator_data *drvdata = rdev_get_drvdata(dev);
drivers/regulator/pwm-regulator.c
139
if (drvdata->enb_gpio && !gpiod_get_value_cansleep(drvdata->enb_gpio))
drivers/regulator/pwm-regulator.c
142
return pwm_is_enabled(drvdata->pwm);
drivers/regulator/pwm-regulator.c
147
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
148
unsigned int min_uV_duty = drvdata->continuous.min_uV_dutycycle;
drivers/regulator/pwm-regulator.c
149
unsigned int max_uV_duty = drvdata->continuous.max_uV_dutycycle;
drivers/regulator/pwm-regulator.c
150
unsigned int duty_unit = drvdata->continuous.dutycycle_unit;
drivers/regulator/pwm-regulator.c
158
pwm_get_state(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
194
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
195
unsigned int min_uV_duty = drvdata->continuous.min_uV_dutycycle;
drivers/regulator/pwm-regulator.c
196
unsigned int max_uV_duty = drvdata->continuous.max_uV_dutycycle;
drivers/regulator/pwm-regulator.c
197
unsigned int duty_unit = drvdata->continuous.dutycycle_unit;
drivers/regulator/pwm-regulator.c
206
pwm_init_state(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
229
ret = pwm_apply_might_sleep(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
264
struct pwm_regulator_data *drvdata)
drivers/regulator/pwm-regulator.c
290
drvdata->state = -ENOTRECOVERABLE;
drivers/regulator/pwm-regulator.c
291
drvdata->duty_cycle_table = duty_cycle_table;
drivers/regulator/pwm-regulator.c
292
drvdata->desc.ops = &pwm_regulator_voltage_table_ops;
drivers/regulator/pwm-regulator.c
293
drvdata->desc.n_voltages = length / sizeof(*duty_cycle_table);
drivers/regulator/pwm-regulator.c
299
struct pwm_regulator_data *drvdata)
drivers/regulator/pwm-regulator.c
304
drvdata->desc.ops = &pwm_regulator_voltage_continuous_ops;
drivers/regulator/pwm-regulator.c
305
drvdata->desc.continuous_voltage_range = true;
drivers/regulator/pwm-regulator.c
317
drvdata->continuous.dutycycle_unit = dutycycle_unit;
drivers/regulator/pwm-regulator.c
318
drvdata->continuous.min_uV_dutycycle = dutycycle_range[0];
drivers/regulator/pwm-regulator.c
319
drvdata->continuous.max_uV_dutycycle = dutycycle_range[1];
drivers/regulator/pwm-regulator.c
325
struct pwm_regulator_data *drvdata,
drivers/regulator/pwm-regulator.c
330
if (!init_data->constraints.boot_on || drvdata->enb_gpio)
drivers/regulator/pwm-regulator.c
333
pwm_get_state(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
347
return pwm_apply_might_sleep(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
353
struct pwm_regulator_data *drvdata;
drivers/regulator/pwm-regulator.c
364
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/regulator/pwm-regulator.c
365
if (!drvdata)
drivers/regulator/pwm-regulator.c
368
memcpy(&drvdata->desc, &pwm_regulator_desc, sizeof(drvdata->desc));
drivers/regulator/pwm-regulator.c
371
ret = pwm_regulator_init_table(pdev, drvdata);
drivers/regulator/pwm-regulator.c
373
ret = pwm_regulator_init_continuous(pdev, drvdata);
drivers/regulator/pwm-regulator.c
378
&drvdata->desc);
drivers/regulator/pwm-regulator.c
384
config.driver_data = drvdata;
drivers/regulator/pwm-regulator.c
387
drvdata->pwm = devm_pwm_get(&pdev->dev, NULL);
drivers/regulator/pwm-regulator.c
388
if (IS_ERR(drvdata->pwm))
drivers/regulator/pwm-regulator.c
389
return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->pwm),
drivers/regulator/pwm-regulator.c
396
drvdata->enb_gpio = devm_gpiod_get_optional(&pdev->dev, "enable",
drivers/regulator/pwm-regulator.c
398
if (IS_ERR(drvdata->enb_gpio)) {
drivers/regulator/pwm-regulator.c
399
ret = PTR_ERR(drvdata->enb_gpio);
drivers/regulator/pwm-regulator.c
403
ret = pwm_adjust_config(drvdata->pwm);
drivers/regulator/pwm-regulator.c
407
ret = pwm_regulator_init_boot_on(pdev, drvdata, init_data);
drivers/regulator/pwm-regulator.c
413
&drvdata->desc, &config);
drivers/regulator/pwm-regulator.c
418
drvdata->desc.name);
drivers/regulator/pwm-regulator.c
56
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
61
pwm_get_state(drvdata->pwm, &pwm_state);
drivers/regulator/pwm-regulator.c
65
if (dutycycle == drvdata->duty_cycle_table[i].dutycycle) {
drivers/regulator/pwm-regulator.c
66
drvdata->state = i;
drivers/regulator/pwm-regulator.c
74
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
76
if (drvdata->state < 0)
drivers/regulator/pwm-regulator.c
79
return drvdata->state;
drivers/regulator/pwm-regulator.c
85
struct pwm_regulator_data *drvdata = rdev_get_drvdata(rdev);
drivers/regulator/pwm-regulator.c
89
pwm_init_state(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
91
drvdata->duty_cycle_table[selector].dutycycle, 100);
drivers/regulator/pwm-regulator.c
93
ret = pwm_apply_might_sleep(drvdata->pwm, &pstate);
drivers/regulator/pwm-regulator.c
99
drvdata->state = selector;
drivers/regulator/userspace-consumer.c
122
struct userspace_consumer_data *drvdata;
drivers/regulator/userspace-consumer.c
146
drvdata = devm_kzalloc(&pdev->dev,
drivers/regulator/userspace-consumer.c
149
if (drvdata == NULL)
drivers/regulator/userspace-consumer.c
152
drvdata->name = pdata->name;
drivers/regulator/userspace-consumer.c
153
drvdata->num_supplies = pdata->num_supplies;
drivers/regulator/userspace-consumer.c
154
drvdata->supplies = pdata->supplies;
drivers/regulator/userspace-consumer.c
155
drvdata->no_autoswitch = pdata->no_autoswitch;
drivers/regulator/userspace-consumer.c
157
mutex_init(&drvdata->lock);
drivers/regulator/userspace-consumer.c
159
ret = devm_regulator_bulk_get_exclusive(&pdev->dev, drvdata->num_supplies,
drivers/regulator/userspace-consumer.c
160
drvdata->supplies);
drivers/regulator/userspace-consumer.c
164
platform_set_drvdata(pdev, drvdata);
drivers/regulator/userspace-consumer.c
171
ret = regulator_bulk_enable(drvdata->num_supplies,
drivers/regulator/userspace-consumer.c
172
drvdata->supplies);
drivers/regulator/userspace-consumer.c
185
drvdata->enabled = !!ret;
drivers/regulator/virtual.c
296
struct virtual_consumer_data *drvdata;
drivers/regulator/virtual.c
312
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct virtual_consumer_data),
drivers/regulator/virtual.c
314
if (drvdata == NULL)
drivers/regulator/virtual.c
325
mutex_init(&drvdata->lock);
drivers/regulator/virtual.c
327
drvdata->regulator = devm_regulator_get(&pdev->dev, reg_id);
drivers/regulator/virtual.c
328
if (IS_ERR(drvdata->regulator))
drivers/regulator/virtual.c
329
return dev_err_probe(&pdev->dev, PTR_ERR(drvdata->regulator),
drivers/regulator/virtual.c
341
drvdata->mode = regulator_get_mode(drvdata->regulator);
drivers/regulator/virtual.c
343
platform_set_drvdata(pdev, drvdata);
drivers/regulator/virtual.c
350
struct virtual_consumer_data *drvdata = platform_get_drvdata(pdev);
drivers/regulator/virtual.c
354
if (drvdata->enabled)
drivers/regulator/virtual.c
355
regulator_disable(drvdata->regulator);
drivers/rpmsg/qcom_smd.c
226
void *drvdata;
drivers/rtc/rtc-rx8025.c
133
struct rx8025_data *drvdata = dev_get_drvdata(dev);
drivers/rtc/rtc-rx8025.c
149
xstp = rx8025_is_osc_stopped(drvdata->model, ctrl2);
drivers/rtc/rtc-rx8025.c
160
struct rx8025_data *drvdata = i2c_get_clientdata(client);
drivers/rtc/rtc-rx8025.c
168
if (drvdata->model == model_rx_8025)
drivers/soc/imx/soc-imx8m.c
135
struct imx8_soc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/soc/imx/soc-imx8m.c
141
drvdata->ocotp_base = of_iomap(np, 0);
drivers/soc/imx/soc-imx8m.c
142
if (!drvdata->ocotp_base)
drivers/soc/imx/soc-imx8m.c
145
drvdata->clk = of_clk_get_by_name(np, NULL);
drivers/soc/imx/soc-imx8m.c
146
if (IS_ERR(drvdata->clk)) {
drivers/soc/imx/soc-imx8m.c
147
ret = PTR_ERR(drvdata->clk);
drivers/soc/imx/soc-imx8m.c
151
ret = clk_prepare_enable(drvdata->clk);
drivers/soc/imx/soc-imx8m.c
158
iounmap(drvdata->ocotp_base);
drivers/soc/imx/soc-imx8m.c
164
struct imx8_soc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/soc/imx/soc-imx8m.c
166
clk_disable_unprepare(drvdata->clk);
drivers/soc/imx/soc-imx8m.c
167
clk_put(drvdata->clk);
drivers/soc/imx/soc-imx8m.c
168
iounmap(drvdata->ocotp_base);
drivers/soc/imx/soc-imx8m.c
227
struct imx8_soc_drvdata *drvdata;
drivers/soc/imx/soc-imx8m.c
238
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/soc/imx/soc-imx8m.c
239
if (!drvdata)
drivers/soc/imx/soc-imx8m.c
242
platform_set_drvdata(pdev, drvdata);
drivers/soc/imx/soc-imx8m.c
62
struct imx8_soc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/soc/imx/soc-imx8m.c
63
void __iomem *ocotp_base = drvdata->ocotp_base;
drivers/soc/imx/soc-imx8m.c
74
struct imx8_soc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/soc/imx/soc-imx8m.c
75
void __iomem *ocotp_base = drvdata->ocotp_base;
drivers/soc/imx/soc-imx8m.c
97
struct imx8_soc_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/soc/imx/soc-imx8m.c
98
void __iomem *ocotp_base = drvdata->ocotp_base;
drivers/thermal/armada_thermal.c
826
struct armada_drvdata *drvdata;
drivers/thermal/armada_thermal.c
840
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/thermal/armada_thermal.c
841
if (!drvdata)
drivers/thermal/armada_thermal.c
889
drvdata->type = LEGACY;
drivers/thermal/armada_thermal.c
890
drvdata->data.tz = tz;
drivers/thermal/armada_thermal.c
891
platform_set_drvdata(pdev, drvdata);
drivers/thermal/armada_thermal.c
902
drvdata->type = SYSCON;
drivers/thermal/armada_thermal.c
903
drvdata->data.priv = priv;
drivers/thermal/armada_thermal.c
904
platform_set_drvdata(pdev, drvdata);
drivers/thermal/armada_thermal.c
965
struct armada_drvdata *drvdata = platform_get_drvdata(pdev);
drivers/thermal/armada_thermal.c
967
if (drvdata->type == LEGACY)
drivers/thermal/armada_thermal.c
968
thermal_zone_device_unregister(drvdata->data.tz);
drivers/thermal/intel/int340x_thermal/processor_thermal_soc_slider.c
246
static int power_slider_platform_profile_probe(void *drvdata, unsigned long *choices)
drivers/thermal/qoriq_thermal.c
102
const struct tmu_drvdata *drvdata;
drivers/thermal/qoriq_thermal.c
105
static inline bool qoriq_tmu_has_errata(const struct tmu_drvdata *drvdata,
drivers/thermal/qoriq_thermal.c
108
return drvdata->tmu_errata & flag;
drivers/thermal/qoriq_thermal.c
154
if (qoriq_tmu_has_errata(qdata->drvdata, TMU_ERR052243)) {
drivers/thermal/qoriq_thermal.c
274
data->drvdata->teumr0);
drivers/thermal/qoriq_thermal.c
278
if (qoriq_tmu_has_errata(data->drvdata, TMU_ERR052243)) {
drivers/thermal/qoriq_thermal.c
367
data->drvdata = of_device_get_match_data(&pdev->dev);
drivers/thermal/qoriq_thermal.c
368
if (!data->drvdata)
drivers/tty/tty_io.c
3227
void *drvdata,
drivers/tty/tty_io.c
3257
dev_set_drvdata(dev, drvdata);
drivers/tty/tty_port.c
173
struct device *device, void *drvdata,
drivers/tty/tty_port.c
178
return tty_register_device_attr(driver, index, device, drvdata,
drivers/tty/tty_port.c
198
struct device *host, struct device *parent, void *drvdata,
drivers/tty/tty_port.c
212
return tty_register_device_attr(driver, index, parent, drvdata,
drivers/ufs/host/ufs-qcom.c
1309
const struct ufs_qcom_drvdata *drvdata = of_device_get_match_data(hba->dev);
drivers/ufs/host/ufs-qcom.c
1321
if (drvdata && drvdata->quirks)
drivers/ufs/host/ufs-qcom.c
1322
hba->quirks |= drvdata->quirks;
drivers/ufs/host/ufs-qcom.c
1569
const struct ufs_qcom_drvdata *drvdata = of_device_get_match_data(hba->dev);
drivers/ufs/host/ufs-qcom.c
1650
if (drvdata && drvdata->no_phy_retention)
drivers/ufs/host/ufs-qcom.c
2967
const struct ufs_qcom_drvdata *drvdata = device_get_match_data(dev);
drivers/ufs/host/ufs-qcom.c
2969
if (drvdata && drvdata->vops)
drivers/ufs/host/ufs-qcom.c
2970
vops = drvdata->vops;
drivers/usb/dwc3/dwc3-meson-g12a.c
263
const struct dwc3_meson_g12a_drvdata *drvdata;
drivers/usb/dwc3/dwc3-meson-g12a.c
276
return priv->drvdata->set_phy_mode(priv, i,
drivers/usb/dwc3/dwc3-meson-g12a.c
309
ret = priv->drvdata->set_phy_mode(priv, i, mode);
drivers/usb/dwc3/dwc3-meson-g12a.c
311
ret = priv->drvdata->set_phy_mode(priv, i,
drivers/usb/dwc3/dwc3-meson-g12a.c
328
for (i = 0; i < priv->drvdata->num_phys; ++i) {
drivers/usb/dwc3/dwc3-meson-g12a.c
332
if (!strstr(priv->drvdata->phy_names[i], "usb2"))
drivers/usb/dwc3/dwc3-meson-g12a.c
335
ret = priv->drvdata->usb2_init_phy(priv, i, mode);
drivers/usb/dwc3/dwc3-meson-g12a.c
377
priv->drvdata->otg_phy_host_port_disable)
drivers/usb/dwc3/dwc3-meson-g12a.c
392
priv->drvdata->otg_phy_host_port_disable) {
drivers/usb/dwc3/dwc3-meson-g12a.c
449
for (i = 0 ; i < priv->drvdata->num_phys ; ++i) {
drivers/usb/dwc3/dwc3-meson-g12a.c
450
phy_name = priv->drvdata->phy_names[i];
drivers/usb/dwc3/dwc3-meson-g12a.c
506
ret = priv->drvdata->set_phy_mode(priv, USB2_OTG_PHY, mode);
drivers/usb/dwc3/dwc3-meson-g12a.c
530
if (priv->drvdata->otg_phy_host_port_disable)
drivers/usb/dwc3/dwc3-meson-g12a.c
647
for (i = 0; i < priv->drvdata->num_phys; i++) {
drivers/usb/dwc3/dwc3-meson-g12a.c
655
if (!strstr(priv->drvdata->phy_names[i], "usb2"))
drivers/usb/dwc3/dwc3-meson-g12a.c
687
ret = priv->drvdata->set_phy_mode(priv, USB2_OTG_PHY,
drivers/usb/dwc3/dwc3-meson-g12a.c
713
priv->drvdata = of_device_get_match_data(&pdev->dev);
drivers/usb/dwc3/dwc3-meson-g12a.c
724
priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
725
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
729
ret = clk_bulk_prepare_enable(priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
730
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
751
ret = priv->drvdata->setup_regmaps(priv, base);
drivers/usb/dwc3/dwc3-meson-g12a.c
769
ret = priv->drvdata->usb_init(priv);
drivers/usb/dwc3/dwc3-meson-g12a.c
787
if (priv->drvdata->usb_post_init) {
drivers/usb/dwc3/dwc3-meson-g12a.c
788
ret = priv->drvdata->usb_post_init(priv);
drivers/usb/dwc3/dwc3-meson-g12a.c
826
clk_bulk_disable_unprepare(priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
827
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
856
clk_bulk_disable_unprepare(priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
857
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
864
clk_bulk_disable_unprepare(priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
865
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
874
return clk_bulk_prepare_enable(priv->drvdata->num_clks,
drivers/usb/dwc3/dwc3-meson-g12a.c
875
priv->drvdata->clks);
drivers/usb/dwc3/dwc3-meson-g12a.c
908
ret = priv->drvdata->usb_init(priv);
drivers/usb/dwc3/dwc3-meson-g12a.c
932
if (priv->drvdata->usb_post_init) {
drivers/usb/dwc3/dwc3-meson-g12a.c
933
ret = priv->drvdata->usb_post_init(priv);
drivers/usb/typec/anx7411.c
1066
sw_desc.drvdata = ctx;
drivers/usb/typec/anx7411.c
1086
mux_desc.drvdata = ctx;
drivers/usb/typec/class.c
2612
const struct typec_altmode_ops *ops, void *drvdata,
drivers/usb/typec/class.c
2661
typec_altmode_set_drvdata(alt, drvdata);
drivers/usb/typec/mux.c
195
sw_dev->dev.driver_data = desc->drvdata;
drivers/usb/typec/mux.c
439
mux_dev->dev.driver_data = desc->drvdata;
drivers/usb/typec/mux/fsa4480.c
308
sw_desc.drvdata = fsa;
drivers/usb/typec/mux/fsa4480.c
316
mux_desc.drvdata = fsa;
drivers/usb/typec/mux/gpio-sbu-mux.c
119
sw_desc.drvdata = sbu_mux;
drivers/usb/typec/mux/gpio-sbu-mux.c
128
mux_desc.drvdata = sbu_mux;
drivers/usb/typec/mux/intel_pmc_mux.c
603
sw_desc.drvdata = port;
drivers/usb/typec/mux/intel_pmc_mux.c
612
mux_desc.drvdata = port;
drivers/usb/typec/mux/it5205.c
222
sw_desc.drvdata = it;
drivers/usb/typec/mux/it5205.c
231
mux_desc.drvdata = it;
drivers/usb/typec/mux/nb7vpq904m.c
446
sw_desc.drvdata = nb7;
drivers/usb/typec/mux/nb7vpq904m.c
457
retimer_desc.drvdata = nb7;
drivers/usb/typec/mux/pi3usb30532.c
136
sw_desc.drvdata = pi;
drivers/usb/typec/mux/pi3usb30532.c
147
mux_desc.drvdata = pi;
drivers/usb/typec/mux/ps883x.c
457
sw_desc.drvdata = retimer;
drivers/usb/typec/mux/ps883x.c
468
rtmr_desc.drvdata = retimer;
drivers/usb/typec/mux/ptn36502.c
354
sw_desc.drvdata = ptn;
drivers/usb/typec/mux/ptn36502.c
365
retimer_desc.drvdata = ptn;
drivers/usb/typec/mux/tusb1046.c
137
sw_desc.drvdata = priv;
drivers/usb/typec/mux/tusb1046.c
147
mux_desc.drvdata = priv;
drivers/usb/typec/mux/wcd939x-usbss.c
703
sw_desc.drvdata = usbss;
drivers/usb/typec/mux/wcd939x-usbss.c
713
mux_desc.drvdata = usbss;
drivers/usb/typec/retimer.c
124
retimer->dev.driver_data = desc->drvdata;
drivers/video/fbdev/xilinxfb.c
166
static void xilinx_fb_out32(struct xilinxfb_drvdata *drvdata, u32 offset,
drivers/video/fbdev/xilinxfb.c
169
if (drvdata->flags & BUS_ACCESS_FLAG) {
drivers/video/fbdev/xilinxfb.c
170
if (drvdata->flags & LITTLE_ENDIAN_ACCESS)
drivers/video/fbdev/xilinxfb.c
171
iowrite32(val, drvdata->regs + (offset << 2));
drivers/video/fbdev/xilinxfb.c
173
iowrite32be(val, drvdata->regs + (offset << 2));
drivers/video/fbdev/xilinxfb.c
177
dcr_write(drvdata->dcr_host, offset, val);
drivers/video/fbdev/xilinxfb.c
181
static u32 xilinx_fb_in32(struct xilinxfb_drvdata *drvdata, u32 offset)
drivers/video/fbdev/xilinxfb.c
183
if (drvdata->flags & BUS_ACCESS_FLAG) {
drivers/video/fbdev/xilinxfb.c
184
if (drvdata->flags & LITTLE_ENDIAN_ACCESS)
drivers/video/fbdev/xilinxfb.c
185
return ioread32(drvdata->regs + (offset << 2));
drivers/video/fbdev/xilinxfb.c
187
return ioread32be(drvdata->regs + (offset << 2));
drivers/video/fbdev/xilinxfb.c
191
return dcr_read(drvdata->dcr_host, offset);
drivers/video/fbdev/xilinxfb.c
229
struct xilinxfb_drvdata *drvdata = to_xilinxfb_drvdata(fbi);
drivers/video/fbdev/xilinxfb.c
234
xilinx_fb_out32(drvdata, REG_CTRL, drvdata->reg_ctrl_default);
drivers/video/fbdev/xilinxfb.c
242
xilinx_fb_out32(drvdata, REG_CTRL, 0);
drivers/video/fbdev/xilinxfb.c
263
struct xilinxfb_drvdata *drvdata,
drivers/video/fbdev/xilinxfb.c
270
if (drvdata->flags & BUS_ACCESS_FLAG) {
drivers/video/fbdev/xilinxfb.c
273
drvdata->regs = devm_platform_get_and_ioremap_resource(pdev, 0, &res);
drivers/video/fbdev/xilinxfb.c
274
if (IS_ERR(drvdata->regs))
drivers/video/fbdev/xilinxfb.c
275
return PTR_ERR(drvdata->regs);
drivers/video/fbdev/xilinxfb.c
277
drvdata->regs_phys = res->start;
drivers/video/fbdev/xilinxfb.c
282
drvdata->fb_phys = pdata->fb_phys;
drivers/video/fbdev/xilinxfb.c
283
drvdata->fb_virt = ioremap(pdata->fb_phys, fbsize);
drivers/video/fbdev/xilinxfb.c
285
drvdata->fb_alloced = 1;
drivers/video/fbdev/xilinxfb.c
286
drvdata->fb_virt = dma_alloc_coherent(dev, PAGE_ALIGN(fbsize),
drivers/video/fbdev/xilinxfb.c
287
&drvdata->fb_phys,
drivers/video/fbdev/xilinxfb.c
291
if (!drvdata->fb_virt) {
drivers/video/fbdev/xilinxfb.c
297
memset_io((void __iomem *)drvdata->fb_virt, 0, fbsize);
drivers/video/fbdev/xilinxfb.c
300
xilinx_fb_out32(drvdata, REG_FB_ADDR, drvdata->fb_phys);
drivers/video/fbdev/xilinxfb.c
301
rc = xilinx_fb_in32(drvdata, REG_FB_ADDR);
drivers/video/fbdev/xilinxfb.c
303
if (rc != drvdata->fb_phys) {
drivers/video/fbdev/xilinxfb.c
304
drvdata->flags |= LITTLE_ENDIAN_ACCESS;
drivers/video/fbdev/xilinxfb.c
305
xilinx_fb_out32(drvdata, REG_FB_ADDR, drvdata->fb_phys);
drivers/video/fbdev/xilinxfb.c
309
drvdata->reg_ctrl_default = REG_CTRL_ENABLE;
drivers/video/fbdev/xilinxfb.c
311
drvdata->reg_ctrl_default |= REG_CTRL_ROTATE;
drivers/video/fbdev/xilinxfb.c
312
xilinx_fb_out32(drvdata, REG_CTRL, drvdata->reg_ctrl_default);
drivers/video/fbdev/xilinxfb.c
315
drvdata->info.device = dev;
drivers/video/fbdev/xilinxfb.c
316
drvdata->info.screen_base = (void __iomem *)drvdata->fb_virt;
drivers/video/fbdev/xilinxfb.c
317
drvdata->info.fbops = &xilinxfb_ops;
drivers/video/fbdev/xilinxfb.c
318
drvdata->info.fix = xilinx_fb_fix;
drivers/video/fbdev/xilinxfb.c
319
drvdata->info.fix.smem_start = drvdata->fb_phys;
drivers/video/fbdev/xilinxfb.c
320
drvdata->info.fix.smem_len = fbsize;
drivers/video/fbdev/xilinxfb.c
321
drvdata->info.fix.line_length = pdata->xvirt * BYTES_PER_PIXEL;
drivers/video/fbdev/xilinxfb.c
323
drvdata->info.pseudo_palette = drvdata->pseudo_palette;
drivers/video/fbdev/xilinxfb.c
324
drvdata->info.var = xilinx_fb_var;
drivers/video/fbdev/xilinxfb.c
325
drvdata->info.var.height = pdata->screen_height_mm;
drivers/video/fbdev/xilinxfb.c
326
drvdata->info.var.width = pdata->screen_width_mm;
drivers/video/fbdev/xilinxfb.c
327
drvdata->info.var.xres = pdata->xres;
drivers/video/fbdev/xilinxfb.c
328
drvdata->info.var.yres = pdata->yres;
drivers/video/fbdev/xilinxfb.c
329
drvdata->info.var.xres_virtual = pdata->xvirt;
drivers/video/fbdev/xilinxfb.c
330
drvdata->info.var.yres_virtual = pdata->yvirt;
drivers/video/fbdev/xilinxfb.c
333
rc = fb_alloc_cmap(&drvdata->info.cmap, PALETTE_ENTRIES_NO, 0);
drivers/video/fbdev/xilinxfb.c
341
rc = register_framebuffer(&drvdata->info);
drivers/video/fbdev/xilinxfb.c
347
if (drvdata->flags & BUS_ACCESS_FLAG) {
drivers/video/fbdev/xilinxfb.c
350
&drvdata->regs_phys, drvdata->regs);
drivers/video/fbdev/xilinxfb.c
354
(unsigned long long)drvdata->fb_phys, drvdata->fb_virt, fbsize);
drivers/video/fbdev/xilinxfb.c
359
fb_dealloc_cmap(&drvdata->info.cmap);
drivers/video/fbdev/xilinxfb.c
362
if (drvdata->fb_alloced)
drivers/video/fbdev/xilinxfb.c
363
dma_free_coherent(dev, PAGE_ALIGN(fbsize), drvdata->fb_virt,
drivers/video/fbdev/xilinxfb.c
364
drvdata->fb_phys);
drivers/video/fbdev/xilinxfb.c
366
iounmap(drvdata->fb_virt);
drivers/video/fbdev/xilinxfb.c
369
xilinx_fb_out32(drvdata, REG_CTRL, 0);
drivers/video/fbdev/xilinxfb.c
376
struct xilinxfb_drvdata *drvdata = dev_get_drvdata(dev);
drivers/video/fbdev/xilinxfb.c
379
xilinx_fb_blank(VESA_POWERDOWN, &drvdata->info);
drivers/video/fbdev/xilinxfb.c
382
unregister_framebuffer(&drvdata->info);
drivers/video/fbdev/xilinxfb.c
384
fb_dealloc_cmap(&drvdata->info.cmap);
drivers/video/fbdev/xilinxfb.c
386
if (drvdata->fb_alloced)
drivers/video/fbdev/xilinxfb.c
387
dma_free_coherent(dev, PAGE_ALIGN(drvdata->info.fix.smem_len),
drivers/video/fbdev/xilinxfb.c
388
drvdata->fb_virt, drvdata->fb_phys);
drivers/video/fbdev/xilinxfb.c
390
iounmap(drvdata->fb_virt);
drivers/video/fbdev/xilinxfb.c
393
xilinx_fb_out32(drvdata, REG_CTRL, 0);
drivers/video/fbdev/xilinxfb.c
397
if (!(drvdata->flags & BUS_ACCESS_FLAG))
drivers/video/fbdev/xilinxfb.c
398
dcr_unmap(drvdata->dcr_host, drvdata->dcr_len);
drivers/video/fbdev/xilinxfb.c
412
struct xilinxfb_drvdata *drvdata;
drivers/video/fbdev/xilinxfb.c
418
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
drivers/video/fbdev/xilinxfb.c
419
if (!drvdata)
drivers/video/fbdev/xilinxfb.c
434
drvdata->flags |= BUS_ACCESS_FLAG;
drivers/video/fbdev/xilinxfb.c
440
drvdata->dcr_len = dcr_resource_len(pdev->dev.of_node, 0);
drivers/video/fbdev/xilinxfb.c
441
drvdata->dcr_host = dcr_map(pdev->dev.of_node, start, drvdata->dcr_len);
drivers/video/fbdev/xilinxfb.c
442
if (!DCR_MAP_OK(drvdata->dcr_host)) {
drivers/video/fbdev/xilinxfb.c
469
platform_set_drvdata(pdev, drvdata);
drivers/video/fbdev/xilinxfb.c
470
return xilinxfb_assign(pdev, drvdata, &pdata);
drivers/watchdog/gxp-wdt.c
116
struct gxp_wdt *drvdata;
drivers/watchdog/gxp-wdt.c
120
drvdata = devm_kzalloc(dev, sizeof(struct gxp_wdt), GFP_KERNEL);
drivers/watchdog/gxp-wdt.c
121
if (!drvdata)
drivers/watchdog/gxp-wdt.c
134
drvdata->base = (void __iomem *)dev->platform_data;
drivers/watchdog/gxp-wdt.c
136
drvdata->wdd.info = &gxp_wdt_info;
drivers/watchdog/gxp-wdt.c
137
drvdata->wdd.ops = &gxp_wdt_ops;
drivers/watchdog/gxp-wdt.c
138
drvdata->wdd.max_hw_heartbeat_ms = WDT_MAX_TIMEOUT_MS;
drivers/watchdog/gxp-wdt.c
139
drvdata->wdd.parent = dev;
drivers/watchdog/gxp-wdt.c
140
drvdata->wdd.timeout = WDT_DEFAULT_TIMEOUT;
drivers/watchdog/gxp-wdt.c
142
watchdog_set_drvdata(&drvdata->wdd, drvdata);
drivers/watchdog/gxp-wdt.c
143
watchdog_set_nowayout(&drvdata->wdd, WATCHDOG_NOWAYOUT);
drivers/watchdog/gxp-wdt.c
145
val = readb(drvdata->base + GXP_WDT_CTRL_OFS);
drivers/watchdog/gxp-wdt.c
148
set_bit(WDOG_HW_RUNNING, &drvdata->wdd.status);
drivers/watchdog/gxp-wdt.c
150
watchdog_set_restart_priority(&drvdata->wdd, 128);
drivers/watchdog/gxp-wdt.c
152
watchdog_stop_on_reboot(&drvdata->wdd);
drivers/watchdog/gxp-wdt.c
153
err = devm_watchdog_register_device(dev, &drvdata->wdd);
drivers/watchdog/gxp-wdt.c
29
static void gxp_wdt_enable_reload(struct gxp_wdt *drvdata)
drivers/watchdog/gxp-wdt.c
33
val = readb(drvdata->base + GXP_WDT_CTRL_OFS);
drivers/watchdog/gxp-wdt.c
35
writeb(val, drvdata->base + GXP_WDT_CTRL_OFS);
drivers/watchdog/gxp-wdt.c
40
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
42
writew(SECS_TO_WDOG_TICKS(wdd->timeout), drvdata->base + GXP_WDT_CNT_OFS);
drivers/watchdog/gxp-wdt.c
43
gxp_wdt_enable_reload(drvdata);
drivers/watchdog/gxp-wdt.c
49
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
52
val = readb_relaxed(drvdata->base + GXP_WDT_CTRL_OFS);
drivers/watchdog/gxp-wdt.c
54
writeb(val, drvdata->base + GXP_WDT_CTRL_OFS);
drivers/watchdog/gxp-wdt.c
61
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
66
writew(actual, drvdata->base + GXP_WDT_CNT_OFS);
drivers/watchdog/gxp-wdt.c
73
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
74
u32 val = readw(drvdata->base + GXP_WDT_CNT_OFS);
drivers/watchdog/gxp-wdt.c
81
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
83
gxp_wdt_enable_reload(drvdata);
drivers/watchdog/gxp-wdt.c
90
struct gxp_wdt *drvdata = watchdog_get_drvdata(wdd);
drivers/watchdog/gxp-wdt.c
92
writew(1, drvdata->base + GXP_WDT_CNT_OFS);
drivers/watchdog/gxp-wdt.c
93
gxp_wdt_enable_reload(drvdata);
drivers/watchdog/jz4740_wdt.c
100
regmap_write(drvdata->map, TCU_REG_WDT_TCER, 0);
drivers/watchdog/jz4740_wdt.c
101
clk_disable_unprepare(drvdata->clk);
drivers/watchdog/jz4740_wdt.c
140
struct jz4740_wdt_drvdata *drvdata;
drivers/watchdog/jz4740_wdt.c
145
drvdata = devm_kzalloc(dev, sizeof(struct jz4740_wdt_drvdata),
drivers/watchdog/jz4740_wdt.c
147
if (!drvdata)
drivers/watchdog/jz4740_wdt.c
150
drvdata->clk = devm_clk_get(&pdev->dev, "wdt");
drivers/watchdog/jz4740_wdt.c
151
if (IS_ERR(drvdata->clk)) {
drivers/watchdog/jz4740_wdt.c
153
return PTR_ERR(drvdata->clk);
drivers/watchdog/jz4740_wdt.c
157
rate = clk_round_rate(drvdata->clk, 1);
drivers/watchdog/jz4740_wdt.c
161
ret = clk_set_rate(drvdata->clk, rate);
drivers/watchdog/jz4740_wdt.c
165
drvdata->clk_rate = rate;
drivers/watchdog/jz4740_wdt.c
166
jz4740_wdt = &drvdata->wdt;
drivers/watchdog/jz4740_wdt.c
176
watchdog_set_drvdata(jz4740_wdt, drvdata);
drivers/watchdog/jz4740_wdt.c
178
drvdata->map = device_node_to_regmap(dev->parent->of_node);
drivers/watchdog/jz4740_wdt.c
179
if (IS_ERR(drvdata->map)) {
drivers/watchdog/jz4740_wdt.c
181
return PTR_ERR(drvdata->map);
drivers/watchdog/jz4740_wdt.c
184
return devm_watchdog_register_device(dev, &drvdata->wdt);
drivers/watchdog/jz4740_wdt.c
48
struct jz4740_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/jz4740_wdt.c
50
regmap_write(drvdata->map, TCU_REG_WDT_TCNT, 0);
drivers/watchdog/jz4740_wdt.c
58
struct jz4740_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/jz4740_wdt.c
59
u16 timeout_value = (u16)(drvdata->clk_rate * new_timeout);
drivers/watchdog/jz4740_wdt.c
62
regmap_read(drvdata->map, TCU_REG_WDT_TCER, &tcer);
drivers/watchdog/jz4740_wdt.c
63
regmap_write(drvdata->map, TCU_REG_WDT_TCER, 0);
drivers/watchdog/jz4740_wdt.c
65
regmap_write(drvdata->map, TCU_REG_WDT_TDR, timeout_value);
drivers/watchdog/jz4740_wdt.c
66
regmap_write(drvdata->map, TCU_REG_WDT_TCNT, 0);
drivers/watchdog/jz4740_wdt.c
69
regmap_write(drvdata->map, TCU_REG_WDT_TCER, TCU_WDT_TCER_TCEN);
drivers/watchdog/jz4740_wdt.c
77
struct jz4740_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/jz4740_wdt.c
81
ret = clk_prepare_enable(drvdata->clk);
drivers/watchdog/jz4740_wdt.c
85
regmap_read(drvdata->map, TCU_REG_WDT_TCER, &tcer);
drivers/watchdog/jz4740_wdt.c
91
regmap_write(drvdata->map, TCU_REG_WDT_TCER, TCU_WDT_TCER_TCEN);
drivers/watchdog/jz4740_wdt.c
98
struct jz4740_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
102
struct ls1x_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
104
writel(drvdata->pdata->wdt_en_bit, drvdata->base + WDT_EN);
drivers/watchdog/loongson1_wdt.c
105
writel(0x1, drvdata->base + drvdata->pdata->timer_offset);
drivers/watchdog/loongson1_wdt.c
106
writel(0x1, drvdata->base + drvdata->pdata->set_offset);
drivers/watchdog/loongson1_wdt.c
128
struct ls1x_wdt_drvdata *drvdata;
drivers/watchdog/loongson1_wdt.c
132
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/watchdog/loongson1_wdt.c
133
if (!drvdata)
drivers/watchdog/loongson1_wdt.c
135
platform_set_drvdata(pdev, drvdata);
drivers/watchdog/loongson1_wdt.c
137
drvdata->pdata = of_device_get_match_data(dev);
drivers/watchdog/loongson1_wdt.c
139
drvdata->base = devm_platform_ioremap_resource(pdev, 0);
drivers/watchdog/loongson1_wdt.c
140
if (IS_ERR(drvdata->base))
drivers/watchdog/loongson1_wdt.c
141
return PTR_ERR(drvdata->base);
drivers/watchdog/loongson1_wdt.c
143
drvdata->clk = devm_clk_get_enabled(dev, NULL);
drivers/watchdog/loongson1_wdt.c
144
if (IS_ERR(drvdata->clk))
drivers/watchdog/loongson1_wdt.c
145
return PTR_ERR(drvdata->clk);
drivers/watchdog/loongson1_wdt.c
147
clk_rate = clk_get_rate(drvdata->clk);
drivers/watchdog/loongson1_wdt.c
150
drvdata->clk_rate = clk_rate;
drivers/watchdog/loongson1_wdt.c
152
ls1x_wdt = &drvdata->wdt;
drivers/watchdog/loongson1_wdt.c
162
watchdog_set_drvdata(ls1x_wdt, drvdata);
drivers/watchdog/loongson1_wdt.c
164
return devm_watchdog_register_device(dev, &drvdata->wdt);
drivers/watchdog/loongson1_wdt.c
57
struct ls1x_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
59
writel(0x1, drvdata->base + drvdata->pdata->set_offset);
drivers/watchdog/loongson1_wdt.c
67
struct ls1x_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
73
counts = drvdata->clk_rate * min(timeout, max_hw_heartbeat);
drivers/watchdog/loongson1_wdt.c
74
writel(counts, drvdata->base + drvdata->pdata->timer_offset);
drivers/watchdog/loongson1_wdt.c
81
struct ls1x_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
83
writel(drvdata->pdata->wdt_en_bit, drvdata->base + WDT_EN);
drivers/watchdog/loongson1_wdt.c
90
struct ls1x_wdt_drvdata *drvdata = watchdog_get_drvdata(wdt_dev);
drivers/watchdog/loongson1_wdt.c
91
u32 val = readl(drvdata->base + WDT_EN);
drivers/watchdog/loongson1_wdt.c
93
val &= ~(drvdata->pdata->wdt_en_bit);
drivers/watchdog/loongson1_wdt.c
94
writel(val, drvdata->base + WDT_EN);
drivers/watchdog/mt7621_wdt.c
100
t = rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL);
drivers/watchdog/mt7621_wdt.c
102
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, t);
drivers/watchdog/mt7621_wdt.c
120
struct mt7621_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/mt7621_wdt.c
122
return !!(rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL) & TMR1CTL_ENABLE);
drivers/watchdog/mt7621_wdt.c
143
struct mt7621_wdt_data *drvdata;
drivers/watchdog/mt7621_wdt.c
146
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/watchdog/mt7621_wdt.c
147
if (!drvdata)
drivers/watchdog/mt7621_wdt.c
150
drvdata->sysc = syscon_regmap_lookup_by_phandle(np, "mediatek,sysctl");
drivers/watchdog/mt7621_wdt.c
151
if (IS_ERR(drvdata->sysc)) {
drivers/watchdog/mt7621_wdt.c
152
drvdata->sysc = syscon_regmap_lookup_by_compatible("mediatek,mt7621-sysc");
drivers/watchdog/mt7621_wdt.c
153
if (IS_ERR(drvdata->sysc))
drivers/watchdog/mt7621_wdt.c
154
return PTR_ERR(drvdata->sysc);
drivers/watchdog/mt7621_wdt.c
157
drvdata->base = devm_platform_ioremap_resource(pdev, 0);
drivers/watchdog/mt7621_wdt.c
158
if (IS_ERR(drvdata->base))
drivers/watchdog/mt7621_wdt.c
159
return PTR_ERR(drvdata->base);
drivers/watchdog/mt7621_wdt.c
161
drvdata->rst = devm_reset_control_get_exclusive(dev, NULL);
drivers/watchdog/mt7621_wdt.c
162
if (!IS_ERR(drvdata->rst))
drivers/watchdog/mt7621_wdt.c
163
reset_control_deassert(drvdata->rst);
drivers/watchdog/mt7621_wdt.c
165
mt7621_wdt = &drvdata->wdt;
drivers/watchdog/mt7621_wdt.c
172
mt7621_wdt->bootstatus = mt7621_wdt_bootcause(drvdata);
drivers/watchdog/mt7621_wdt.c
176
watchdog_set_drvdata(mt7621_wdt, drvdata);
drivers/watchdog/mt7621_wdt.c
193
err = devm_watchdog_register_device(dev, &drvdata->wdt);
drivers/watchdog/mt7621_wdt.c
197
platform_set_drvdata(pdev, drvdata);
drivers/watchdog/mt7621_wdt.c
204
struct mt7621_wdt_data *drvdata = platform_get_drvdata(pdev);
drivers/watchdog/mt7621_wdt.c
206
mt7621_wdt_stop(&drvdata->wdt);
drivers/watchdog/mt7621_wdt.c
58
struct mt7621_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/mt7621_wdt.c
60
rt_wdt_w32(drvdata->base, TIMER_REG_TMRSTAT, TMR1CTL_RESTART);
drivers/watchdog/mt7621_wdt.c
67
struct mt7621_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/mt7621_wdt.c
70
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1LOAD, t * 1000);
drivers/watchdog/mt7621_wdt.c
78
struct mt7621_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/mt7621_wdt.c
82
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, 1000 << TMR1CTL_PRESCALE_SHIFT);
drivers/watchdog/mt7621_wdt.c
86
t = rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL);
drivers/watchdog/mt7621_wdt.c
88
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, t);
drivers/watchdog/mt7621_wdt.c
95
struct mt7621_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/rt2880_wdt.c
103
t = rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL);
drivers/watchdog/rt2880_wdt.c
105
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, t);
drivers/watchdog/rt2880_wdt.c
143
struct rt2880_wdt_data *drvdata;
drivers/watchdog/rt2880_wdt.c
146
drvdata = devm_kzalloc(dev, sizeof(*drvdata), GFP_KERNEL);
drivers/watchdog/rt2880_wdt.c
147
if (!drvdata)
drivers/watchdog/rt2880_wdt.c
150
drvdata->base = devm_platform_ioremap_resource(pdev, 0);
drivers/watchdog/rt2880_wdt.c
151
if (IS_ERR(drvdata->base))
drivers/watchdog/rt2880_wdt.c
152
return PTR_ERR(drvdata->base);
drivers/watchdog/rt2880_wdt.c
154
drvdata->clk = devm_clk_get(dev, NULL);
drivers/watchdog/rt2880_wdt.c
155
if (IS_ERR(drvdata->clk))
drivers/watchdog/rt2880_wdt.c
156
return PTR_ERR(drvdata->clk);
drivers/watchdog/rt2880_wdt.c
158
drvdata->rst = devm_reset_control_get_exclusive(dev, NULL);
drivers/watchdog/rt2880_wdt.c
159
if (!IS_ERR(drvdata->rst))
drivers/watchdog/rt2880_wdt.c
160
reset_control_deassert(drvdata->rst);
drivers/watchdog/rt2880_wdt.c
162
drvdata->freq = clk_get_rate(drvdata->clk) / RALINK_WDT_PRESCALE;
drivers/watchdog/rt2880_wdt.c
164
wdt = &drvdata->wdt;
drivers/watchdog/rt2880_wdt.c
168
wdt->max_timeout = (0xfffful / drvdata->freq);
drivers/watchdog/rt2880_wdt.c
174
watchdog_set_drvdata(wdt, drvdata);
drivers/watchdog/rt2880_wdt.c
177
ret = devm_watchdog_register_device(dev, &drvdata->wdt);
drivers/watchdog/rt2880_wdt.c
68
struct rt2880_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/rt2880_wdt.c
70
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1LOAD, w->timeout * drvdata->freq);
drivers/watchdog/rt2880_wdt.c
77
struct rt2880_wdt_data *drvdata = watchdog_get_drvdata(w);
drivers/watchdog/rt2880_wdt.c
80
t = rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL);
drivers/watchdog/rt2880_wdt.c
85
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, t);
drivers/watchdog/rt2880_wdt.c
89
t = rt_wdt_r32(drvdata->base, TIMER_REG_TMR1CTL);
drivers/watchdog/rt2880_wdt.c
91
rt_wdt_w32(drvdata->base, TIMER_REG_TMR1CTL, t);
drivers/watchdog/rt2880_wdt.c
98
struct rt2880_wdt_data *drvdata = watchdog_get_drvdata(w);
include/drm/drm_privacy_screen_driver.h
79
void *drvdata;
include/drm/drm_privacy_screen_driver.h
85
return priv->drvdata;
include/linux/bcma/bcma.h
287
void *drvdata;
include/linux/bcma/bcma.h
293
return core->drvdata;
include/linux/bcma/bcma.h
295
static inline void bcma_set_drvdata(struct bcma_device *core, void *drvdata)
include/linux/bcma/bcma.h
297
core->drvdata = drvdata;
include/linux/cpu.h
89
struct device *cpu_device_create(struct device *parent, void *drvdata,
include/linux/device.h
1323
void *drvdata, const char *fmt, ...);
include/linux/device.h
1326
void *drvdata, const struct attribute_group **groups,
include/linux/gpio/regmap.h
115
void *drvdata;
include/linux/hwmon.h
422
umode_t (*is_visible)(const void *drvdata, enum hwmon_sensor_types type,
include/linux/hwmon.h
470
void *drvdata,
include/linux/hwmon.h
474
void *drvdata,
include/linux/hwmon.h
478
const char *name, void *drvdata,
include/linux/hwmon.h
483
void *drvdata,
include/linux/hwmon.h
487
const char *name, void *drvdata,
include/linux/pci.h
1958
int (*check_capability)(void *drvdata);
include/linux/pci.h
1959
int (*context_update_write)(void *drvdata, u8 mode);
include/linux/pci.h
1960
int (*context_update_read)(void *drvdata, u8 *mode);
include/linux/pci.h
1961
int (*context_valid_write)(void *drvdata, bool valid);
include/linux/pci.h
1962
int (*context_valid_read)(void *drvdata, bool *valid);
include/linux/pci.h
1963
int (*local_clock_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1964
int (*master_clock_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1965
int (*t1_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1966
int (*t2_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1967
int (*t3_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1968
int (*t4_read)(void *drvdata, u64 *clock);
include/linux/pci.h
1970
bool (*context_update_visible)(void *drvdata);
include/linux/pci.h
1971
bool (*context_valid_visible)(void *drvdata);
include/linux/pci.h
1972
bool (*local_clock_visible)(void *drvdata);
include/linux/pci.h
1973
bool (*master_clock_visible)(void *drvdata);
include/linux/pci.h
1974
bool (*t1_visible)(void *drvdata);
include/linux/pci.h
1975
bool (*t2_visible)(void *drvdata);
include/linux/pci.h
1976
bool (*t3_visible)(void *drvdata);
include/linux/pci.h
1977
bool (*t4_visible)(void *drvdata);
include/linux/platform_profile.h
45
int (*probe)(void *drvdata, unsigned long *choices);
include/linux/platform_profile.h
46
int (*hidden_choices)(void *drvdata, unsigned long *choices);
include/linux/platform_profile.h
52
void *drvdata,
include/linux/platform_profile.h
56
void *drvdata,
include/linux/pwrseq/provider.h
64
void *drvdata;
include/linux/ssb/ssb.h
282
void *drvdata; /* Per-device data */
include/linux/ssb/ssb.h
299
dev->drvdata = data;
include/linux/ssb/ssb.h
304
return dev->drvdata;
include/linux/tty_driver.h
601
unsigned index, struct device *device, void *drvdata,
include/linux/tty_port.h
149
struct device *device, void *drvdata,
include/linux/tty_port.h
153
struct device *host, struct device *parent, void *drvdata,
include/linux/usb/typec.h
175
const struct typec_altmode_ops *ops, void *drvdata,
include/linux/usb/typec_mux.h
25
void *drvdata;
include/linux/usb/typec_mux.h
94
void *drvdata;
include/linux/usb/typec_retimer.h
27
void *drvdata;
include/linux/wwan.h
108
void *drvdata);
include/sound/soc-card.h
105
card->drvdata = data;
include/sound/soc-card.h
110
return card->drvdata;
include/sound/soc.h
1092
void *drvdata;
sound/drivers/serial-generic.c
100
struct snd_serial_generic *drvdata = serdev_device_get_drvdata(serdev);
sound/drivers/serial-generic.c
102
snd_serial_generic_tx_wakeup(drvdata);
sound/drivers/serial-generic.c
109
struct snd_serial_generic *drvdata = serdev_device_get_drvdata(serdev);
sound/drivers/serial-generic.c
111
if (!test_bit(SERIAL_MODE_INPUT_OPEN, &drvdata->filemode))
sound/drivers/serial-generic.c
114
ret = snd_rawmidi_receive(drvdata->midi_input, buf, count);
sound/drivers/serial-generic.c
123
static int snd_serial_generic_ensure_serdev_open(struct snd_serial_generic *drvdata)
sound/drivers/serial-generic.c
128
if (drvdata->filemode)
sound/drivers/serial-generic.c
131
dev_dbg(drvdata->card->dev, "Opening serial port for card %s\n",
sound/drivers/serial-generic.c
132
drvdata->card->shortname);
sound/drivers/serial-generic.c
133
err = serdev_device_open(drvdata->serdev);
sound/drivers/serial-generic.c
137
actual_baud = serdev_device_set_baudrate(drvdata->serdev,
sound/drivers/serial-generic.c
138
drvdata->baudrate);
sound/drivers/serial-generic.c
139
if (actual_baud != drvdata->baudrate) {
sound/drivers/serial-generic.c
140
dev_warn(drvdata->card->dev, "requested %d baud for card %s but it was actually set to %d\n",
sound/drivers/serial-generic.c
141
drvdata->baudrate, drvdata->card->shortname, actual_baud);
sound/drivers/serial-generic.c
150
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
152
dev_dbg(drvdata->card->dev, "Opening input for card %s\n",
sound/drivers/serial-generic.c
153
drvdata->card->shortname);
sound/drivers/serial-generic.c
155
err = snd_serial_generic_ensure_serdev_open(drvdata);
sound/drivers/serial-generic.c
159
set_bit(SERIAL_MODE_INPUT_OPEN, &drvdata->filemode);
sound/drivers/serial-generic.c
160
drvdata->midi_input = substream;
sound/drivers/serial-generic.c
166
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
168
dev_dbg(drvdata->card->dev, "Closing input for card %s\n",
sound/drivers/serial-generic.c
169
drvdata->card->shortname);
sound/drivers/serial-generic.c
171
clear_bit(SERIAL_MODE_INPUT_OPEN, &drvdata->filemode);
sound/drivers/serial-generic.c
172
clear_bit(SERIAL_MODE_INPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
174
drvdata->midi_input = NULL;
sound/drivers/serial-generic.c
176
if (!drvdata->filemode)
sound/drivers/serial-generic.c
177
serdev_device_close(drvdata->serdev);
sound/drivers/serial-generic.c
184
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
187
set_bit(SERIAL_MODE_INPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
189
clear_bit(SERIAL_MODE_INPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
194
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
197
dev_dbg(drvdata->card->dev, "Opening output for card %s\n",
sound/drivers/serial-generic.c
198
drvdata->card->shortname);
sound/drivers/serial-generic.c
200
err = snd_serial_generic_ensure_serdev_open(drvdata);
sound/drivers/serial-generic.c
204
set_bit(SERIAL_MODE_OUTPUT_OPEN, &drvdata->filemode);
sound/drivers/serial-generic.c
206
drvdata->midi_output = substream;
sound/drivers/serial-generic.c
212
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
214
dev_dbg(drvdata->card->dev, "Closing output for card %s\n",
sound/drivers/serial-generic.c
215
drvdata->card->shortname);
sound/drivers/serial-generic.c
217
clear_bit(SERIAL_MODE_OUTPUT_OPEN, &drvdata->filemode);
sound/drivers/serial-generic.c
218
clear_bit(SERIAL_MODE_OUTPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
220
if (!drvdata->filemode)
sound/drivers/serial-generic.c
221
serdev_device_close(drvdata->serdev);
sound/drivers/serial-generic.c
223
drvdata->midi_output = NULL;
sound/drivers/serial-generic.c
231
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
234
set_bit(SERIAL_MODE_OUTPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
236
clear_bit(SERIAL_MODE_OUTPUT_TRIGGERED, &drvdata->filemode);
sound/drivers/serial-generic.c
239
snd_serial_generic_tx_wakeup(drvdata);
sound/drivers/serial-generic.c
244
struct snd_serial_generic *drvdata = substream->rmidi->card->private_data;
sound/drivers/serial-generic.c
247
serdev_device_write_flush(drvdata->serdev);
sound/drivers/serial-generic.c
248
cancel_work_sync(&drvdata->tx_work);
sound/drivers/serial-generic.c
265
struct snd_serial_generic *drvdata)
sound/drivers/serial-generic.c
270
&drvdata->baudrate);
sound/drivers/serial-generic.c
272
dev_dbg(drvdata->card->dev,
sound/drivers/serial-generic.c
275
drvdata->baudrate = 38400;
sound/drivers/serial-generic.c
289
static int snd_serial_generic_rmidi(struct snd_serial_generic *drvdata,
sound/drivers/serial-generic.c
295
err = snd_rawmidi_new(drvdata->card, drvdata->card->driver, 0,
sound/drivers/serial-generic.c
305
strscpy(rrawmidi->name, drvdata->card->shortname);
sound/drivers/serial-generic.c
308
drvdata->serdev->ctrl->nr);
sound/drivers/serial-generic.c
310
drvdata->serdev->ctrl->nr);
sound/drivers/serial-generic.c
324
struct snd_serial_generic *drvdata;
sound/drivers/serial-generic.c
338
drvdata = card->private_data;
sound/drivers/serial-generic.c
340
drvdata->serdev = serdev;
sound/drivers/serial-generic.c
341
drvdata->card = card;
sound/drivers/serial-generic.c
343
snd_serial_generic_parse_dt(serdev, drvdata);
sound/drivers/serial-generic.c
345
INIT_WORK(&drvdata->tx_work, snd_serial_generic_tx_work);
sound/drivers/serial-generic.c
347
err = snd_serial_generic_rmidi(drvdata, 1, 1, &drvdata->rmidi);
sound/drivers/serial-generic.c
352
serdev_device_set_drvdata(drvdata->serdev, drvdata);
sound/drivers/serial-generic.c
59
static void snd_serial_generic_tx_wakeup(struct snd_serial_generic *drvdata)
sound/drivers/serial-generic.c
61
if (test_and_set_bit(SERIAL_TX_STATE_ACTIVE, &drvdata->tx_state))
sound/drivers/serial-generic.c
62
set_bit(SERIAL_TX_STATE_WAKEUP, &drvdata->tx_state);
sound/drivers/serial-generic.c
64
schedule_work(&drvdata->tx_work);
sound/drivers/serial-generic.c
70
struct snd_serial_generic *drvdata = container_of(work, struct snd_serial_generic,
sound/drivers/serial-generic.c
72
struct snd_rawmidi_substream *substream = drvdata->midi_output;
sound/drivers/serial-generic.c
74
clear_bit(SERIAL_TX_STATE_WAKEUP, &drvdata->tx_state);
sound/drivers/serial-generic.c
78
if (!test_bit(SERIAL_MODE_OUTPUT_OPEN, &drvdata->filemode))
sound/drivers/serial-generic.c
81
num_bytes = snd_rawmidi_transmit_peek(substream, drvdata->tx_buf,
sound/drivers/serial-generic.c
83
num_bytes = serdev_device_write_buf(drvdata->serdev, drvdata->tx_buf,
sound/drivers/serial-generic.c
91
if (!test_bit(SERIAL_TX_STATE_WAKEUP, &drvdata->tx_state))
sound/drivers/serial-generic.c
95
clear_bit(SERIAL_TX_STATE_ACTIVE, &drvdata->tx_state);
sound/soc/amd/acp/acp-legacy-mach.c
142
card->drvdata = (struct acp_card_drvdata *)pdev->id_entry->driver_data;
sound/soc/amd/acp/acp-legacy-mach.c
143
acp_card_drvdata = card->drvdata;
sound/soc/amd/acp/acp-legacy-mach.c
149
acp_asoc_init_ops(card->drvdata);
sound/soc/amd/acp/acp-mach-common.c
1047
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
1065
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
1070
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
1087
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
127
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
1271
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
1276
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
134
if (drvdata->hs_codec_id != RT5682)
sound/soc/amd/acp/acp-mach-common.c
1367
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
137
drvdata->wclk = devm_clk_get(component->dev, "rt5682-dai-wclk");
sound/soc/amd/acp/acp-mach-common.c
138
if (IS_ERR(drvdata->wclk))
sound/soc/amd/acp/acp-mach-common.c
1388
ret = clk_prepare_enable(drvdata->bclk);
sound/soc/amd/acp/acp-mach-common.c
139
return PTR_ERR(drvdata->wclk);
sound/soc/amd/acp/acp-mach-common.c
1396
clk_disable_unprepare(drvdata->bclk);
sound/soc/amd/acp/acp-mach-common.c
141
drvdata->bclk = devm_clk_get(component->dev, "rt5682-dai-bclk");
sound/soc/amd/acp/acp-mach-common.c
1410
struct acp_card_drvdata *drv_data = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
142
if (IS_ERR(drvdata->bclk))
sound/soc/amd/acp/acp-mach-common.c
143
return PTR_ERR(drvdata->bclk);
sound/soc/amd/acp/acp-mach-common.c
1620
struct acp_card_drvdata *drv_data = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
190
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
195
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
200
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
224
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
226
if (!drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
227
clk_disable_unprepare(drvdata->wclk);
sound/soc/amd/acp/acp-mach-common.c
235
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
245
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
250
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
267
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
298
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
321
if (!drvdata->soc_mclk) {
sound/soc/amd/acp/acp-mach-common.c
322
ret = acp_clk_enable(drvdata, srate, ch * format);
sound/soc/amd/acp/acp-mach-common.c
374
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
381
if (drvdata->hs_codec_id != RT5682S)
sound/soc/amd/acp/acp-mach-common.c
384
if (!drvdata->soc_mclk) {
sound/soc/amd/acp/acp-mach-common.c
385
drvdata->wclk = devm_clk_get(component->dev, "rt5682-dai-wclk");
sound/soc/amd/acp/acp-mach-common.c
386
if (IS_ERR(drvdata->wclk))
sound/soc/amd/acp/acp-mach-common.c
387
return PTR_ERR(drvdata->wclk);
sound/soc/amd/acp/acp-mach-common.c
389
drvdata->bclk = devm_clk_get(component->dev, "rt5682-dai-bclk");
sound/soc/amd/acp/acp-mach-common.c
390
if (IS_ERR(drvdata->bclk))
sound/soc/amd/acp/acp-mach-common.c
391
return PTR_ERR(drvdata->bclk);
sound/soc/amd/acp/acp-mach-common.c
439
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
449
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
454
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
471
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
502
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
525
clk_set_rate(drvdata->wclk, srate);
sound/soc/amd/acp/acp-mach-common.c
526
clk_set_rate(drvdata->bclk, srate * ch * format);
sound/soc/amd/acp/acp-mach-common.c
527
if (!drvdata->soc_mclk) {
sound/soc/amd/acp/acp-mach-common.c
528
ret = acp_clk_enable(drvdata, srate, ch * format);
sound/soc/amd/acp/acp-mach-common.c
604
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
607
if (drvdata->amp_codec_id != RT1019)
sound/soc/amd/acp/acp-mach-common.c
633
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
643
if (drvdata->amp_codec_id != RT1019)
sound/soc/amd/acp/acp-mach-common.c
646
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
651
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
662
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
677
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
692
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
720
if (!drvdata->soc_mclk) {
sound/soc/amd/acp/acp-mach-common.c
721
ret = acp_clk_enable(drvdata, srate, ch * format);
sound/soc/amd/acp/acp-mach-common.c
770
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
773
if (drvdata->amp_codec_id != MAX98360A)
sound/soc/amd/acp/acp-mach-common.c
799
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
808
if (drvdata->tdm_mode)
sound/soc/amd/acp/acp-mach-common.c
81
static int acp_clk_enable(struct acp_card_drvdata *drvdata,
sound/soc/amd/acp/acp-mach-common.c
813
if (drvdata->soc_mclk)
sound/soc/amd/acp/acp-mach-common.c
824
if (drvdata->tdm_mode) {
sound/soc/amd/acp/acp-mach-common.c
835
if (!drvdata->soc_mclk) {
sound/soc/amd/acp/acp-mach-common.c
836
ret = acp_clk_enable(drvdata, srate, ch * format);
sound/soc/amd/acp/acp-mach-common.c
84
clk_set_rate(drvdata->wclk, srate);
sound/soc/amd/acp/acp-mach-common.c
85
clk_set_rate(drvdata->bclk, srate * bclk_ratio);
sound/soc/amd/acp/acp-mach-common.c
87
return clk_prepare_enable(drvdata->wclk);
sound/soc/amd/acp/acp-mach-common.c
907
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
910
if (drvdata->amp_codec_id != MAX98388)
sound/soc/amd/acp/acp-mach-common.c
992
struct acp_card_drvdata *drvdata = card->drvdata;
sound/soc/amd/acp/acp-mach-common.c
999
if (drvdata->hs_codec_id != NAU8825)
sound/soc/amd/acp/acp-mach.h
27
#define acp_get_drvdata(card) ((struct acp_card_drvdata *)(card)->drvdata)
sound/soc/amd/acp/acp-sof-mach.c
108
card->drvdata = (struct acp_card_drvdata *)pdev->id_entry->driver_data;
sound/soc/amd/acp/acp-sof-mach.c
111
acp_card_drvdata = card->drvdata;
sound/soc/amd/acp/acp3x-es83xx/acp3x-es83xx.c
413
acp_drvdata = (struct acp_card_drvdata *)card->drvdata;
sound/soc/atmel/sam9x5_wm8731.c
181
struct sam9x5_drvdata *priv = card->drvdata;
sound/soc/codecs/ab8500-codec.c
1004
struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/ab8500-codec.c
1017
mutex_lock(&drvdata->ctrl_lock);
sound/soc/codecs/ab8500-codec.c
1044
drvdata->sid_status = SID_FIR_CONFIGURED;
sound/soc/codecs/ab8500-codec.c
1047
mutex_unlock(&drvdata->ctrl_lock);
sound/soc/codecs/ab8500-codec.c
2178
struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(dev);
sound/soc/codecs/ab8500-codec.c
2213
mutex_init(&drvdata->ctrl_lock);
sound/soc/codecs/ab8500-codec.c
2234
struct ab8500_codec_drvdata *drvdata;
sound/soc/codecs/ab8500-codec.c
2239
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct ab8500_codec_drvdata),
sound/soc/codecs/ab8500-codec.c
2241
if (!drvdata)
sound/soc/codecs/ab8500-codec.c
2243
drvdata->sid_status = SID_UNCONFIGURED;
sound/soc/codecs/ab8500-codec.c
2244
dev_set_drvdata(&pdev->dev, drvdata);
sound/soc/codecs/ab8500-codec.c
2246
drvdata->regmap = devm_regmap_init(&pdev->dev, NULL, &pdev->dev,
sound/soc/codecs/ab8500-codec.c
2248
if (IS_ERR(drvdata->regmap)) {
sound/soc/codecs/ab8500-codec.c
2249
status = PTR_ERR(drvdata->regmap);
sound/soc/codecs/ab8500-codec.c
990
struct ab8500_codec_drvdata *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/ab8500-codec.c
992
mutex_lock(&drvdata->ctrl_lock);
sound/soc/codecs/ab8500-codec.c
993
ucontrol->value.enumerated.item[0] = drvdata->sid_status;
sound/soc/codecs/ab8500-codec.c
994
mutex_unlock(&drvdata->ctrl_lock);
sound/soc/codecs/ak4375.c
500
const struct ak4375_drvdata *drvdata;
sound/soc/codecs/ak4375.c
515
drvdata = of_device_get_match_data(&i2c->dev);
sound/soc/codecs/ak4375.c
572
ret = devm_snd_soc_register_component(ak4375->dev, drvdata->comp_drv,
sound/soc/codecs/ak4375.c
573
drvdata->dai_drv, 1);
sound/soc/codecs/ak4458.c
381
if (ak4458->drvdata->type == AK4497) {
sound/soc/codecs/ak4458.c
45
const struct ak4458_drvdata *drvdata;
sound/soc/codecs/ak4458.c
450
if (ak4458->drvdata->type == AK4497) {
sound/soc/codecs/ak4458.c
752
ak4458->drvdata = of_device_get_match_data(&i2c->dev);
sound/soc/codecs/ak4458.c
777
ak4458->drvdata->comp_drv,
sound/soc/codecs/ak4458.c
778
ak4458->drvdata->dai_drv, 1);
sound/soc/codecs/ak4642.c
144
const struct ak4642_drvdata *drvdata;
sound/soc/codecs/ak4642.c
378
if (extended_freq && !priv->drvdata->extended_frequencies)
sound/soc/codecs/ak4642.c
634
const struct ak4642_drvdata *drvdata;
sound/soc/codecs/ak4642.c
645
drvdata = i2c_get_match_data(i2c);
sound/soc/codecs/ak4642.c
646
if (!drvdata)
sound/soc/codecs/ak4642.c
653
priv->drvdata = drvdata;
sound/soc/codecs/ak4642.c
658
regmap = devm_regmap_init_i2c(i2c, drvdata->regmap_config);
sound/soc/codecs/cs42xx8-i2c.c
20
struct cs42xx8_driver_data *drvdata;
sound/soc/codecs/cs42xx8-i2c.c
22
drvdata = (struct cs42xx8_driver_data *)i2c_get_match_data(i2c);
sound/soc/codecs/cs42xx8-i2c.c
23
if (!drvdata)
sound/soc/codecs/cs42xx8-i2c.c
28
devm_regmap_init_i2c(i2c, &cs42xx8_regmap_config), drvdata);
sound/soc/codecs/cs42xx8-spi.c
40
struct cs42xx8_driver_data *drvdata;
sound/soc/codecs/cs42xx8-spi.c
44
drvdata = (struct cs42xx8_driver_data *)spi_get_device_match_data(spi);
sound/soc/codecs/cs42xx8-spi.c
45
if (!drvdata)
sound/soc/codecs/cs42xx8-spi.c
59
devm_regmap_init_spi(spi, &config), drvdata);
sound/soc/codecs/cs42xx8.c
38
const struct cs42xx8_driver_data *drvdata;
sound/soc/codecs/cs42xx8.c
492
switch (cs42xx8->drvdata->num_adcs) {
sound/soc/codecs/cs42xx8.c
535
int cs42xx8_probe(struct device *dev, struct regmap *regmap, struct cs42xx8_driver_data *drvdata)
sound/soc/codecs/cs42xx8.c
554
cs42xx8->drvdata = drvdata;
sound/soc/codecs/cs42xx8.c
610
cs42xx8_dai.name = cs42xx8->drvdata->name;
sound/soc/codecs/cs42xx8.c
613
cs42xx8_dai.capture.channels_max = cs42xx8->drvdata->num_adcs * 2;
sound/soc/codecs/cs42xx8.h
22
int cs42xx8_probe(struct device *dev, struct regmap *regmap, struct cs42xx8_driver_data *drvdata);
sound/soc/codecs/sti-sas.c
254
struct sti_sas_data *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/sti-sas.c
264
drvdata->spdif.mclk = freq;
sound/soc/codecs/sti-sas.c
268
drvdata->dac.mclk = freq;
sound/soc/codecs/sti-sas.c
279
struct sti_sas_data *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/sti-sas.c
284
if ((drvdata->spdif.mclk / runtime->rate) != 128) {
sound/soc/codecs/sti-sas.c
290
if ((drvdata->dac.mclk / runtime->rate) != 256) {
sound/soc/codecs/sti-sas.c
366
struct sti_sas_data *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/sti-sas.c
368
return sti_sas_init_sas_registers(component, drvdata);
sound/soc/codecs/sti-sas.c
376
struct sti_sas_data *drvdata = dev_get_drvdata(component->dev);
sound/soc/codecs/sti-sas.c
378
return sti_sas_init_sas_registers(component, drvdata);
sound/soc/codecs/sti-sas.c
405
struct sti_sas_data *drvdata;
sound/soc/codecs/sti-sas.c
409
drvdata = devm_kzalloc(&pdev->dev, sizeof(struct sti_sas_data),
sound/soc/codecs/sti-sas.c
411
if (!drvdata)
sound/soc/codecs/sti-sas.c
421
drvdata->dev_data = (struct sti_sas_dev_data *)of_id->data;
sound/soc/codecs/sti-sas.c
424
drvdata->dev = &pdev->dev;
sound/soc/codecs/sti-sas.c
427
drvdata->dac.virt_regmap = devm_regmap_init(&pdev->dev, NULL, drvdata,
sound/soc/codecs/sti-sas.c
428
drvdata->dev_data->regmap);
sound/soc/codecs/sti-sas.c
429
if (IS_ERR(drvdata->dac.virt_regmap)) {
sound/soc/codecs/sti-sas.c
431
return PTR_ERR(drvdata->dac.virt_regmap);
sound/soc/codecs/sti-sas.c
435
drvdata->dac.regmap =
sound/soc/codecs/sti-sas.c
437
if (IS_ERR(drvdata->dac.regmap)) {
sound/soc/codecs/sti-sas.c
439
return PTR_ERR(drvdata->dac.regmap);
sound/soc/codecs/sti-sas.c
441
drvdata->spdif.regmap = drvdata->dac.regmap;
sound/soc/codecs/sti-sas.c
443
sti_sas_dai[STI_SAS_DAI_ANALOG_OUT].ops = drvdata->dev_data->dac_ops;
sound/soc/codecs/sti-sas.c
446
dev_set_drvdata(&pdev->dev, drvdata);
sound/soc/codecs/sti-sas.c
80
struct sti_sas_data *drvdata = context;
sound/soc/codecs/sti-sas.c
84
status = regmap_read(drvdata->dac.regmap, reg, &val);
sound/soc/codecs/sti-sas.c
94
struct sti_sas_data *drvdata = context;
sound/soc/codecs/sti-sas.c
96
return regmap_write(drvdata->dac.regmap, reg, value);
sound/soc/codecs/wcd939x.c
3471
.drvdata = wcd939x,
sound/soc/codecs/wcd939x.c
3476
.drvdata = wcd939x,
sound/soc/codecs/wm8580.c
1018
wm8580->drvdata = i2c_get_match_data(i2c);
sound/soc/codecs/wm8580.c
1019
if (!wm8580->drvdata)
sound/soc/codecs/wm8580.c
249
const struct wm8580_driver_data *drvdata;
sound/soc/codecs/wm8580.c
857
SNDRV_PCM_HW_PARAM_CHANNELS, 1, wm8580->drvdata->num_dacs * 2);
sound/soc/codecs/wm8580.c
914
switch (wm8580->drvdata->num_dacs) {
sound/soc/qcom/lpass-apq8016.c
123
static int apq8016_lpass_alloc_dma_channel(struct lpass_data *drvdata,
sound/soc/qcom/lpass-apq8016.c
126
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-apq8016.c
130
chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-apq8016.c
136
chan = find_next_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-apq8016.c
145
set_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-apq8016.c
150
static int apq8016_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
sound/soc/qcom/lpass-apq8016.c
152
clear_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-apq8016.c
159
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-apq8016.c
160
const struct lpass_variant *variant = drvdata->variant;
sound/soc/qcom/lpass-apq8016.c
165
drvdata->clks = devm_kcalloc(dev, variant->num_clks,
sound/soc/qcom/lpass-apq8016.c
166
sizeof(*drvdata->clks), GFP_KERNEL);
sound/soc/qcom/lpass-apq8016.c
167
if (!drvdata->clks)
sound/soc/qcom/lpass-apq8016.c
169
drvdata->num_clks = variant->num_clks;
sound/soc/qcom/lpass-apq8016.c
171
for (i = 0; i < drvdata->num_clks; i++)
sound/soc/qcom/lpass-apq8016.c
172
drvdata->clks[i].id = variant->clk_name[i];
sound/soc/qcom/lpass-apq8016.c
174
ret = devm_clk_bulk_get(dev, drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-apq8016.c
180
ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-apq8016.c
186
drvdata->ahbix_clk = devm_clk_get(dev, "ahbix-clk");
sound/soc/qcom/lpass-apq8016.c
187
if (IS_ERR(drvdata->ahbix_clk)) {
sound/soc/qcom/lpass-apq8016.c
189
PTR_ERR(drvdata->ahbix_clk));
sound/soc/qcom/lpass-apq8016.c
190
ret = PTR_ERR(drvdata->ahbix_clk);
sound/soc/qcom/lpass-apq8016.c
194
ret = clk_set_rate(drvdata->ahbix_clk, LPASS_AHBIX_CLOCK_FREQUENCY);
sound/soc/qcom/lpass-apq8016.c
200
clk_get_rate(drvdata->ahbix_clk));
sound/soc/qcom/lpass-apq8016.c
202
ret = clk_prepare_enable(drvdata->ahbix_clk);
sound/soc/qcom/lpass-apq8016.c
211
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-apq8016.c
217
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-apq8016.c
219
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-apq8016.c
220
clk_disable_unprepare(drvdata->ahbix_clk);
sound/soc/qcom/lpass-cdc-dma.c
174
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cdc-dma.c
180
clk_set_rate(drvdata->codec_mem0, CODEC_MEM_HZ_NORMAL);
sound/soc/qcom/lpass-cdc-dma.c
181
clk_prepare_enable(drvdata->codec_mem0);
sound/soc/qcom/lpass-cdc-dma.c
184
clk_set_rate(drvdata->va_mem0, CODEC_MEM_HZ_NORMAL);
sound/soc/qcom/lpass-cdc-dma.c
185
clk_prepare_enable(drvdata->va_mem0);
sound/soc/qcom/lpass-cdc-dma.c
197
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cdc-dma.c
203
clk_disable_unprepare(drvdata->codec_mem0);
sound/soc/qcom/lpass-cdc-dma.c
206
clk_disable_unprepare(drvdata->va_mem0);
sound/soc/qcom/lpass-cdc-dma.c
38
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cdc-dma.c
41
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cdc-dma.c
46
*dmactl = drvdata->rxtx_rd_dmactl;
sound/soc/qcom/lpass-cdc-dma.c
50
*dmactl = drvdata->rxtx_wr_dmactl;
sound/soc/qcom/lpass-cdc-dma.c
54
*dmactl = drvdata->va_wr_dmactl;
sound/soc/qcom/lpass-cpu.c
106
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
107
struct lpaif_i2sctl *i2sctl = drvdata->i2sctl;
sound/soc/qcom/lpass-cpu.c
110
clk_disable_unprepare(drvdata->mi2s_osr_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
1104
struct lpass_data *drvdata;
sound/soc/qcom/lpass-cpu.c
1118
drvdata = devm_kzalloc(dev, sizeof(struct lpass_data), GFP_KERNEL);
sound/soc/qcom/lpass-cpu.c
1119
if (!drvdata)
sound/soc/qcom/lpass-cpu.c
1121
platform_set_drvdata(pdev, drvdata);
sound/soc/qcom/lpass-cpu.c
1130
drvdata->variant = variant;
sound/soc/qcom/lpass-cpu.c
1132
of_lpass_cpu_parse_dai_data(dev, drvdata);
sound/soc/qcom/lpass-cpu.c
1134
if (drvdata->codec_dma_enable) {
sound/soc/qcom/lpass-cpu.c
1135
drvdata->rxtx_lpaif =
sound/soc/qcom/lpass-cpu.c
1137
if (IS_ERR(drvdata->rxtx_lpaif))
sound/soc/qcom/lpass-cpu.c
1138
return PTR_ERR(drvdata->rxtx_lpaif);
sound/soc/qcom/lpass-cpu.c
1140
drvdata->va_lpaif = devm_platform_ioremap_resource_byname(pdev, "lpass-va-lpaif");
sound/soc/qcom/lpass-cpu.c
1141
if (IS_ERR(drvdata->va_lpaif))
sound/soc/qcom/lpass-cpu.c
1142
return PTR_ERR(drvdata->va_lpaif);
sound/soc/qcom/lpass-cpu.c
1148
drvdata->rxtx_lpaif_map = devm_regmap_init_mmio(dev, drvdata->rxtx_lpaif,
sound/soc/qcom/lpass-cpu.c
1150
if (IS_ERR(drvdata->rxtx_lpaif_map))
sound/soc/qcom/lpass-cpu.c
1151
return PTR_ERR(drvdata->rxtx_lpaif_map);
sound/soc/qcom/lpass-cpu.c
1157
drvdata->va_lpaif_map = devm_regmap_init_mmio(dev, drvdata->va_lpaif,
sound/soc/qcom/lpass-cpu.c
1159
if (IS_ERR(drvdata->va_lpaif_map))
sound/soc/qcom/lpass-cpu.c
1160
return PTR_ERR(drvdata->va_lpaif_map);
sound/soc/qcom/lpass-cpu.c
1162
ret = of_lpass_cdc_dma_clks_parse(dev, drvdata);
sound/soc/qcom/lpass-cpu.c
1171
drvdata->rxtx_cdc_dma_lpm_buf = res->start;
sound/soc/qcom/lpass-cpu.c
1176
drvdata->va_cdc_dma_lpm_buf = res->start;
sound/soc/qcom/lpass-cpu.c
1179
drvdata->lpaif = devm_platform_ioremap_resource_byname(pdev, "lpass-lpaif");
sound/soc/qcom/lpass-cpu.c
1180
if (IS_ERR(drvdata->lpaif))
sound/soc/qcom/lpass-cpu.c
1181
return PTR_ERR(drvdata->lpaif);
sound/soc/qcom/lpass-cpu.c
1187
drvdata->lpaif_map = devm_regmap_init_mmio(dev, drvdata->lpaif,
sound/soc/qcom/lpass-cpu.c
1189
if (IS_ERR(drvdata->lpaif_map)) {
sound/soc/qcom/lpass-cpu.c
1191
PTR_ERR(drvdata->lpaif_map));
sound/soc/qcom/lpass-cpu.c
1192
return PTR_ERR(drvdata->lpaif_map);
sound/soc/qcom/lpass-cpu.c
1195
if (drvdata->hdmi_port_enable) {
sound/soc/qcom/lpass-cpu.c
1196
drvdata->hdmiif = devm_platform_ioremap_resource_byname(pdev, "lpass-hdmiif");
sound/soc/qcom/lpass-cpu.c
1197
if (IS_ERR(drvdata->hdmiif))
sound/soc/qcom/lpass-cpu.c
1198
return PTR_ERR(drvdata->hdmiif);
sound/soc/qcom/lpass-cpu.c
1202
drvdata->hdmiif_map = devm_regmap_init_mmio(dev, drvdata->hdmiif,
sound/soc/qcom/lpass-cpu.c
1204
if (IS_ERR(drvdata->hdmiif_map)) {
sound/soc/qcom/lpass-cpu.c
1206
PTR_ERR(drvdata->hdmiif_map));
sound/soc/qcom/lpass-cpu.c
1207
return PTR_ERR(drvdata->hdmiif_map);
sound/soc/qcom/lpass-cpu.c
1224
drvdata->mi2s_osr_clk[dai_id] = devm_clk_get_optional(dev,
sound/soc/qcom/lpass-cpu.c
1226
drvdata->mi2s_bit_clk[dai_id] = devm_clk_get(dev,
sound/soc/qcom/lpass-cpu.c
1228
if (IS_ERR(drvdata->mi2s_bit_clk[dai_id])) {
sound/soc/qcom/lpass-cpu.c
1232
PTR_ERR(drvdata->mi2s_bit_clk[dai_id]));
sound/soc/qcom/lpass-cpu.c
1233
return PTR_ERR(drvdata->mi2s_bit_clk[dai_id]);
sound/soc/qcom/lpass-cpu.c
1235
if (drvdata->mi2s_playback_sd_mode[dai_id] ==
sound/soc/qcom/lpass-cpu.c
1243
drvdata->i2sctl = devm_kzalloc(&pdev->dev, sizeof(struct lpaif_i2sctl),
sound/soc/qcom/lpass-cpu.c
1245
if (!drvdata->i2sctl)
sound/soc/qcom/lpass-cpu.c
1249
ret = lpass_cpu_init_i2sctl_bitfields(dev, drvdata->i2sctl,
sound/soc/qcom/lpass-cpu.c
1250
drvdata->lpaif_map);
sound/soc/qcom/lpass-cpu.c
1256
if (drvdata->hdmi_port_enable) {
sound/soc/qcom/lpass-cpu.c
1257
ret = lpass_hdmi_init_bitfields(dev, drvdata->hdmiif_map);
sound/soc/qcom/lpass-cpu.c
126
if (drvdata->mi2s_was_prepared[dai->driver->id]) {
sound/soc/qcom/lpass-cpu.c
127
drvdata->mi2s_was_prepared[dai->driver->id] = false;
sound/soc/qcom/lpass-cpu.c
128
clk_disable(drvdata->mi2s_bit_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
1285
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-cpu.c
1287
if (drvdata->variant->exit)
sound/soc/qcom/lpass-cpu.c
1288
drvdata->variant->exit(pdev);
sound/soc/qcom/lpass-cpu.c
1294
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-cpu.c
1296
if (drvdata->variant->exit)
sound/soc/qcom/lpass-cpu.c
1297
drvdata->variant->exit(pdev);
sound/soc/qcom/lpass-cpu.c
131
clk_unprepare(drvdata->mi2s_bit_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
137
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
138
struct lpaif_i2sctl *i2sctl = drvdata->i2sctl;
sound/soc/qcom/lpass-cpu.c
189
mode = drvdata->mi2s_playback_sd_mode[id];
sound/soc/qcom/lpass-cpu.c
191
mode = drvdata->mi2s_capture_sd_mode[id];
sound/soc/qcom/lpass-cpu.c
288
ret = clk_set_rate(drvdata->mi2s_bit_clk[id],
sound/soc/qcom/lpass-cpu.c
302
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
303
struct lpaif_i2sctl *i2sctl = drvdata->i2sctl;
sound/soc/qcom/lpass-cpu.c
334
ret = clk_enable(drvdata->mi2s_bit_clk[id]);
sound/soc/qcom/lpass-cpu.c
337
clk_disable(drvdata->mi2s_osr_clk[id]);
sound/soc/qcom/lpass-cpu.c
359
clk_disable(drvdata->mi2s_bit_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
370
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
371
struct lpaif_i2sctl *i2sctl = drvdata->i2sctl;
sound/soc/qcom/lpass-cpu.c
396
if (!drvdata->mi2s_was_prepared[dai->driver->id]) {
sound/soc/qcom/lpass-cpu.c
397
ret = clk_enable(drvdata->mi2s_bit_clk[id]);
sound/soc/qcom/lpass-cpu.c
402
drvdata->mi2s_was_prepared[dai->driver->id] = true;
sound/soc/qcom/lpass-cpu.c
411
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
413
if (drvdata->mi2s_playback_sd_mode[dai->id] == LPAIF_I2SCTL_MODE_QUAD01) {
sound/soc/qcom/lpass-cpu.c
426
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
430
ret = regmap_write(drvdata->lpaif_map,
sound/soc/qcom/lpass-cpu.c
431
LPAIF_I2SCTL_REG(drvdata->variant, dai->driver->id), 0);
sound/soc/qcom/lpass-cpu.c
46
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
465
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-cpu.c
466
const struct lpass_variant *variant = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
47
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
490
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
491
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
532
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
533
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
580
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
581
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
615
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
616
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
635
drvdata->tx_ctl = tx_ctl;
sound/soc/qcom/lpass-cpu.c
638
drvdata->hdmitx_legacy_en = legacy_en;
sound/soc/qcom/lpass-cpu.c
646
drvdata->vbit_ctl = vbit_ctl;
sound/soc/qcom/lpass-cpu.c
650
drvdata->hdmitx_parity_calc_en = tx_parity;
sound/soc/qcom/lpass-cpu.c
659
drvdata->meta_ctl = meta_ctl;
sound/soc/qcom/lpass-cpu.c
669
drvdata->sstream_ctl = sstream_ctl;
sound/soc/qcom/lpass-cpu.c
673
drvdata->hdmitx_ch_msb[i] = ch_msb;
sound/soc/qcom/lpass-cpu.c
676
drvdata->hdmitx_ch_lsb[i] = ch_lsb;
sound/soc/qcom/lpass-cpu.c
686
drvdata->hdmi_tx_dmactl[i] = tx_dmactl;
sound/soc/qcom/lpass-cpu.c
693
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
694
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
72
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
738
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
739
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
75
ret = clk_set_rate(drvdata->mi2s_osr_clk[dai->driver->id], freq);
sound/soc/qcom/lpass-cpu.c
787
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
788
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
826
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
827
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
86
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-cpu.c
89
ret = clk_prepare_enable(drvdata->mi2s_osr_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
892
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
893
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
917
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
918
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
94
ret = clk_prepare(drvdata->mi2s_bit_clk[dai->driver->id]);
sound/soc/qcom/lpass-cpu.c
967
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-cpu.c
968
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-cpu.c
97
clk_disable_unprepare(drvdata->mi2s_osr_clk[dai->driver->id]);
sound/soc/qcom/lpass-hdmi.c
101
ret = regmap_field_write(drvdata->hdmitx_ch_msb[0], ch_sts_buf1);
sound/soc/qcom/lpass-hdmi.c
105
ret = regmap_field_write(drvdata->hdmitx_ch_lsb[0], ch_sts_buf0);
sound/soc/qcom/lpass-hdmi.c
109
ret = regmap_field_write(drvdata->hdmi_tx_dmactl[0]->use_hw_chs, HW_MODE);
sound/soc/qcom/lpass-hdmi.c
113
ret = regmap_field_write(drvdata->hdmi_tx_dmactl[0]->hw_chs_sel, SW_MODE);
sound/soc/qcom/lpass-hdmi.c
117
ret = regmap_field_write(drvdata->hdmi_tx_dmactl[0]->use_hw_usr, HW_MODE);
sound/soc/qcom/lpass-hdmi.c
121
ret = regmap_field_write(drvdata->hdmi_tx_dmactl[0]->hw_usr_sel, SW_MODE);
sound/soc/qcom/lpass-hdmi.c
194
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-hdmi.c
196
ret = regmap_field_write(drvdata->sstream_ctl->sstream_en, LPASS_SSTREAM_ENABLE);
sound/soc/qcom/lpass-hdmi.c
200
ret = regmap_field_write(drvdata->meta_ctl->mute, LPASS_MUTE_DISABLE);
sound/soc/qcom/lpass-hdmi.c
208
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-hdmi.c
209
struct lpass_dp_metadata_ctl *meta_ctl = drvdata->meta_ctl;
sound/soc/qcom/lpass-hdmi.c
210
struct lpass_sstream_ctl *sstream_ctl = drvdata->sstream_ctl;
sound/soc/qcom/lpass-hdmi.c
22
struct lpass_data *drvdata = snd_soc_dai_get_drvdata(dai);
sound/soc/qcom/lpass-hdmi.c
33
struct lpass_dp_metadata_ctl *meta_ctl = drvdata->meta_ctl;
sound/soc/qcom/lpass-hdmi.c
34
struct lpass_sstream_ctl *sstream_ctl = drvdata->sstream_ctl;
sound/soc/qcom/lpass-hdmi.c
77
ret = regmap_field_write(drvdata->tx_ctl->soft_reset, LPASS_TX_CTL_RESET);
sound/soc/qcom/lpass-hdmi.c
81
ret = regmap_field_write(drvdata->tx_ctl->soft_reset, LPASS_TX_CTL_CLEAR);
sound/soc/qcom/lpass-hdmi.c
85
ret = regmap_field_write(drvdata->hdmitx_legacy_en, LPASS_HDMITX_LEGACY_DISABLE);
sound/soc/qcom/lpass-hdmi.c
89
ret = regmap_field_write(drvdata->hdmitx_parity_calc_en, HDMITX_PARITY_CALC_EN);
sound/soc/qcom/lpass-hdmi.c
93
ret = regmap_field_write(drvdata->vbit_ctl->replace_vbit, REPLACE_VBIT);
sound/soc/qcom/lpass-hdmi.c
97
ret = regmap_field_write(drvdata->vbit_ctl->vbit_stream, LINEAR_PCM_DATA);
sound/soc/qcom/lpass-ipq806x.c
106
static int ipq806x_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
sound/soc/qcom/lpass-ipq806x.c
59
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-ipq806x.c
63
drvdata->ahbix_clk = devm_clk_get(dev, "ahbix-clk");
sound/soc/qcom/lpass-ipq806x.c
64
if (IS_ERR(drvdata->ahbix_clk)) {
sound/soc/qcom/lpass-ipq806x.c
66
PTR_ERR(drvdata->ahbix_clk));
sound/soc/qcom/lpass-ipq806x.c
67
ret = PTR_ERR(drvdata->ahbix_clk);
sound/soc/qcom/lpass-ipq806x.c
71
ret = clk_set_rate(drvdata->ahbix_clk, LPASS_AHBIX_CLOCK_FREQUENCY);
sound/soc/qcom/lpass-ipq806x.c
77
clk_get_rate(drvdata->ahbix_clk));
sound/soc/qcom/lpass-ipq806x.c
79
ret = clk_prepare_enable(drvdata->ahbix_clk);
sound/soc/qcom/lpass-ipq806x.c
91
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-ipq806x.c
93
clk_disable_unprepare(drvdata->ahbix_clk);
sound/soc/qcom/lpass-ipq806x.c
98
static int ipq806x_lpass_alloc_dma_channel(struct lpass_data *drvdata, int dir, unsigned int dai_id)
sound/soc/qcom/lpass-platform.c
1022
struct lpass_data *drvdata = data;
sound/soc/qcom/lpass-platform.c
1023
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1027
rv = regmap_read(drvdata->lpaif_map,
sound/soc/qcom/lpass-platform.c
103
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-platform.c
1036
if (irqs & LPAIF_IRQ_ALL(chan) && drvdata->substream[chan]) {
sound/soc/qcom/lpass-platform.c
1038
drvdata->substream[chan],
sound/soc/qcom/lpass-platform.c
1039
drvdata, chan, irqs);
sound/soc/qcom/lpass-platform.c
104
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1050
struct lpass_data *drvdata = data;
sound/soc/qcom/lpass-platform.c
1051
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1055
rv = regmap_read(drvdata->hdmiif_map,
sound/soc/qcom/lpass-platform.c
1067
&& drvdata->hdmi_substream[chan]) {
sound/soc/qcom/lpass-platform.c
1069
drvdata->hdmi_substream[chan],
sound/soc/qcom/lpass-platform.c
1070
drvdata, chan, irqs);
sound/soc/qcom/lpass-platform.c
1080
struct lpass_data *drvdata = data;
sound/soc/qcom/lpass-platform.c
1081
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1086
rv = regmap_read(drvdata->rxtx_lpaif_map,
sound/soc/qcom/lpass-platform.c
1091
if (irqs & LPAIF_IRQ_ALL(chan) && drvdata->rxtx_substream[chan]) {
sound/soc/qcom/lpass-platform.c
1093
drvdata->rxtx_substream[chan],
sound/soc/qcom/lpass-platform.c
1094
drvdata, chan, irqs);
sound/soc/qcom/lpass-platform.c
1105
struct lpass_data *drvdata = data;
sound/soc/qcom/lpass-platform.c
1106
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1111
rv = regmap_read(drvdata->va_lpaif_map,
sound/soc/qcom/lpass-platform.c
1116
if (irqs & LPAIF_IRQ_ALL(chan) && drvdata->va_substream[chan]) {
sound/soc/qcom/lpass-platform.c
1118
drvdata->va_substream[chan],
sound/soc/qcom/lpass-platform.c
1119
drvdata, chan, irqs);
sound/soc/qcom/lpass-platform.c
1130
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
1149
buf->addr = drvdata->rxtx_cdc_dma_lpm_buf;
sound/soc/qcom/lpass-platform.c
1153
buf->addr = drvdata->rxtx_cdc_dma_lpm_buf + LPASS_RXTX_CDC_DMA_LPM_BUFF_SIZE;
sound/soc/qcom/lpass-platform.c
1157
buf->addr = drvdata->va_cdc_dma_lpm_buf;
sound/soc/qcom/lpass-platform.c
116
drvdata->rxtx_rd_dmactl = rd_dmactl;
sound/soc/qcom/lpass-platform.c
117
drvdata->rxtx_wr_dmactl = wr_dmactl;
sound/soc/qcom/lpass-platform.c
1190
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
1193
if (drvdata->hdmi_port_enable) {
sound/soc/qcom/lpass-platform.c
1194
map = drvdata->hdmiif_map;
sound/soc/qcom/lpass-platform.c
1199
map = drvdata->lpaif_map;
sound/soc/qcom/lpass-platform.c
1208
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
1212
if (drvdata->hdmi_port_enable) {
sound/soc/qcom/lpass-platform.c
1213
map = drvdata->hdmiif_map;
sound/soc/qcom/lpass-platform.c
1220
map = drvdata->lpaif_map;
sound/soc/qcom/lpass-platform.c
1280
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-platform.c
1281
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1284
drvdata->lpaif_irq = platform_get_irq_byname(pdev, "lpass-irq-lpaif");
sound/soc/qcom/lpass-platform.c
1285
if (drvdata->lpaif_irq < 0)
sound/soc/qcom/lpass-platform.c
1289
ret = regmap_write(drvdata->lpaif_map,
sound/soc/qcom/lpass-platform.c
1296
ret = devm_request_irq(&pdev->dev, drvdata->lpaif_irq,
sound/soc/qcom/lpass-platform.c
1298
"lpass-irq-lpaif", drvdata);
sound/soc/qcom/lpass-platform.c
1305
drvdata->lpaif_map);
sound/soc/qcom/lpass-platform.c
131
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-platform.c
1312
if (drvdata->codec_dma_enable) {
sound/soc/qcom/lpass-platform.c
1313
ret = regmap_write(drvdata->rxtx_lpaif_map,
sound/soc/qcom/lpass-platform.c
1319
ret = regmap_write(drvdata->va_lpaif_map,
sound/soc/qcom/lpass-platform.c
132
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
1325
drvdata->rxtxif_irq = platform_get_irq_byname(pdev, "lpass-irq-rxtxif");
sound/soc/qcom/lpass-platform.c
1326
if (drvdata->rxtxif_irq < 0)
sound/soc/qcom/lpass-platform.c
1329
ret = devm_request_irq(&pdev->dev, drvdata->rxtxif_irq,
sound/soc/qcom/lpass-platform.c
1330
lpass_platform_rxtxif_irq, 0, "lpass-irq-rxtxif", drvdata);
sound/soc/qcom/lpass-platform.c
1337
drvdata->rxtx_lpaif_map);
sound/soc/qcom/lpass-platform.c
1344
drvdata->vaif_irq = platform_get_irq_byname(pdev, "lpass-irq-vaif");
sound/soc/qcom/lpass-platform.c
1345
if (drvdata->vaif_irq < 0)
sound/soc/qcom/lpass-platform.c
1348
ret = devm_request_irq(&pdev->dev, drvdata->vaif_irq,
sound/soc/qcom/lpass-platform.c
1349
lpass_platform_vaif_irq, 0, "lpass-irq-vaif", drvdata);
sound/soc/qcom/lpass-platform.c
1356
drvdata->va_lpaif_map);
sound/soc/qcom/lpass-platform.c
1364
if (drvdata->hdmi_port_enable) {
sound/soc/qcom/lpass-platform.c
1365
drvdata->hdmiif_irq = platform_get_irq_byname(pdev, "lpass-irq-hdmi");
sound/soc/qcom/lpass-platform.c
1366
if (drvdata->hdmiif_irq < 0)
sound/soc/qcom/lpass-platform.c
1369
ret = devm_request_irq(&pdev->dev, drvdata->hdmiif_irq,
sound/soc/qcom/lpass-platform.c
1370
lpass_platform_hdmiif_irq, 0, "lpass-irq-hdmi", drvdata);
sound/soc/qcom/lpass-platform.c
1375
ret = regmap_write(drvdata->hdmiif_map,
sound/soc/qcom/lpass-platform.c
1383
drvdata->hdmiif_map);
sound/soc/qcom/lpass-platform.c
139
drvdata->va_wr_dmactl = wr_dmactl;
sound/soc/qcom/lpass-platform.c
148
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-platform.c
149
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
153
drvdata->rd_dmactl = devm_kzalloc(dev, sizeof(struct lpaif_dmactl),
sound/soc/qcom/lpass-platform.c
155
if (drvdata->rd_dmactl == NULL)
sound/soc/qcom/lpass-platform.c
158
drvdata->wr_dmactl = devm_kzalloc(dev, sizeof(struct lpaif_dmactl),
sound/soc/qcom/lpass-platform.c
160
if (drvdata->wr_dmactl == NULL)
sound/soc/qcom/lpass-platform.c
163
rd_dmactl = drvdata->rd_dmactl;
sound/soc/qcom/lpass-platform.c
164
wr_dmactl = drvdata->wr_dmactl;
sound/soc/qcom/lpass-platform.c
178
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-platform.c
179
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
186
drvdata->hdmi_rd_dmactl = rd_dmactl;
sound/soc/qcom/lpass-platform.c
198
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
199
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
213
dma_ch = v->alloc_dma_channel(drvdata, dir, dai_id);
sound/soc/qcom/lpass-platform.c
224
map = drvdata->lpaif_map;
sound/soc/qcom/lpass-platform.c
225
drvdata->substream[dma_ch] = substream;
sound/soc/qcom/lpass-platform.c
228
map = drvdata->hdmiif_map;
sound/soc/qcom/lpass-platform.c
229
drvdata->hdmi_substream[dma_ch] = substream;
sound/soc/qcom/lpass-platform.c
233
map = drvdata->rxtx_lpaif_map;
sound/soc/qcom/lpass-platform.c
234
drvdata->rxtx_substream[dma_ch] = substream;
sound/soc/qcom/lpass-platform.c
237
map = drvdata->va_lpaif_map;
sound/soc/qcom/lpass-platform.c
238
drvdata->va_substream[dma_ch] = substream;
sound/soc/qcom/lpass-platform.c
289
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
290
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
298
drvdata->substream[data->dma_ch] = NULL;
sound/soc/qcom/lpass-platform.c
301
drvdata->hdmi_substream[data->dma_ch] = NULL;
sound/soc/qcom/lpass-platform.c
305
drvdata->rxtx_substream[data->dma_ch] = NULL;
sound/soc/qcom/lpass-platform.c
308
drvdata->va_substream[data->dma_ch] = NULL;
sound/soc/qcom/lpass-platform.c
315
v->free_dma_channel(drvdata, data->dma_ch, dai_id);
sound/soc/qcom/lpass-platform.c
326
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
332
dmactl = drvdata->rd_dmactl;
sound/soc/qcom/lpass-platform.c
334
dmactl = drvdata->wr_dmactl;
sound/soc/qcom/lpass-platform.c
337
dmactl = drvdata->hdmi_rd_dmactl;
sound/soc/qcom/lpass-platform.c
340
dmactl = drvdata->rxtx_rd_dmactl;
sound/soc/qcom/lpass-platform.c
343
dmactl = drvdata->rxtx_wr_dmactl;
sound/soc/qcom/lpass-platform.c
346
dmactl = drvdata->va_wr_dmactl;
sound/soc/qcom/lpass-platform.c
358
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
361
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
393
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
398
map = drvdata->lpaif_map;
sound/soc/qcom/lpass-platform.c
401
map = drvdata->hdmiif_map;
sound/soc/qcom/lpass-platform.c
405
map = drvdata->rxtx_lpaif_map;
sound/soc/qcom/lpass-platform.c
408
map = drvdata->va_lpaif_map;
sound/soc/qcom/lpass-platform.c
421
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
424
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
574
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
577
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
602
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
605
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
665
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
668
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
864
struct lpass_data *drvdata = snd_soc_component_get_drvdata(component);
sound/soc/qcom/lpass-platform.c
867
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
926
struct lpass_data *drvdata,
sound/soc/qcom/lpass-platform.c
931
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-platform.c
941
map = drvdata->hdmiif_map;
sound/soc/qcom/lpass-platform.c
952
map = drvdata->lpaif_map;
sound/soc/qcom/lpass-platform.c
958
map = drvdata->rxtx_lpaif_map;
sound/soc/qcom/lpass-platform.c
963
map = drvdata->va_lpaif_map;
sound/soc/qcom/lpass-sc7180.c
108
set_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-sc7180.c
113
static int sc7180_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
sound/soc/qcom/lpass-sc7180.c
116
clear_bit(chan, &drvdata->hdmi_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7180.c
118
clear_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-sc7180.c
125
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-sc7180.c
126
const struct lpass_variant *variant = drvdata->variant;
sound/soc/qcom/lpass-sc7180.c
130
drvdata->clks = devm_kcalloc(dev, variant->num_clks,
sound/soc/qcom/lpass-sc7180.c
131
sizeof(*drvdata->clks), GFP_KERNEL);
sound/soc/qcom/lpass-sc7180.c
132
if (!drvdata->clks)
sound/soc/qcom/lpass-sc7180.c
135
drvdata->num_clks = variant->num_clks;
sound/soc/qcom/lpass-sc7180.c
137
for (i = 0; i < drvdata->num_clks; i++)
sound/soc/qcom/lpass-sc7180.c
138
drvdata->clks[i].id = variant->clk_name[i];
sound/soc/qcom/lpass-sc7180.c
140
ret = devm_clk_bulk_get(dev, drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7180.c
146
ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7180.c
157
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-sc7180.c
159
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7180.c
165
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-sc7180.c
167
return clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7180.c
172
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-sc7180.c
174
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7180.c
76
static int sc7180_lpass_alloc_dma_channel(struct lpass_data *drvdata,
sound/soc/qcom/lpass-sc7180.c
79
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-sc7180.c
84
chan = find_first_zero_bit(&drvdata->hdmi_dma_ch_bit_map,
sound/soc/qcom/lpass-sc7180.c
90
set_bit(chan, &drvdata->hdmi_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7180.c
93
chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-sc7180.c
99
chan = find_next_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
110
static int sc7280_lpass_alloc_dma_channel(struct lpass_data *drvdata,
sound/soc/qcom/lpass-sc7280.c
113
const struct lpass_variant *v = drvdata->variant;
sound/soc/qcom/lpass-sc7280.c
119
chan = find_first_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
125
chan = find_next_zero_bit(&drvdata->dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
133
set_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
136
chan = find_first_zero_bit(&drvdata->hdmi_dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
140
set_bit(chan, &drvdata->hdmi_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
143
chan = find_first_zero_bit(&drvdata->rxtx_dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
149
chan = find_next_zero_bit(&drvdata->rxtx_dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
155
set_bit(chan, &drvdata->rxtx_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
158
chan = find_next_zero_bit(&drvdata->va_dma_ch_bit_map,
sound/soc/qcom/lpass-sc7280.c
164
set_bit(chan, &drvdata->va_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
173
static int sc7280_lpass_free_dma_channel(struct lpass_data *drvdata, int chan, unsigned int dai_id)
sound/soc/qcom/lpass-sc7280.c
177
clear_bit(chan, &drvdata->dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
180
clear_bit(chan, &drvdata->hdmi_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
184
clear_bit(chan, &drvdata->rxtx_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
187
clear_bit(chan, &drvdata->va_dma_ch_bit_map);
sound/soc/qcom/lpass-sc7280.c
198
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-sc7280.c
199
const struct lpass_variant *variant = drvdata->variant;
sound/soc/qcom/lpass-sc7280.c
203
drvdata->clks = devm_kcalloc(dev, variant->num_clks,
sound/soc/qcom/lpass-sc7280.c
204
sizeof(*drvdata->clks), GFP_KERNEL);
sound/soc/qcom/lpass-sc7280.c
205
if (!drvdata->clks)
sound/soc/qcom/lpass-sc7280.c
208
drvdata->num_clks = variant->num_clks;
sound/soc/qcom/lpass-sc7280.c
210
for (i = 0; i < drvdata->num_clks; i++)
sound/soc/qcom/lpass-sc7280.c
211
drvdata->clks[i].id = variant->clk_name[i];
sound/soc/qcom/lpass-sc7280.c
213
ret = devm_clk_bulk_get(dev, drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7280.c
219
ret = clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7280.c
230
struct lpass_data *drvdata = platform_get_drvdata(pdev);
sound/soc/qcom/lpass-sc7280.c
232
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7280.c
238
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-sc7280.c
240
return clk_bulk_prepare_enable(drvdata->num_clks, drvdata->clks);
sound/soc/qcom/lpass-sc7280.c
245
struct lpass_data *drvdata = dev_get_drvdata(dev);
sound/soc/qcom/lpass-sc7280.c
247
clk_bulk_disable_unprepare(drvdata->num_clks, drvdata->clks);
sound/soc/samsung/bells.c
104
struct bells_drvdata *bells = card->drvdata;
sound/soc/samsung/bells.c
141
struct bells_drvdata *bells = card->drvdata;
sound/soc/samsung/bells.c
425
.drvdata = &wm2200_drvdata,
sound/soc/samsung/bells.c
445
.drvdata = &wm5102_drvdata,
sound/soc/samsung/bells.c
465
.drvdata = &wm5110_drvdata,
sound/soc/samsung/bells.c
58
struct bells_drvdata *bells = card->drvdata;
sound/soc/ti/davinci-evm.c
180
struct snd_soc_card_drvdata_davinci *drvdata = NULL;
sound/soc/ti/davinci-evm.c
218
drvdata = devm_kzalloc(&pdev->dev, sizeof(*drvdata), GFP_KERNEL);
sound/soc/ti/davinci-evm.c
219
if (!drvdata) {
sound/soc/ti/davinci-evm.c
224
drvdata->mclk = mclk;
sound/soc/ti/davinci-evm.c
226
ret = of_property_read_u32(np, "ti,codec-clock-rate", &drvdata->sysclk);
sound/soc/ti/davinci-evm.c
229
if (!drvdata->mclk) {
sound/soc/ti/davinci-evm.c
235
drvdata->sysclk = clk_get_rate(drvdata->mclk);
sound/soc/ti/davinci-evm.c
236
} else if (drvdata->mclk) {
sound/soc/ti/davinci-evm.c
237
unsigned int requestd_rate = drvdata->sysclk;
sound/soc/ti/davinci-evm.c
238
clk_set_rate(drvdata->mclk, drvdata->sysclk);
sound/soc/ti/davinci-evm.c
239
drvdata->sysclk = clk_get_rate(drvdata->mclk);
sound/soc/ti/davinci-evm.c
240
if (drvdata->sysclk != requestd_rate)
sound/soc/ti/davinci-evm.c
243
requestd_rate, drvdata->sysclk);
sound/soc/ti/davinci-evm.c
246
snd_soc_card_set_drvdata(&evm_soc_card, drvdata);
sound/soc/ti/davinci-evm.c
33
struct snd_soc_card_drvdata_davinci *drvdata =
sound/soc/ti/davinci-evm.c
36
if (drvdata->mclk)
sound/soc/ti/davinci-evm.c
37
return clk_prepare_enable(drvdata->mclk);
sound/soc/ti/davinci-evm.c
46
struct snd_soc_card_drvdata_davinci *drvdata =
sound/soc/ti/davinci-evm.c
49
clk_disable_unprepare(drvdata->mclk);
sound/soc/ux500/mop500_ab8500.c
107
get_mclk_str(drvdata->mclk_sel));
sound/soc/ux500/mop500_ab8500.c
111
status = clk_set_parent(drvdata->clk_ptr_intclk, clk_ptr);
sound/soc/ux500/mop500_ab8500.c
115
__func__, get_mclk_str(drvdata->mclk_sel), status);
sound/soc/ux500/mop500_ab8500.c
119
__func__, get_mclk_str(drvdata->mclk_sel));
sound/soc/ux500/mop500_ab8500.c
132
struct mop500_ab8500_drvdata *drvdata =
sound/soc/ux500/mop500_ab8500.c
135
ucontrol->value.enumerated.item[0] = drvdata->mclk_sel;
sound/soc/ux500/mop500_ab8500.c
144
struct mop500_ab8500_drvdata *drvdata =
sound/soc/ux500/mop500_ab8500.c
150
if (drvdata->mclk_sel == val)
sound/soc/ux500/mop500_ab8500.c
153
drvdata->mclk_sel = val;
sound/soc/ux500/mop500_ab8500.c
360
struct mop500_ab8500_drvdata *drvdata;
sound/soc/ux500/mop500_ab8500.c
366
drvdata = devm_kzalloc(dev, sizeof(struct mop500_ab8500_drvdata),
sound/soc/ux500/mop500_ab8500.c
369
if (!drvdata)
sound/soc/ux500/mop500_ab8500.c
372
snd_soc_card_set_drvdata(rtd->card, drvdata);
sound/soc/ux500/mop500_ab8500.c
376
drvdata->clk_ptr_sysclk = clk_get(dev, "sysclk");
sound/soc/ux500/mop500_ab8500.c
377
if (IS_ERR(drvdata->clk_ptr_sysclk))
sound/soc/ux500/mop500_ab8500.c
380
drvdata->clk_ptr_ulpclk = clk_get(dev, "ulpclk");
sound/soc/ux500/mop500_ab8500.c
381
if (IS_ERR(drvdata->clk_ptr_ulpclk))
sound/soc/ux500/mop500_ab8500.c
384
drvdata->clk_ptr_intclk = clk_get(dev, "intclk");
sound/soc/ux500/mop500_ab8500.c
385
if (IS_ERR(drvdata->clk_ptr_intclk))
sound/soc/ux500/mop500_ab8500.c
390
drvdata->mclk_sel = MCLK_ULPCLK;
sound/soc/ux500/mop500_ab8500.c
391
ret = mop500_ab8500_set_mclk(dev, drvdata);
sound/soc/ux500/mop500_ab8500.c
396
drvdata->mclk_sel = MCLK_ULPCLK;
sound/soc/ux500/mop500_ab8500.c
430
struct mop500_ab8500_drvdata *drvdata = snd_soc_card_get_drvdata(card);
sound/soc/ux500/mop500_ab8500.c
432
clk_put(drvdata->clk_ptr_sysclk);
sound/soc/ux500/mop500_ab8500.c
433
clk_put(drvdata->clk_ptr_ulpclk);
sound/soc/ux500/mop500_ab8500.c
434
clk_put(drvdata->clk_ptr_intclk);
sound/soc/ux500/mop500_ab8500.c
436
snd_soc_card_set_drvdata(card, drvdata);
sound/soc/ux500/mop500_ab8500.c
83
struct mop500_ab8500_drvdata *drvdata)
sound/soc/ux500/mop500_ab8500.c
88
if (IS_ERR(drvdata->clk_ptr_intclk)) {
sound/soc/ux500/mop500_ab8500.c
94
switch (drvdata->mclk_sel) {
sound/soc/ux500/mop500_ab8500.c
96
clk_ptr = drvdata->clk_ptr_sysclk;
sound/soc/ux500/mop500_ab8500.c
99
clk_ptr = drvdata->clk_ptr_ulpclk;
sound/soc/ux500/ux500_msp_dai.c
110
__func__, drvdata->slots);
sound/soc/ux500/ux500_msp_dai.c
127
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
133
switch (drvdata->slots) {
sound/soc/ux500/ux500_msp_dai.c
152
__func__, drvdata->slots);
sound/soc/ux500/ux500_msp_dai.c
30
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
302
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
305
unsigned int fmt = drvdata->fmt;
sound/soc/ux500/ux500_msp_dai.c
310
msp_config->f_inputclk = drvdata->master_clk;
sound/soc/ux500/ux500_msp_dai.c
34
if (drvdata->slots > 1) {
sound/soc/ux500/ux500_msp_dai.c
384
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
390
ret = regulator_enable(drvdata->reg_vape);
sound/soc/ux500/ux500_msp_dai.c
392
dev_err(drvdata->msp->dev,
sound/soc/ux500/ux500_msp_dai.c
399
ret = clk_prepare_enable(drvdata->pclk);
sound/soc/ux500/ux500_msp_dai.c
401
dev_err(drvdata->msp->dev,
sound/soc/ux500/ux500_msp_dai.c
406
ret = clk_prepare_enable(drvdata->clk);
sound/soc/ux500/ux500_msp_dai.c
408
dev_err(drvdata->msp->dev,
sound/soc/ux500/ux500_msp_dai.c
41
multi->tx_channel_0_enable = drvdata->tx_mask;
sound/soc/ux500/ux500_msp_dai.c
415
clk_disable_unprepare(drvdata->pclk);
sound/soc/ux500/ux500_msp_dai.c
417
regulator_disable(drvdata->reg_vape);
sound/soc/ux500/ux500_msp_dai.c
425
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
431
if (drvdata->vape_opp_constraint == 1) {
sound/soc/ux500/ux500_msp_dai.c
434
drvdata->vape_opp_constraint = 0;
sound/soc/ux500/ux500_msp_dai.c
437
if (ux500_msp_i2s_close(drvdata->msp,
sound/soc/ux500/ux500_msp_dai.c
445
clk_disable_unprepare(drvdata->clk);
sound/soc/ux500/ux500_msp_dai.c
446
clk_disable_unprepare(drvdata->pclk);
sound/soc/ux500/ux500_msp_dai.c
449
ret = regulator_disable(drvdata->reg_vape);
sound/soc/ux500/ux500_msp_dai.c
46
multi->rx_channel_0_enable = drvdata->rx_mask;
sound/soc/ux500/ux500_msp_dai.c
460
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
469
ret = ux500_msp_i2s_open(drvdata->msp, &msp_config);
sound/soc/ux500/ux500_msp_dai.c
477
if ((drvdata->fmt & SND_SOC_DAIFMT_CLOCK_PROVIDER_MASK) &&
sound/soc/ux500/ux500_msp_dai.c
478
(drvdata->msp->f_bitclk > 19200000)) {
sound/soc/ux500/ux500_msp_dai.c
484
drvdata->vape_opp_constraint = 1;
sound/soc/ux500/ux500_msp_dai.c
488
drvdata->vape_opp_constraint = 0;
sound/soc/ux500/ux500_msp_dai.c
500
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
505
switch (drvdata->fmt & SND_SOC_DAIFMT_FORMAT_MASK) {
sound/soc/ux500/ux500_msp_dai.c
515
drvdata->tx_mask :
sound/soc/ux500/ux500_msp_dai.c
516
drvdata->rx_mask;
sound/soc/ux500/ux500_msp_dai.c
529
__func__, drvdata->fmt);
sound/soc/ux500/ux500_msp_dai.c
53
__func__, drvdata->slots, multi->tx_channel_0_enable,
sound/soc/ux500/ux500_msp_dai.c
539
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
556
__func__, drvdata->fmt);
sound/soc/ux500/ux500_msp_dai.c
569
__func__, drvdata->fmt);
sound/soc/ux500/ux500_msp_dai.c
573
drvdata->fmt = fmt;
sound/soc/ux500/ux500_msp_dai.c
582
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
603
drvdata->slots = slots;
sound/soc/ux500/ux500_msp_dai.c
610
drvdata->slot_width = slot_width;
sound/soc/ux500/ux500_msp_dai.c
612
drvdata->tx_mask = tx_mask & cap;
sound/soc/ux500/ux500_msp_dai.c
613
drvdata->rx_mask = rx_mask & cap;
sound/soc/ux500/ux500_msp_dai.c
621
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
628
drvdata->master_clk = freq;
sound/soc/ux500/ux500_msp_dai.c
63
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
644
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
648
(int)drvdata->msp->id, cmd);
sound/soc/ux500/ux500_msp_dai.c
65
switch (drvdata->slots) {
sound/soc/ux500/ux500_msp_dai.c
650
ret = ux500_msp_i2s_trigger(drvdata->msp, cmd, substream->stream);
sound/soc/ux500/ux500_msp_dai.c
657
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(dai->dev);
sound/soc/ux500/ux500_msp_dai.c
673
playback_dma_data->addr = drvdata->msp->tx_rx_addr;
sound/soc/ux500/ux500_msp_dai.c
674
capture_dma_data->addr = drvdata->msp->tx_rx_addr;
sound/soc/ux500/ux500_msp_dai.c
718
struct ux500_msp_i2s_drvdata *drvdata;
sound/soc/ux500/ux500_msp_dai.c
721
drvdata = devm_kzalloc(&pdev->dev,
sound/soc/ux500/ux500_msp_dai.c
724
if (!drvdata)
sound/soc/ux500/ux500_msp_dai.c
727
drvdata->fmt = 0;
sound/soc/ux500/ux500_msp_dai.c
728
drvdata->slots = 1;
sound/soc/ux500/ux500_msp_dai.c
729
drvdata->tx_mask = 0x01;
sound/soc/ux500/ux500_msp_dai.c
730
drvdata->rx_mask = 0x01;
sound/soc/ux500/ux500_msp_dai.c
731
drvdata->slot_width = 16;
sound/soc/ux500/ux500_msp_dai.c
732
drvdata->master_clk = MSP_INPUT_FREQ_APB;
sound/soc/ux500/ux500_msp_dai.c
734
drvdata->reg_vape = devm_regulator_get(&pdev->dev, "v-ape");
sound/soc/ux500/ux500_msp_dai.c
735
if (IS_ERR(drvdata->reg_vape)) {
sound/soc/ux500/ux500_msp_dai.c
736
ret = PTR_ERR(drvdata->reg_vape);
sound/soc/ux500/ux500_msp_dai.c
744
drvdata->pclk = devm_clk_get(&pdev->dev, "apb_pclk");
sound/soc/ux500/ux500_msp_dai.c
745
if (IS_ERR(drvdata->pclk)) {
sound/soc/ux500/ux500_msp_dai.c
746
ret = PTR_ERR(drvdata->pclk);
sound/soc/ux500/ux500_msp_dai.c
753
drvdata->clk = devm_clk_get(&pdev->dev, NULL);
sound/soc/ux500/ux500_msp_dai.c
754
if (IS_ERR(drvdata->clk)) {
sound/soc/ux500/ux500_msp_dai.c
755
ret = PTR_ERR(drvdata->clk);
sound/soc/ux500/ux500_msp_dai.c
762
ret = ux500_msp_i2s_init_msp(pdev, &drvdata->msp);
sound/soc/ux500/ux500_msp_dai.c
763
if (!drvdata->msp) {
sound/soc/ux500/ux500_msp_dai.c
769
dev_set_drvdata(&pdev->dev, drvdata);
sound/soc/ux500/ux500_msp_dai.c
775
__func__, drvdata->msp->id);
sound/soc/ux500/ux500_msp_dai.c
796
struct ux500_msp_i2s_drvdata *drvdata = dev_get_drvdata(&pdev->dev);
sound/soc/ux500/ux500_msp_dai.c
804
ux500_msp_i2s_cleanup_msp(pdev, drvdata->msp);