arch/parisc/include/uapi/asm/pdc.h
702
td : 1; /* TOC did not cause any damage to the system state */
arch/um/drivers/vector_transports.c
101
*((uint32_t *) header) = *((uint32_t *) &td->expected_header);
arch/um/drivers/vector_transports.c
102
if (td->key)
arch/um/drivers/vector_transports.c
103
(*(uint32_t *) (header + td->key_offset)) = td->tx_key;
arch/um/drivers/vector_transports.c
104
if (td->has_sequence) {
arch/um/drivers/vector_transports.c
105
sequence = (uint32_t *)(header + td->sequence_offset);
arch/um/drivers/vector_transports.c
106
if (td->pin_sequence)
arch/um/drivers/vector_transports.c
109
*sequence = cpu_to_be32(++td->sequence);
arch/um/drivers/vector_transports.c
133
struct uml_l2tpv3_data *td = vp->transport_data;
arch/um/drivers/vector_transports.c
137
if ((!td->udp) && (!td->ipv6))
arch/um/drivers/vector_transports.c
145
if (td->cookie) {
arch/um/drivers/vector_transports.c
146
if (td->cookie_is_64)
arch/um/drivers/vector_transports.c
147
cookie = *(uint64_t *)(header + td->cookie_offset);
arch/um/drivers/vector_transports.c
149
cookie = *(uint32_t *)(header + td->cookie_offset);
arch/um/drivers/vector_transports.c
150
if (cookie != td->rx_cookie) {
arch/um/drivers/vector_transports.c
156
session = (uint32_t *) (header + td->session_offset);
arch/um/drivers/vector_transports.c
157
if (*session != td->rx_session) {
arch/um/drivers/vector_transports.c
170
struct uml_gre_data *td = vp->transport_data;
arch/um/drivers/vector_transports.c
172
if (!td->ipv6)
arch/um/drivers/vector_transports.c
175
if (*((uint32_t *) header) != *((uint32_t *) &td->expected_header)) {
arch/um/drivers/vector_transports.c
178
*((uint32_t *) &td->expected_header),
arch/um/drivers/vector_transports.c
184
if (td->key) {
arch/um/drivers/vector_transports.c
185
key = (*(uint32_t *)(header + td->key_offset));
arch/um/drivers/vector_transports.c
186
if (key != td->rx_key) {
arch/um/drivers/vector_transports.c
189
key, td->rx_key);
arch/um/drivers/vector_transports.c
243
struct uml_gre_data *td;
arch/um/drivers/vector_transports.c
251
td = vp->transport_data;
arch/um/drivers/vector_transports.c
252
td->sequence = 0;
arch/um/drivers/vector_transports.c
254
td->expected_header.arptype = GRE_IRB;
arch/um/drivers/vector_transports.c
255
td->expected_header.header = 0;
arch/um/drivers/vector_transports.c
260
td->key_offset = 4;
arch/um/drivers/vector_transports.c
261
td->sequence_offset = 4;
arch/um/drivers/vector_transports.c
262
td->checksum_offset = 4;
arch/um/drivers/vector_transports.c
264
td->ipv6 = false;
arch/um/drivers/vector_transports.c
267
td->ipv6 = true;
arch/um/drivers/vector_transports.c
269
td->key = false;
arch/um/drivers/vector_transports.c
272
td->key = true;
arch/um/drivers/vector_transports.c
273
td->expected_header.header |= GRE_MODE_KEY;
arch/um/drivers/vector_transports.c
274
td->rx_key = cpu_to_be32(temp_rx);
arch/um/drivers/vector_transports.c
275
td->tx_key = cpu_to_be32(temp_tx);
arch/um/drivers/vector_transports.c
277
td->sequence_offset += 4;
arch/um/drivers/vector_transports.c
283
td->sequence = false;
arch/um/drivers/vector_transports.c
287
td->has_sequence = true;
arch/um/drivers/vector_transports.c
288
td->expected_header.header |= GRE_MODE_SEQUENCE;
arch/um/drivers/vector_transports.c
292
td->pin_sequence = true;
arch/um/drivers/vector_transports.c
297
if (!td->ipv6)
arch/um/drivers/vector_transports.c
305
struct uml_l2tpv3_data *td;
arch/um/drivers/vector_transports.c
315
td = vp->transport_data;
arch/um/drivers/vector_transports.c
319
td->counter = 0;
arch/um/drivers/vector_transports.c
322
td->session_offset = 0;
arch/um/drivers/vector_transports.c
323
td->cookie_offset = 4;
arch/um/drivers/vector_transports.c
324
td->counter_offset = 4;
arch/um/drivers/vector_transports.c
327
td->ipv6 = false;
arch/um/drivers/vector_transports.c
330
td->ipv6 = true;
arch/um/drivers/vector_transports.c
335
td->tx_session = cpu_to_be32(temp_txs);
arch/um/drivers/vector_transports.c
336
td->rx_session = cpu_to_be32(temp_rxs);
arch/um/drivers/vector_transports.c
344
td->cookie_is_64 = false;
arch/um/drivers/vector_transports.c
347
td->cookie_is_64 = true;
arch/um/drivers/vector_transports.c
349
td->cookie = false;
arch/um/drivers/vector_transports.c
352
td->cookie = true;
arch/um/drivers/vector_transports.c
353
if (td->cookie_is_64) {
arch/um/drivers/vector_transports.c
354
td->rx_cookie = cpu_to_be64(temp_rx);
arch/um/drivers/vector_transports.c
355
td->tx_cookie = cpu_to_be64(temp_tx);
arch/um/drivers/vector_transports.c
357
td->counter_offset += 8;
arch/um/drivers/vector_transports.c
359
td->rx_cookie = cpu_to_be32(temp_rx);
arch/um/drivers/vector_transports.c
360
td->tx_cookie = cpu_to_be32(temp_tx);
arch/um/drivers/vector_transports.c
362
td->counter_offset += 4;
arch/um/drivers/vector_transports.c
369
td->has_counter = false;
arch/um/drivers/vector_transports.c
372
td->has_counter = true;
arch/um/drivers/vector_transports.c
377
td->pin_counter = true;
arch/um/drivers/vector_transports.c
384
td->udp = true;
arch/um/drivers/vector_transports.c
386
td->counter_offset += 4;
arch/um/drivers/vector_transports.c
387
td->session_offset += 4;
arch/um/drivers/vector_transports.c
388
td->cookie_offset += 4;
arch/um/drivers/vector_transports.c
393
if ((!td->ipv6) && (!td->udp))
arch/um/drivers/vector_transports.c
69
struct uml_l2tpv3_data *td = vp->transport_data;
arch/um/drivers/vector_transports.c
72
if (td->udp)
arch/um/drivers/vector_transports.c
74
(*(uint32_t *) (header + td->session_offset)) = td->tx_session;
arch/um/drivers/vector_transports.c
76
if (td->cookie) {
arch/um/drivers/vector_transports.c
77
if (td->cookie_is_64)
arch/um/drivers/vector_transports.c
78
(*(uint64_t *)(header + td->cookie_offset)) =
arch/um/drivers/vector_transports.c
79
td->tx_cookie;
arch/um/drivers/vector_transports.c
81
(*(uint32_t *)(header + td->cookie_offset)) =
arch/um/drivers/vector_transports.c
82
td->tx_cookie;
arch/um/drivers/vector_transports.c
84
if (td->has_counter) {
arch/um/drivers/vector_transports.c
85
counter = (uint32_t *)(header + td->counter_offset);
arch/um/drivers/vector_transports.c
86
if (td->pin_counter) {
arch/um/drivers/vector_transports.c
89
td->counter++;
arch/um/drivers/vector_transports.c
90
*counter = cpu_to_be32(td->counter);
arch/um/drivers/vector_transports.c
99
struct uml_gre_data *td = vp->transport_data;
arch/um/include/shared/os.h
233
void os_kill_helper_thread(struct os_helper_thread *td);
arch/um/os-Linux/helper.c
183
struct os_helper_thread *td;
arch/um/os-Linux/helper.c
188
td = uml_kmalloc(sizeof(*td), flags);
arch/um/os-Linux/helper.c
189
if (!td)
arch/um/os-Linux/helper.c
195
kfree(td);
arch/um/os-Linux/helper.c
199
err = pthread_create(&td->handle, NULL, routine, arg);
arch/um/os-Linux/helper.c
205
kfree(td);
arch/um/os-Linux/helper.c
207
*td_out = td;
arch/um/os-Linux/helper.c
212
void os_kill_helper_thread(struct os_helper_thread *td)
arch/um/os-Linux/helper.c
214
pthread_cancel(td->handle);
arch/um/os-Linux/helper.c
215
pthread_join(td->handle, NULL);
arch/um/os-Linux/helper.c
216
kfree(td);
arch/x86/include/asm/tdx.h
199
u64 tdh_mng_addcx(struct tdx_td *td, struct page *tdcs_page);
arch/x86/include/asm/tdx.h
200
u64 tdh_mem_page_add(struct tdx_td *td, u64 gpa, struct page *page, struct page *source, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
201
u64 tdh_mem_sept_add(struct tdx_td *td, u64 gpa, int level, struct page *page, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
203
u64 tdh_mem_page_aug(struct tdx_td *td, u64 gpa, int level, struct page *page, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
204
u64 tdh_mem_range_block(struct tdx_td *td, u64 gpa, int level, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
205
u64 tdh_mng_key_config(struct tdx_td *td);
arch/x86/include/asm/tdx.h
206
u64 tdh_mng_create(struct tdx_td *td, u16 hkid);
arch/x86/include/asm/tdx.h
207
u64 tdh_vp_create(struct tdx_td *td, struct tdx_vp *vp);
arch/x86/include/asm/tdx.h
208
u64 tdh_mng_rd(struct tdx_td *td, u64 field, u64 *data);
arch/x86/include/asm/tdx.h
209
u64 tdh_mr_extend(struct tdx_td *td, u64 gpa, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
210
u64 tdh_mr_finalize(struct tdx_td *td);
arch/x86/include/asm/tdx.h
212
u64 tdh_mng_vpflushdone(struct tdx_td *td);
arch/x86/include/asm/tdx.h
213
u64 tdh_mng_key_freeid(struct tdx_td *td);
arch/x86/include/asm/tdx.h
214
u64 tdh_mng_init(struct tdx_td *td, u64 td_params, u64 *extended_err);
arch/x86/include/asm/tdx.h
220
u64 tdh_mem_page_remove(struct tdx_td *td, u64 gpa, u64 level, u64 *ext_err1, u64 *ext_err2);
arch/x86/include/asm/tdx.h
222
u64 tdh_phymem_page_wbinvd_tdr(struct tdx_td *td);
arch/x86/kvm/vmx/tdx.c
1637
err = tdh_mem_page_add(&kvm_tdx->td, gpa, pfn_to_page(pfn),
arch/x86/kvm/vmx/tdx.c
1658
err = tdh_mem_page_aug(&kvm_tdx->td, gpa, tdx_level, page, &entry, &level_state);
arch/x86/kvm/vmx/tdx.c
1707
err = tdh_mem_sept_add(&to_kvm_tdx(kvm)->td, gpa, tdx_level, page, &entry,
arch/x86/kvm/vmx/tdx.c
1758
err = tdh_do_no_vcpus(tdh_mem_track, kvm, &kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
1810
err = tdh_do_no_vcpus(tdh_mem_range_block, kvm, &kvm_tdx->td, gpa,
arch/x86/kvm/vmx/tdx.c
1826
err = tdh_do_no_vcpus(tdh_mem_page_remove, kvm, &kvm_tdx->td, gpa,
arch/x86/kvm/vmx/tdx.c
2406
kvm_tdx->td.tdcs_nr_pages = tdx_sysinfo->td_ctrl.tdcs_base_size / PAGE_SIZE;
arch/x86/kvm/vmx/tdx.c
2408
kvm_tdx->td.tdcx_nr_pages = tdx_sysinfo->td_ctrl.tdvps_base_size / PAGE_SIZE - 1;
arch/x86/kvm/vmx/tdx.c
2409
tdcs_pages = kzalloc_objs(*kvm_tdx->td.tdcs_pages,
arch/x86/kvm/vmx/tdx.c
2410
kvm_tdx->td.tdcs_nr_pages);
arch/x86/kvm/vmx/tdx.c
2414
for (i = 0; i < kvm_tdx->td.tdcs_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2450
kvm_tdx->td.tdr_page = tdr_page;
arch/x86/kvm/vmx/tdx.c
2451
err = tdh_mng_create(&kvm_tdx->td, kvm_tdx->hkid);
arch/x86/kvm/vmx/tdx.c
2492
kvm_tdx->td.tdcs_pages = tdcs_pages;
arch/x86/kvm/vmx/tdx.c
2493
for (i = 0; i < kvm_tdx->td.tdcs_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2494
err = tdh_mng_addcx(&kvm_tdx->td, tdcs_pages[i]);
arch/x86/kvm/vmx/tdx.c
2506
err = tdh_mng_init(&kvm_tdx->td, __pa(td_params), &rcx);
arch/x86/kvm/vmx/tdx.c
2532
for (; i < kvm_tdx->td.tdcs_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2538
if (!kvm_tdx->td.tdcs_pages)
arch/x86/kvm/vmx/tdx.c
2551
for (i = 0; i < kvm_tdx->td.tdcs_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2556
kvm_tdx->td.tdcs_pages = NULL;
arch/x86/kvm/vmx/tdx.c
2561
kvm_tdx->td.tdr_page = NULL;
arch/x86/kvm/vmx/tdx.c
2574
err = tdh_mng_rd(&tdx->td, field_id, data);
arch/x86/kvm/vmx/tdx.c
2820
cmd->hw_error = tdh_mr_finalize(&kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
2902
tdx->vp.tdcx_pages = kcalloc(kvm_tdx->td.tdcx_nr_pages, sizeof(*tdx->vp.tdcx_pages),
arch/x86/kvm/vmx/tdx.c
2909
for (i = 0; i < kvm_tdx->td.tdcx_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2918
err = tdh_vp_create(&kvm_tdx->td, &tdx->vp);
arch/x86/kvm/vmx/tdx.c
2924
for (i = 0; i < kvm_tdx->td.tdcx_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2931
for (; i < kvm_tdx->td.tdcx_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
2959
for (i = 0; i < kvm_tdx->td.tdcx_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
3149
err = tdh_mr_extend(&kvm_tdx->td, gpa + i, &entry, &level_state);
arch/x86/kvm/vmx/tdx.c
524
err = tdh_mng_vpflushdone(&kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
549
err = tdh_mng_key_freeid(&kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
578
if (kvm_tdx->td.tdcs_pages) {
arch/x86/kvm/vmx/tdx.c
579
for (i = 0; i < kvm_tdx->td.tdcs_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.c
580
if (!kvm_tdx->td.tdcs_pages[i])
arch/x86/kvm/vmx/tdx.c
583
tdx_reclaim_control_page(kvm_tdx->td.tdcs_pages[i]);
arch/x86/kvm/vmx/tdx.c
585
kfree(kvm_tdx->td.tdcs_pages);
arch/x86/kvm/vmx/tdx.c
586
kvm_tdx->td.tdcs_pages = NULL;
arch/x86/kvm/vmx/tdx.c
589
if (!kvm_tdx->td.tdr_page)
arch/x86/kvm/vmx/tdx.c
592
if (__tdx_reclaim_page(kvm_tdx->td.tdr_page))
arch/x86/kvm/vmx/tdx.c
600
err = tdh_phymem_page_wbinvd_tdr(&kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
604
tdx_quirk_reset_page(kvm_tdx->td.tdr_page);
arch/x86/kvm/vmx/tdx.c
606
__free_page(kvm_tdx->td.tdr_page);
arch/x86/kvm/vmx/tdx.c
607
kvm_tdx->td.tdr_page = NULL;
arch/x86/kvm/vmx/tdx.c
625
err = tdh_mng_key_config(&kvm_tdx->td);
arch/x86/kvm/vmx/tdx.c
892
for (i = 0; i < kvm_tdx->td.tdcx_nr_pages; i++) {
arch/x86/kvm/vmx/tdx.h
37
struct tdx_td td;
arch/x86/kvm/vmx/tdx.h
87
err = tdh_mng_rd(&kvm_tdx->td, TDCS_EXEC(field), &data);
arch/x86/virt/vmx/tdx/tdx.c
1503
static inline u64 tdx_tdr_pa(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1505
return page_to_phys(td->tdr_page);
arch/x86/virt/vmx/tdx/tdx.c
1519
noinstr u64 tdh_vp_enter(struct tdx_vp *td, struct tdx_module_args *args)
arch/x86/virt/vmx/tdx/tdx.c
1521
args->rcx = td->tdvpr_pa;
arch/x86/virt/vmx/tdx/tdx.c
1527
u64 tdh_mng_addcx(struct tdx_td *td, struct page *tdcs_page)
arch/x86/virt/vmx/tdx/tdx.c
1531
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1539
u64 tdh_mem_page_add(struct tdx_td *td, u64 gpa, struct page *page, struct page *source, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1543
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1559
u64 tdh_mem_sept_add(struct tdx_td *td, u64 gpa, int level, struct page *page, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1563
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1590
u64 tdh_mem_page_aug(struct tdx_td *td, u64 gpa, int level, struct page *page, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1594
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1609
u64 tdh_mem_range_block(struct tdx_td *td, u64 gpa, int level, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1613
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1626
u64 tdh_mng_key_config(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1629
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1636
u64 tdh_mng_create(struct tdx_td *td, u16 hkid)
arch/x86/virt/vmx/tdx/tdx.c
1639
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1643
tdx_clflush_page(td->tdr_page);
arch/x86/virt/vmx/tdx/tdx.c
1648
u64 tdh_vp_create(struct tdx_td *td, struct tdx_vp *vp)
arch/x86/virt/vmx/tdx/tdx.c
1652
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1660
u64 tdh_mng_rd(struct tdx_td *td, u64 field, u64 *data)
arch/x86/virt/vmx/tdx/tdx.c
1663
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1677
u64 tdh_mr_extend(struct tdx_td *td, u64 gpa, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1681
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1694
u64 tdh_mr_finalize(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1697
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1714
u64 tdh_mng_vpflushdone(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1717
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1724
u64 tdh_mng_key_freeid(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1727
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1734
u64 tdh_mng_init(struct tdx_td *td, u64 td_params, u64 *extended_err)
arch/x86/virt/vmx/tdx/tdx.c
1737
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1815
u64 tdh_mem_track(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1818
.rcx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1825
u64 tdh_mem_page_remove(struct tdx_td *td, u64 gpa, u64 level, u64 *ext_err1, u64 *ext_err2)
arch/x86/virt/vmx/tdx/tdx.c
1829
.rdx = tdx_tdr_pa(td),
arch/x86/virt/vmx/tdx/tdx.c
1852
u64 tdh_phymem_page_wbinvd_tdr(struct tdx_td *td)
arch/x86/virt/vmx/tdx/tdx.c
1856
args.rcx = mk_keyed_paddr(tdx_global_keyid, td->tdr_page);
block/blk-throttle.c
1028
BUG_ON(tg->td->nr_queued[rw] <= 0);
block/blk-throttle.c
1029
tg->td->nr_queued[rw]--;
block/blk-throttle.c
1124
struct throtl_data *td = sq_to_td(sq);
block/blk-throttle.c
1134
q = td->queue;
block/blk-throttle.c
1184
queue_work(kthrotld_workqueue, &td->dispatch_work);
block/blk-throttle.c
1200
struct throtl_data *td = container_of(work, struct throtl_data,
block/blk-throttle.c
1202
struct throtl_service_queue *td_sq = &td->service_queue;
block/blk-throttle.c
1203
struct request_queue *q = td->queue;
block/blk-throttle.c
1281
global ? tg->td->queue->root_blkg : tg_to_blkg(tg)) {
block/blk-throttle.c
1312
struct throtl_data *td;
block/blk-throttle.c
1316
td = kzalloc_node(sizeof(*td), GFP_KERNEL, q->node);
block/blk-throttle.c
1317
if (!td)
block/blk-throttle.c
1320
INIT_WORK(&td->dispatch_work, blk_throtl_dispatch_work_fn);
block/blk-throttle.c
1321
throtl_service_queue_init(&td->service_queue);
block/blk-throttle.c
1326
q->td = td;
block/blk-throttle.c
1327
td->queue = q;
block/blk-throttle.c
1332
q->td = NULL;
block/blk-throttle.c
1333
kfree(td);
block/blk-throttle.c
1619
struct throtl_data *td = q->td;
block/blk-throttle.c
1621
cancel_work_sync(&td->dispatch_work);
block/blk-throttle.c
1739
struct throtl_data *td = tg->td;
block/blk-throttle.c
1800
td->nr_queued[rw]++;
block/blk-throttle.c
1832
if (!q->td)
block/blk-throttle.c
1835
timer_delete_sync(&q->td->service_queue.pending_timer);
block/blk-throttle.c
1837
kfree(q->td);
block/blk-throttle.c
303
struct throtl_data *td = blkg->q->td;
block/blk-throttle.c
320
sq->parent_sq = &td->service_queue;
block/blk-throttle.c
323
tg->td = td;
block/blk-throttle.c
79
return tg->td;
block/blk-throttle.h
165
return q->td != NULL && blkcg_policy_enabled(q, &blkcg_policy_throtl);
block/blk-throttle.h
77
struct throtl_data *td;
drivers/ata/pata_mpc52xx.c
100
{ .t0M = 20, .td = 11, .th = 2, .tj = 1, .tkw = 7, .tm = 4, .tn = 1 },
drivers/ata/pata_mpc52xx.c
101
{ .t0M = 16, .td = 10, .th = 2, .tj = 1, .tkw = 4, .tm = 4, .tn = 1 },
drivers/ata/pata_mpc52xx.c
304
t->mdma1 = ((u32)s->t0M << 24) | ((u32)s->td << 16) | ((u32)s->tkw << 8) | s->tm;
drivers/ata/pata_mpc52xx.c
84
u8 td;
drivers/ata/pata_mpc52xx.c
93
{ .t0M = 32, .td = 15, .th = 2, .tj = 2, .tkw = 15, .tm = 4, .tn = 1 },
drivers/ata/pata_mpc52xx.c
94
{ .t0M = 10, .td = 6, .th = 1, .tj = 1, .tkw = 4, .tm = 2, .tn = 1 },
drivers/ata/pata_mpc52xx.c
95
{ .t0M = 8, .td = 5, .th = 1, .tj = 1, .tkw = 2, .tm = 2, .tn = 1 },
drivers/ata/pata_mpc52xx.c
99
{ .t0M = 64, .td = 29, .th = 3, .tj = 3, .tkw = 29, .tm = 7, .tn = 2 },
drivers/block/drbd/drbd_debugfs.c
503
struct drbd_thread_timing_details td;
drivers/block/drbd/drbd_debugfs.c
507
td = *tdp;
drivers/block/drbd/drbd_debugfs.c
508
} while (td.cb_nr != tdp->cb_nr);
drivers/block/drbd/drbd_debugfs.c
509
if (!td.cb_addr)
drivers/block/drbd/drbd_debugfs.c
512
td.cb_nr,
drivers/block/drbd/drbd_debugfs.c
513
jiffies_to_msecs(now - td.start_jif),
drivers/block/drbd/drbd_debugfs.c
514
td.caller_fn, td.line,
drivers/block/drbd/drbd_debugfs.c
515
td.cb_addr);
drivers/block/drbd/drbd_worker.c
1989
struct drbd_thread_timing_details *td = tdp + i;
drivers/block/drbd/drbd_worker.c
1991
td->start_jif = jiffies;
drivers/block/drbd/drbd_worker.c
1992
td->cb_addr = cb;
drivers/block/drbd/drbd_worker.c
1993
td->caller_fn = fn;
drivers/block/drbd/drbd_worker.c
1994
td->line = line;
drivers/block/drbd/drbd_worker.c
1995
td->cb_nr = *cb_nr;
drivers/block/drbd/drbd_worker.c
1998
td = tdp + i;
drivers/block/drbd/drbd_worker.c
1999
memset(td, 0, sizeof(*td));
drivers/char/agp/isoch.c
119
pci_read_config_dword(td, bridge->capndx+AGPNISTAT, &tnistat);
drivers/char/agp/isoch.c
120
pci_read_config_dword(td, bridge->capndx+AGPSTAT, &tstatus);
drivers/char/agp/isoch.c
155
dev_err(&td->dev, "isochronous bandwidth required "
drivers/char/agp/isoch.c
170
pci_read_config_word(td, bridge->capndx+AGPNICMD, &tnicmd);
drivers/char/agp/isoch.c
173
pci_write_config_word(td, bridge->capndx+AGPNICMD, tnicmd);
drivers/char/agp/isoch.c
176
pci_read_config_dword(td, bridge->capndx+AGPNISTAT, &tnistat);
drivers/char/agp/isoch.c
190
dev_err(&td->dev, "number of isochronous "
drivers/char/agp/isoch.c
231
dev_err(&td->dev, "number of request queue slots "
drivers/char/agp/isoch.c
315
struct pci_dev *td = bridge->dev, *dev = NULL;
drivers/char/agp/isoch.c
327
pci_read_config_dword(td, bridge->capndx+AGPSTAT, &tstatus);
drivers/char/agp/isoch.c
357
dev_info(&td->dev, "wacky, found unclassified AGP device %s [%04x/%04x]\n",
drivers/char/agp/isoch.c
406
dev_err(&td->dev, "woah! Non-AGP device %s on "
drivers/char/agp/isoch.c
415
dev_err(&td->dev, "woah! AGP 2.0 device %s on "
drivers/char/agp/isoch.c
427
dev_err(&td->dev, "woah! AGP 3.x device %s not "
drivers/char/agp/isoch.c
444
dev_info(&td->dev, "something bad happened setting "
drivers/char/agp/isoch.c
80
struct pci_dev *td = bridge->dev, *dev;
drivers/clk/tegra/clk-dfll.c
1001
val = dfll_readl(td, DFLL_FREQ_REQ);
drivers/clk/tegra/clk-dfll.c
1004
dfll_writel(td, val, DFLL_FREQ_REQ);
drivers/clk/tegra/clk-dfll.c
1005
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
1016
static int dfll_lock(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1018
struct dfll_rate_req *req = &td->last_req;
drivers/clk/tegra/clk-dfll.c
1020
switch (td->mode) {
drivers/clk/tegra/clk-dfll.c
1026
dev_err(td->dev, "%s: Cannot lock DFLL at rate 0\n",
drivers/clk/tegra/clk-dfll.c
1031
if (td->pmu_if == TEGRA_DFLL_PMU_PWM)
drivers/clk/tegra/clk-dfll.c
1032
dfll_pwm_set_output_enabled(td, true);
drivers/clk/tegra/clk-dfll.c
1034
dfll_i2c_set_output_enabled(td, true);
drivers/clk/tegra/clk-dfll.c
1036
dfll_set_mode(td, DFLL_CLOSED_LOOP);
drivers/clk/tegra/clk-dfll.c
1037
dfll_set_frequency_request(td, req);
drivers/clk/tegra/clk-dfll.c
1038
dfll_set_force_output_enabled(td, false);
drivers/clk/tegra/clk-dfll.c
1042
BUG_ON(td->mode > DFLL_CLOSED_LOOP);
drivers/clk/tegra/clk-dfll.c
1043
dev_err(td->dev, "%s: Cannot lock DFLL in %s mode\n",
drivers/clk/tegra/clk-dfll.c
1044
__func__, mode_name[td->mode]);
drivers/clk/tegra/clk-dfll.c
1056
static int dfll_unlock(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1058
switch (td->mode) {
drivers/clk/tegra/clk-dfll.c
1060
dfll_set_open_loop_config(td);
drivers/clk/tegra/clk-dfll.c
1061
dfll_set_mode(td, DFLL_OPEN_LOOP);
drivers/clk/tegra/clk-dfll.c
1062
if (td->pmu_if == TEGRA_DFLL_PMU_PWM)
drivers/clk/tegra/clk-dfll.c
1063
dfll_pwm_set_output_enabled(td, false);
drivers/clk/tegra/clk-dfll.c
1065
dfll_i2c_set_output_enabled(td, false);
drivers/clk/tegra/clk-dfll.c
1072
BUG_ON(td->mode > DFLL_CLOSED_LOOP);
drivers/clk/tegra/clk-dfll.c
1073
dev_err(td->dev, "%s: Cannot unlock DFLL in %s mode\n",
drivers/clk/tegra/clk-dfll.c
1074
__func__, mode_name[td->mode]);
drivers/clk/tegra/clk-dfll.c
1090
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1092
return dfll_is_running(td);
drivers/clk/tegra/clk-dfll.c
1097
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1100
ret = dfll_enable(td);
drivers/clk/tegra/clk-dfll.c
1104
ret = dfll_lock(td);
drivers/clk/tegra/clk-dfll.c
1106
dfll_disable(td);
drivers/clk/tegra/clk-dfll.c
1113
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1116
ret = dfll_unlock(td);
drivers/clk/tegra/clk-dfll.c
1118
dfll_disable(td);
drivers/clk/tegra/clk-dfll.c
1124
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1126
return td->last_unrounded_rate;
drivers/clk/tegra/clk-dfll.c
1133
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1137
ret = dfll_calculate_rate_request(td, &req, clk_req->rate);
drivers/clk/tegra/clk-dfll.c
1153
struct tegra_dfll *td = clk_hw_to_dfll(hw);
drivers/clk/tegra/clk-dfll.c
1155
return dfll_request_rate(td, rate);
drivers/clk/tegra/clk-dfll.c
1180
static int dfll_register_clk(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1184
dfll_clk_init_data.name = td->output_clock_name;
drivers/clk/tegra/clk-dfll.c
1185
td->dfll_clk_hw.init = &dfll_clk_init_data;
drivers/clk/tegra/clk-dfll.c
1187
td->dfll_clk = clk_register(td->dev, &td->dfll_clk_hw);
drivers/clk/tegra/clk-dfll.c
1188
if (IS_ERR(td->dfll_clk)) {
drivers/clk/tegra/clk-dfll.c
1189
dev_err(td->dev, "DFLL clock registration error\n");
drivers/clk/tegra/clk-dfll.c
1193
ret = of_clk_add_provider(td->dev->of_node, of_clk_src_simple_get,
drivers/clk/tegra/clk-dfll.c
1194
td->dfll_clk);
drivers/clk/tegra/clk-dfll.c
1196
dev_err(td->dev, "of_clk_add_provider() failed\n");
drivers/clk/tegra/clk-dfll.c
1198
clk_unregister(td->dfll_clk);
drivers/clk/tegra/clk-dfll.c
1212
static void dfll_unregister_clk(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1214
of_clk_del_provider(td->dev->of_node);
drivers/clk/tegra/clk-dfll.c
1215
clk_unregister(td->dfll_clk);
drivers/clk/tegra/clk-dfll.c
1216
td->dfll_clk = NULL;
drivers/clk/tegra/clk-dfll.c
1255
static u64 dfll_read_monitor_rate(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1260
if (!dfll_is_running(td))
drivers/clk/tegra/clk-dfll.c
1263
v = dfll_readl(td, DFLL_MONITOR_DATA);
drivers/clk/tegra/clk-dfll.c
1265
pre_scaler_rate = dfll_calc_monitored_rate(v, td->ref_rate);
drivers/clk/tegra/clk-dfll.c
1267
s = dfll_readl(td, DFLL_FREQ_REQ);
drivers/clk/tegra/clk-dfll.c
1276
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1278
*val = dfll_is_running(td);
drivers/clk/tegra/clk-dfll.c
1284
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1286
return val ? dfll_enable(td) : dfll_disable(td);
drivers/clk/tegra/clk-dfll.c
1293
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1295
*val = (td->mode == DFLL_CLOSED_LOOP);
drivers/clk/tegra/clk-dfll.c
1301
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1303
return val ? dfll_lock(td) : dfll_unlock(td);
drivers/clk/tegra/clk-dfll.c
1309
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1311
*val = dfll_read_monitor_rate(td);
drivers/clk/tegra/clk-dfll.c
1318
struct tegra_dfll *td = data;
drivers/clk/tegra/clk-dfll.c
1320
return dfll_request_rate(td, val);
drivers/clk/tegra/clk-dfll.c
1327
struct tegra_dfll *td = s->private;
drivers/clk/tegra/clk-dfll.c
1332
val = dfll_i2c_readl(td, offs);
drivers/clk/tegra/clk-dfll.c
1334
val = dfll_readl(td, offs);
drivers/clk/tegra/clk-dfll.c
1341
dfll_i2c_readl(td, offs));
drivers/clk/tegra/clk-dfll.c
1344
dfll_i2c_readl(td, offs));
drivers/clk/tegra/clk-dfll.c
1346
if (td->pmu_if == TEGRA_DFLL_PMU_I2C) {
drivers/clk/tegra/clk-dfll.c
1350
__raw_readl(td->i2c_controller_base + offs));
drivers/clk/tegra/clk-dfll.c
1355
__raw_readl(td->lut_base + offs));
drivers/clk/tegra/clk-dfll.c
1363
static void dfll_debug_init(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1367
if (!td || (td->mode == DFLL_UNINITIALIZED))
drivers/clk/tegra/clk-dfll.c
1371
td->debugfs_dir = root;
drivers/clk/tegra/clk-dfll.c
1373
debugfs_create_file_unsafe("enable", 0644, root, td,
drivers/clk/tegra/clk-dfll.c
1375
debugfs_create_file_unsafe("lock", 0444, root, td, &lock_fops);
drivers/clk/tegra/clk-dfll.c
1376
debugfs_create_file_unsafe("rate", 0444, root, td, &rate_fops);
drivers/clk/tegra/clk-dfll.c
1377
debugfs_create_file("registers", 0444, root, td, &attr_registers_fops);
drivers/clk/tegra/clk-dfll.c
1381
static inline void dfll_debug_init(struct tegra_dfll *td) { }
drivers/clk/tegra/clk-dfll.c
1396
static void dfll_set_default_params(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1400
val = DIV_ROUND_UP(td->ref_rate, td->sample_rate * 32);
drivers/clk/tegra/clk-dfll.c
1402
dfll_writel(td, val, DFLL_CONFIG);
drivers/clk/tegra/clk-dfll.c
1404
val = (td->force_mode << DFLL_PARAMS_FORCE_MODE_SHIFT) |
drivers/clk/tegra/clk-dfll.c
1405
(td->cf << DFLL_PARAMS_CF_PARAM_SHIFT) |
drivers/clk/tegra/clk-dfll.c
1406
(td->ci << DFLL_PARAMS_CI_PARAM_SHIFT) |
drivers/clk/tegra/clk-dfll.c
1407
(td->cg << DFLL_PARAMS_CG_PARAM_SHIFT) |
drivers/clk/tegra/clk-dfll.c
1408
(td->cg_scale ? DFLL_PARAMS_CG_SCALE : 0);
drivers/clk/tegra/clk-dfll.c
1409
dfll_writel(td, val, DFLL_PARAMS);
drivers/clk/tegra/clk-dfll.c
1411
dfll_tune_low(td);
drivers/clk/tegra/clk-dfll.c
1412
dfll_writel(td, td->droop_ctrl, DFLL_DROOP_CTRL);
drivers/clk/tegra/clk-dfll.c
1413
dfll_writel(td, DFLL_MONITOR_CTRL_FREQ, DFLL_MONITOR_CTRL);
drivers/clk/tegra/clk-dfll.c
1424
static int dfll_init_clks(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1426
td->ref_clk = devm_clk_get(td->dev, "ref");
drivers/clk/tegra/clk-dfll.c
1427
if (IS_ERR(td->ref_clk)) {
drivers/clk/tegra/clk-dfll.c
1428
dev_err(td->dev, "missing ref clock\n");
drivers/clk/tegra/clk-dfll.c
1429
return PTR_ERR(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
1432
td->soc_clk = devm_clk_get(td->dev, "soc");
drivers/clk/tegra/clk-dfll.c
1433
if (IS_ERR(td->soc_clk)) {
drivers/clk/tegra/clk-dfll.c
1434
dev_err(td->dev, "missing soc clock\n");
drivers/clk/tegra/clk-dfll.c
1435
return PTR_ERR(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
1438
td->i2c_clk = devm_clk_get(td->dev, "i2c");
drivers/clk/tegra/clk-dfll.c
1439
if (IS_ERR(td->i2c_clk)) {
drivers/clk/tegra/clk-dfll.c
1440
dev_err(td->dev, "missing i2c clock\n");
drivers/clk/tegra/clk-dfll.c
1441
return PTR_ERR(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
1443
td->i2c_clk_rate = clk_get_rate(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
1457
static int dfll_init(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1461
td->ref_rate = clk_get_rate(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
1462
if (td->ref_rate != REF_CLOCK_RATE) {
drivers/clk/tegra/clk-dfll.c
1463
dev_err(td->dev, "unexpected ref clk rate %lu, expecting %lu",
drivers/clk/tegra/clk-dfll.c
1464
td->ref_rate, REF_CLOCK_RATE);
drivers/clk/tegra/clk-dfll.c
1468
reset_control_deassert(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
1469
reset_control_deassert(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
1471
ret = clk_prepare(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
1473
dev_err(td->dev, "failed to prepare ref_clk\n");
drivers/clk/tegra/clk-dfll.c
1477
ret = clk_prepare(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
1479
dev_err(td->dev, "failed to prepare soc_clk\n");
drivers/clk/tegra/clk-dfll.c
1483
ret = clk_prepare(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
1485
dev_err(td->dev, "failed to prepare i2c_clk\n");
drivers/clk/tegra/clk-dfll.c
1489
td->last_unrounded_rate = 0;
drivers/clk/tegra/clk-dfll.c
1491
pm_runtime_enable(td->dev);
drivers/clk/tegra/clk-dfll.c
1492
pm_runtime_get_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
1494
dfll_set_mode(td, DFLL_DISABLED);
drivers/clk/tegra/clk-dfll.c
1495
dfll_set_default_params(td);
drivers/clk/tegra/clk-dfll.c
1497
if (td->soc->init_clock_trimmers)
drivers/clk/tegra/clk-dfll.c
1498
td->soc->init_clock_trimmers();
drivers/clk/tegra/clk-dfll.c
1500
dfll_set_open_loop_config(td);
drivers/clk/tegra/clk-dfll.c
1502
dfll_init_out_if(td);
drivers/clk/tegra/clk-dfll.c
1504
pm_runtime_put_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
1509
clk_unprepare(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
1511
clk_unprepare(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
1513
reset_control_assert(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
1514
reset_control_assert(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
1528
struct tegra_dfll *td = dev_get_drvdata(dev);
drivers/clk/tegra/clk-dfll.c
1530
if (dfll_is_running(td)) {
drivers/clk/tegra/clk-dfll.c
1531
dev_err(td->dev, "DFLL still enabled while suspending\n");
drivers/clk/tegra/clk-dfll.c
1535
reset_control_assert(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
1536
reset_control_assert(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
1553
struct tegra_dfll *td = dev_get_drvdata(dev);
drivers/clk/tegra/clk-dfll.c
1555
reset_control_deassert(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
1556
reset_control_deassert(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
1558
pm_runtime_get_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
1560
dfll_set_mode(td, DFLL_DISABLED);
drivers/clk/tegra/clk-dfll.c
1561
dfll_set_default_params(td);
drivers/clk/tegra/clk-dfll.c
1563
if (td->soc->init_clock_trimmers)
drivers/clk/tegra/clk-dfll.c
1564
td->soc->init_clock_trimmers();
drivers/clk/tegra/clk-dfll.c
1566
dfll_set_open_loop_config(td);
drivers/clk/tegra/clk-dfll.c
1568
dfll_init_out_if(td);
drivers/clk/tegra/clk-dfll.c
1570
pm_runtime_put_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
1584
static int find_vdd_map_entry_exact(struct tegra_dfll *td, int uV)
drivers/clk/tegra/clk-dfll.c
1588
if (WARN_ON(td->pmu_if == TEGRA_DFLL_PMU_PWM))
drivers/clk/tegra/clk-dfll.c
1591
align_step = uV / td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
1592
n_voltages = regulator_count_voltages(td->vdd_reg);
drivers/clk/tegra/clk-dfll.c
1594
reg_uV = regulator_list_voltage(td->vdd_reg, i);
drivers/clk/tegra/clk-dfll.c
1598
reg_volt_id = reg_uV / td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
1604
dev_err(td->dev, "no voltage map entry for %d uV\n", uV);
drivers/clk/tegra/clk-dfll.c
1612
static int find_vdd_map_entry_min(struct tegra_dfll *td, int uV)
drivers/clk/tegra/clk-dfll.c
1616
if (WARN_ON(td->pmu_if == TEGRA_DFLL_PMU_PWM))
drivers/clk/tegra/clk-dfll.c
1619
align_step = uV / td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
1620
n_voltages = regulator_count_voltages(td->vdd_reg);
drivers/clk/tegra/clk-dfll.c
1622
reg_uV = regulator_list_voltage(td->vdd_reg, i);
drivers/clk/tegra/clk-dfll.c
1626
reg_volt_id = reg_uV / td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
1632
dev_err(td->dev, "no voltage map entry rounding to %d uV\n", uV);
drivers/clk/tegra/clk-dfll.c
1645
static int dfll_build_pwm_lut(struct tegra_dfll *td, unsigned long v_max)
drivers/clk/tegra/clk-dfll.c
1650
int v_min = td->soc->cvb->min_millivolts * 1000;
drivers/clk/tegra/clk-dfll.c
1653
reg_volt = td->lut_uv[i];
drivers/clk/tegra/clk-dfll.c
1660
td->lut[i] = i;
drivers/clk/tegra/clk-dfll.c
1666
td->lut_size = i;
drivers/clk/tegra/clk-dfll.c
1668
(lut_bottom + 1 >= td->lut_size)) {
drivers/clk/tegra/clk-dfll.c
1669
dev_err(td->dev, "no voltage above DFLL minimum %d mV\n",
drivers/clk/tegra/clk-dfll.c
1670
td->soc->cvb->min_millivolts);
drivers/clk/tegra/clk-dfll.c
1673
td->lut_bottom = lut_bottom;
drivers/clk/tegra/clk-dfll.c
1676
rate = get_dvco_rate_below(td, td->lut_bottom);
drivers/clk/tegra/clk-dfll.c
1678
dev_err(td->dev, "no opp below DFLL minimum voltage %d mV\n",
drivers/clk/tegra/clk-dfll.c
1679
td->soc->cvb->min_millivolts);
drivers/clk/tegra/clk-dfll.c
1682
td->dvco_rate_min = rate;
drivers/clk/tegra/clk-dfll.c
1700
static int dfll_build_i2c_lut(struct tegra_dfll *td, unsigned long v_max)
drivers/clk/tegra/clk-dfll.c
1706
v = td->soc->cvb->min_millivolts * 1000;
drivers/clk/tegra/clk-dfll.c
1707
lut = find_vdd_map_entry_exact(td, v);
drivers/clk/tegra/clk-dfll.c
1710
td->lut[0] = lut;
drivers/clk/tegra/clk-dfll.c
1711
td->lut_bottom = 0;
drivers/clk/tegra/clk-dfll.c
1716
opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
drivers/clk/tegra/clk-dfll.c
1721
if (v_opp <= td->soc->cvb->min_millivolts * 1000)
drivers/clk/tegra/clk-dfll.c
1722
td->dvco_rate_min = dev_pm_opp_get_freq(opp);
drivers/clk/tegra/clk-dfll.c
1731
selector = find_vdd_map_entry_min(td, v);
drivers/clk/tegra/clk-dfll.c
1734
if (selector != td->lut[j - 1])
drivers/clk/tegra/clk-dfll.c
1735
td->lut[j++] = selector;
drivers/clk/tegra/clk-dfll.c
1739
selector = find_vdd_map_entry_exact(td, v);
drivers/clk/tegra/clk-dfll.c
1742
if (selector != td->lut[j - 1])
drivers/clk/tegra/clk-dfll.c
1743
td->lut[j++] = selector;
drivers/clk/tegra/clk-dfll.c
1748
td->lut_size = j;
drivers/clk/tegra/clk-dfll.c
1750
if (!td->dvco_rate_min)
drivers/clk/tegra/clk-dfll.c
1751
dev_err(td->dev, "no opp above DFLL minimum voltage %d mV\n",
drivers/clk/tegra/clk-dfll.c
1752
td->soc->cvb->min_millivolts);
drivers/clk/tegra/clk-dfll.c
1755
for (j = 0; j < td->lut_size; j++)
drivers/clk/tegra/clk-dfll.c
1756
td->lut_uv[j] =
drivers/clk/tegra/clk-dfll.c
1757
regulator_list_voltage(td->vdd_reg,
drivers/clk/tegra/clk-dfll.c
1758
td->lut[j]);
drivers/clk/tegra/clk-dfll.c
1765
static int dfll_build_lut(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1771
opp = dev_pm_opp_find_freq_floor(td->soc->dev, &rate);
drivers/clk/tegra/clk-dfll.c
1773
dev_err(td->dev, "couldn't get vmax opp, empty opp table?\n");
drivers/clk/tegra/clk-dfll.c
1779
if (td->pmu_if == TEGRA_DFLL_PMU_PWM)
drivers/clk/tegra/clk-dfll.c
1780
return dfll_build_pwm_lut(td, v_max);
drivers/clk/tegra/clk-dfll.c
1782
return dfll_build_i2c_lut(td, v_max);
drivers/clk/tegra/clk-dfll.c
1795
static bool read_dt_param(struct tegra_dfll *td, const char *param, u32 *dest)
drivers/clk/tegra/clk-dfll.c
1797
int err = of_property_read_u32(td->dev->of_node, param, dest);
drivers/clk/tegra/clk-dfll.c
1800
dev_err(td->dev, "failed to read DT parameter %s: %d\n",
drivers/clk/tegra/clk-dfll.c
1816
static int dfll_fetch_i2c_params(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1824
if (!read_dt_param(td, "nvidia,i2c-fs-rate", &td->i2c_fs_rate))
drivers/clk/tegra/clk-dfll.c
1827
regmap = regulator_get_regmap(td->vdd_reg);
drivers/clk/tegra/clk-dfll.c
1831
td->i2c_slave_addr = i2c_client->addr;
drivers/clk/tegra/clk-dfll.c
1833
ret = regulator_get_hardware_vsel_register(td->vdd_reg,
drivers/clk/tegra/clk-dfll.c
1837
dev_err(td->dev,
drivers/clk/tegra/clk-dfll.c
1841
td->i2c_reg = vsel_reg;
drivers/clk/tegra/clk-dfll.c
1846
static int dfll_fetch_pwm_params(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1851
if (!td->soc->alignment.step_uv || !td->soc->alignment.offset_uv) {
drivers/clk/tegra/clk-dfll.c
1852
dev_err(td->dev,
drivers/clk/tegra/clk-dfll.c
1857
td->lut_uv[i] = td->soc->alignment.offset_uv +
drivers/clk/tegra/clk-dfll.c
1858
i * td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
1860
ret = read_dt_param(td, "nvidia,pwm-tristate-microvolts",
drivers/clk/tegra/clk-dfll.c
1861
&td->reg_init_uV);
drivers/clk/tegra/clk-dfll.c
1863
dev_err(td->dev, "couldn't get initialized voltage\n");
drivers/clk/tegra/clk-dfll.c
1867
ret = read_dt_param(td, "nvidia,pwm-period-nanoseconds", &pwm_period);
drivers/clk/tegra/clk-dfll.c
1869
dev_err(td->dev, "couldn't get PWM period\n");
drivers/clk/tegra/clk-dfll.c
1872
td->pwm_rate = (NSEC_PER_SEC / pwm_period) * (MAX_DFLL_VOLTAGES - 1);
drivers/clk/tegra/clk-dfll.c
1874
td->pwm_pin = devm_pinctrl_get(td->dev);
drivers/clk/tegra/clk-dfll.c
1875
if (IS_ERR(td->pwm_pin)) {
drivers/clk/tegra/clk-dfll.c
1876
dev_err(td->dev, "DT: missing pinctrl device\n");
drivers/clk/tegra/clk-dfll.c
1877
return PTR_ERR(td->pwm_pin);
drivers/clk/tegra/clk-dfll.c
1880
td->pwm_enable_state = pinctrl_lookup_state(td->pwm_pin,
drivers/clk/tegra/clk-dfll.c
1882
if (IS_ERR(td->pwm_enable_state)) {
drivers/clk/tegra/clk-dfll.c
1883
dev_err(td->dev, "DT: missing pwm enabled state\n");
drivers/clk/tegra/clk-dfll.c
1884
return PTR_ERR(td->pwm_enable_state);
drivers/clk/tegra/clk-dfll.c
1887
td->pwm_disable_state = pinctrl_lookup_state(td->pwm_pin,
drivers/clk/tegra/clk-dfll.c
1889
if (IS_ERR(td->pwm_disable_state)) {
drivers/clk/tegra/clk-dfll.c
1890
dev_err(td->dev, "DT: missing pwm disabled state\n");
drivers/clk/tegra/clk-dfll.c
1891
return PTR_ERR(td->pwm_disable_state);
drivers/clk/tegra/clk-dfll.c
1904
static int dfll_fetch_common_params(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
1908
ok &= read_dt_param(td, "nvidia,droop-ctrl", &td->droop_ctrl);
drivers/clk/tegra/clk-dfll.c
1909
ok &= read_dt_param(td, "nvidia,sample-rate", &td->sample_rate);
drivers/clk/tegra/clk-dfll.c
1910
ok &= read_dt_param(td, "nvidia,force-mode", &td->force_mode);
drivers/clk/tegra/clk-dfll.c
1911
ok &= read_dt_param(td, "nvidia,cf", &td->cf);
drivers/clk/tegra/clk-dfll.c
1912
ok &= read_dt_param(td, "nvidia,ci", &td->ci);
drivers/clk/tegra/clk-dfll.c
1913
ok &= read_dt_param(td, "nvidia,cg", &td->cg);
drivers/clk/tegra/clk-dfll.c
1914
td->cg_scale = of_property_read_bool(td->dev->of_node,
drivers/clk/tegra/clk-dfll.c
1917
if (of_property_read_string(td->dev->of_node, "clock-output-names",
drivers/clk/tegra/clk-dfll.c
1918
&td->output_clock_name)) {
drivers/clk/tegra/clk-dfll.c
1919
dev_err(td->dev, "missing clock-output-names property\n");
drivers/clk/tegra/clk-dfll.c
1943
struct tegra_dfll *td;
drivers/clk/tegra/clk-dfll.c
1951
td = devm_kzalloc(&pdev->dev, sizeof(*td), GFP_KERNEL);
drivers/clk/tegra/clk-dfll.c
1952
if (!td)
drivers/clk/tegra/clk-dfll.c
1954
td->dev = &pdev->dev;
drivers/clk/tegra/clk-dfll.c
1955
platform_set_drvdata(pdev, td);
drivers/clk/tegra/clk-dfll.c
1957
td->soc = soc;
drivers/clk/tegra/clk-dfll.c
1959
td->dfll_rst = devm_reset_control_get_optional(td->dev, "dfll");
drivers/clk/tegra/clk-dfll.c
1960
if (IS_ERR(td->dfll_rst)) {
drivers/clk/tegra/clk-dfll.c
1961
dev_err(td->dev, "couldn't get dfll reset\n");
drivers/clk/tegra/clk-dfll.c
1962
return PTR_ERR(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
1965
td->dvco_rst = devm_reset_control_get(td->dev, "dvco");
drivers/clk/tegra/clk-dfll.c
1966
if (IS_ERR(td->dvco_rst)) {
drivers/clk/tegra/clk-dfll.c
1967
dev_err(td->dev, "couldn't get dvco reset\n");
drivers/clk/tegra/clk-dfll.c
1968
return PTR_ERR(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
1971
ret = dfll_fetch_common_params(td);
drivers/clk/tegra/clk-dfll.c
1973
dev_err(td->dev, "couldn't parse device tree parameters\n");
drivers/clk/tegra/clk-dfll.c
1977
if (of_property_read_bool(td->dev->of_node, "nvidia,pwm-to-pmic")) {
drivers/clk/tegra/clk-dfll.c
1978
td->pmu_if = TEGRA_DFLL_PMU_PWM;
drivers/clk/tegra/clk-dfll.c
1979
ret = dfll_fetch_pwm_params(td);
drivers/clk/tegra/clk-dfll.c
1981
td->vdd_reg = devm_regulator_get(td->dev, "vdd-cpu");
drivers/clk/tegra/clk-dfll.c
1982
if (IS_ERR(td->vdd_reg)) {
drivers/clk/tegra/clk-dfll.c
1983
dev_err(td->dev, "couldn't get vdd_cpu regulator\n");
drivers/clk/tegra/clk-dfll.c
1984
return PTR_ERR(td->vdd_reg);
drivers/clk/tegra/clk-dfll.c
1986
td->pmu_if = TEGRA_DFLL_PMU_I2C;
drivers/clk/tegra/clk-dfll.c
1987
ret = dfll_fetch_i2c_params(td);
drivers/clk/tegra/clk-dfll.c
1992
ret = dfll_build_lut(td);
drivers/clk/tegra/clk-dfll.c
1994
dev_err(td->dev, "couldn't build LUT\n");
drivers/clk/tegra/clk-dfll.c
2000
dev_err(td->dev, "no control register resource\n");
drivers/clk/tegra/clk-dfll.c
2004
td->base = devm_ioremap(td->dev, mem->start, resource_size(mem));
drivers/clk/tegra/clk-dfll.c
2005
if (!td->base) {
drivers/clk/tegra/clk-dfll.c
2006
dev_err(td->dev, "couldn't ioremap DFLL control registers\n");
drivers/clk/tegra/clk-dfll.c
2012
dev_err(td->dev, "no i2c_base resource\n");
drivers/clk/tegra/clk-dfll.c
2016
td->i2c_base = devm_ioremap(td->dev, mem->start, resource_size(mem));
drivers/clk/tegra/clk-dfll.c
2017
if (!td->i2c_base) {
drivers/clk/tegra/clk-dfll.c
2018
dev_err(td->dev, "couldn't ioremap i2c_base resource\n");
drivers/clk/tegra/clk-dfll.c
2024
dev_err(td->dev, "no i2c_controller_base resource\n");
drivers/clk/tegra/clk-dfll.c
2028
td->i2c_controller_base = devm_ioremap(td->dev, mem->start,
drivers/clk/tegra/clk-dfll.c
2030
if (!td->i2c_controller_base) {
drivers/clk/tegra/clk-dfll.c
2031
dev_err(td->dev,
drivers/clk/tegra/clk-dfll.c
2038
dev_err(td->dev, "no lut_base resource\n");
drivers/clk/tegra/clk-dfll.c
2042
td->lut_base = devm_ioremap(td->dev, mem->start, resource_size(mem));
drivers/clk/tegra/clk-dfll.c
2043
if (!td->lut_base) {
drivers/clk/tegra/clk-dfll.c
2044
dev_err(td->dev,
drivers/clk/tegra/clk-dfll.c
2049
ret = dfll_init_clks(td);
drivers/clk/tegra/clk-dfll.c
2056
ret = dfll_init(td);
drivers/clk/tegra/clk-dfll.c
2060
ret = dfll_register_clk(td);
drivers/clk/tegra/clk-dfll.c
2066
dfll_debug_init(td);
drivers/clk/tegra/clk-dfll.c
2082
struct tegra_dfll *td = platform_get_drvdata(pdev);
drivers/clk/tegra/clk-dfll.c
2088
if (td->mode != DFLL_DISABLED) {
drivers/clk/tegra/clk-dfll.c
2094
debugfs_remove_recursive(td->debugfs_dir);
drivers/clk/tegra/clk-dfll.c
2096
dfll_unregister_clk(td);
drivers/clk/tegra/clk-dfll.c
2099
clk_unprepare(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
2100
clk_unprepare(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
2101
clk_unprepare(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
2103
reset_control_assert(td->dvco_rst);
drivers/clk/tegra/clk-dfll.c
2104
reset_control_assert(td->dfll_rst);
drivers/clk/tegra/clk-dfll.c
2106
return td->soc;
drivers/clk/tegra/clk-dfll.c
331
static inline u32 dfll_readl(struct tegra_dfll *td, u32 offs)
drivers/clk/tegra/clk-dfll.c
333
return __raw_readl(td->base + offs);
drivers/clk/tegra/clk-dfll.c
336
static inline void dfll_writel(struct tegra_dfll *td, u32 val, u32 offs)
drivers/clk/tegra/clk-dfll.c
339
__raw_writel(val, td->base + offs);
drivers/clk/tegra/clk-dfll.c
342
static inline void dfll_wmb(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
344
dfll_readl(td, DFLL_CTRL);
drivers/clk/tegra/clk-dfll.c
349
static inline u32 dfll_i2c_readl(struct tegra_dfll *td, u32 offs)
drivers/clk/tegra/clk-dfll.c
351
return __raw_readl(td->i2c_base + offs);
drivers/clk/tegra/clk-dfll.c
354
static inline void dfll_i2c_writel(struct tegra_dfll *td, u32 val, u32 offs)
drivers/clk/tegra/clk-dfll.c
356
__raw_writel(val, td->i2c_base + offs);
drivers/clk/tegra/clk-dfll.c
359
static inline void dfll_i2c_wmb(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
361
dfll_i2c_readl(td, DFLL_I2C_CFG);
drivers/clk/tegra/clk-dfll.c
371
static bool dfll_is_running(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
373
return td->mode >= DFLL_OPEN_LOOP;
drivers/clk/tegra/clk-dfll.c
391
struct tegra_dfll *td = dev_get_drvdata(dev);
drivers/clk/tegra/clk-dfll.c
394
ret = clk_enable(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
400
ret = clk_enable(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
403
clk_disable(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
407
ret = clk_enable(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
410
clk_disable(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
411
clk_disable(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
428
struct tegra_dfll *td = dev_get_drvdata(dev);
drivers/clk/tegra/clk-dfll.c
430
clk_disable(td->ref_clk);
drivers/clk/tegra/clk-dfll.c
431
clk_disable(td->soc_clk);
drivers/clk/tegra/clk-dfll.c
432
clk_disable(td->i2c_clk);
drivers/clk/tegra/clk-dfll.c
450
static void dfll_tune_low(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
452
td->tune_range = DFLL_TUNE_LOW;
drivers/clk/tegra/clk-dfll.c
454
dfll_writel(td, td->soc->cvb->cpu_dfll_data.tune0_low, DFLL_TUNE0);
drivers/clk/tegra/clk-dfll.c
455
dfll_writel(td, td->soc->cvb->cpu_dfll_data.tune1, DFLL_TUNE1);
drivers/clk/tegra/clk-dfll.c
456
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
458
if (td->soc->set_clock_trimmers_low)
drivers/clk/tegra/clk-dfll.c
459
td->soc->set_clock_trimmers_low();
drivers/clk/tegra/clk-dfll.c
492
static void dfll_set_mode(struct tegra_dfll *td,
drivers/clk/tegra/clk-dfll.c
495
td->mode = mode;
drivers/clk/tegra/clk-dfll.c
496
dfll_writel(td, mode - 1, DFLL_CTRL);
drivers/clk/tegra/clk-dfll.c
497
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
504
static unsigned long get_dvco_rate_below(struct tegra_dfll *td, u8 out_min)
drivers/clk/tegra/clk-dfll.c
510
min_uv = td->lut_uv[out_min];
drivers/clk/tegra/clk-dfll.c
512
opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
drivers/clk/tegra/clk-dfll.c
540
static int dfll_i2c_set_output_enabled(struct tegra_dfll *td, bool enable)
drivers/clk/tegra/clk-dfll.c
544
val = dfll_i2c_readl(td, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
551
dfll_i2c_writel(td, val, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
552
dfll_i2c_wmb(td);
drivers/clk/tegra/clk-dfll.c
571
static int dfll_pwm_set_output_enabled(struct tegra_dfll *td, bool enable)
drivers/clk/tegra/clk-dfll.c
577
ret = pinctrl_select_state(td->pwm_pin, td->pwm_enable_state);
drivers/clk/tegra/clk-dfll.c
579
dev_err(td->dev, "setting enable state failed\n");
drivers/clk/tegra/clk-dfll.c
582
val = dfll_readl(td, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
584
div = DIV_ROUND_UP(td->ref_rate, td->pwm_rate);
drivers/clk/tegra/clk-dfll.c
587
dfll_writel(td, val, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
588
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
591
dfll_writel(td, val, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
592
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
594
ret = pinctrl_select_state(td->pwm_pin, td->pwm_disable_state);
drivers/clk/tegra/clk-dfll.c
596
dev_warn(td->dev, "setting disable state failed\n");
drivers/clk/tegra/clk-dfll.c
598
val = dfll_readl(td, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
600
dfll_writel(td, val, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
601
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
615
static u32 dfll_set_force_output_value(struct tegra_dfll *td, u8 out_val)
drivers/clk/tegra/clk-dfll.c
617
u32 val = dfll_readl(td, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
620
dfll_writel(td, val, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
621
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
623
return dfll_readl(td, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
633
static void dfll_set_force_output_enabled(struct tegra_dfll *td, bool enable)
drivers/clk/tegra/clk-dfll.c
635
u32 val = dfll_readl(td, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
642
dfll_writel(td, val, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
643
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
653
static int dfll_force_output(struct tegra_dfll *td, unsigned int out_sel)
drivers/clk/tegra/clk-dfll.c
660
val = dfll_set_force_output_value(td, out_sel);
drivers/clk/tegra/clk-dfll.c
661
if ((td->mode < DFLL_CLOSED_LOOP) &&
drivers/clk/tegra/clk-dfll.c
663
dfll_set_force_output_enabled(td, true);
drivers/clk/tegra/clk-dfll.c
676
static void dfll_load_i2c_lut(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
682
if (i < td->lut_min)
drivers/clk/tegra/clk-dfll.c
683
lut_index = td->lut_min;
drivers/clk/tegra/clk-dfll.c
684
else if (i > td->lut_max)
drivers/clk/tegra/clk-dfll.c
685
lut_index = td->lut_max;
drivers/clk/tegra/clk-dfll.c
689
val = regulator_list_hardware_vsel(td->vdd_reg,
drivers/clk/tegra/clk-dfll.c
690
td->lut[lut_index]);
drivers/clk/tegra/clk-dfll.c
691
__raw_writel(val, td->lut_base + i * 4);
drivers/clk/tegra/clk-dfll.c
694
dfll_i2c_wmb(td);
drivers/clk/tegra/clk-dfll.c
707
static void dfll_init_i2c_if(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
711
if (td->i2c_slave_addr > 0x7f) {
drivers/clk/tegra/clk-dfll.c
712
val = td->i2c_slave_addr << DFLL_I2C_CFG_SLAVE_ADDR_SHIFT_10BIT;
drivers/clk/tegra/clk-dfll.c
715
val = td->i2c_slave_addr << DFLL_I2C_CFG_SLAVE_ADDR_SHIFT_7BIT;
drivers/clk/tegra/clk-dfll.c
719
dfll_i2c_writel(td, val, DFLL_I2C_CFG);
drivers/clk/tegra/clk-dfll.c
721
dfll_i2c_writel(td, td->i2c_reg, DFLL_I2C_VDD_REG_ADDR);
drivers/clk/tegra/clk-dfll.c
723
val = DIV_ROUND_UP(td->i2c_clk_rate, td->i2c_fs_rate * 8);
drivers/clk/tegra/clk-dfll.c
729
__raw_writel(val, td->i2c_controller_base + DFLL_I2C_CLK_DIVISOR);
drivers/clk/tegra/clk-dfll.c
730
dfll_i2c_wmb(td);
drivers/clk/tegra/clk-dfll.c
741
static void dfll_init_out_if(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
745
td->lut_min = td->lut_bottom;
drivers/clk/tegra/clk-dfll.c
746
td->lut_max = td->lut_size - 1;
drivers/clk/tegra/clk-dfll.c
747
td->lut_safe = td->lut_min + (td->lut_min < td->lut_max ? 1 : 0);
drivers/clk/tegra/clk-dfll.c
750
dfll_writel(td, 0, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
751
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
753
val = (td->lut_safe << DFLL_OUTPUT_CFG_SAFE_SHIFT) |
drivers/clk/tegra/clk-dfll.c
754
(td->lut_max << DFLL_OUTPUT_CFG_MAX_SHIFT) |
drivers/clk/tegra/clk-dfll.c
755
(td->lut_min << DFLL_OUTPUT_CFG_MIN_SHIFT);
drivers/clk/tegra/clk-dfll.c
756
dfll_writel(td, val, DFLL_OUTPUT_CFG);
drivers/clk/tegra/clk-dfll.c
757
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
759
dfll_writel(td, 0, DFLL_OUTPUT_FORCE);
drivers/clk/tegra/clk-dfll.c
760
dfll_i2c_writel(td, 0, DFLL_INTR_EN);
drivers/clk/tegra/clk-dfll.c
761
dfll_i2c_writel(td, DFLL_INTR_MAX_MASK | DFLL_INTR_MIN_MASK,
drivers/clk/tegra/clk-dfll.c
764
if (td->pmu_if == TEGRA_DFLL_PMU_PWM) {
drivers/clk/tegra/clk-dfll.c
765
u32 vinit = td->reg_init_uV;
drivers/clk/tegra/clk-dfll.c
766
int vstep = td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
767
unsigned long vmin = td->lut_uv[0];
drivers/clk/tegra/clk-dfll.c
774
dfll_force_output(td, vsel);
drivers/clk/tegra/clk-dfll.c
777
dfll_load_i2c_lut(td);
drivers/clk/tegra/clk-dfll.c
778
dfll_init_i2c_if(td);
drivers/clk/tegra/clk-dfll.c
796
static int find_lut_index_for_rate(struct tegra_dfll *td, unsigned long rate)
drivers/clk/tegra/clk-dfll.c
801
opp = dev_pm_opp_find_freq_ceil(td->soc->dev, &rate);
drivers/clk/tegra/clk-dfll.c
805
align_step = dev_pm_opp_get_voltage(opp) / td->soc->alignment.step_uv;
drivers/clk/tegra/clk-dfll.c
808
for (i = td->lut_bottom; i < td->lut_size; i++) {
drivers/clk/tegra/clk-dfll.c
809
if ((td->lut_uv[i] / td->soc->alignment.step_uv) >= align_step)
drivers/clk/tegra/clk-dfll.c
827
static int dfll_calculate_rate_request(struct tegra_dfll *td,
drivers/clk/tegra/clk-dfll.c
840
if (rate < td->dvco_rate_min) {
drivers/clk/tegra/clk-dfll.c
844
td->dvco_rate_min / 1000);
drivers/clk/tegra/clk-dfll.c
846
dev_err(td->dev, "%s: Rate %lu is too low\n",
drivers/clk/tegra/clk-dfll.c
851
rate = td->dvco_rate_min;
drivers/clk/tegra/clk-dfll.c
855
val = DVCO_RATE_TO_MULT(rate, td->ref_rate);
drivers/clk/tegra/clk-dfll.c
857
dev_err(td->dev, "%s: Rate %lu is above dfll range\n",
drivers/clk/tegra/clk-dfll.c
862
req->dvco_target_rate = MULT_TO_DVCO_RATE(req->mult_bits, td->ref_rate);
drivers/clk/tegra/clk-dfll.c
865
req->lut_index = find_lut_index_for_rate(td, req->dvco_target_rate);
drivers/clk/tegra/clk-dfll.c
880
static void dfll_set_frequency_request(struct tegra_dfll *td,
drivers/clk/tegra/clk-dfll.c
887
force_val = (req->lut_index - td->lut_safe) * coef / td->cg;
drivers/clk/tegra/clk-dfll.c
896
dfll_writel(td, val, DFLL_FREQ_REQ);
drivers/clk/tegra/clk-dfll.c
897
dfll_wmb(td);
drivers/clk/tegra/clk-dfll.c
912
static int dfll_request_rate(struct tegra_dfll *td, unsigned long rate)
drivers/clk/tegra/clk-dfll.c
917
if (td->mode == DFLL_UNINITIALIZED) {
drivers/clk/tegra/clk-dfll.c
918
dev_err(td->dev, "%s: Cannot set DFLL rate in %s mode\n",
drivers/clk/tegra/clk-dfll.c
919
__func__, mode_name[td->mode]);
drivers/clk/tegra/clk-dfll.c
923
ret = dfll_calculate_rate_request(td, &req, rate);
drivers/clk/tegra/clk-dfll.c
927
td->last_unrounded_rate = rate;
drivers/clk/tegra/clk-dfll.c
928
td->last_req = req;
drivers/clk/tegra/clk-dfll.c
930
if (td->mode == DFLL_CLOSED_LOOP)
drivers/clk/tegra/clk-dfll.c
931
dfll_set_frequency_request(td, &td->last_req);
drivers/clk/tegra/clk-dfll.c
947
static int dfll_disable(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
949
if (td->mode != DFLL_OPEN_LOOP) {
drivers/clk/tegra/clk-dfll.c
950
dev_err(td->dev, "cannot disable DFLL in %s mode\n",
drivers/clk/tegra/clk-dfll.c
951
mode_name[td->mode]);
drivers/clk/tegra/clk-dfll.c
955
dfll_set_mode(td, DFLL_DISABLED);
drivers/clk/tegra/clk-dfll.c
956
pm_runtime_put_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
968
static int dfll_enable(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
970
if (td->mode != DFLL_DISABLED) {
drivers/clk/tegra/clk-dfll.c
971
dev_err(td->dev, "cannot enable DFLL in %s mode\n",
drivers/clk/tegra/clk-dfll.c
972
mode_name[td->mode]);
drivers/clk/tegra/clk-dfll.c
976
pm_runtime_get_sync(td->dev);
drivers/clk/tegra/clk-dfll.c
977
dfll_set_mode(td, DFLL_OPEN_LOOP);
drivers/clk/tegra/clk-dfll.c
993
static void dfll_set_open_loop_config(struct tegra_dfll *td)
drivers/clk/tegra/clk-dfll.c
998
if (td->tune_range != DFLL_TUNE_LOW)
drivers/clk/tegra/clk-dfll.c
999
dfll_tune_low(td);
drivers/dma/tegra20-apb-dma.c
252
txd_to_tegra_dma_desc(struct dma_async_tx_descriptor *td)
drivers/dma/tegra20-apb-dma.c
254
return container_of(td, struct tegra_dma_desc, txd);
drivers/dma/tegra210-adma.c
238
struct dma_async_tx_descriptor *td)
drivers/dma/tegra210-adma.c
240
return container_of(td, struct tegra_adma_desc, vd.tx);
drivers/dma/ti/cppi41.c
641
struct cppi41_desc *td;
drivers/dma/ti/cppi41.c
646
td = cdd->cd;
drivers/dma/ti/cppi41.c
647
td += cdd->first_td_desc;
drivers/dma/ti/cppi41.c
653
cppi41_compute_td_desc(td);
drivers/dma/ti/cppi41.c
686
pd0 = td->pd0;
drivers/dma/timb_dma.c
114
struct timb_dma *td = tdchantotd(td_chan);
drivers/dma/timb_dma.c
118
ier = ioread32(td->membase + TIMBDMA_IER);
drivers/dma/timb_dma.c
122
iowrite32(ier, td->membase + TIMBDMA_IER);
drivers/dma/timb_dma.c
129
struct timb_dma *td = (struct timb_dma *)((u8 *)td_chan -
drivers/dma/timb_dma.c
134
dev_dbg(chan2dev(&td_chan->chan), "Checking irq: %d, td: %p\n", id, td);
drivers/dma/timb_dma.c
136
isr = ioread32(td->membase + TIMBDMA_ISR) & (1 << id);
drivers/dma/timb_dma.c
138
iowrite32(isr, td->membase + TIMBDMA_ISR);
drivers/dma/timb_dma.c
258
static u32 __td_ier_mask(struct timb_dma *td)
drivers/dma/timb_dma.c
263
for (i = 0; i < td->dma.chancnt; i++) {
drivers/dma/timb_dma.c
264
struct timb_dma_chan *td_chan = td->channels + i;
drivers/dma/timb_dma.c
568
struct timb_dma *td = from_tasklet(td, t, tasklet);
drivers/dma/timb_dma.c
574
isr = ioread32(td->membase + TIMBDMA_ISR);
drivers/dma/timb_dma.c
575
ipr = isr & __td_ier_mask(td);
drivers/dma/timb_dma.c
578
iowrite32(ipr, td->membase + TIMBDMA_ISR);
drivers/dma/timb_dma.c
580
for (i = 0; i < td->dma.chancnt; i++)
drivers/dma/timb_dma.c
582
struct timb_dma_chan *td_chan = td->channels + i;
drivers/dma/timb_dma.c
590
ier = __td_ier_mask(td);
drivers/dma/timb_dma.c
591
iowrite32(ier, td->membase + TIMBDMA_IER);
drivers/dma/timb_dma.c
597
struct timb_dma *td = devid;
drivers/dma/timb_dma.c
598
u32 ipr = ioread32(td->membase + TIMBDMA_IPR);
drivers/dma/timb_dma.c
602
iowrite32(0, td->membase + TIMBDMA_IER);
drivers/dma/timb_dma.c
604
tasklet_schedule(&td->tasklet);
drivers/dma/timb_dma.c
615
struct timb_dma *td;
drivers/dma/timb_dma.c
638
td = kzalloc_flex(*td, channels, pdata->nr_channels);
drivers/dma/timb_dma.c
639
if (!td) {
drivers/dma/timb_dma.c
644
dev_dbg(&pdev->dev, "Allocated TD: %p\n", td);
drivers/dma/timb_dma.c
646
td->membase = ioremap(iomem->start, resource_size(iomem));
drivers/dma/timb_dma.c
647
if (!td->membase) {
drivers/dma/timb_dma.c
654
iowrite32(TIMBDMA_32BIT_ADDR, td->membase + TIMBDMA_ACR);
drivers/dma/timb_dma.c
657
iowrite32(0x0, td->membase + TIMBDMA_IER);
drivers/dma/timb_dma.c
658
iowrite32(0xFFFFFFFF, td->membase + TIMBDMA_ISR);
drivers/dma/timb_dma.c
660
tasklet_setup(&td->tasklet, td_tasklet);
drivers/dma/timb_dma.c
662
err = request_irq(irq, td_irq, IRQF_SHARED, DRIVER_NAME, td);
drivers/dma/timb_dma.c
668
td->dma.device_alloc_chan_resources = td_alloc_chan_resources;
drivers/dma/timb_dma.c
669
td->dma.device_free_chan_resources = td_free_chan_resources;
drivers/dma/timb_dma.c
670
td->dma.device_tx_status = td_tx_status;
drivers/dma/timb_dma.c
671
td->dma.device_issue_pending = td_issue_pending;
drivers/dma/timb_dma.c
673
dma_cap_set(DMA_SLAVE, td->dma.cap_mask);
drivers/dma/timb_dma.c
674
dma_cap_set(DMA_PRIVATE, td->dma.cap_mask);
drivers/dma/timb_dma.c
675
td->dma.device_prep_slave_sg = td_prep_slave_sg;
drivers/dma/timb_dma.c
676
td->dma.device_terminate_all = td_terminate_all;
drivers/dma/timb_dma.c
678
td->dma.dev = &pdev->dev;
drivers/dma/timb_dma.c
680
INIT_LIST_HEAD(&td->dma.channels);
drivers/dma/timb_dma.c
683
struct timb_dma_chan *td_chan = &td->channels[i];
drivers/dma/timb_dma.c
694
td_chan->chan.device = &td->dma;
drivers/dma/timb_dma.c
707
td_chan->membase = td->membase +
drivers/dma/timb_dma.c
714
list_add_tail(&td_chan->chan.device_node, &td->dma.channels);
drivers/dma/timb_dma.c
717
err = dma_async_device_register(&td->dma);
drivers/dma/timb_dma.c
723
platform_set_drvdata(pdev, td);
drivers/dma/timb_dma.c
729
free_irq(irq, td);
drivers/dma/timb_dma.c
731
tasklet_kill(&td->tasklet);
drivers/dma/timb_dma.c
732
iounmap(td->membase);
drivers/dma/timb_dma.c
734
kfree(td);
drivers/dma/timb_dma.c
744
struct timb_dma *td = platform_get_drvdata(pdev);
drivers/dma/timb_dma.c
748
dma_async_device_unregister(&td->dma);
drivers/dma/timb_dma.c
749
free_irq(irq, td);
drivers/dma/timb_dma.c
750
tasklet_kill(&td->tasklet);
drivers/dma/timb_dma.c
751
iounmap(td->membase);
drivers/dma/timb_dma.c
752
kfree(td);
drivers/firmware/arm_scmi/voltage.c
215
struct scmi_xfer *td;
drivers/firmware/arm_scmi/voltage.c
219
sizeof(__le32), sizeof(*resp_dom), &td);
drivers/firmware/arm_scmi/voltage.c
222
resp_dom = td->rx.buf;
drivers/firmware/arm_scmi/voltage.c
229
put_unaligned_le32(dom, td->tx.buf);
drivers/firmware/arm_scmi/voltage.c
231
if (ph->xops->do_xfer(ph, td)) {
drivers/firmware/arm_scmi/voltage.c
232
ph->xops->reset_rx_to_maxsz(ph, td);
drivers/firmware/arm_scmi/voltage.c
259
ph->xops->xfer_put(ph, td);
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
4282
enum r600_td td = R600_TD_DFLT;
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
4287
if (td == R600_TD_AUTO)
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
4292
if (td == R600_TD_UP)
drivers/gpu/drm/amd/pm/legacy-dpm/si_dpm.c
4295
if (td == R600_TD_DOWN)
drivers/gpu/drm/radeon/r600_dpm.c
356
enum r600_td td)
drivers/gpu/drm/radeon/r600_dpm.c
358
if (td == R600_TD_AUTO)
drivers/gpu/drm/radeon/r600_dpm.c
362
if (td == R600_TD_UP)
drivers/gpu/drm/radeon/r600_dpm.c
364
if (td == R600_TD_DOWN)
drivers/gpu/drm/radeon/r600_dpm.h
157
void r600_select_td(struct radeon_device *rdev, enum r600_td td);
drivers/gpu/drm/radeon/rv770_dpm.c
849
enum r600_td td = R600_TD_DFLT;
drivers/gpu/drm/radeon/rv770_dpm.c
854
if (td == R600_TD_AUTO)
drivers/gpu/drm/radeon/rv770_dpm.c
858
if (td == R600_TD_UP)
drivers/gpu/drm/radeon/rv770_dpm.c
860
if (td == R600_TD_DOWN)
drivers/gpu/drm/radeon/si_dpm.c
3714
enum r600_td td = R600_TD_DFLT;
drivers/gpu/drm/radeon/si_dpm.c
3719
if (td == R600_TD_AUTO)
drivers/gpu/drm/radeon/si_dpm.c
3724
if (td == R600_TD_UP)
drivers/gpu/drm/radeon/si_dpm.c
3727
if (td == R600_TD_DOWN)
drivers/gpu/drm/radeon/sumo_dpm.c
431
enum r600_td td = R600_TD_DFLT;
drivers/gpu/drm/radeon/sumo_dpm.c
438
if (td == R600_TD_AUTO)
drivers/gpu/drm/radeon/sumo_dpm.c
443
if (td == R600_TD_UP)
drivers/gpu/drm/radeon/sumo_dpm.c
446
if (td == R600_TD_DOWN)
drivers/hid/hid-multitouch.c
1006
static int mt_compute_slot(struct mt_device *td, struct mt_application *app,
drivers/hid/hid-multitouch.c
1027
static void mt_release_pending_palms(struct mt_device *td,
drivers/hid/hid-multitouch.c
1034
for_each_set_bit(slotnum, app->pending_palm_slots, td->maxcontacts) {
drivers/hid/hid-multitouch.c
1036
clear_bit(slotnum, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
1054
static void mt_sync_frame(struct mt_device *td, struct mt_application *app,
drivers/hid/hid-multitouch.c
1064
mt_release_pending_palms(td, app, input);
drivers/hid/hid-multitouch.c
1068
if (td->is_haptic_touchpad)
drivers/hid/hid-multitouch.c
1069
hid_haptic_pressure_reset(td->haptic);
drivers/hid/hid-multitouch.c
1102
static int mt_process_slot(struct mt_device *td, struct input_dev *input,
drivers/hid/hid-multitouch.c
1107
struct hid_device *hdev = td->hdev;
drivers/hid/hid-multitouch.c
1135
slotnum = mt_compute_slot(td, app, slot, input);
drivers/hid/hid-multitouch.c
1136
if (slotnum < 0 || slotnum >= td->maxcontacts)
drivers/hid/hid-multitouch.c
1221
if (td->is_haptic_touchpad)
drivers/hid/hid-multitouch.c
1222
hid_haptic_pressure_increase(td->haptic, *slot->p);
drivers/hid/hid-multitouch.c
1247
set_bit(slotnum, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
1249
clear_bit(slotnum, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
1297
struct mt_device *td = hid_get_drvdata(hid);
drivers/hid/hid-multitouch.c
1310
if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
drivers/hid/hid-multitouch.c
1345
if (!mt_process_slot(td, input, app, slot))
drivers/hid/hid-multitouch.c
1363
mt_sync_frame(td, app, input);
drivers/hid/hid-multitouch.c
1384
if (td->mt_io_flags & MT_IO_SLOTS_MASK)
drivers/hid/hid-multitouch.c
1385
mod_timer(&td->release_timer,
drivers/hid/hid-multitouch.c
1388
timer_delete(&td->release_timer);
drivers/hid/hid-multitouch.c
1391
clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
1398
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
1399
struct mt_class *cls = &td->mtclass;
drivers/hid/hid-multitouch.c
1408
td->maxcontacts = cls->maxcontacts;
drivers/hid/hid-multitouch.c
1410
if (!td->maxcontacts)
drivers/hid/hid-multitouch.c
1411
td->maxcontacts = MT_DEFAULT_MAXCONTACT;
drivers/hid/hid-multitouch.c
1413
mt_post_parse(td, app);
drivers/hid/hid-multitouch.c
1414
if (td->serial_maybe)
drivers/hid/hid-multitouch.c
1415
mt_post_parse_default_settings(td, app);
drivers/hid/hid-multitouch.c
1427
if (td->is_haptic_touchpad)
drivers/hid/hid-multitouch.c
1436
td->is_buttonpad = true;
drivers/hid/hid-multitouch.c
1438
if (td->is_buttonpad)
drivers/hid/hid-multitouch.c
1440
if (td->is_pressurepad)
drivers/hid/hid-multitouch.c
1444
BITS_TO_LONGS(td->maxcontacts),
drivers/hid/hid-multitouch.c
1450
ret = input_mt_init_slots(input, td->maxcontacts, app->mt_flags);
drivers/hid/hid-multitouch.c
1464
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
1469
rdata = mt_find_report_data(td, field->report);
drivers/hid/hid-multitouch.c
1483
if (!td->mtclass.export_all_inputs &&
drivers/hid/hid-multitouch.c
1530
ret = hid_haptic_input_mapping(hdev, td->haptic, hi, field, usage, bit,
drivers/hid/hid-multitouch.c
1543
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
1546
rdata = mt_find_report_data(td, field->report);
drivers/hid/hid-multitouch.c
1559
struct mt_device *td = hid_get_drvdata(hid);
drivers/hid/hid-multitouch.c
1562
rdata = mt_find_report_data(td, field->report);
drivers/hid/hid-multitouch.c
1603
struct mt_device *td = hid_get_drvdata(hid);
drivers/hid/hid-multitouch.c
1610
rdata = mt_find_report_data(td, report);
drivers/hid/hid-multitouch.c
1657
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
1658
struct mt_class *cls = &td->mtclass;
drivers/hid/hid-multitouch.c
1689
field->value[index] = td->inputmode_value;
drivers/hid/hid-multitouch.c
1757
static void mt_post_parse_default_settings(struct mt_device *td,
drivers/hid/hid-multitouch.c
1774
static void mt_post_parse(struct mt_device *td, struct mt_application *app)
drivers/hid/hid-multitouch.c
1782
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
1789
if (td->is_haptic_touchpad && (td->mtclass.name == MT_CLS_WIN_8 ||
drivers/hid/hid-multitouch.c
1790
td->mtclass.name == MT_CLS_WIN_8_FORCE_MULTI_INPUT ||
drivers/hid/hid-multitouch.c
1791
td->mtclass.name == MT_CLS_WIN_8_KEEP_LATENCY_ON_CLOSE)) {
drivers/hid/hid-multitouch.c
1792
if (hid_haptic_input_configured(hdev, td->haptic, hi) == 0)
drivers/hid/hid-multitouch.c
1793
td->is_haptic_touchpad = false;
drivers/hid/hid-multitouch.c
1795
td->is_haptic_touchpad = false;
drivers/hid/hid-multitouch.c
1799
rdata = mt_find_report_data(td, report);
drivers/hid/hid-multitouch.c
1844
if (hi->report && td->mtclass.quirks & MT_QUIRK_YOGABOOK9I) {
drivers/hid/hid-multitouch.c
1909
struct mt_device *td = hid_get_drvdata(hid);
drivers/hid/hid-multitouch.c
1920
clear_bit(i, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
1927
list_for_each_entry(application, &td->applications, list) {
drivers/hid/hid-multitouch.c
193
static void mt_post_parse_default_settings(struct mt_device *td,
drivers/hid/hid-multitouch.c
1934
struct mt_device *td = timer_container_of(td, t, release_timer);
drivers/hid/hid-multitouch.c
1935
struct hid_device *hdev = td->hdev;
drivers/hid/hid-multitouch.c
1941
if (test_and_set_bit_lock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags))
drivers/hid/hid-multitouch.c
1943
if (td->mt_io_flags & MT_IO_SLOTS_MASK)
drivers/hid/hid-multitouch.c
1945
clear_bit_unlock(MT_IO_FLAGS_RUNNING, &td->mt_io_flags);
drivers/hid/hid-multitouch.c
195
static void mt_post_parse(struct mt_device *td, struct mt_application *app);
drivers/hid/hid-multitouch.c
1951
struct mt_device *td;
drivers/hid/hid-multitouch.c
1961
td = devm_kzalloc(&hdev->dev, sizeof(struct mt_device), GFP_KERNEL);
drivers/hid/hid-multitouch.c
1962
if (!td) {
drivers/hid/hid-multitouch.c
1966
td->haptic = devm_kzalloc(&hdev->dev, sizeof(*(td->haptic)), GFP_KERNEL);
drivers/hid/hid-multitouch.c
1967
if (!td->haptic)
drivers/hid/hid-multitouch.c
1970
td->haptic->hdev = hdev;
drivers/hid/hid-multitouch.c
1971
td->hdev = hdev;
drivers/hid/hid-multitouch.c
1972
td->mtclass = *mtclass;
drivers/hid/hid-multitouch.c
1973
td->inputmode_value = MT_INPUTMODE_TOUCHSCREEN;
drivers/hid/hid-multitouch.c
1974
hid_set_drvdata(hdev, td);
drivers/hid/hid-multitouch.c
1976
INIT_LIST_HEAD(&td->applications);
drivers/hid/hid-multitouch.c
1977
INIT_LIST_HEAD(&td->reports);
drivers/hid/hid-multitouch.c
1980
td->serial_maybe = true;
drivers/hid/hid-multitouch.c
1989
td->mtclass.quirks = MT_QUIRK_ORIENTATION_INVERT;
drivers/hid/hid-multitouch.c
2011
timer_setup(&td->release_timer, mt_expired_timeout, 0);
drivers/hid/hid-multitouch.c
2039
if (td->is_haptic_touchpad) {
drivers/hid/hid-multitouch.c
2040
if (hid_haptic_init(hdev, &td->haptic)) {
drivers/hid/hid-multitouch.c
2043
td->is_haptic_touchpad = false;
drivers/hid/hid-multitouch.c
2044
devm_kfree(&hdev->dev, td->haptic);
drivers/hid/hid-multitouch.c
2047
devm_kfree(&hdev->dev, td->haptic);
drivers/hid/hid-multitouch.c
2055
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
2058
if ((td->mtclass.quirks & MT_QUIRK_DISABLE_WAKEUP) ||
drivers/hid/hid-multitouch.c
2089
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
2091
timer_delete_sync(&td->release_timer);
drivers/hid/hid-multitouch.c
2104
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
2106
if (td->mtclass.quirks & MT_QUIRK_KEEP_LATENCY_ON_CLOSE)
drivers/hid/hid-multitouch.c
466
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
468
return sprintf(buf, "%u\n", td->mtclass.quirks);
drivers/hid/hid-multitouch.c
476
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
484
td->mtclass.quirks = val;
drivers/hid/hid-multitouch.c
486
list_for_each_entry(application, &td->applications, list) {
drivers/hid/hid-multitouch.c
548
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
554
td->maxcontacts = field->value[0];
drivers/hid/hid-multitouch.c
555
if (!td->maxcontacts &&
drivers/hid/hid-multitouch.c
557
td->maxcontacts = field->logical_maximum;
drivers/hid/hid-multitouch.c
558
if (td->mtclass.maxcontacts)
drivers/hid/hid-multitouch.c
560
td->maxcontacts = td->mtclass.maxcontacts;
drivers/hid/hid-multitouch.c
572
td->is_buttonpad = true;
drivers/hid/hid-multitouch.c
575
td->is_pressurepad = true;
drivers/hid/hid-multitouch.c
587
hid_haptic_feature_mapping(hdev, td->haptic, field, usage);
drivers/hid/hid-multitouch.c
628
static struct mt_application *mt_allocate_application(struct mt_device *td,
drivers/hid/hid-multitouch.c
634
mt_application = devm_kzalloc(&td->hdev->dev, sizeof(*mt_application),
drivers/hid/hid-multitouch.c
650
td->inputmode_value = MT_INPUTMODE_TOUCHPAD;
drivers/hid/hid-multitouch.c
655
mt_application->quirks = td->mtclass.quirks;
drivers/hid/hid-multitouch.c
658
list_add_tail(&mt_application->list, &td->applications);
drivers/hid/hid-multitouch.c
663
static struct mt_application *mt_find_application(struct mt_device *td,
drivers/hid/hid-multitouch.c
669
list_for_each_entry(tmp, &td->applications, list) {
drivers/hid/hid-multitouch.c
671
if (!(td->mtclass.quirks & MT_QUIRK_SEPARATE_APP_REPORT) ||
drivers/hid/hid-multitouch.c
680
mt_application = mt_allocate_application(td, report);
drivers/hid/hid-multitouch.c
685
static struct mt_report_data *mt_allocate_report_data(struct mt_device *td,
drivers/hid/hid-multitouch.c
688
struct mt_class *cls = &td->mtclass;
drivers/hid/hid-multitouch.c
693
rdata = devm_kzalloc(&td->hdev->dev, sizeof(*rdata), GFP_KERNEL);
drivers/hid/hid-multitouch.c
698
rdata->application = mt_find_application(td, report);
drivers/hid/hid-multitouch.c
701
devm_kfree(&td->hdev->dev, rdata);
drivers/hid/hid-multitouch.c
711
if (field->logical == HID_DG_FINGER || td->hdev->group != HID_GROUP_MULTITOUCH_WIN_8) {
drivers/hid/hid-multitouch.c
725
list_add_tail(&rdata->list, &td->reports);
drivers/hid/hid-multitouch.c
730
static struct mt_report_data *mt_find_report_data(struct mt_device *td,
drivers/hid/hid-multitouch.c
735
list_for_each_entry(tmp, &td->reports, list) {
drivers/hid/hid-multitouch.c
743
rdata = mt_allocate_report_data(td, report);
drivers/hid/hid-multitouch.c
798
struct mt_device *td = hid_get_drvdata(hdev);
drivers/hid/hid-multitouch.c
799
struct mt_class *cls = &td->mtclass;
drivers/hid/hid-multitouch.c
809
td->inputmode_value = MT_INPUTMODE_TOUCHPAD;
drivers/hid/hid-multitouch.c
944
td->is_haptic_touchpad =
drivers/hid/hid-multitouch.c
945
hid_haptic_check_pressure_unit(td->haptic,
drivers/infiniband/hw/mlx5/main.c
2008
int mlx5_ib_enable_lb(struct mlx5_ib_dev *dev, bool td, bool qp)
drivers/infiniband/hw/mlx5/main.c
2016
if (td)
drivers/infiniband/hw/mlx5/main.c
2034
void mlx5_ib_disable_lb(struct mlx5_ib_dev *dev, bool td, bool qp)
drivers/infiniband/hw/mlx5/main.c
2040
if (td)
drivers/infiniband/hw/mlx5/mlx5_ib.h
1355
int mlx5_ib_enable_lb(struct mlx5_ib_dev *dev, bool td, bool qp);
drivers/infiniband/hw/mlx5/mlx5_ib.h
1356
void mlx5_ib_disable_lb(struct mlx5_ib_dev *dev, bool td, bool qp);
drivers/md/dm-thin-metadata.c
1001
list_for_each_entry_safe(td, tmp, &pmd->thin_devices, list) {
drivers/md/dm-thin-metadata.c
1002
if (td->open_count)
drivers/md/dm-thin-metadata.c
1005
list_del(&td->list);
drivers/md/dm-thin-metadata.c
1006
kfree(td);
drivers/md/dm-thin-metadata.c
1038
struct dm_thin_device **td)
drivers/md/dm-thin-metadata.c
1057
*td = td2;
drivers/md/dm-thin-metadata.c
1080
*td = kmalloc_obj(**td, GFP_NOIO);
drivers/md/dm-thin-metadata.c
1081
if (!*td)
drivers/md/dm-thin-metadata.c
1084
(*td)->pmd = pmd;
drivers/md/dm-thin-metadata.c
1085
(*td)->id = dev;
drivers/md/dm-thin-metadata.c
1086
(*td)->open_count = 1;
drivers/md/dm-thin-metadata.c
1087
(*td)->changed = changed;
drivers/md/dm-thin-metadata.c
1088
(*td)->aborted_with_changes = false;
drivers/md/dm-thin-metadata.c
1089
(*td)->mapped_blocks = le64_to_cpu(details_le.mapped_blocks);
drivers/md/dm-thin-metadata.c
1090
(*td)->transaction_id = le64_to_cpu(details_le.transaction_id);
drivers/md/dm-thin-metadata.c
1091
(*td)->creation_time = le32_to_cpu(details_le.creation_time);
drivers/md/dm-thin-metadata.c
1092
(*td)->snapshotted_time = le32_to_cpu(details_le.snapshotted_time);
drivers/md/dm-thin-metadata.c
1094
list_add(&(*td)->list, &pmd->thin_devices);
drivers/md/dm-thin-metadata.c
1099
static void __close_device(struct dm_thin_device *td)
drivers/md/dm-thin-metadata.c
1101
--td->open_count;
drivers/md/dm-thin-metadata.c
1110
struct dm_thin_device *td;
drivers/md/dm-thin-metadata.c
1136
r = __open_device(pmd, dev, 1, &td);
drivers/md/dm-thin-metadata.c
1142
__close_device(td);
drivers/md/dm-thin-metadata.c
1164
struct dm_thin_device *td;
drivers/md/dm-thin-metadata.c
1166
r = __open_device(pmd, origin, 0, &td);
drivers/md/dm-thin-metadata.c
1170
td->changed = true;
drivers/md/dm-thin-metadata.c
1171
td->snapshotted_time = time;
drivers/md/dm-thin-metadata.c
1173
snap->mapped_blocks = td->mapped_blocks;
drivers/md/dm-thin-metadata.c
1175
__close_device(td);
drivers/md/dm-thin-metadata.c
1186
struct dm_thin_device *td;
drivers/md/dm-thin-metadata.c
1216
r = __open_device(pmd, dev, 1, &td);
drivers/md/dm-thin-metadata.c
1220
r = __set_snapshot_details(pmd, td, origin, pmd->time);
drivers/md/dm-thin-metadata.c
1221
__close_device(td);
drivers/md/dm-thin-metadata.c
1253
struct dm_thin_device *td;
drivers/md/dm-thin-metadata.c
1256
r = __open_device(pmd, dev, 0, &td);
drivers/md/dm-thin-metadata.c
1260
if (td->open_count > 1) {
drivers/md/dm-thin-metadata.c
1261
__close_device(td);
drivers/md/dm-thin-metadata.c
1265
list_del(&td->list);
drivers/md/dm-thin-metadata.c
1266
kfree(td);
drivers/md/dm-thin-metadata.c
1496
struct dm_thin_device **td)
drivers/md/dm-thin-metadata.c
1502
r = __open_device(pmd, dev, 0, td);
drivers/md/dm-thin-metadata.c
1508
int dm_pool_close_thin_device(struct dm_thin_device *td)
drivers/md/dm-thin-metadata.c
1510
pmd_write_lock_in_core(td->pmd);
drivers/md/dm-thin-metadata.c
1511
__close_device(td);
drivers/md/dm-thin-metadata.c
1512
pmd_write_unlock(td->pmd);
drivers/md/dm-thin-metadata.c
1517
dm_thin_id dm_thin_dev_id(struct dm_thin_device *td)
drivers/md/dm-thin-metadata.c
1519
return td->id;
drivers/md/dm-thin-metadata.c
1528
static bool __snapshotted_since(struct dm_thin_device *td, uint32_t time)
drivers/md/dm-thin-metadata.c
1530
return td->snapshotted_time > time;
drivers/md/dm-thin-metadata.c
1533
static void unpack_lookup_result(struct dm_thin_device *td, __le64 value,
drivers/md/dm-thin-metadata.c
1543
result->shared = __snapshotted_since(td, exception_time);
drivers/md/dm-thin-metadata.c
1546
static int __find_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.c
1551
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1552
dm_block_t keys[2] = { td->id, block };
drivers/md/dm-thin-metadata.c
1562
unpack_lookup_result(td, value, result);
drivers/md/dm-thin-metadata.c
1567
int dm_thin_find_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.c
1571
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1579
r = __find_block(td, block, can_issue_io, result);
drivers/md/dm-thin-metadata.c
1585
static int __find_next_mapped_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.c
1591
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1592
dm_block_t keys[2] = { td->id, block };
drivers/md/dm-thin-metadata.c
1596
unpack_lookup_result(td, value, result);
drivers/md/dm-thin-metadata.c
1601
static int __find_mapped_range(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.c
1613
r = __find_next_mapped_block(td, begin, &begin, &lookup);
drivers/md/dm-thin-metadata.c
1627
r = __find_block(td, begin, true, &lookup);
drivers/md/dm-thin-metadata.c
1647
int dm_thin_find_mapped_range(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.c
1653
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1657
r = __find_mapped_range(td, begin, end, thin_begin, thin_end,
drivers/md/dm-thin-metadata.c
1665
static int __insert(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.c
1670
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1671
dm_block_t keys[2] = { td->id, block };
drivers/md/dm-thin-metadata.c
1681
td->changed = true;
drivers/md/dm-thin-metadata.c
1683
td->mapped_blocks++;
drivers/md/dm-thin-metadata.c
1688
int dm_thin_insert_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.c
1693
pmd_write_lock(td->pmd);
drivers/md/dm-thin-metadata.c
1694
if (!td->pmd->fail_io)
drivers/md/dm-thin-metadata.c
1695
r = __insert(td, block, data_block);
drivers/md/dm-thin-metadata.c
1696
pmd_write_unlock(td->pmd);
drivers/md/dm-thin-metadata.c
1701
static int __remove_range(struct dm_thin_device *td, dm_block_t begin, dm_block_t end)
drivers/md/dm-thin-metadata.c
1705
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1706
dm_block_t keys[1] = { td->id };
drivers/md/dm-thin-metadata.c
1749
td->mapped_blocks -= total_count;
drivers/md/dm-thin-metadata.c
1750
td->changed = true;
drivers/md/dm-thin-metadata.c
1760
int dm_thin_remove_range(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.c
1765
pmd_write_lock(td->pmd);
drivers/md/dm-thin-metadata.c
1766
if (!td->pmd->fail_io)
drivers/md/dm-thin-metadata.c
1767
r = __remove_range(td, begin, end);
drivers/md/dm-thin-metadata.c
1768
pmd_write_unlock(td->pmd);
drivers/md/dm-thin-metadata.c
1813
bool dm_thin_changed_this_transaction(struct dm_thin_device *td)
drivers/md/dm-thin-metadata.c
1817
down_read(&td->pmd->root_lock);
drivers/md/dm-thin-metadata.c
1818
r = td->changed;
drivers/md/dm-thin-metadata.c
1819
up_read(&td->pmd->root_lock);
drivers/md/dm-thin-metadata.c
1827
struct dm_thin_device *td, *tmp;
drivers/md/dm-thin-metadata.c
1830
list_for_each_entry_safe(td, tmp, &pmd->thin_devices, list) {
drivers/md/dm-thin-metadata.c
1831
if (td->changed) {
drivers/md/dm-thin-metadata.c
1832
r = td->changed;
drivers/md/dm-thin-metadata.c
1841
bool dm_thin_aborted_changes(struct dm_thin_device *td)
drivers/md/dm-thin-metadata.c
1845
down_read(&td->pmd->root_lock);
drivers/md/dm-thin-metadata.c
1846
r = td->aborted_with_changes;
drivers/md/dm-thin-metadata.c
1847
up_read(&td->pmd->root_lock);
drivers/md/dm-thin-metadata.c
1891
struct dm_thin_device *td;
drivers/md/dm-thin-metadata.c
1893
list_for_each_entry(td, &pmd->thin_devices, list)
drivers/md/dm-thin-metadata.c
1894
td->aborted_with_changes = td->changed;
drivers/md/dm-thin-metadata.c
1983
int dm_thin_get_mapped_count(struct dm_thin_device *td, dm_block_t *result)
drivers/md/dm-thin-metadata.c
1986
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
1990
*result = td->mapped_blocks;
drivers/md/dm-thin-metadata.c
1998
static int __highest_block(struct dm_thin_device *td, dm_block_t *result)
drivers/md/dm-thin-metadata.c
2003
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
2005
r = dm_btree_lookup(&pmd->tl_info, pmd->root, &td->id, &value_le);
drivers/md/dm-thin-metadata.c
2014
int dm_thin_get_highest_mapped_block(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.c
2018
struct dm_pool_metadata *pmd = td->pmd;
drivers/md/dm-thin-metadata.c
2022
r = __highest_block(td, result);
drivers/md/dm-thin-metadata.c
852
struct dm_thin_device *td, *tmp;
drivers/md/dm-thin-metadata.c
856
list_for_each_entry_safe(td, tmp, &pmd->thin_devices, list) {
drivers/md/dm-thin-metadata.c
857
if (!td->changed)
drivers/md/dm-thin-metadata.c
860
key = td->id;
drivers/md/dm-thin-metadata.c
862
details.mapped_blocks = cpu_to_le64(td->mapped_blocks);
drivers/md/dm-thin-metadata.c
863
details.transaction_id = cpu_to_le64(td->transaction_id);
drivers/md/dm-thin-metadata.c
864
details.creation_time = cpu_to_le32(td->creation_time);
drivers/md/dm-thin-metadata.c
865
details.snapshotted_time = cpu_to_le32(td->snapshotted_time);
drivers/md/dm-thin-metadata.c
873
if (td->open_count)
drivers/md/dm-thin-metadata.c
874
td->changed = false;
drivers/md/dm-thin-metadata.c
876
list_del(&td->list);
drivers/md/dm-thin-metadata.c
877
kfree(td);
drivers/md/dm-thin-metadata.c
998
struct dm_thin_device *td, *tmp;
drivers/md/dm-thin-metadata.h
130
struct dm_thin_device **td);
drivers/md/dm-thin-metadata.h
132
int dm_pool_close_thin_device(struct dm_thin_device *td);
drivers/md/dm-thin-metadata.h
134
dm_thin_id dm_thin_dev_id(struct dm_thin_device *td);
drivers/md/dm-thin-metadata.h
147
int dm_thin_find_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.h
154
int dm_thin_find_mapped_range(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.h
167
int dm_thin_insert_block(struct dm_thin_device *td, dm_block_t block,
drivers/md/dm-thin-metadata.h
170
int dm_thin_remove_range(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.h
176
bool dm_thin_changed_this_transaction(struct dm_thin_device *td);
drivers/md/dm-thin-metadata.h
180
bool dm_thin_aborted_changes(struct dm_thin_device *td);
drivers/md/dm-thin-metadata.h
182
int dm_thin_get_highest_mapped_block(struct dm_thin_device *td,
drivers/md/dm-thin-metadata.h
185
int dm_thin_get_mapped_count(struct dm_thin_device *td, dm_block_t *result);
drivers/md/dm-thin.c
1009
r = dm_thin_insert_block(tc->td, m->virt_begin, m->data_block);
drivers/md/dm-thin.c
1064
r = dm_thin_remove_range(tc->td, m->cell->key.block_begin, m->cell->key.block_end);
drivers/md/dm-thin.c
1158
r = dm_thin_remove_range(tc->td, m->virt_begin, m->virt_end);
drivers/md/dm-thin.c
121
static bool build_key(struct dm_thin_device *td, enum lock_space ls,
drivers/md/dm-thin.c
125
key->dev = dm_thin_dev_id(td);
drivers/md/dm-thin.c
132
static void build_data_key(struct dm_thin_device *td, dm_block_t b,
drivers/md/dm-thin.c
135
(void) build_key(td, PHYSICAL, b, b + 1llu, key);
drivers/md/dm-thin.c
138
static void build_virtual_key(struct dm_thin_device *td, dm_block_t b,
drivers/md/dm-thin.c
141
(void) build_key(td, VIRTUAL, b, b + 1llu, key);
drivers/md/dm-thin.c
1678
r = dm_thin_find_mapped_range(tc->td, begin, end, &virt_begin, &virt_end,
drivers/md/dm-thin.c
1703
(void) build_key(tc->td, PHYSICAL, data_begin, data_begin + len, &data_key);
drivers/md/dm-thin.c
1779
if (unlikely(!build_key(tc->td, VIRTUAL, begin, end, &virt_key))) {
drivers/md/dm-thin.c
1881
build_data_key(tc->td, lookup_result->block, &key);
drivers/md/dm-thin.c
1964
r = dm_thin_find_block(tc->td, block, 1, &lookup_result);
drivers/md/dm-thin.c
2017
build_virtual_key(tc->td, block, &key);
drivers/md/dm-thin.c
2032
r = dm_thin_find_block(tc->td, block, 1, &lookup_result);
drivers/md/dm-thin.c
2724
struct dm_thin_device *td = tc->td;
drivers/md/dm-thin.c
2751
build_virtual_key(tc->td, block, &key);
drivers/md/dm-thin.c
2755
r = dm_thin_find_block(td, block, 0, &result);
drivers/md/dm-thin.c
2781
build_data_key(tc->td, result.block, &key);
drivers/md/dm-thin.c
347
struct dm_thin_device *td;
drivers/md/dm-thin.c
4160
dm_pool_close_thin_device(tc->td);
drivers/md/dm-thin.c
4258
r = dm_pool_open_thin_device(tc->pool->pmd, tc->dev_id, &tc->td);
drivers/md/dm-thin.c
4308
dm_pool_close_thin_device(tc->td);
drivers/md/dm-thin.c
4415
if (!tc->td)
drivers/md/dm-thin.c
4420
r = dm_thin_get_mapped_count(tc->td, &mapped);
drivers/md/dm-thin.c
4426
r = dm_thin_get_highest_mapped_block(tc->td, &highest);
drivers/md/dm-thin.c
738
dm_thin_changed_this_transaction(tc->td);
drivers/md/dm-thin.c
766
if (dm_thin_aborted_changes(tc->td)) {
drivers/md/dm-thin.c
978
if (dm_thin_aborted_changes(tc->td)) {
drivers/md/dm.c
2245
struct table_device *td;
drivers/md/dm.c
2248
list_for_each_entry(td, &md->table_devices, list) {
drivers/md/dm.c
2249
bd_unlink_disk_holder(td->dm_dev.bdev,
drivers/md/dm.c
2586
struct table_device *td;
drivers/md/dm.c
2623
list_for_each_entry(td, &md->table_devices, list) {
drivers/md/dm.c
2624
r = bd_link_disk_holder(td->dm_dev.bdev, md->disk);
drivers/md/dm.c
2637
list_for_each_entry_continue_reverse(td, &md->table_devices, list)
drivers/md/dm.c
2638
bd_unlink_disk_holder(td->dm_dev.bdev, md->disk);
drivers/md/dm.c
727
struct table_device *td;
drivers/md/dm.c
733
td = kmalloc_node(sizeof(*td), GFP_KERNEL, md->numa_node_id);
drivers/md/dm.c
734
if (!td)
drivers/md/dm.c
736
refcount_set(&td->count, 1);
drivers/md/dm.c
757
td->dm_dev.mode = mode;
drivers/md/dm.c
758
td->dm_dev.bdev = bdev;
drivers/md/dm.c
759
td->dm_dev.bdev_file = bdev_file;
drivers/md/dm.c
760
td->dm_dev.dax_dev = fs_dax_get_by_bdev(bdev, &part_off,
drivers/md/dm.c
762
format_dev_t(td->dm_dev.name, dev);
drivers/md/dm.c
763
list_add(&td->list, &md->table_devices);
drivers/md/dm.c
764
return td;
drivers/md/dm.c
769
kfree(td);
drivers/md/dm.c
776
static void close_table_device(struct table_device *td, struct mapped_device *md)
drivers/md/dm.c
779
bd_unlink_disk_holder(td->dm_dev.bdev, md->disk);
drivers/md/dm.c
783
fput(td->dm_dev.bdev_file);
drivers/md/dm.c
785
__fput_sync(td->dm_dev.bdev_file);
drivers/md/dm.c
787
put_dax(td->dm_dev.dax_dev);
drivers/md/dm.c
788
list_del(&td->list);
drivers/md/dm.c
789
kfree(td);
drivers/md/dm.c
795
struct table_device *td;
drivers/md/dm.c
797
list_for_each_entry(td, l, list)
drivers/md/dm.c
798
if (td->dm_dev.bdev->bd_dev == dev && td->dm_dev.mode == mode)
drivers/md/dm.c
799
return td;
drivers/md/dm.c
807
struct table_device *td;
drivers/md/dm.c
810
td = find_table_device(&md->table_devices, dev, mode);
drivers/md/dm.c
811
if (!td) {
drivers/md/dm.c
812
td = open_table_device(md, dev, mode);
drivers/md/dm.c
813
if (IS_ERR(td)) {
drivers/md/dm.c
815
return PTR_ERR(td);
drivers/md/dm.c
818
refcount_inc(&td->count);
drivers/md/dm.c
822
*result = &td->dm_dev;
drivers/md/dm.c
828
struct table_device *td = container_of(d, struct table_device, dm_dev);
drivers/md/dm.c
831
if (refcount_dec_and_test(&td->count))
drivers/md/dm.c
832
close_table_device(td, md);
drivers/media/platform/st/sti/hva/hva-h264.c
396
struct hva_h264_td td;
drivers/media/platform/st/sti/hva/hva-h264.c
598
struct hva_h264_td *td = &task->td;
drivers/media/platform/st/sti/hva/hva-h264.c
626
memset(td, 0, sizeof(struct hva_h264_td));
drivers/media/platform/st/sti/hva/hva-h264.c
628
td->frame_width = frame_width;
drivers/media/platform/st/sti/hva/hva-h264.c
629
td->frame_height = frame_height;
drivers/media/platform/st/sti/hva/hva-h264.c
632
td->window_width = frame_width;
drivers/media/platform/st/sti/hva/hva-h264.c
633
td->window_height = frame_height;
drivers/media/platform/st/sti/hva/hva-h264.c
634
td->window_horizontal_offset = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
635
td->window_vertical_offset = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
637
td->first_picture_in_sequence = (!frame_num) ? 1 : 0;
drivers/media/platform/st/sti/hva/hva-h264.c
640
td->pic_order_cnt_type = 2;
drivers/media/platform/st/sti/hva/hva-h264.c
643
td->use_constrained_intra_flag = false;
drivers/media/platform/st/sti/hva/hva-h264.c
644
td->brc_type = (ctrls->bitrate_mode == V4L2_MPEG_VIDEO_BITRATE_MODE_CBR)
drivers/media/platform/st/sti/hva/hva-h264.c
647
td->entropy_coding_mode = (ctrls->entropy_mode == cavlc) ? CAVLC :
drivers/media/platform/st/sti/hva/hva-h264.c
650
td->bit_rate = ctrls->bitrate;
drivers/media/platform/st/sti/hva/hva-h264.c
658
td->framerate_den = 1;
drivers/media/platform/st/sti/hva/hva-h264.c
659
td->framerate_num = (time_per_frame->denominator +
drivers/media/platform/st/sti/hva/hva-h264.c
668
td->bit_rate /= time_per_frame->numerator;
drivers/media/platform/st/sti/hva/hva-h264.c
669
td->bit_rate *= time_per_frame->denominator;
drivers/media/platform/st/sti/hva/hva-h264.c
670
td->bit_rate /= td->framerate_num;
drivers/media/platform/st/sti/hva/hva-h264.c
672
td->framerate_den = time_per_frame->numerator;
drivers/media/platform/st/sti/hva/hva-h264.c
673
td->framerate_num = time_per_frame->denominator;
drivers/media/platform/st/sti/hva/hva-h264.c
685
if (td->bit_rate > max_bitrate) {
drivers/media/platform/st/sti/hva/hva-h264.c
688
pctx->name, td->bit_rate, max_bitrate);
drivers/media/platform/st/sti/hva/hva-h264.c
689
td->bit_rate = max_bitrate;
drivers/media/platform/st/sti/hva/hva-h264.c
693
td->cpb_buffer_size = ctrls->cpb_size * 8000;
drivers/media/platform/st/sti/hva/hva-h264.c
704
if (td->cpb_buffer_size > max_cpb_buffer_size) {
drivers/media/platform/st/sti/hva/hva-h264.c
707
pctx->name, td->cpb_buffer_size, max_cpb_buffer_size);
drivers/media/platform/st/sti/hva/hva-h264.c
708
td->cpb_buffer_size = max_cpb_buffer_size;
drivers/media/platform/st/sti/hva/hva-h264.c
712
td->brc_no_skip = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
716
td->bit_rate)
drivers/media/platform/st/sti/hva/hva-h264.c
717
td->delay = 1000 * (td->cpb_buffer_size / td->bit_rate);
drivers/media/platform/st/sti/hva/hva-h264.c
719
td->delay = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
723
td->sampling_mode = SAMPLING_MODE_NV12;
drivers/media/platform/st/sti/hva/hva-h264.c
726
td->sampling_mode = SAMPLING_MODE_NV21;
drivers/media/platform/st/sti/hva/hva-h264.c
741
td->rgb2_yuv_y_coeff = 0x12031008;
drivers/media/platform/st/sti/hva/hva-h264.c
742
td->rgb2_yuv_u_coeff = 0x800EF7FB;
drivers/media/platform/st/sti/hva/hva-h264.c
743
td->rgb2_yuv_v_coeff = 0x80FEF40E;
drivers/media/platform/st/sti/hva/hva-h264.c
746
td->transform_mode = ctrls->dct8x8;
drivers/media/platform/st/sti/hva/hva-h264.c
749
td->encoder_complexity = 2;
drivers/media/platform/st/sti/hva/hva-h264.c
752
td->quant = 28;
drivers/media/platform/st/sti/hva/hva-h264.c
754
if (td->framerate_den == 0) {
drivers/media/platform/st/sti/hva/hva-h264.c
761
if (td->framerate_num == 0)
drivers/media/platform/st/sti/hva/hva-h264.c
762
td->brc_type = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
765
td->strict_hrd_compliancy = 1;
drivers/media/platform/st/sti/hva/hva-h264.c
768
td->qp_min = clamp_val(ctrls->qpmin, 0, 51);
drivers/media/platform/st/sti/hva/hva-h264.c
769
td->qp_max = clamp_val(ctrls->qpmax, 0, 51);
drivers/media/platform/st/sti/hva/hva-h264.c
771
td->addr_source_buffer = frame->paddr;
drivers/media/platform/st/sti/hva/hva-h264.c
772
td->addr_fwd_ref_buffer = fwd_ref_frame->paddr;
drivers/media/platform/st/sti/hva/hva-h264.c
773
td->addr_rec_buffer = loc_rec_frame->paddr;
drivers/media/platform/st/sti/hva/hva-h264.c
775
td->addr_output_bitstream_end = (u32)stream->paddr + stream->size;
drivers/media/platform/st/sti/hva/hva-h264.c
777
td->addr_output_bitstream_start = (u32)stream->paddr;
drivers/media/platform/st/sti/hva/hva-h264.c
778
td->bitstream_offset = (((u32)stream->paddr & 0xF) << 3) &
drivers/media/platform/st/sti/hva/hva-h264.c
781
td->addr_param_out = (u32)ctx->task->paddr +
drivers/media/platform/st/sti/hva/hva-h264.c
787
td->addr_spatial_context = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
790
td->addr_temporal_context = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
793
td->addr_temporal_context = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
796
td->addr_spatial_context = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
801
td->addr_brc_in_out_parameter = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
803
paddr = td->addr_brc_in_out_parameter + BRC_DATA_SIZE;
drivers/media/platform/st/sti/hva/hva-h264.c
804
td->addr_slice_header = ALIGN(paddr, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
805
td->addr_external_sw = ALIGN(addr_esram, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
808
td->addr_local_rec_buffer = ALIGN(addr_esram, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
811
td->addr_lctx = ALIGN(addr_esram, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
814
td->addr_cabac_context_buffer = ALIGN(addr_esram, 0x100);
drivers/media/platform/st/sti/hva/hva-h264.c
817
td->picture_coding_type = PICTURE_CODING_TYPE_I;
drivers/media/platform/st/sti/hva/hva-h264.c
820
td->picture_coding_type = PICTURE_CODING_TYPE_P;
drivers/media/platform/st/sti/hva/hva-h264.c
825
slice_header_vaddr = seq_info->vaddr + (td->addr_slice_header -
drivers/media/platform/st/sti/hva/hva-h264.c
829
&td->slice_header_size_in_bits,
drivers/media/platform/st/sti/hva/hva-h264.c
830
&td->slice_header_offset0,
drivers/media/platform/st/sti/hva/hva-h264.c
831
&td->slice_header_offset1,
drivers/media/platform/st/sti/hva/hva-h264.c
832
&td->slice_header_offset2);
drivers/media/platform/st/sti/hva/hva-h264.c
834
td->chroma_qp_index_offset = 2;
drivers/media/platform/st/sti/hva/hva-h264.c
835
td->slice_synchro_enable = 0;
drivers/media/platform/st/sti/hva/hva-h264.c
836
td->max_slice_number = 1;
drivers/media/platform/st/sti/hva/hva-h264.c
864
td->non_vcl_nalu_size = payload * 8;
drivers/media/platform/st/sti/hva/hva-h264.c
867
td->addr_output_bitstream_start += ((payload >> 4) << 4);
drivers/media/platform/st/sti/hva/hva-h264.c
868
td->bitstream_offset += (payload - ((payload >> 4) << 4)) * 8;
drivers/mmc/host/sdhci_am654.c
106
static const struct timing_data td[] = {
drivers/mmc/host/sdhci_am654.c
144
u32 otap_del_sel[ARRAY_SIZE(td)];
drivers/mmc/host/sdhci_am654.c
145
u32 itap_del_sel[ARRAY_SIZE(td)];
drivers/mmc/host/sdhci_am654.c
146
u32 itap_del_ena[ARRAY_SIZE(td)];
drivers/mmc/host/sdhci_am654.c
734
ret = device_property_read_u32(dev, td[i].otap_binding,
drivers/mmc/host/sdhci_am654.c
742
td[i].otap_binding);
drivers/mmc/host/sdhci_am654.c
748
host->mmc->caps &= ~td[i].capability;
drivers/mmc/host/sdhci_am654.c
750
host->mmc->caps2 &= ~td[i].capability;
drivers/mmc/host/sdhci_am654.c
753
if (td[i].itap_binding) {
drivers/mmc/host/sdhci_am654.c
754
ret = device_property_read_u32(dev, td[i].itap_binding,
drivers/mtd/nand/onenand/onenand_bbt.c
32
static int check_short_pattern(uint8_t *buf, int len, int paglen, struct nand_bbt_descr *td)
drivers/mtd/nand/onenand/onenand_bbt.c
38
for (i = 0; i < td->len; i++) {
drivers/mtd/nand/onenand/onenand_bbt.c
39
if (p[i] != td->pattern[i])
drivers/mtd/nand/raw/nand_bbt.c
1004
if (!(td->options & NAND_BBT_CREATE))
drivers/mtd/nand/raw/nand_bbt.c
1011
td->version[i] = 1;
drivers/mtd/nand/raw/nand_bbt.c
1045
td->version[i] = max(td->version[i], md->version[i]);
drivers/mtd/nand/raw/nand_bbt.c
1046
md->version[i] = td->version[i];
drivers/mtd/nand/raw/nand_bbt.c
1050
if ((writeops & 0x01) && (td->options & NAND_BBT_WRITE)) {
drivers/mtd/nand/raw/nand_bbt.c
1051
res = write_bbt(this, buf, td, md, chipsel);
drivers/mtd/nand/raw/nand_bbt.c
1058
res = write_bbt(this, buf, md, td, chipsel);
drivers/mtd/nand/raw/nand_bbt.c
107
static int check_pattern(uint8_t *buf, int len, int paglen, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
1079
struct nand_bbt_descr *td = this->bbt_td;
drivers/mtd/nand/raw/nand_bbt.c
1082
if (!this->bbt || !td)
drivers/mtd/nand/raw/nand_bbt.c
109
if (td->options & NAND_BBT_NO_OOB)
drivers/mtd/nand/raw/nand_bbt.c
1093
if (td->options & NAND_BBT_PERCHIP) {
drivers/mtd/nand/raw/nand_bbt.c
110
return check_pattern_no_oob(buf, td);
drivers/mtd/nand/raw/nand_bbt.c
1101
td->version[chip]++;
drivers/mtd/nand/raw/nand_bbt.c
1106
if (td->options & NAND_BBT_WRITE) {
drivers/mtd/nand/raw/nand_bbt.c
1107
res = write_bbt(this, buf, td, md, chipsel);
drivers/mtd/nand/raw/nand_bbt.c
1113
res = write_bbt(this, buf, md, td, chipsel);
drivers/mtd/nand/raw/nand_bbt.c
1129
static void mark_bbt_region(struct nand_chip *this, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
113
if (memcmp(buf + paglen + td->offs, td->pattern, td->len))
drivers/mtd/nand/raw/nand_bbt.c
1137
if (td->options & NAND_BBT_PERCHIP) {
drivers/mtd/nand/raw/nand_bbt.c
1146
if ((td->options & NAND_BBT_ABSPAGE) ||
drivers/mtd/nand/raw/nand_bbt.c
1147
!(td->options & NAND_BBT_WRITE)) {
drivers/mtd/nand/raw/nand_bbt.c
1148
if (td->pages[i] == -1)
drivers/mtd/nand/raw/nand_bbt.c
1150
block = td->pages[i] >> (this->bbt_erase_shift - this->page_shift);
drivers/mtd/nand/raw/nand_bbt.c
1154
td->reserved_block_code)
drivers/mtd/nand/raw/nand_bbt.c
1160
if (td->options & NAND_BBT_LASTBLOCK)
drivers/mtd/nand/raw/nand_bbt.c
1161
block = ((i + 1) * nrblocks) - td->maxblocks;
drivers/mtd/nand/raw/nand_bbt.c
1164
for (j = 0; j < td->maxblocks; j++) {
drivers/mtd/nand/raw/nand_bbt.c
1176
if (update && td->reserved_block_code)
drivers/mtd/nand/raw/nand_bbt.c
1248
struct nand_bbt_descr *td = this->bbt_td;
drivers/mtd/nand/raw/nand_bbt.c
1264
if (!td) {
drivers/mtd/nand/raw/nand_bbt.c
1271
verify_bbt_descr(this, td);
drivers/mtd/nand/raw/nand_bbt.c
128
static int check_short_pattern(uint8_t *buf, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
1284
if (td->options & NAND_BBT_ABSPAGE) {
drivers/mtd/nand/raw/nand_bbt.c
1285
read_abs_bbts(this, buf, td, md);
drivers/mtd/nand/raw/nand_bbt.c
1288
search_read_bbts(this, buf, td, md);
drivers/mtd/nand/raw/nand_bbt.c
1296
mark_bbt_region(this, td);
drivers/mtd/nand/raw/nand_bbt.c
131
if (memcmp(buf + td->offs, td->pattern, td->len))
drivers/mtd/nand/raw/nand_bbt.c
142
static u32 add_marker_len(struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
146
if (!(td->options & NAND_BBT_NO_OOB))
drivers/mtd/nand/raw/nand_bbt.c
149
len = td->len;
drivers/mtd/nand/raw/nand_bbt.c
150
if (td->options & NAND_BBT_VERSION)
drivers/mtd/nand/raw/nand_bbt.c
167
struct nand_bbt_descr *td, int offs)
drivers/mtd/nand/raw/nand_bbt.c
173
int bits = td->options & NAND_BBT_NRBITS_MSK;
drivers/mtd/nand/raw/nand_bbt.c
176
int reserved_block_code = td->reserved_block_code;
drivers/mtd/nand/raw/nand_bbt.c
179
marker_len = add_marker_len(td);
drivers/mtd/nand/raw/nand_bbt.c
260
struct nand_bbt_descr *td, int chip)
drivers/mtd/nand/raw/nand_bbt.c
266
if (td->options & NAND_BBT_PERCHIP) {
drivers/mtd/nand/raw/nand_bbt.c
270
res = read_bbt(this, buf, td->pages[i],
drivers/mtd/nand/raw/nand_bbt.c
272
td, offs);
drivers/mtd/nand/raw/nand_bbt.c
278
res = read_bbt(this, buf, td->pages[0],
drivers/mtd/nand/raw/nand_bbt.c
279
mtd->size >> this->bbt_erase_shift, td, 0);
drivers/mtd/nand/raw/nand_bbt.c
288
struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
294
len = td->len;
drivers/mtd/nand/raw/nand_bbt.c
295
if (td->options & NAND_BBT_VERSION)
drivers/mtd/nand/raw/nand_bbt.c
344
size_t len, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
346
if (td->options & NAND_BBT_NO_OOB)
drivers/mtd/nand/raw/nand_bbt.c
347
return scan_read_data(this, buf, offs, td);
drivers/mtd/nand/raw/nand_bbt.c
369
static u32 bbt_get_ver_offs(struct nand_chip *this, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
372
u32 ver_offs = td->veroffs;
drivers/mtd/nand/raw/nand_bbt.c
374
if (!(td->options & NAND_BBT_NO_OOB))
drivers/mtd/nand/raw/nand_bbt.c
390
struct nand_bbt_descr *td, struct nand_bbt_descr *md)
drivers/mtd/nand/raw/nand_bbt.c
395
if (td->options & NAND_BBT_VERSION) {
drivers/mtd/nand/raw/nand_bbt.c
396
scan_read(this, buf, (loff_t)td->pages[0] << this->page_shift,
drivers/mtd/nand/raw/nand_bbt.c
397
mtd->writesize, td);
drivers/mtd/nand/raw/nand_bbt.c
398
td->version[0] = buf[bbt_get_ver_offs(this, td)];
drivers/mtd/nand/raw/nand_bbt.c
400
td->pages[0], td->version[0]);
drivers/mtd/nand/raw/nand_bbt.c
451
static int bbt_block_checkbad(struct nand_chip *this, struct nand_bbt_descr *td,
drivers/mtd/nand/raw/nand_bbt.c
461
if (!(td->options & NAND_BBT_NO_OOB) &&
drivers/mtd/nand/raw/nand_bbt.c
462
td->offs >= bd->offs && td->offs < bd->offs + bd->len)
drivers/mtd/nand/raw/nand_bbt.c
553
struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
564
if (td->options & NAND_BBT_LASTBLOCK) {
drivers/mtd/nand/raw/nand_bbt.c
573
if (td->options & NAND_BBT_PERCHIP) {
drivers/mtd/nand/raw/nand_bbt.c
583
td->version[i] = 0;
drivers/mtd/nand/raw/nand_bbt.c
584
td->pages[i] = -1;
drivers/mtd/nand/raw/nand_bbt.c
586
for (block = 0; block < td->maxblocks; block++) {
drivers/mtd/nand/raw/nand_bbt.c
592
if (bbt_block_checkbad(this, td, offs, buf))
drivers/mtd/nand/raw/nand_bbt.c
596
scan_read(this, buf, offs, mtd->writesize, td);
drivers/mtd/nand/raw/nand_bbt.c
597
if (!check_pattern(buf, scanlen, mtd->writesize, td)) {
drivers/mtd/nand/raw/nand_bbt.c
598
td->pages[i] = actblock << blocktopage;
drivers/mtd/nand/raw/nand_bbt.c
599
if (td->options & NAND_BBT_VERSION) {
drivers/mtd/nand/raw/nand_bbt.c
600
offs = bbt_get_ver_offs(this, td);
drivers/mtd/nand/raw/nand_bbt.c
601
td->version[i] = buf[offs];
drivers/mtd/nand/raw/nand_bbt.c
610
if (td->pages[i] == -1)
drivers/mtd/nand/raw/nand_bbt.c
614
td->pages[i], td->version[i]);
drivers/mtd/nand/raw/nand_bbt.c
629
struct nand_bbt_descr *td,
drivers/mtd/nand/raw/nand_bbt.c
633
search_bbt(this, buf, td);
drivers/mtd/nand/raw/nand_bbt.c
653
static int get_bbt_block(struct nand_chip *this, struct nand_bbt_descr *td,
drivers/mtd/nand/raw/nand_bbt.c
664
if (td->pages[chip] != -1)
drivers/mtd/nand/raw/nand_bbt.c
665
return td->pages[chip] >>
drivers/mtd/nand/raw/nand_bbt.c
669
if (!(td->options & NAND_BBT_PERCHIP))
drivers/mtd/nand/raw/nand_bbt.c
676
if (td->options & NAND_BBT_LASTBLOCK) {
drivers/mtd/nand/raw/nand_bbt.c
684
for (i = 0; i < td->maxblocks; i++) {
drivers/mtd/nand/raw/nand_bbt.c
717
struct nand_bbt_descr *td,
drivers/mtd/nand/raw/nand_bbt.c
731
td->pages[chip] = -1;
drivers/mtd/nand/raw/nand_bbt.c
745
struct nand_bbt_descr *td, struct nand_bbt_descr *md,
drivers/mtd/nand/raw/nand_bbt.c
755
uint8_t rcode = td->reserved_block_code;
drivers/mtd/nand/raw/nand_bbt.c
768
if (td->options & NAND_BBT_PERCHIP) {
drivers/mtd/nand/raw/nand_bbt.c
786
block = get_bbt_block(this, td, md, chip);
drivers/mtd/nand/raw/nand_bbt.c
800
bits = td->options & NAND_BBT_NRBITS_MSK;
drivers/mtd/nand/raw/nand_bbt.c
821
if (td->options & NAND_BBT_SAVECONTENT) {
drivers/mtd/nand/raw/nand_bbt.c
847
} else if (td->options & NAND_BBT_NO_OOB) {
drivers/mtd/nand/raw/nand_bbt.c
849
offs = td->len;
drivers/mtd/nand/raw/nand_bbt.c
851
if (td->options & NAND_BBT_VERSION)
drivers/mtd/nand/raw/nand_bbt.c
861
memcpy(buf, td->pattern, td->len);
drivers/mtd/nand/raw/nand_bbt.c
873
memcpy(&buf[ooboffs + td->offs], td->pattern, td->len);
drivers/mtd/nand/raw/nand_bbt.c
876
if (td->options & NAND_BBT_VERSION)
drivers/mtd/nand/raw/nand_bbt.c
877
buf[ooboffs + td->veroffs] = td->version[chip];
drivers/mtd/nand/raw/nand_bbt.c
895
mark_bbt_block_bad(this, td, chip, block);
drivers/mtd/nand/raw/nand_bbt.c
90
static int check_pattern_no_oob(uint8_t *buf, struct nand_bbt_descr *td)
drivers/mtd/nand/raw/nand_bbt.c
900
td->options & NAND_BBT_NO_OOB ?
drivers/mtd/nand/raw/nand_bbt.c
905
mark_bbt_block_bad(this, td, chip, block);
drivers/mtd/nand/raw/nand_bbt.c
910
(unsigned long long)to, td->version[chip]);
drivers/mtd/nand/raw/nand_bbt.c
913
td->pages[chip++] = page;
drivers/mtd/nand/raw/nand_bbt.c
92
if (memcmp(buf, td->pattern, td->len))
drivers/mtd/nand/raw/nand_bbt.c
953
struct nand_bbt_descr *td = this->bbt_td;
drivers/mtd/nand/raw/nand_bbt.c
958
if (td->options & NAND_BBT_PERCHIP)
drivers/mtd/nand/raw/nand_bbt.c
970
chipsel = (td->options & NAND_BBT_PERCHIP) ? i : -1;
drivers/mtd/nand/raw/nand_bbt.c
973
if (td->pages[i] == -1 && md->pages[i] == -1) {
drivers/mtd/nand/raw/nand_bbt.c
976
} else if (td->pages[i] == -1) {
drivers/mtd/nand/raw/nand_bbt.c
980
rd = td;
drivers/mtd/nand/raw/nand_bbt.c
982
} else if (td->version[i] == md->version[i]) {
drivers/mtd/nand/raw/nand_bbt.c
983
rd = td;
drivers/mtd/nand/raw/nand_bbt.c
984
if (!(td->options & NAND_BBT_VERSION))
drivers/mtd/nand/raw/nand_bbt.c
986
} else if (((int8_t)(td->version[i] - md->version[i])) > 0) {
drivers/mtd/nand/raw/nand_bbt.c
987
rd = td;
drivers/mtd/nand/raw/nand_bbt.c
994
if (td->pages[i] == -1) {
drivers/mtd/nand/raw/nand_bbt.c
998
rd = td;
drivers/net/ethernet/amd/7990.c
356
volatile struct lance_tx_desc *td;
drivers/net/ethernet/amd/7990.c
369
td = &ib->btx_ring[i];
drivers/net/ethernet/amd/7990.c
372
if (td->tmd1_bits & LE_T1_OWN)
drivers/net/ethernet/amd/7990.c
375
if (td->tmd1_bits & LE_T1_ERR) {
drivers/net/ethernet/amd/7990.c
376
status = td->misc;
drivers/net/ethernet/amd/7990.c
416
} else if ((td->tmd1_bits & LE_T1_POK) == LE_T1_POK) {
drivers/net/ethernet/amd/7990.c
420
td->tmd1_bits &= ~(LE_T1_POK);
drivers/net/ethernet/amd/7990.c
423
if (td->tmd1_bits & LE_T1_EONE)
drivers/net/ethernet/amd/7990.c
427
if (td->tmd1_bits & LE_T1_EMORE)
drivers/net/ethernet/amd/a2065.c
325
volatile struct lance_tx_desc *td;
drivers/net/ethernet/amd/a2065.c
335
td = &ib->btx_ring[i];
drivers/net/ethernet/amd/a2065.c
338
if (td->tmd1_bits & LE_T1_OWN)
drivers/net/ethernet/amd/a2065.c
341
if (td->tmd1_bits & LE_T1_ERR) {
drivers/net/ethernet/amd/a2065.c
342
status = td->misc;
drivers/net/ethernet/amd/a2065.c
381
} else if ((td->tmd1_bits & LE_T1_POK) == LE_T1_POK) {
drivers/net/ethernet/amd/a2065.c
383
td->tmd1_bits &= ~(LE_T1_POK);
drivers/net/ethernet/amd/a2065.c
386
if (td->tmd1_bits & LE_T1_EONE)
drivers/net/ethernet/amd/a2065.c
390
if (td->tmd1_bits & LE_T1_EMORE)
drivers/net/ethernet/amd/declance.c
247
#define tds_ptr(td, rt, type) \
drivers/net/ethernet/amd/declance.c
248
((volatile u16 *)((u8 *)(td) + tds_off(rt, type)))
drivers/net/ethernet/amd/declance.c
648
volatile u16 *td;
drivers/net/ethernet/amd/declance.c
657
td = lib_ptr(ib, btx_ring[i], lp->type);
drivers/net/ethernet/amd/declance.c
659
if (*tds_ptr(td, tmd1, lp->type) & LE_T1_OWN)
drivers/net/ethernet/amd/declance.c
662
if (*tds_ptr(td, tmd1, lp->type) & LE_T1_ERR) {
drivers/net/ethernet/amd/declance.c
663
status = *tds_ptr(td, misc, lp->type);
drivers/net/ethernet/amd/declance.c
698
} else if ((*tds_ptr(td, tmd1, lp->type) & LE_T1_POK) ==
drivers/net/ethernet/amd/declance.c
703
*tds_ptr(td, tmd1, lp->type) &= ~(LE_T1_POK);
drivers/net/ethernet/amd/declance.c
706
if (*tds_ptr(td, tmd1, lp->type) & LE_T1_EONE)
drivers/net/ethernet/amd/declance.c
710
if (*tds_ptr(td, tmd1, lp->type) & LE_T1_EMORE)
drivers/net/ethernet/amd/sunlance.c
572
struct lance_tx_desc *td = &ib->btx_ring [i];
drivers/net/ethernet/amd/sunlance.c
573
u8 bits = td->tmd1_bits;
drivers/net/ethernet/amd/sunlance.c
580
u16 status = td->misc;
drivers/net/ethernet/amd/sunlance.c
618
td->tmd1_bits = bits & ~(LE_T1_POK);
drivers/net/ethernet/amd/sunlance.c
740
struct lance_tx_desc __iomem *td = &ib->btx_ring [i];
drivers/net/ethernet/amd/sunlance.c
741
u8 bits = sbus_readb(&td->tmd1_bits);
drivers/net/ethernet/amd/sunlance.c
748
u16 status = sbus_readw(&td->misc);
drivers/net/ethernet/amd/sunlance.c
786
sbus_writeb(bits & ~(LE_T1_POK), &td->tmd1_bits);
drivers/net/ethernet/apple/bmac.c
1333
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
1350
td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
drivers/net/ethernet/apple/bmac.c
1415
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
1439
out_le32(&td->control, DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE|ACTIVE|DEAD));
drivers/net/ethernet/apple/bmac.c
1467
out_le32(&td->cmdptr, virt_to_bus(cp));
drivers/net/ethernet/apple/bmac.c
1468
out_le32(&td->control, DBDMA_SET(RUN));
drivers/net/ethernet/apple/bmac.c
225
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
229
if (td)
drivers/net/ethernet/apple/bmac.c
230
dbdma_reset(td);
drivers/net/ethernet/apple/bmac.c
473
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
482
td->control = cpu_to_le32(DBDMA_CLEAR(RUN|PAUSE|FLUSH|WAKE)); /* clear run bit */
drivers/net/ethernet/apple/bmac.c
581
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
594
dbdma_reset(td);
drivers/net/ethernet/apple/bmac.c
595
out_le32(&td->wait_sel, 0x00200020);
drivers/net/ethernet/apple/bmac.c
596
out_le32(&td->cmdptr, virt_to_bus(bp->tx_cmds));
drivers/net/ethernet/apple/bmac.c
637
volatile struct dbdma_regs __iomem *td = bp->tx_dma;
drivers/net/ethernet/apple/bmac.c
662
dbdma_continue(td);
drivers/net/ethernet/apple/mace.c
436
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
drivers/net/ethernet/apple/mace.c
485
out_le32(&td->control, (RUN|PAUSE|FLUSH|WAKE) << 16);
drivers/net/ethernet/apple/mace.c
486
out_le32(&td->cmdptr, virt_to_bus(mp->tx_cmds));
drivers/net/ethernet/apple/mace.c
506
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
drivers/net/ethernet/apple/mace.c
514
td->control = cpu_to_le32((RUN|PAUSE|FLUSH|WAKE) << 16); /* clear run bit */
drivers/net/ethernet/apple/mace.c
535
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
drivers/net/ethernet/apple/mace.c
574
out_le32(&td->control, ((RUN|WAKE) << 16) + (RUN|WAKE));
drivers/net/ethernet/apple/mace.c
665
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
drivers/net/ethernet/apple/mace.c
695
dstat = le32_to_cpu(td->status);
drivers/net/ethernet/apple/mace.c
697
out_le32(&td->control, RUN << 16);
drivers/net/ethernet/apple/mace.c
799
out_le32(&td->control, ((RUN|WAKE) << 16) + (RUN|WAKE));
drivers/net/ethernet/apple/mace.c
811
volatile struct dbdma_regs __iomem *td = mp->tx_dma;
drivers/net/ethernet/apple/mace.c
830
dbdma_reset(td);
drivers/net/ethernet/apple/mace.c
858
out_le32(&td->cmdptr, virt_to_bus(cp));
drivers/net/ethernet/apple/mace.c
859
out_le32(&td->control, (RUN << 16) | RUN);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1392
struct t3c_data *td = T3C_DATA(tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_main.c
1403
flush_work(&td->tid_release_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
545
struct t3c_data *td = container_of(work, struct t3c_data,
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
548
struct t3cdev *tdev = td->dev;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
551
spin_lock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
552
while (td->tid_release_list) {
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
553
struct t3c_tid_entry *p = td->tid_release_list;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
555
td->tid_release_list = p->ctx;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
556
spin_unlock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
561
skb = td->nofail_skb;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
563
spin_lock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
564
p->ctx = (void *)td->tid_release_list;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
565
td->tid_release_list = p;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
568
mk_tid_release(skb, p - td->tid_maps.tid_tab);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
571
if (skb == td->nofail_skb)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
572
td->nofail_skb =
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
575
spin_lock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
577
td->release_list_incomplete = (td->tid_release_list == NULL) ? 0 : 1;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
578
spin_unlock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
580
if (!td->nofail_skb)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
581
td->nofail_skb =
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
589
struct t3c_data *td = T3C_DATA(tdev);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
590
struct t3c_tid_entry *p = &td->tid_maps.tid_tab[tid];
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
592
spin_lock_bh(&td->tid_release_lock);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
593
p->ctx = (void *)td->tid_release_list;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
595
td->tid_release_list = p;
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
596
if (!p->ctx || td->release_list_incomplete)
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
597
schedule_work(&td->tid_release_task);
drivers/net/ethernet/chelsio/cxgb3/cxgb3_offload.c
598
spin_unlock_bh(&td->tid_release_lock);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2072
struct dpni_taildrop td = {0};
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2081
td.enable = !tx_pause;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2082
if (priv->rx_fqtd_enabled == td.enable)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2085
td.threshold = DPAA2_ETH_FQ_TAILDROP_THRESH;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2086
td.units = DPNI_CONGESTION_UNIT_BYTES;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2094
fq->tc, fq->flowid, &td);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2102
priv->rx_fqtd_enabled = td.enable;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2112
td.enable = !tx_pause || pfc;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2113
if (priv->rx_cgtd_enabled == td.enable)
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2116
td.threshold = DPAA2_ETH_CG_TAILDROP_THRESH(priv);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2117
td.units = DPNI_CONGESTION_UNIT_FRAMES;
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2121
i, 0, &td);
drivers/net/ethernet/freescale/dpaa2/dpaa2-eth.c
2129
priv->rx_cgtd_enabled = td.enable;
drivers/net/ethernet/korina.c
425
struct dma_desc *td;
drivers/net/ethernet/korina.c
433
td = &lp->td_ring[idx];
drivers/net/ethernet/korina.c
457
td->ca = ca;
drivers/net/ethernet/korina.c
465
td->control = DMA_COUNT(length) |
drivers/net/ethernet/korina.c
476
td->control = DMA_COUNT(length) |
drivers/net/ethernet/korina.c
495
td->control = DMA_COUNT(length) |
drivers/net/ethernet/korina.c
502
td->control = DMA_COUNT(length) |
drivers/net/ethernet/korina.c
767
struct dma_desc *td = &lp->td_ring[lp->tx_next_done];
drivers/net/ethernet/korina.c
774
while (IS_DMA_FINISHED(td->control)) {
drivers/net/ethernet/korina.c
836
td = &lp->td_ring[lp->tx_next_done];
drivers/net/ethernet/marvell/skge.c
2744
struct skge_tx_desc *td;
drivers/net/ethernet/marvell/skge.c
2756
td = e->desc;
drivers/net/ethernet/marvell/skge.c
2757
BUG_ON(td->control & BMU_OWN);
drivers/net/ethernet/marvell/skge.c
2767
td->dma_lo = lower_32_bits(map);
drivers/net/ethernet/marvell/skge.c
2768
td->dma_hi = upper_32_bits(map);
drivers/net/ethernet/marvell/skge.c
2782
td->csum_offs = 0;
drivers/net/ethernet/marvell/skge.c
2783
td->csum_start = offset;
drivers/net/ethernet/marvell/skge.c
2784
td->csum_write = offset + skb->csum_offset;
drivers/net/ethernet/marvell/skge.c
2791
struct skge_tx_desc *tf = td;
drivers/net/ethernet/marvell/skge.c
2818
td->control = BMU_OWN | BMU_SW | BMU_STF | control | len;
drivers/net/ethernet/marvell/skge.c
2877
struct skge_tx_desc *td = e->desc;
drivers/net/ethernet/marvell/skge.c
2879
skge_tx_unmap(skge->hw->pdev, e, td->control);
drivers/net/ethernet/marvell/skge.c
2881
if (td->control & BMU_EOF)
drivers/net/ethernet/marvell/skge.c
2883
td->control = 0;
drivers/net/ethernet/mellanox/mlx5/core/en/rss.c
230
mlx5e_tir_builder_build_rqt(builder, rss->mdev->mlx5e_res.hw_objs.td.tdn,
drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c
380
mlx5e_tir_builder_build_rqt(builder, res->mdev->mlx5e_res.hw_objs.td.tdn,
drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c
433
mlx5e_tir_builder_build_rqt(builder, res->mdev->mlx5e_res.hw_objs.td.tdn,
drivers/net/ethernet/mellanox/mlx5/core/en/rx_res.c
718
mlx5e_tir_builder_build_rqt(builder, res->mdev->mlx5e_res.hw_objs.td.tdn, rqtn,
drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
198
mutex_lock(&res->td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
199
list_add(&tir->list, &res->td.tirs_list);
drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
200
mutex_unlock(&res->td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
218
mutex_lock(&res->td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en/tir.c
220
mutex_unlock(&res->td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en/trap.c
113
mlx5e_tir_builder_build_inline(builder, mdev->mlx5e_res.hw_objs.td.tdn, rqn);
drivers/net/ethernet/mellanox/mlx5/core/en_accel/ktls_tx.c
48
MLX5_SET(tisc, tisc, transport_domain, mdev->mlx5e_res.hw_objs.td.tdn);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
168
err = mlx5_core_alloc_transport_domain(mdev, &res->td.tdn);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
208
INIT_LIST_HEAD(&res->td.tirs_list);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
209
mutex_init(&res->td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
227
mlx5_core_dealloc_transport_domain(mdev, res->td.tdn);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
245
mlx5_core_dealloc_transport_domain(mdev, res->td.tdn);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
264
mutex_lock(&mdev->mlx5e_res.hw_objs.td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
265
list_for_each_entry(tir, &mdev->mlx5e_res.hw_objs.td.tirs_list, list) {
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
275
mutex_unlock(&mdev->mlx5e_res.hw_objs.td.list_lock);
drivers/net/ethernet/mellanox/mlx5/core/en_common.c
82
MLX5_SET(tisc, tisc, transport_domain, mdev->mlx5e_res.hw_objs.td.tdn);
drivers/net/ethernet/seeq/sgiseeq.c
434
struct sgiseeq_tx_desc *td;
drivers/net/ethernet/seeq/sgiseeq.c
443
td = &sp->tx_desc[i];
drivers/net/ethernet/seeq/sgiseeq.c
444
dma_sync_desc_cpu(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
445
while ((td->tdma.cntinfo & (HPCDMA_XIU | HPCDMA_ETXD)) ==
drivers/net/ethernet/seeq/sgiseeq.c
448
td = &sp->tx_desc[i];
drivers/net/ethernet/seeq/sgiseeq.c
449
dma_sync_desc_cpu(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
451
if (td->tdma.cntinfo & HPCDMA_XIU) {
drivers/net/ethernet/seeq/sgiseeq.c
452
dma_sync_desc_dev(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
453
hregs->tx_ndptr = VIRT_TO_DMA(sp, td);
drivers/net/ethernet/seeq/sgiseeq.c
462
struct sgiseeq_tx_desc *td;
drivers/net/ethernet/seeq/sgiseeq.c
480
td = &sp->tx_desc[j];
drivers/net/ethernet/seeq/sgiseeq.c
482
dma_sync_desc_cpu(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
483
if (!(td->tdma.cntinfo & (HPCDMA_XIU)))
drivers/net/ethernet/seeq/sgiseeq.c
485
if (!(td->tdma.cntinfo & (HPCDMA_ETXD))) {
drivers/net/ethernet/seeq/sgiseeq.c
486
dma_sync_desc_dev(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
488
hregs->tx_ndptr = VIRT_TO_DMA(sp, td);
drivers/net/ethernet/seeq/sgiseeq.c
495
td->tdma.cntinfo &= ~(HPCDMA_XIU | HPCDMA_XIE);
drivers/net/ethernet/seeq/sgiseeq.c
496
td->tdma.cntinfo |= HPCDMA_EOX;
drivers/net/ethernet/seeq/sgiseeq.c
497
if (td->skb) {
drivers/net/ethernet/seeq/sgiseeq.c
498
dev_kfree_skb_any(td->skb);
drivers/net/ethernet/seeq/sgiseeq.c
499
td->skb = NULL;
drivers/net/ethernet/seeq/sgiseeq.c
501
dma_sync_desc_dev(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
596
struct sgiseeq_tx_desc *td;
drivers/net/ethernet/seeq/sgiseeq.c
613
td = &sp->tx_desc[entry];
drivers/net/ethernet/seeq/sgiseeq.c
614
dma_sync_desc_cpu(dev, td);
drivers/net/ethernet/seeq/sgiseeq.c
629
td->skb = skb;
drivers/net/ethernet/seeq/sgiseeq.c
630
td->tdma.pbuf = dma_map_single(dev->dev.parent, skb->data,
drivers/net/ethernet/seeq/sgiseeq.c
632
td->tdma.cntinfo = (len & HPCDMA_BCNT) |
drivers/net/ethernet/seeq/sgiseeq.c
634
dma_sync_desc_dev(dev, td);
drivers/net/ethernet/ti/davinci_cpdma.c
122
int int_set, int_clear, td;
drivers/net/ethernet/ti/davinci_cpdma.c
1330
dma_reg_write(ctlr, chan->td, chan_linear(chan));
drivers/net/ethernet/ti/davinci_cpdma.c
912
chan->td = CPDMA_RXTEARDOWN;
drivers/net/ethernet/ti/davinci_cpdma.c
919
chan->td = CPDMA_TXTEARDOWN;
drivers/net/ethernet/via/via-velocity.c
1731
struct velocity_td_info *tdinfo, struct tx_desc *td)
drivers/net/ethernet/via/via-velocity.c
1745
td->td_buf[i].size & ~TD_QUEUE);
drivers/net/ethernet/via/via-velocity.c
1908
struct tx_desc *td;
drivers/net/ethernet/via/via-velocity.c
1923
td = &(vptr->tx.rings[qnum][idx]);
drivers/net/ethernet/via/via-velocity.c
1926
if (td->tdesc0.len & OWNED_BY_NIC)
drivers/net/ethernet/via/via-velocity.c
1932
if (td->tdesc0.TSR & TSR0_TERR) {
drivers/net/ethernet/via/via-velocity.c
1935
if (td->tdesc0.TSR & TSR0_CDH)
drivers/net/ethernet/via/via-velocity.c
1937
if (td->tdesc0.TSR & TSR0_CRS)
drivers/net/ethernet/via/via-velocity.c
1939
if (td->tdesc0.TSR & TSR0_ABT)
drivers/net/ethernet/via/via-velocity.c
1941
if (td->tdesc0.TSR & TSR0_OWC)
drivers/net/ethernet/via/via-velocity.c
1947
velocity_free_tx_buf(vptr, tdinfo, td);
drivers/net/fddi/skfp/fplustm.c
389
static void copy_tx_mac(struct s_smc *smc, u_long td, struct fddi_mac *mac,
drivers/net/fddi/skfp/fplustm.c
413
write_mdr(smc,td) ; /* write over memory data reg to buffer */
drivers/net/fddi/skfp/fplustm.c
469
u_int td ;
drivers/net/fddi/skfp/fplustm.c
477
td = TX_DESCRIPTOR | ((((u_int)len-1)&3)<<27) ;
drivers/net/fddi/skfp/fplustm.c
485
copy_tx_mac(smc,td,(struct fddi_mac *)mac,
drivers/net/fddi/skfp/fplustm.c
494
td = TX_DESCRIPTOR | ((((u_int)len-1)&3)<<27) ;
drivers/net/fddi/skfp/fplustm.c
500
copy_tx_mac(smc,td,(struct fddi_mac *)mac,
drivers/net/fddi/skfp/fplustm.c
510
td = TX_DESCRIPTOR | ((((u_int)len-1)&3)<<27) ;
drivers/net/fddi/skfp/fplustm.c
518
copy_tx_mac(smc,td,(struct fddi_mac *)mac,
drivers/net/wireless/ath/ath5k/debug.c
1088
struct ath5k_hw_5212_tx_desc *td = &ds->ud.ds_tx5212;
drivers/net/wireless/ath/ath5k/debug.c
1099
ds->ds_data, td->tx_ctl.tx_control_0, td->tx_ctl.tx_control_1,
drivers/net/wireless/ath/ath5k/debug.c
1100
td->tx_ctl.tx_control_2, td->tx_ctl.tx_control_3,
drivers/net/wireless/ath/ath5k/debug.c
1101
td->tx_stat.tx_status_0, td->tx_stat.tx_status_1,
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
175
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
176
u8 mask = td->tx_antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
245
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
250
en, en && td->tx_power_control);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
253
en, en ? td->freq_offset : 0);
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
262
struct mt76_testmode_data *td = &mphy->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
263
enum mt76_testmode_state prev_state = td->state;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
285
if (td->param_set[cur / 32] & BIT(cur % 32))
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
299
struct mt76_testmode_data *td = &mphy->test;
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
307
td->state == MT76_TM_STATE_OFF)
drivers/net/wireless/mediatek/mt76/mt7615/testmode.c
310
if (td->tx_antenna_mask & ~mphy->chainmask)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
613
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
615
u8 bw, mode, nss = td->tx_rate_nss;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
616
u8 rate_idx = td->tx_rate_idx;
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
625
switch (td->tx_rate_mode) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
680
if (td->tx_rate_stbc && nss == 1) {
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
692
if (td->tx_rate_mode < MT76_TM_TX_MODE_HT)
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
698
FIELD_PREP(MT_TXD6_SGI, td->tx_rate_sgi);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
711
val |= FIELD_PREP(MT_TXD6_HELTF, td->tx_ltf);
drivers/net/wireless/mediatek/mt76/mt7915/mac.c
713
if (td->tx_rate_ldpc || (bw > 0 && mode >= MT_PHY_TYPE_HE_SU))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
258
struct mt76_testmode_data *td = &mphy->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
268
rate.mcs = td->tx_rate_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
269
rate.nss = td->tx_rate_nss;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
271
switch (td->tx_rate_mode) {
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
287
if (td->tx_rate_sgi)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
293
if (td->tx_rate_sgi)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
300
rate.he_gi = td->tx_rate_sgi;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
439
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
442
u8 duty_cycle = td->tx_duty_cycle;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
443
u32 tx_time = td->tx_time;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
444
u32 ipg = td->tx_ipg;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
452
if (td->tx_spe_idx)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
453
phy->test.spe_idx = td->tx_spe_idx;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
455
phy->test.spe_idx = mt76_connac_spe_idx(td->tx_antenna_mask);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
459
td->tx_rate_mode == MT76_TM_TX_MODE_HE_MU);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
469
mt7915_tm_set_ipg_params(phy, ipg, td->tx_rate_mode);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
473
td->tx_queued_limit = MT76_TM_TIMEOUT * 1000000 / ipg / 2;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
475
if (!en || !td->tx_skb)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
478
info = IEEE80211_SKB_CB(td->tx_skb);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
519
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
521
u8 rate_idx = td->tx_rate_idx, mode;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
533
tx_cont->tx_ant = td->tx_antenna_mask;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
570
if (td->tx_rate_mode <= MT76_TM_TX_MODE_OFDM) {
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
581
if (td->tx_rate_mode == MT76_TM_TX_MODE_OFDM)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
586
switch (td->tx_rate_mode) {
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
640
struct mt76_testmode_data *td = &phy->mt76->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
644
mt7915_tm_set_freq_offset(phy, en, en ? td->freq_offset : 0);
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
652
struct mt76_testmode_data *td = &mphy->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
654
enum mt76_testmode_state prev_state = td->state;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
681
if (td->param_set[cur / 32] & BIT(cur % 32))
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
695
struct mt76_testmode_data *td = &mphy->test;
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
705
td->state == MT76_TM_STATE_OFF)
drivers/net/wireless/mediatek/mt76/mt7915/testmode.c
709
if (td->tx_antenna_mask > chainmask)
drivers/net/wireless/mediatek/mt76/testmode.c
106
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
113
max_len = mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode);
drivers/net/wireless/mediatek/mt76/testmode.c
131
memcpy(hdr->addr1, td->addr[0], ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
132
memcpy(hdr->addr2, td->addr[1], ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
133
memcpy(hdr->addr3, td->addr[2], ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
171
td->tx_skb = head;
drivers/net/wireless/mediatek/mt76/testmode.c
180
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
186
ret = mt76_testmode_alloc_skb(phy, td->tx_mpdu_len);
drivers/net/wireless/mediatek/mt76/testmode.c
190
if (td->tx_rate_mode > MT76_TM_TX_MODE_VHT)
drivers/net/wireless/mediatek/mt76/testmode.c
193
if (td->tx_antenna_mask)
drivers/net/wireless/mediatek/mt76/testmode.c
194
max_nss = min_t(u8, max_nss, hweight8(td->tx_antenna_mask));
drivers/net/wireless/mediatek/mt76/testmode.c
196
info = IEEE80211_SKB_CB(td->tx_skb);
drivers/net/wireless/mediatek/mt76/testmode.c
199
rate->idx = td->tx_rate_idx;
drivers/net/wireless/mediatek/mt76/testmode.c
201
switch (td->tx_rate_mode) {
drivers/net/wireless/mediatek/mt76/testmode.c
230
if (td->tx_rate_nss > max_nss)
drivers/net/wireless/mediatek/mt76/testmode.c
233
ieee80211_rate_set_vht(rate, td->tx_rate_idx, td->tx_rate_nss);
drivers/net/wireless/mediatek/mt76/testmode.c
240
if (td->tx_rate_sgi)
drivers/net/wireless/mediatek/mt76/testmode.c
243
if (td->tx_rate_ldpc)
drivers/net/wireless/mediatek/mt76/testmode.c
246
if (td->tx_rate_stbc)
drivers/net/wireless/mediatek/mt76/testmode.c
249
if (td->tx_rate_mode >= MT76_TM_TX_MODE_HT) {
drivers/net/wireless/mediatek/mt76/testmode.c
272
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
275
td->tx_queued = 0;
drivers/net/wireless/mediatek/mt76/testmode.c
276
td->tx_done = 0;
drivers/net/wireless/mediatek/mt76/testmode.c
277
td->tx_pending = td->tx_count;
drivers/net/wireless/mediatek/mt76/testmode.c
284
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
289
td->tx_pending = 0;
drivers/net/wireless/mediatek/mt76/testmode.c
293
wait_event_timeout(dev->tx_wait, td->tx_done == td->tx_queued,
drivers/net/wireless/mediatek/mt76/testmode.c
300
mt76_testmode_param_set(struct mt76_testmode_data *td, u16 idx)
drivers/net/wireless/mediatek/mt76/testmode.c
302
td->param_set[idx / 32] |= BIT(idx % 32);
drivers/net/wireless/mediatek/mt76/testmode.c
306
mt76_testmode_param_present(struct mt76_testmode_data *td, u16 idx)
drivers/net/wireless/mediatek/mt76/testmode.c
308
return td->param_set[idx / 32] & BIT(idx % 32);
drivers/net/wireless/mediatek/mt76/testmode.c
314
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
316
if (td->tx_mpdu_len > 0)
drivers/net/wireless/mediatek/mt76/testmode.c
319
td->tx_mpdu_len = 1024;
drivers/net/wireless/mediatek/mt76/testmode.c
320
td->tx_count = 1;
drivers/net/wireless/mediatek/mt76/testmode.c
321
td->tx_rate_mode = MT76_TM_TX_MODE_OFDM;
drivers/net/wireless/mediatek/mt76/testmode.c
322
td->tx_rate_nss = 1;
drivers/net/wireless/mediatek/mt76/testmode.c
324
memcpy(td->addr[0], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
325
memcpy(td->addr[1], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
326
memcpy(td->addr[2], phy->macaddr, ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
33
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
36
struct sk_buff *skb = td->tx_skb;
drivers/net/wireless/mediatek/mt76/testmode.c
366
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
369
if (state == td->state && state == MT76_TM_STATE_OFF)
drivers/net/wireless/mediatek/mt76/testmode.c
378
td->state != MT76_TM_STATE_IDLE) {
drivers/net/wireless/mediatek/mt76/testmode.c
41
if (!skb || !td->tx_pending)
drivers/net/wireless/mediatek/mt76/testmode.c
412
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
432
memset(td, 0, sizeof(*td));
drivers/net/wireless/mediatek/mt76/testmode.c
438
td->tx_count = nla_get_u32(tb[MT76_TM_ATTR_TX_COUNT]);
drivers/net/wireless/mediatek/mt76/testmode.c
441
td->tx_rate_idx = nla_get_u8(tb[MT76_TM_ATTR_TX_RATE_IDX]);
drivers/net/wireless/mediatek/mt76/testmode.c
443
if (mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_MODE], &td->tx_rate_mode,
drivers/net/wireless/mediatek/mt76/testmode.c
445
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_NSS], &td->tx_rate_nss,
drivers/net/wireless/mediatek/mt76/testmode.c
447
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_SGI], &td->tx_rate_sgi, 0, 2) ||
drivers/net/wireless/mediatek/mt76/testmode.c
448
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_LDPC], &td->tx_rate_ldpc, 0, 1) ||
drivers/net/wireless/mediatek/mt76/testmode.c
449
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_RATE_STBC], &td->tx_rate_stbc, 0, 1) ||
drivers/net/wireless/mediatek/mt76/testmode.c
450
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_LTF], &td->tx_ltf, 0, 2) ||
drivers/net/wireless/mediatek/mt76/testmode.c
452
&td->tx_antenna_mask, 0, 0xff) ||
drivers/net/wireless/mediatek/mt76/testmode.c
453
mt76_tm_get_u8(tb[MT76_TM_ATTR_TX_SPE_IDX], &td->tx_spe_idx, 0, 27) ||
drivers/net/wireless/mediatek/mt76/testmode.c
455
&td->tx_duty_cycle, 0, 99) ||
drivers/net/wireless/mediatek/mt76/testmode.c
457
&td->tx_power_control, 0, 1))
drivers/net/wireless/mediatek/mt76/testmode.c
463
if (val > mt76_testmode_max_mpdu_len(phy, td->tx_rate_mode) ||
drivers/net/wireless/mediatek/mt76/testmode.c
467
td->tx_mpdu_len = val;
drivers/net/wireless/mediatek/mt76/testmode.c
47
tx_queued_limit = td->tx_queued_limit ? td->tx_queued_limit : 1000;
drivers/net/wireless/mediatek/mt76/testmode.c
471
td->tx_ipg = nla_get_u32(tb[MT76_TM_ATTR_TX_IPG]);
drivers/net/wireless/mediatek/mt76/testmode.c
474
td->tx_time = nla_get_u32(tb[MT76_TM_ATTR_TX_TIME]);
drivers/net/wireless/mediatek/mt76/testmode.c
477
td->freq_offset = nla_get_u32(tb[MT76_TM_ATTR_FREQ_OFFSET]);
drivers/net/wireless/mediatek/mt76/testmode.c
484
state = td->state;
drivers/net/wireless/mediatek/mt76/testmode.c
494
idx >= ARRAY_SIZE(td->tx_power))
drivers/net/wireless/mediatek/mt76/testmode.c
497
td->tx_power[idx++] = nla_get_u8(cur);
drivers/net/wireless/mediatek/mt76/testmode.c
51
while (td->tx_pending > 0 &&
drivers/net/wireless/mediatek/mt76/testmode.c
510
memcpy(td->addr[idx], nla_data(cur), ETH_ALEN);
drivers/net/wireless/mediatek/mt76/testmode.c
52
td->tx_queued - td->tx_done < tx_queued_limit &&
drivers/net/wireless/mediatek/mt76/testmode.c
523
mt76_testmode_param_set(td, i);
drivers/net/wireless/mediatek/mt76/testmode.c
539
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
553
for (i = 0; i < ARRAY_SIZE(td->rx_stats.packets); i++) {
drivers/net/wireless/mediatek/mt76/testmode.c
554
rx_packets += td->rx_stats.packets[i];
drivers/net/wireless/mediatek/mt76/testmode.c
555
rx_fcs_error += td->rx_stats.fcs_error[i];
drivers/net/wireless/mediatek/mt76/testmode.c
558
if (nla_put_u32(msg, MT76_TM_STATS_ATTR_TX_PENDING, td->tx_pending) ||
drivers/net/wireless/mediatek/mt76/testmode.c
559
nla_put_u32(msg, MT76_TM_STATS_ATTR_TX_QUEUED, td->tx_queued) ||
drivers/net/wireless/mediatek/mt76/testmode.c
560
nla_put_u32(msg, MT76_TM_STATS_ATTR_TX_DONE, td->tx_done) ||
drivers/net/wireless/mediatek/mt76/testmode.c
575
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
61
td->tx_pending--;
drivers/net/wireless/mediatek/mt76/testmode.c
611
if (nla_put_u32(msg, MT76_TM_ATTR_STATE, td->state))
drivers/net/wireless/mediatek/mt76/testmode.c
619
if (nla_put_u32(msg, MT76_TM_ATTR_TX_COUNT, td->tx_count) ||
drivers/net/wireless/mediatek/mt76/testmode.c
62
td->tx_queued++;
drivers/net/wireless/mediatek/mt76/testmode.c
620
nla_put_u32(msg, MT76_TM_ATTR_TX_LENGTH, td->tx_mpdu_len) ||
drivers/net/wireless/mediatek/mt76/testmode.c
621
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_MODE, td->tx_rate_mode) ||
drivers/net/wireless/mediatek/mt76/testmode.c
622
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_NSS, td->tx_rate_nss) ||
drivers/net/wireless/mediatek/mt76/testmode.c
623
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_IDX, td->tx_rate_idx) ||
drivers/net/wireless/mediatek/mt76/testmode.c
624
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_SGI, td->tx_rate_sgi) ||
drivers/net/wireless/mediatek/mt76/testmode.c
625
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_LDPC, td->tx_rate_ldpc) ||
drivers/net/wireless/mediatek/mt76/testmode.c
626
nla_put_u8(msg, MT76_TM_ATTR_TX_RATE_STBC, td->tx_rate_stbc) ||
drivers/net/wireless/mediatek/mt76/testmode.c
627
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_LTF) &&
drivers/net/wireless/mediatek/mt76/testmode.c
628
nla_put_u8(msg, MT76_TM_ATTR_TX_LTF, td->tx_ltf)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
629
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_ANTENNA) &&
drivers/net/wireless/mediatek/mt76/testmode.c
630
nla_put_u8(msg, MT76_TM_ATTR_TX_ANTENNA, td->tx_antenna_mask)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
631
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_SPE_IDX) &&
drivers/net/wireless/mediatek/mt76/testmode.c
632
nla_put_u8(msg, MT76_TM_ATTR_TX_SPE_IDX, td->tx_spe_idx)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
633
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_DUTY_CYCLE) &&
drivers/net/wireless/mediatek/mt76/testmode.c
634
nla_put_u8(msg, MT76_TM_ATTR_TX_DUTY_CYCLE, td->tx_duty_cycle)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
635
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_IPG) &&
drivers/net/wireless/mediatek/mt76/testmode.c
636
nla_put_u32(msg, MT76_TM_ATTR_TX_IPG, td->tx_ipg)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
637
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_TIME) &&
drivers/net/wireless/mediatek/mt76/testmode.c
638
nla_put_u32(msg, MT76_TM_ATTR_TX_TIME, td->tx_time)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
639
(mt76_testmode_param_present(td, MT76_TM_ATTR_TX_POWER_CONTROL) &&
drivers/net/wireless/mediatek/mt76/testmode.c
640
nla_put_u8(msg, MT76_TM_ATTR_TX_POWER_CONTROL, td->tx_power_control)) ||
drivers/net/wireless/mediatek/mt76/testmode.c
641
(mt76_testmode_param_present(td, MT76_TM_ATTR_FREQ_OFFSET) &&
drivers/net/wireless/mediatek/mt76/testmode.c
642
nla_put_u8(msg, MT76_TM_ATTR_FREQ_OFFSET, td->freq_offset)))
drivers/net/wireless/mediatek/mt76/testmode.c
645
if (mt76_testmode_param_present(td, MT76_TM_ATTR_TX_POWER)) {
drivers/net/wireless/mediatek/mt76/testmode.c
650
for (i = 0; i < ARRAY_SIZE(td->tx_power); i++)
drivers/net/wireless/mediatek/mt76/testmode.c
651
if (nla_put_u8(msg, i, td->tx_power[i]))
drivers/net/wireless/mediatek/mt76/testmode.c
657
if (mt76_testmode_param_present(td, MT76_TM_ATTR_MAC_ADDRS)) {
drivers/net/wireless/mediatek/mt76/testmode.c
663
if (nla_put(msg, i, ETH_ALEN, td->addr[i]))
drivers/net/wireless/mediatek/mt76/testmode.c
95
struct mt76_testmode_data *td = &phy->test;
drivers/net/wireless/mediatek/mt76/testmode.c
97
dev_kfree_skb(td->tx_skb);
drivers/net/wireless/mediatek/mt76/testmode.c
98
td->tx_skb = NULL;
drivers/net/wireless/mediatek/mt7601u/debugfs.c
115
seq_printf(file, "\t slope:%02hhx\n", td->slope);
drivers/net/wireless/mediatek/mt7601u/debugfs.c
117
td->offset[0], td->offset[1], td->offset[2]);
drivers/net/wireless/mediatek/mt7601u/debugfs.c
118
seq_printf(file, "\t delta_off:%08x\n", td->tx0_delta_offset);
drivers/net/wireless/mediatek/mt7601u/debugfs.c
83
struct tssi_data *td = &dev->ee->tssi_data;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
222
struct ipc_protocol_td *td;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
255
td = &pipe->tdr_start[head];
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
267
td->buffer.address = IPC_CB(skb)->mapping;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
268
td->scs = cpu_to_le32(skb->len) & cpu_to_le32(SIZE_MASK);
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
269
td->next = 0;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
326
struct ipc_protocol_td *td;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
346
td = &pipe->tdr_start[head];
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
355
td->buffer.address = mapping;
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
356
td->scs = cpu_to_le32(pipe->buf_size) & cpu_to_le32(SIZE_MASK);
drivers/net/wwan/iosm/iosm_ipc_protocol_ops.c
357
td->next = 0;
drivers/nfc/st-nci/se.c
116
u8 td;
drivers/nfc/st-nci/se.c
121
td = ST_NCI_ATR_GET_Y_FROM_TD(info->se_info.atr[i]);
drivers/nfc/st-nci/se.c
122
if (ST_NCI_ATR_TA_PRESENT(td))
drivers/nfc/st-nci/se.c
124
if (ST_NCI_ATR_TB_PRESENT(td)) {
drivers/nfc/st21nfca/se.c
51
u8 td;
drivers/nfc/st21nfca/se.c
56
td = ST21NFCA_ATR_GET_Y_FROM_TD(info->se_info.atr[i]);
drivers/nfc/st21nfca/se.c
57
if (ST21NFCA_ATR_TA_PRESENT(td))
drivers/nfc/st21nfca/se.c
59
if (ST21NFCA_ATR_TB_PRESENT(td)) {
drivers/pmdomain/core.c
1115
struct gpd_timing_data *td;
drivers/pmdomain/core.c
1122
td = to_gpd_data(pdd)->td;
drivers/pmdomain/core.c
1123
if (td) {
drivers/pmdomain/core.c
1124
td->constraint_changed = true;
drivers/pmdomain/core.c
1219
struct gpd_timing_data *td = gpd_data->td;
drivers/pmdomain/core.c
1242
if (td && runtime_pm)
drivers/pmdomain/core.c
1256
if (td && runtime_pm) {
drivers/pmdomain/core.c
1258
if (elapsed_ns > td->suspend_latency_ns) {
drivers/pmdomain/core.c
1259
td->suspend_latency_ns = elapsed_ns;
drivers/pmdomain/core.c
1263
td->constraint_changed = true;
drivers/pmdomain/core.c
1294
struct gpd_timing_data *td = gpd_data->td;
drivers/pmdomain/core.c
1295
bool timed = td && pm_runtime_enabled(dev);
drivers/pmdomain/core.c
1337
if (elapsed_ns > td->resume_latency_ns) {
drivers/pmdomain/core.c
1338
td->resume_latency_ns = elapsed_ns;
drivers/pmdomain/core.c
1342
td->constraint_changed = true;
drivers/pmdomain/core.c
1807
struct gpd_timing_data *td;
drivers/pmdomain/core.c
1825
td = kzalloc_obj(*td);
drivers/pmdomain/core.c
1826
if (!td) {
drivers/pmdomain/core.c
1831
td->constraint_changed = true;
drivers/pmdomain/core.c
1832
td->effective_constraint_ns = PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS;
drivers/pmdomain/core.c
1833
td->next_wakeup = KTIME_MAX;
drivers/pmdomain/core.c
1834
gpd_data->td = td;
drivers/pmdomain/core.c
1852
kfree(gpd_data->td);
drivers/pmdomain/core.c
1869
kfree(gpd_data->td);
drivers/pmdomain/core.c
618
struct gpd_timing_data *td;
drivers/pmdomain/core.c
624
td = to_gpd_data(dev->power.subsys_data->domain_data)->td;
drivers/pmdomain/core.c
625
if (td)
drivers/pmdomain/core.c
626
td->next_wakeup = next;
drivers/pmdomain/governor.c
105
constraint_ns -= td->suspend_latency_ns +
drivers/pmdomain/governor.c
106
td->resume_latency_ns;
drivers/pmdomain/governor.c
115
td->effective_constraint_ns = constraint_ns;
drivers/pmdomain/governor.c
116
td->cached_suspend_ok = true;
drivers/pmdomain/governor.c
123
return td->cached_suspend_ok;
drivers/pmdomain/governor.c
145
next_wakeup = to_gpd_data(pdd)->td->next_wakeup;
drivers/pmdomain/governor.c
219
struct gpd_timing_data *td;
drivers/pmdomain/governor.c
22
struct gpd_timing_data *td = dev_gpd_data(dev)->td;
drivers/pmdomain/governor.c
227
td = to_gpd_data(pdd)->td;
drivers/pmdomain/governor.c
228
constraint_ns = td->effective_constraint_ns;
drivers/pmdomain/governor.c
31
constraint_ns = td ? td->effective_constraint_ns :
drivers/pmdomain/governor.c
58
struct gpd_timing_data *td = dev_gpd_data(dev)->td;
drivers/pmdomain/governor.c
66
if (!td->constraint_changed) {
drivers/pmdomain/governor.c
67
bool ret = td->cached_suspend_ok;
drivers/pmdomain/governor.c
72
td->constraint_changed = false;
drivers/pmdomain/governor.c
73
td->cached_suspend_ok = false;
drivers/pmdomain/governor.c
74
td->effective_constraint_ns = 0;
drivers/pmdomain/governor.c
94
td->effective_constraint_ns = PM_QOS_RESUME_LATENCY_NO_CONSTRAINT_NS;
drivers/pmdomain/governor.c
95
td->cached_suspend_ok = true;
drivers/scsi/snic/snic_trc.c
100
return snic_fmt_trc_data(td, buf, buf_sz);
drivers/scsi/snic/snic_trc.c
19
struct snic_trc_data *td = NULL;
drivers/scsi/snic/snic_trc.c
23
td = &trc->buf[trc->wr_idx];
drivers/scsi/snic/snic_trc.c
39
td->ts = 0; /* Marker for checking the record, for complete data*/
drivers/scsi/snic/snic_trc.c
44
return td;
drivers/scsi/snic/snic_trc.c
51
snic_fmt_trc_data(struct snic_trc_data *td, char *buf, int buf_sz)
drivers/scsi/snic/snic_trc.c
56
jiffies_to_timespec64(td->ts, &tmspec);
drivers/scsi/snic/snic_trc.c
61
td->fn,
drivers/scsi/snic/snic_trc.c
62
td->hno,
drivers/scsi/snic/snic_trc.c
63
td->tag,
drivers/scsi/snic/snic_trc.c
64
td->data[0], td->data[1], td->data[2], td->data[3],
drivers/scsi/snic/snic_trc.c
65
td->data[4]);
drivers/scsi/snic/snic_trc.c
76
struct snic_trc_data *td = NULL;
drivers/scsi/snic/snic_trc.c
86
td = &trc->buf[trc->rd_idx];
drivers/scsi/snic/snic_trc.c
88
if (td->ts == 0) {
drivers/thermal/gov_bang_bang.c
102
turn_on = tz->temperature >= td->threshold;
drivers/thermal/gov_bang_bang.c
103
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_bang_bang.c
67
const struct thermal_trip_desc *td = trip_to_trip_desc(trip);
drivers/thermal/gov_bang_bang.c
76
list_for_each_entry(instance, &td->thermal_instances, trip_node)
drivers/thermal/gov_bang_bang.c
82
const struct thermal_trip_desc *td;
drivers/thermal/gov_bang_bang.c
89
for_each_trip_desc(tz, td) {
drivers/thermal/gov_bang_bang.c
90
const struct thermal_trip *trip = &td->trip;
drivers/thermal/gov_fair_share.c
103
for_each_trip_desc(tz, td) {
drivers/thermal/gov_fair_share.c
104
const struct thermal_trip *trip = &td->trip;
drivers/thermal/gov_fair_share.c
111
fair_share_throttle(tz, td, trip_level);
drivers/thermal/gov_fair_share.c
21
const struct thermal_trip_desc *td;
drivers/thermal/gov_fair_share.c
24
for_each_trip_desc(tz, td) {
drivers/thermal/gov_fair_share.c
25
if (td->threshold > tz->temperature)
drivers/thermal/gov_fair_share.c
30
if (!level_td || td->threshold > level_td->threshold)
drivers/thermal/gov_fair_share.c
31
level_td = td;
drivers/thermal/gov_fair_share.c
64
const struct thermal_trip_desc *td,
drivers/thermal/gov_fair_share.c
71
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_fair_share.c
76
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_fair_share.c
99
const struct thermal_trip_desc *td;
drivers/thermal/gov_power_allocator.c
119
const struct thermal_trip_desc *td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
125
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_power_allocator.c
409
const struct thermal_trip_desc *td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
427
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_power_allocator.c
464
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_power_allocator.c
506
const struct thermal_trip_desc *td;
drivers/thermal/gov_power_allocator.c
508
for_each_trip_desc(tz, td) {
drivers/thermal/gov_power_allocator.c
509
const struct thermal_trip *trip = &td->trip;
drivers/thermal/gov_power_allocator.c
548
const struct thermal_trip_desc *td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
553
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_power_allocator.c
591
const struct thermal_trip_desc *td;
drivers/thermal/gov_power_allocator.c
598
td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
600
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/gov_power_allocator.c
645
const struct thermal_trip_desc *td;
drivers/thermal/gov_power_allocator.c
651
td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
654
list_for_each_entry(instance, &td->thermal_instances, trip_node)
drivers/thermal/gov_power_allocator.c
663
const struct thermal_trip_desc *td = trip_to_trip_desc(params->trip_max);
drivers/thermal/gov_power_allocator.c
670
list_for_each_entry(instance, &td->thermal_instances, trip_node)
drivers/thermal/gov_step_wise.c
119
const struct thermal_trip_desc *td;
drivers/thermal/gov_step_wise.c
131
for_each_trip_desc(tz, td) {
drivers/thermal/gov_step_wise.c
132
const struct thermal_trip *trip = &td->trip;
drivers/thermal/gov_step_wise.c
139
thermal_zone_trip_update(tz, td, td->threshold);
drivers/thermal/gov_step_wise.c
142
for_each_trip_desc(tz, td) {
drivers/thermal/gov_step_wise.c
143
list_for_each_entry(instance, &td->thermal_instances, trip_node)
drivers/thermal/gov_step_wise.c
82
const struct thermal_trip_desc *td,
drivers/thermal/gov_step_wise.c
86
const struct thermal_trip *trip = &td->trip;
drivers/thermal/gov_step_wise.c
97
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/intel/intel_bxt_pmic_thermal.c
157
struct pmic_thermal_data *td;
drivers/thermal/intel/intel_bxt_pmic_thermal.c
166
td = (struct pmic_thermal_data *)
drivers/thermal/intel/intel_bxt_pmic_thermal.c
170
for (i = 0; i < td->num_maps; i++) {
drivers/thermal/intel/intel_bxt_pmic_thermal.c
171
for (j = 0; j < td->maps[i].num_trips; j++) {
drivers/thermal/intel/intel_bxt_pmic_thermal.c
172
reg = td->maps[i].trip_config[j].irq_reg;
drivers/thermal/intel/intel_bxt_pmic_thermal.c
173
mask = td->maps[i].trip_config[j].irq_mask;
drivers/thermal/intel/intel_bxt_pmic_thermal.c
191
evt_stat_reg = td->maps[i].trip_config[j].evt_stat;
drivers/thermal/intel/intel_bxt_pmic_thermal.c
195
tzd = thermal_zone_get_zone_by_name(td->maps[i].handle);
drivers/thermal/thermal_core.c
1007
if (!tz->ops.should_bind(tz, &td->trip, cdev, &c))
drivers/thermal/thermal_core.c
1010
ret = thermal_bind_cdev_to_trip(tz, td, cdev, &c);
drivers/thermal/thermal_core.c
1012
print_bind_err_msg(tz, td, cdev, ret);
drivers/thermal/thermal_core.c
1322
struct thermal_trip_desc *td;
drivers/thermal/thermal_core.c
1324
for_each_trip_desc(tz, td)
drivers/thermal/thermal_core.c
1325
thermal_unbind_cdev_from_trip(tz, td, cdev);
drivers/thermal/thermal_core.c
1371
const struct thermal_trip_desc *td;
drivers/thermal/thermal_core.c
1379
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_core.c
1380
const struct thermal_trip *trip = &td->trip;
drivers/thermal/thermal_core.c
1403
struct thermal_trip_desc *td, *next;
drivers/thermal/thermal_core.c
1411
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_core.c
1414
list_for_each_entry(instance, &td->thermal_instances, trip_node)
drivers/thermal/thermal_core.c
1421
list_for_each_entry_safe(td, next, &tz->trips_invalid, list_node) {
drivers/thermal/thermal_core.c
1422
if (td->trip.temperature != THERMAL_TEMP_INVALID)
drivers/thermal/thermal_core.c
1423
move_to_trips_high(tz, td);
drivers/thermal/thermal_core.c
1426
list_for_each_entry_safe(td, next, &tz->trips_reached, list_node) {
drivers/thermal/thermal_core.c
1427
if (td->trip.temperature == THERMAL_TEMP_INVALID)
drivers/thermal/thermal_core.c
1428
move_to_trips_invalid(tz, td);
drivers/thermal/thermal_core.c
1430
move_to_trips_high(tz, td);
drivers/thermal/thermal_core.c
1509
struct thermal_trip_desc *td;
drivers/thermal/thermal_core.c
1583
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_core.c
1584
td->trip = *trip++;
drivers/thermal/thermal_core.c
1585
INIT_LIST_HEAD(&td->thermal_instances);
drivers/thermal/thermal_core.c
1586
INIT_LIST_HEAD(&td->list_node);
drivers/thermal/thermal_core.c
1592
move_to_trips_invalid(tz, td);
drivers/thermal/thermal_core.c
282
struct thermal_trip_desc *td;
drivers/thermal/thermal_core.c
292
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_core.c
293
if (td->trip.type == THERMAL_TRIP_CRITICAL &&
drivers/thermal/thermal_core.c
294
td->trip.temperature > THERMAL_TEMP_INVALID) {
drivers/thermal/thermal_core.c
416
static void move_trip_to_sorted_list(struct thermal_trip_desc *td,
drivers/thermal/thermal_core.c
425
list_del(&td->list_node);
drivers/thermal/thermal_core.c
429
if (entry->threshold <= td->threshold) {
drivers/thermal/thermal_core.c
430
list_add(&td->list_node, &entry->list_node);
drivers/thermal/thermal_core.c
434
list_add(&td->list_node, list);
drivers/thermal/thermal_core.c
438
struct thermal_trip_desc *td)
drivers/thermal/thermal_core.c
440
td->threshold = td->trip.temperature;
drivers/thermal/thermal_core.c
441
move_trip_to_sorted_list(td, &tz->trips_high);
drivers/thermal/thermal_core.c
445
struct thermal_trip_desc *td)
drivers/thermal/thermal_core.c
447
td->threshold = td->trip.temperature - td->trip.hysteresis;
drivers/thermal/thermal_core.c
448
move_trip_to_sorted_list(td, &tz->trips_reached);
drivers/thermal/thermal_core.c
452
struct thermal_trip_desc *td)
drivers/thermal/thermal_core.c
454
td->threshold = INT_MAX;
drivers/thermal/thermal_core.c
455
list_move(&td->list_node, &tz->trips_invalid);
drivers/thermal/thermal_core.c
471
struct thermal_trip_desc *td,
drivers/thermal/thermal_core.c
475
const struct thermal_trip *trip = &td->trip;
drivers/thermal/thermal_core.c
500
struct thermal_trip_desc *td = trip_to_trip_desc(trip);
drivers/thermal/thermal_core.c
510
if (tz->temperature >= td->threshold)
drivers/thermal/thermal_core.c
511
move_to_trips_reached(tz, td);
drivers/thermal/thermal_core.c
517
struct thermal_trip_desc *td = trip_to_trip_desc(trip);
drivers/thermal/thermal_core.c
534
move_to_trips_high(tz, td);
drivers/thermal/thermal_core.c
544
if (tz->temperature >= td->threshold)
drivers/thermal/thermal_core.c
545
thermal_trip_crossed(tz, td, thermal_get_tz_governor(tz), false);
drivers/thermal/thermal_core.c
547
move_to_trips_invalid(tz, td);
drivers/thermal/thermal_core.c
556
if (tz->temperature >= td->threshold)
drivers/thermal/thermal_core.c
557
move_to_trips_reached(tz, td);
drivers/thermal/thermal_core.c
559
move_to_trips_high(tz, td);
drivers/thermal/thermal_core.c
567
struct thermal_trip_desc *td, *next;
drivers/thermal/thermal_core.c
571
list_for_each_entry_safe_reverse(td, next, &tz->trips_reached, list_node) {
drivers/thermal/thermal_core.c
572
if (td->threshold <= tz->temperature)
drivers/thermal/thermal_core.c
575
thermal_trip_crossed(tz, td, governor, false);
drivers/thermal/thermal_core.c
580
list_move(&td->list_node, &way_down_list);
drivers/thermal/thermal_core.c
583
list_for_each_entry_safe(td, next, &tz->trips_high, list_node) {
drivers/thermal/thermal_core.c
584
if (td->threshold > tz->temperature)
drivers/thermal/thermal_core.c
587
thermal_trip_crossed(tz, td, governor, true);
drivers/thermal/thermal_core.c
588
move_to_trips_reached(tz, td);
drivers/thermal/thermal_core.c
591
list_for_each_entry_safe(td, next, &way_down_list, list_node)
drivers/thermal/thermal_core.c
592
move_to_trips_high(tz, td);
drivers/thermal/thermal_core.c
595
td = list_last_entry(&tz->trips_reached,
drivers/thermal/thermal_core.c
602
*low = td->threshold - 1;
drivers/thermal/thermal_core.c
605
td = list_first_entry(&tz->trips_high,
drivers/thermal/thermal_core.c
607
*high = td->threshold;
drivers/thermal/thermal_core.c
795
struct thermal_trip_desc *td)
drivers/thermal/thermal_core.c
799
list_for_each_entry(instance, &td->thermal_instances, trip_node) {
drivers/thermal/thermal_core.c
804
list_add_tail(&new_instance->trip_node, &td->thermal_instances);
drivers/thermal/thermal_core.c
827
struct thermal_trip_desc *td,
drivers/thermal/thermal_core.c
854
dev->trip = &td->trip;
drivers/thermal/thermal_core.c
893
result = thermal_instance_add(dev, cdev, td);
drivers/thermal/thermal_core.c
934
struct thermal_trip_desc *td,
drivers/thermal/thermal_core.c
939
list_for_each_entry_safe(pos, next, &td->thermal_instances, trip_node) {
drivers/thermal/thermal_core.c
983
const struct thermal_trip_desc *td,
drivers/thermal/thermal_core.c
987
cdev->type, thermal_zone_trip_id(tz, &td->trip), ret);
drivers/thermal/thermal_core.c
993
struct thermal_trip_desc *td;
drivers/thermal/thermal_core.c
999
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_debugfs.c
790
struct thermal_trip_desc *td;
drivers/thermal/thermal_debugfs.c
812
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_debugfs.c
813
const struct thermal_trip *trip = &td->trip;
drivers/thermal/thermal_helpers.c
46
const struct thermal_trip_desc *td = trip_to_trip_desc(trip);
drivers/thermal/thermal_helpers.c
49
list_for_each_entry(ti, &td->thermal_instances, trip_node) {
drivers/thermal/thermal_helpers.c
84
const struct thermal_trip_desc *td;
drivers/thermal/thermal_helpers.c
93
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_helpers.c
94
const struct thermal_trip *trip = &td->trip;
drivers/thermal/thermal_netlink.c
529
const struct thermal_trip_desc *td;
drivers/thermal/thermal_netlink.c
548
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_netlink.c
549
const struct thermal_trip *trip = &td->trip;
drivers/thermal/thermal_sysfs.c
391
struct thermal_trip_desc *td;
drivers/thermal/thermal_sysfs.c
400
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_sysfs.c
401
struct thermal_trip_attrs *trip_attrs = &td->trip_attrs;
drivers/thermal/thermal_sysfs.c
421
if (td->trip.flags & THERMAL_TRIP_FLAG_RW_TEMP) {
drivers/thermal/thermal_sysfs.c
434
if (td->trip.flags & THERMAL_TRIP_FLAG_RW_HYST) {
drivers/thermal/thermal_sysfs.c
87
struct thermal_trip_desc *td; \
drivers/thermal/thermal_sysfs.c
89
td = container_of(_ptr_, struct thermal_trip_desc, \
drivers/thermal/thermal_sysfs.c
91
&td->trip; \
drivers/thermal/thermal_trip.c
31
struct thermal_trip_desc *td;
drivers/thermal/thermal_trip.c
34
for_each_trip_desc(tz, td) {
drivers/thermal/thermal_trip.c
35
ret = cb(&td->trip, data);
drivers/usb/c67x00/c67x00-sched.c
1002
if (td->status & TD_ERROR_MASK) {
drivers/usb/c67x00/c67x00-sched.c
1004
c67x00_td_to_error(c67x00, td));
drivers/usb/c67x00/c67x00-sched.c
1008
if ((td->status & TD_STATUSMASK_NAK) || !td_sequence_ok(td) ||
drivers/usb/c67x00/c67x00-sched.c
1009
!td_acked(td))
drivers/usb/c67x00/c67x00-sched.c
1015
if (unlikely(td->status & TD_STATUSMASK_OVF)) {
drivers/usb/c67x00/c67x00-sched.c
1016
if (td_residue(td) & TD_RESIDUE_OVERFLOW) {
drivers/usb/c67x00/c67x00-sched.c
1024
c67x00_handle_successful_td(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
1028
c67x00_clear_pipe(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
1030
usb_settoggle(td_udev(td), usb_pipeendpoint(td->pipe),
drivers/usb/c67x00/c67x00-sched.c
1031
usb_pipeout(td->pipe),
drivers/usb/c67x00/c67x00-sched.c
1032
!(td->ctrl_reg & SEQ_SEL));
drivers/usb/c67x00/c67x00-sched.c
1034
tmp = list_entry(td->td_list.next, typeof(*td), td_list);
drivers/usb/c67x00/c67x00-sched.c
1035
c67x00_release_td(td);
drivers/usb/c67x00/c67x00-sched.c
1052
static void c67x00_send_td(struct c67x00_hcd *c67x00, struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
1054
int len = td_length(td);
drivers/usb/c67x00/c67x00-sched.c
1056
if (len && ((td->pid_ep & TD_PIDEPMASK_PID) != TD_PID_IN))
drivers/usb/c67x00/c67x00-sched.c
1057
c67x00_ll_write_mem_le16(c67x00->sie->dev, td_ly_base_addr(td),
drivers/usb/c67x00/c67x00-sched.c
1058
td->data, len);
drivers/usb/c67x00/c67x00-sched.c
1061
td->td_addr, td, CY_TD_SIZE);
drivers/usb/c67x00/c67x00-sched.c
1066
struct c67x00_td *td;
drivers/usb/c67x00/c67x00-sched.c
1073
list_for_each_entry(td, &c67x00->td_list, td_list) {
drivers/usb/c67x00/c67x00-sched.c
1074
if (td->td_list.next == &c67x00->td_list)
drivers/usb/c67x00/c67x00-sched.c
1075
td->next_td_addr = 0; /* Last td in list */
drivers/usb/c67x00/c67x00-sched.c
1077
c67x00_send_td(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
115
#define td_residue(td) ((__s8)(td->residue))
drivers/usb/c67x00/c67x00-sched.c
116
#define td_ly_base_addr(td) (__le16_to_cpu((td)->ly_base_addr))
drivers/usb/c67x00/c67x00-sched.c
117
#define td_port_length(td) (__le16_to_cpu((td)->port_length))
drivers/usb/c67x00/c67x00-sched.c
118
#define td_next_td_addr(td) (__le16_to_cpu((td)->next_td_addr))
drivers/usb/c67x00/c67x00-sched.c
120
#define td_active(td) ((td)->retry_cnt & TD_RETRYCNTMASK_ACT_FLG)
drivers/usb/c67x00/c67x00-sched.c
121
#define td_length(td) (td_port_length(td) & TD_PORTLENMASK_DL)
drivers/usb/c67x00/c67x00-sched.c
123
#define td_sequence_ok(td) (!td->status || \
drivers/usb/c67x00/c67x00-sched.c
124
(!(td->status & TD_STATUSMASK_SEQ) == \
drivers/usb/c67x00/c67x00-sched.c
125
!(td->ctrl_reg & SEQ_SEL)))
drivers/usb/c67x00/c67x00-sched.c
127
#define td_acked(td) (!td->status || \
drivers/usb/c67x00/c67x00-sched.c
128
(td->status & TD_STATUSMASK_ACK))
drivers/usb/c67x00/c67x00-sched.c
129
#define td_actual_bytes(td) (td_length(td) - td_residue(td))
drivers/usb/c67x00/c67x00-sched.c
136
static void dbg_td(struct c67x00_hcd *c67x00, struct c67x00_td *td, char *msg)
drivers/usb/c67x00/c67x00-sched.c
140
dev_dbg(dev, "### %s at 0x%04x\n", msg, td->td_addr);
drivers/usb/c67x00/c67x00-sched.c
141
dev_dbg(dev, "urb: 0x%p\n", td->urb);
drivers/usb/c67x00/c67x00-sched.c
142
dev_dbg(dev, "endpoint: %4d\n", usb_pipeendpoint(td->pipe));
drivers/usb/c67x00/c67x00-sched.c
143
dev_dbg(dev, "pipeout: %4d\n", usb_pipeout(td->pipe));
drivers/usb/c67x00/c67x00-sched.c
144
dev_dbg(dev, "ly_base_addr: 0x%04x\n", td_ly_base_addr(td));
drivers/usb/c67x00/c67x00-sched.c
145
dev_dbg(dev, "port_length: 0x%04x\n", td_port_length(td));
drivers/usb/c67x00/c67x00-sched.c
146
dev_dbg(dev, "pid_ep: 0x%02x\n", td->pid_ep);
drivers/usb/c67x00/c67x00-sched.c
147
dev_dbg(dev, "dev_addr: 0x%02x\n", td->dev_addr);
drivers/usb/c67x00/c67x00-sched.c
148
dev_dbg(dev, "ctrl_reg: 0x%02x\n", td->ctrl_reg);
drivers/usb/c67x00/c67x00-sched.c
149
dev_dbg(dev, "status: 0x%02x\n", td->status);
drivers/usb/c67x00/c67x00-sched.c
150
dev_dbg(dev, "retry_cnt: 0x%02x\n", td->retry_cnt);
drivers/usb/c67x00/c67x00-sched.c
151
dev_dbg(dev, "residue: 0x%02x\n", td->residue);
drivers/usb/c67x00/c67x00-sched.c
152
dev_dbg(dev, "next_td_addr: 0x%04x\n", td_next_td_addr(td));
drivers/usb/c67x00/c67x00-sched.c
153
dev_dbg(dev, "data: %*ph\n", td_length(td), td->data);
drivers/usb/c67x00/c67x00-sched.c
200
struct c67x00_td *td;
drivers/usb/c67x00/c67x00-sched.c
218
list_for_each_entry(td, &c67x00->td_list, td_list)
drivers/usb/c67x00/c67x00-sched.c
219
if (urb == td->urb)
drivers/usb/c67x00/c67x00-sched.c
220
td->urb = NULL;
drivers/usb/c67x00/c67x00-sched.c
567
struct c67x00_td *td;
drivers/usb/c67x00/c67x00-sched.c
577
td = kzalloc_obj(*td, GFP_ATOMIC);
drivers/usb/c67x00/c67x00-sched.c
578
if (!td)
drivers/usb/c67x00/c67x00-sched.c
581
td->pipe = urb->pipe;
drivers/usb/c67x00/c67x00-sched.c
582
td->ep_data = urbp->ep_data;
drivers/usb/c67x00/c67x00-sched.c
584
if ((td_udev(td)->speed == USB_SPEED_LOW) &&
drivers/usb/c67x00/c67x00-sched.c
588
switch (usb_pipetype(td->pipe)) {
drivers/usb/c67x00/c67x00-sched.c
610
td->td_addr = c67x00->next_td_addr;
drivers/usb/c67x00/c67x00-sched.c
614
td->ly_base_addr = __cpu_to_le16(c67x00->next_buf_addr);
drivers/usb/c67x00/c67x00-sched.c
615
td->port_length = __cpu_to_le16((c67x00->sie->sie_num << 15) |
drivers/usb/c67x00/c67x00-sched.c
617
td->pid_ep = ((pid & 0xF) << TD_PIDEP_OFFSET) |
drivers/usb/c67x00/c67x00-sched.c
618
(usb_pipeendpoint(td->pipe) & 0xF);
drivers/usb/c67x00/c67x00-sched.c
619
td->dev_addr = usb_pipedevice(td->pipe) & 0x7F;
drivers/usb/c67x00/c67x00-sched.c
620
td->ctrl_reg = cmd;
drivers/usb/c67x00/c67x00-sched.c
621
td->status = 0;
drivers/usb/c67x00/c67x00-sched.c
622
td->retry_cnt = (tt << TT_OFFSET) | (active_flag << 4) | retry_cnt;
drivers/usb/c67x00/c67x00-sched.c
623
td->residue = 0;
drivers/usb/c67x00/c67x00-sched.c
624
td->next_td_addr = __cpu_to_le16(c67x00->next_td_addr);
drivers/usb/c67x00/c67x00-sched.c
627
td->data = data;
drivers/usb/c67x00/c67x00-sched.c
628
td->urb = urb;
drivers/usb/c67x00/c67x00-sched.c
629
td->privdata = privdata;
drivers/usb/c67x00/c67x00-sched.c
633
list_add_tail(&td->td_list, &c67x00->td_list);
drivers/usb/c67x00/c67x00-sched.c
637
static inline void c67x00_release_td(struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
639
list_del_init(&td->td_list);
drivers/usb/c67x00/c67x00-sched.c
640
kfree(td);
drivers/usb/c67x00/c67x00-sched.c
798
struct c67x00_td *td, *ttd;
drivers/usb/c67x00/c67x00-sched.c
804
list_for_each_entry_safe(td, ttd, &c67x00->td_list, td_list) {
drivers/usb/c67x00/c67x00-sched.c
805
dbg_td(c67x00, td, "Unprocessed td");
drivers/usb/c67x00/c67x00-sched.c
806
c67x00_release_td(td);
drivers/usb/c67x00/c67x00-sched.c
82
#define td_udev(td) ((td)->ep_data->dev)
drivers/usb/c67x00/c67x00-sched.c
830
c67x00_parse_td(struct c67x00_hcd *c67x00, struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
833
td->td_addr, td, CY_TD_SIZE);
drivers/usb/c67x00/c67x00-sched.c
835
if (usb_pipein(td->pipe) && td_actual_bytes(td))
drivers/usb/c67x00/c67x00-sched.c
836
c67x00_ll_read_mem_le16(c67x00->sie->dev, td_ly_base_addr(td),
drivers/usb/c67x00/c67x00-sched.c
837
td->data, td_actual_bytes(td));
drivers/usb/c67x00/c67x00-sched.c
840
static int c67x00_td_to_error(struct c67x00_hcd *c67x00, struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
842
if (td->status & TD_STATUSMASK_ERR) {
drivers/usb/c67x00/c67x00-sched.c
843
dbg_td(c67x00, td, "ERROR_FLAG");
drivers/usb/c67x00/c67x00-sched.c
846
if (td->status & TD_STATUSMASK_STALL) {
drivers/usb/c67x00/c67x00-sched.c
850
if (td->status & TD_STATUSMASK_TMOUT) {
drivers/usb/c67x00/c67x00-sched.c
851
dbg_td(c67x00, td, "TIMEOUT");
drivers/usb/c67x00/c67x00-sched.c
858
static inline int c67x00_end_of_data(struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
861
struct urb *urb = td->urb;
drivers/usb/c67x00/c67x00-sched.c
864
act_bytes = td_actual_bytes(td);
drivers/usb/c67x00/c67x00-sched.c
869
maxps = usb_maxpacket(td_udev(td), td->pipe);
drivers/usb/c67x00/c67x00-sched.c
892
struct c67x00_td *td, *tmp;
drivers/usb/c67x00/c67x00-sched.c
893
td = last_td;
drivers/usb/c67x00/c67x00-sched.c
895
while (td->td_list.next != &c67x00->td_list) {
drivers/usb/c67x00/c67x00-sched.c
896
td = list_entry(td->td_list.next, struct c67x00_td, td_list);
drivers/usb/c67x00/c67x00-sched.c
897
if (td->pipe == last_td->pipe) {
drivers/usb/c67x00/c67x00-sched.c
898
c67x00_release_td(td);
drivers/usb/c67x00/c67x00-sched.c
899
td = tmp;
drivers/usb/c67x00/c67x00-sched.c
901
tmp = td;
drivers/usb/c67x00/c67x00-sched.c
908
struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
910
struct urb *urb = td->urb;
drivers/usb/c67x00/c67x00-sched.c
915
urb->actual_length += td_actual_bytes(td);
drivers/usb/c67x00/c67x00-sched.c
917
switch (usb_pipetype(td->pipe)) {
drivers/usb/c67x00/c67x00-sched.c
920
switch (td->privdata) {
drivers/usb/c67x00/c67x00-sched.c
930
if (c67x00_end_of_data(td)) {
drivers/usb/c67x00/c67x00-sched.c
932
c67x00_clear_pipe(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
945
if (unlikely(c67x00_end_of_data(td))) {
drivers/usb/c67x00/c67x00-sched.c
946
c67x00_clear_pipe(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
953
static void c67x00_handle_isoc(struct c67x00_hcd *c67x00, struct c67x00_td *td)
drivers/usb/c67x00/c67x00-sched.c
955
struct urb *urb = td->urb;
drivers/usb/c67x00/c67x00-sched.c
961
cnt = td->privdata;
drivers/usb/c67x00/c67x00-sched.c
963
if (td->status & TD_ERROR_MASK)
drivers/usb/c67x00/c67x00-sched.c
966
urb->iso_frame_desc[cnt].actual_length = td_actual_bytes(td);
drivers/usb/c67x00/c67x00-sched.c
967
urb->iso_frame_desc[cnt].status = c67x00_td_to_error(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
980
struct c67x00_td *td, *tmp;
drivers/usb/c67x00/c67x00-sched.c
985
list_for_each_entry_safe(td, tmp, &c67x00->td_list, td_list) {
drivers/usb/c67x00/c67x00-sched.c
987
c67x00_parse_td(c67x00, td);
drivers/usb/c67x00/c67x00-sched.c
988
urb = td->urb; /* urb can be NULL! */
drivers/usb/c67x00/c67x00-sched.c
993
if (usb_pipeisoc(td->pipe)) {
drivers/usb/c67x00/c67x00-sched.c
995
c67x00_handle_isoc(c67x00, td);
drivers/usb/cdns3/cdnsp-gadget.c
382
preq->td.drbl = 0;
drivers/usb/cdns3/cdnsp-gadget.h
1319
struct cdnsp_td td;
drivers/usb/cdns3/cdnsp-ring.c
1018
td->request_length_set = true;
drivers/usb/cdns3/cdnsp-ring.c
1019
td->preq->request.actual = td->preq->request.length - remaining;
drivers/usb/cdns3/cdnsp-ring.c
1023
if (!td->request_length_set)
drivers/usb/cdns3/cdnsp-ring.c
1024
td->preq->request.actual = td->preq->request.length;
drivers/usb/cdns3/cdnsp-ring.c
1028
td = list_entry(ep_ring->td_list.next, struct cdnsp_td,
drivers/usb/cdns3/cdnsp-ring.c
1033
&td->last_trb->generic);
drivers/usb/cdns3/cdnsp-ring.c
1039
cdnsp_finish_td(pdev, td, event, pep, status);
drivers/usb/cdns3/cdnsp-ring.c
1046
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
1052
struct cdnsp_request *preq = td->preq;
drivers/usb/cdns3/cdnsp-ring.c
1104
td->preq->request.actual += td_length;
drivers/usb/cdns3/cdnsp-ring.c
1106
cdnsp_finish_td(pdev, td, event, pep, &status);
drivers/usb/cdns3/cdnsp-ring.c
1110
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
1118
td->preq->request.status = -EXDEV;
drivers/usb/cdns3/cdnsp-ring.c
1119
td->preq->request.actual = 0;
drivers/usb/cdns3/cdnsp-ring.c
1122
while (ep_ring->dequeue != td->last_trb)
drivers/usb/cdns3/cdnsp-ring.c
1127
cdnsp_td_cleanup(pdev, td, ep_ring, &status);
drivers/usb/cdns3/cdnsp-ring.c
1134
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
1148
requested = td->preq->request.length;
drivers/usb/cdns3/cdnsp-ring.c
1156
td->preq->request.actual = remaining;
drivers/usb/cdns3/cdnsp-ring.c
1165
if (ep_trb == td->last_trb)
drivers/usb/cdns3/cdnsp-ring.c
1170
td->preq->request.actual = ep_trb_len;
drivers/usb/cdns3/cdnsp-ring.c
1175
cdnsp_finish_td(pdev, td, event, ep, status);
drivers/usb/cdns3/cdnsp-ring.c
1210
struct cdnsp_td *td, *td_temp;
drivers/usb/cdns3/cdnsp-ring.c
1217
list_for_each_entry_safe(td, td_temp, &ep_ring->td_list,
drivers/usb/cdns3/cdnsp-ring.c
1219
td->drbl = 0;
drivers/usb/cdns3/cdnsp-ring.c
1241
struct cdnsp_td *td;
drivers/usb/cdns3/cdnsp-ring.c
1333
td = list_entry(ep_ring->td_list.next, struct cdnsp_td,
drivers/usb/cdns3/cdnsp-ring.c
1338
ep_ring->dequeue, td->last_trb,
drivers/usb/cdns3/cdnsp-ring.c
1341
desc = td->preq->pep->endpoint.desc;
drivers/usb/cdns3/cdnsp-ring.c
1351
td->last_trb != ep_trb)
drivers/usb/cdns3/cdnsp-ring.c
1380
cdnsp_skip_isoc_td(pdev, td, event, pep, status);
drivers/usb/cdns3/cdnsp-ring.c
1391
cdnsp_skip_isoc_td(pdev, td, event, pep, status);
drivers/usb/cdns3/cdnsp-ring.c
1399
cdnsp_process_ctrl_td(pdev, td, ep_trb, event, pep,
drivers/usb/cdns3/cdnsp-ring.c
1402
cdnsp_process_isoc_td(pdev, td, ep_trb, event, pep,
drivers/usb/cdns3/cdnsp-ring.c
1405
cdnsp_process_bulk_intr_td(pdev, td, ep_trb, event, pep,
drivers/usb/cdns3/cdnsp-ring.c
1694
INIT_LIST_HEAD(&preq->td.td_list);
drivers/usb/cdns3/cdnsp-ring.c
1695
preq->td.preq = preq;
drivers/usb/cdns3/cdnsp-ring.c
1698
list_add_tail(&preq->td.td_list, &ep_ring->td_list);
drivers/usb/cdns3/cdnsp-ring.c
1702
preq->td.start_seg = ep_ring->enq_seg;
drivers/usb/cdns3/cdnsp-ring.c
1703
preq->td.first_trb = ep_ring->enqueue;
drivers/usb/cdns3/cdnsp-ring.c
1970
preq->td.bounce_seg = ring->enq_seg;
drivers/usb/cdns3/cdnsp-ring.c
1984
preq->td.last_trb = ring->enqueue;
drivers/usb/cdns3/cdnsp-ring.c
2040
preq->td.drbl = 1;
drivers/usb/cdns3/cdnsp-ring.c
2113
preq->td.last_trb = ep_ring->enqueue;
drivers/usb/cdns3/cdnsp-ring.c
2321
preq->td.last_trb = ep_ring->enqueue;
drivers/usb/cdns3/cdnsp-ring.c
2363
list_del_init(&preq->td.td_list);
drivers/usb/cdns3/cdnsp-ring.c
2373
preq->td.last_trb = ep_ring->enqueue;
drivers/usb/cdns3/cdnsp-ring.c
2375
cdnsp_td_to_noop(pdev, ep_ring, &preq->td, true);
drivers/usb/cdns3/cdnsp-ring.c
2378
ep_ring->enqueue = preq->td.first_trb;
drivers/usb/cdns3/cdnsp-ring.c
2379
ep_ring->enq_seg = preq->td.start_seg;
drivers/usb/cdns3/cdnsp-ring.c
368
struct cdnsp_td *td, *td_temp;
drivers/usb/cdns3/cdnsp-ring.c
381
list_for_each_entry_safe(td, td_temp, &ep_ring->td_list,
drivers/usb/cdns3/cdnsp-ring.c
383
if (td->drbl)
drivers/usb/cdns3/cdnsp-ring.c
388
td->drbl = 1;
drivers/usb/cdns3/cdnsp-ring.c
506
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
509
struct cdnsp_segment *seg = td->start_seg;
drivers/usb/cdns3/cdnsp-ring.c
510
union cdnsp_trb *trb = td->first_trb;
drivers/usb/cdns3/cdnsp-ring.c
516
if (flip_cycle && trb != td->first_trb && trb != td->last_trb)
drivers/usb/cdns3/cdnsp-ring.c
519
if (trb == td->last_trb)
drivers/usb/cdns3/cdnsp-ring.c
600
struct cdnsp_td *td)
drivers/usb/cdns3/cdnsp-ring.c
602
struct cdnsp_segment *seg = td->bounce_seg;
drivers/usb/cdns3/cdnsp-ring.c
609
preq = td->preq;
drivers/usb/cdns3/cdnsp-ring.c
611
trace_cdnsp_bounce_unmap(td->preq, seg->bounce_len, seg->bounce_offs,
drivers/usb/cdns3/cdnsp-ring.c
708
cur_td = &preq->td;
drivers/usb/cdns3/cdnsp-ring.c
895
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
899
struct cdnsp_request *preq = td->preq;
drivers/usb/cdns3/cdnsp-ring.c
902
cdnsp_unmap_td_bounce_buffer(pdev, ep_ring, td);
drivers/usb/cdns3/cdnsp-ring.c
913
list_del_init(&td->td_list);
drivers/usb/cdns3/cdnsp-ring.c
921
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-ring.c
944
while (ep_ring->dequeue != td->last_trb)
drivers/usb/cdns3/cdnsp-ring.c
949
cdnsp_td_cleanup(pdev, td, ep_ring, status);
drivers/usb/cdns3/cdnsp-ring.c
998
struct cdnsp_td *td,
drivers/usb/cdns3/cdnsp-trace.h
655
__entry->first_trb = preq->td.first_trb;
drivers/usb/cdns3/cdnsp-trace.h
656
__entry->last_trb = preq->td.last_trb;
drivers/usb/cdns3/cdnsp-trace.h
657
__entry->trb_dma = cdnsp_trb_virt_to_dma(preq->td.start_seg,
drivers/usb/cdns3/cdnsp-trace.h
658
preq->td.first_trb)
drivers/usb/chipidea/debug.c
169
list_for_each_entry_safe(node, tmpnode, &req->tds, td) {
drivers/usb/chipidea/trace.h
41
TP_PROTO(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq, struct td_node *td),
drivers/usb/chipidea/trace.h
42
TP_ARGS(hwep, hwreq, td),
drivers/usb/chipidea/trace.h
45
__field(struct td_node *, td)
drivers/usb/chipidea/trace.h
56
__entry->td = td;
drivers/usb/chipidea/trace.h
57
__entry->dma = td->dma;
drivers/usb/chipidea/trace.h
58
__entry->td_remaining_size = td->td_remaining_size;
drivers/usb/chipidea/trace.h
59
__entry->next = le32_to_cpu(td->ptr->next);
drivers/usb/chipidea/trace.h
60
__entry->token = le32_to_cpu(td->ptr->token);
drivers/usb/chipidea/trace.h
65
__get_str(name), __entry->req, __entry->td, &__entry->dma,
drivers/usb/chipidea/trace.h
73
TP_PROTO(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq, struct td_node *td),
drivers/usb/chipidea/trace.h
74
TP_ARGS(hwep, hwreq, td)
drivers/usb/chipidea/trace.h
78
TP_PROTO(struct ci_hw_ep *hwep, struct ci_hw_req *hwreq, struct td_node *td),
drivers/usb/chipidea/trace.h
79
TP_ARGS(hwep, hwreq, td)
drivers/usb/chipidea/udc.c
1577
hwep->qh.ptr->td.next |= cpu_to_le32(TD_TERMINATE); /* needed? */
drivers/usb/chipidea/udc.c
1678
list_for_each_entry_safe(node, tmpnode, &hwreq->tds, td) {
drivers/usb/chipidea/udc.c
1680
list_del_init(&node->td);
drivers/usb/chipidea/udc.c
1736
list_for_each_entry_safe(node, tmpnode, &hwreq->tds, td) {
drivers/usb/chipidea/udc.c
1738
list_del(&node->td);
drivers/usb/chipidea/udc.c
408
struct td_node, td);
drivers/usb/chipidea/udc.c
412
INIT_LIST_HEAD(&node->td);
drivers/usb/chipidea/udc.c
413
list_add_tail(&node->td, &hwreq->tds);
drivers/usb/chipidea/udc.c
535
struct td_node, td);
drivers/usb/chipidea/udc.c
717
struct td_node, td);
drivers/usb/chipidea/udc.c
723
list_for_each_entry_safe(firstnode, lastnode, &hwreq->tds, td)
drivers/usb/chipidea/udc.c
726
firstnode = list_first_entry(&hwreq->tds, struct td_node, td);
drivers/usb/chipidea/udc.c
741
struct td_node, td);
drivers/usb/chipidea/udc.c
770
hwep->qh.ptr->td.next = cpu_to_le32(firstnode->dma);
drivers/usb/chipidea/udc.c
771
hwep->qh.ptr->td.token &=
drivers/usb/chipidea/udc.c
805
hwep->qh.ptr->td.next = cpu_to_le32(node->dma);
drivers/usb/chipidea/udc.c
806
hwep->qh.ptr->td.token &=
drivers/usb/chipidea/udc.c
834
list_for_each_entry_safe(node, tmpnode, &hwreq->tds, td) {
drivers/usb/chipidea/udc.c
883
list_del_init(&node->td);
drivers/usb/chipidea/udc.c
924
list_for_each_entry_safe(node, tmpnode, &hwreq->tds, td) {
drivers/usb/chipidea/udc.c
926
list_del_init(&node->td);
drivers/usb/chipidea/udc.h
54
struct ci_hw_td td;
drivers/usb/chipidea/udc.h
61
struct list_head td;
drivers/usb/fotg210/fotg210-hcd.c
358
struct fotg210_qtd *td;
drivers/usb/fotg210/fotg210-hcd.c
394
list_for_each_entry(td, &qh->qtd_list, qtd_list) {
drivers/usb/fotg210/fotg210-hcd.c
395
scratch = hc32_to_cpup(fotg210, &td->hw_token);
drivers/usb/fotg210/fotg210-hcd.c
397
if (hw_curr == td->qtd_dma)
drivers/usb/fotg210/fotg210-hcd.c
399
else if (hw->hw_qtd_next == cpu_to_hc32(fotg210, td->qtd_dma))
drivers/usb/fotg210/fotg210-hcd.c
402
if (td->hw_alt_next == fotg210->async->hw->hw_alt_next)
drivers/usb/fotg210/fotg210-hcd.c
404
else if (td->hw_alt_next != list_end)
drivers/usb/fotg210/fotg210-hcd.c
409
td, mark, ({ char *tmp;
drivers/usb/fotg210/fotg210-hcd.c
426
td->urb);
drivers/usb/gadget/udc/amd5536udc.h
505
struct udc_data_dma *td;
drivers/usb/gadget/udc/fsl_udc_core.c
702
static void fsl_prime_ep(struct fsl_ep *ep, struct ep_td_struct *td)
drivers/usb/gadget/udc/fsl_udc_core.c
707
qh->next_dtd_ptr = cpu_to_hc32(td->td_dma
drivers/usb/gadget/udc/net2280.c
1140
req_dma_count = le32_to_cpup(&req->td->dmacount);
drivers/usb/gadget/udc/net2280.c
1148
if (unlikely(req->td->dmadesc == 0)) {
drivers/usb/gadget/udc/net2280.c
1283
req->td->dmacount = 0; /* invalidate */
drivers/usb/gadget/udc/net2280.c
1870
struct net2280_dma *td;
drivers/usb/gadget/udc/net2280.c
1872
td = req->td;
drivers/usb/gadget/udc/net2280.c
1876
le32_to_cpu(td->dmacount),
drivers/usb/gadget/udc/net2280.c
1877
le32_to_cpu(td->dmaaddr),
drivers/usb/gadget/udc/net2280.c
1878
le32_to_cpu(td->dmadesc));
drivers/usb/gadget/udc/net2280.c
2671
req->td->dmacount = 0;
drivers/usb/gadget/udc/net2280.c
3745
struct net2280_dma *td;
drivers/usb/gadget/udc/net2280.c
3747
td = dma_pool_alloc(dev->requests, GFP_KERNEL,
drivers/usb/gadget/udc/net2280.c
3749
if (!td) {
drivers/usb/gadget/udc/net2280.c
3754
td->dmacount = 0; /* not VALID */
drivers/usb/gadget/udc/net2280.c
3755
td->dmadesc = td->dmaaddr;
drivers/usb/gadget/udc/net2280.c
3756
dev->ep[i].dummy = td;
drivers/usb/gadget/udc/net2280.c
565
struct net2280_dma *td;
drivers/usb/gadget/udc/net2280.c
567
td = dma_pool_alloc(ep->dev->requests, gfp_flags,
drivers/usb/gadget/udc/net2280.c
569
if (!td) {
drivers/usb/gadget/udc/net2280.c
573
td->dmacount = 0; /* not VALID */
drivers/usb/gadget/udc/net2280.c
574
td->dmadesc = td->dmaaddr;
drivers/usb/gadget/udc/net2280.c
575
req->td = td;
drivers/usb/gadget/udc/net2280.c
594
if (req->td)
drivers/usb/gadget/udc/net2280.c
595
dma_pool_free(ep->dev->requests, req->td, req->td_dma);
drivers/usb/gadget/udc/net2280.c
798
struct net2280_dma *td = req->td;
drivers/usb/gadget/udc/net2280.c
818
td->dmaaddr = cpu_to_le32 (req->req.dma);
drivers/usb/gadget/udc/net2280.c
822
td->dmacount = cpu_to_le32(dmacount);
drivers/usb/gadget/udc/net2280.c
895
req->td->dmacount = cpu_to_le32(req->req.length - tmp);
drivers/usb/gadget/udc/net2280.c
898
req->td->dmadesc = 0;
drivers/usb/gadget/udc/net2280.c
924
req->td->dmadesc = cpu_to_le32 (ep->td_dma);
drivers/usb/gadget/udc/net2280.c
927
req->td->dmacount |= cpu_to_le32(BIT(END_OF_CHAIN));
drivers/usb/gadget/udc/net2280.c
936
swap(ep->dummy, req->td);
drivers/usb/gadget/udc/net2280.c
939
req->td->dmadesc = cpu_to_le32 (ep->td_dma);
drivers/usb/gadget/udc/net2280.h
141
struct net2280_dma *td;
drivers/usb/gadget/udc/pch_udc.c
1475
struct pch_udc_data_dma_desc *td = req->td_data;
drivers/usb/gadget/udc/pch_udc.c
1479
dma_addr_t addr = (dma_addr_t)td->next;
drivers/usb/gadget/udc/pch_udc.c
1480
td->next = 0x00;
drivers/usb/gadget/udc/pch_udc.c
1483
td = phys_to_virt(addr);
drivers/usb/gadget/udc/pch_udc.c
1484
addr2 = (dma_addr_t)td->next;
drivers/usb/gadget/udc/pch_udc.c
1485
dma_pool_free(dev->data_requests, td, addr);
drivers/usb/gadget/udc/pch_udc.c
1508
struct pch_udc_data_dma_desc *td = req->td_data, *last;
drivers/usb/gadget/udc/pch_udc.c
1516
td->dataptr = req->req.dma;
drivers/usb/gadget/udc/pch_udc.c
1517
td->status = PCH_UDC_BS_HST_BSY;
drivers/usb/gadget/udc/pch_udc.c
1520
td->status = PCH_UDC_BS_HST_BSY | min(buf_len, bytes);
drivers/usb/gadget/udc/pch_udc.c
1523
last = td;
drivers/usb/gadget/udc/pch_udc.c
1524
td = dma_pool_alloc(ep->dev->data_requests, gfp_flags,
drivers/usb/gadget/udc/pch_udc.c
1526
if (!td)
drivers/usb/gadget/udc/pch_udc.c
1529
td->dataptr = req->td_data->dataptr + i;
drivers/usb/gadget/udc/pch_udc.c
1533
req->td_data_last = td;
drivers/usb/gadget/udc/pch_udc.c
1534
td->status |= PCH_UDC_DMA_LAST;
drivers/usb/gadget/udc/pch_udc.c
1535
td->next = req->td_data_phys;
drivers/usb/gadget/udc/pch_udc.c
2096
struct pch_udc_data_dma_desc *td;
drivers/usb/gadget/udc/pch_udc.c
2107
td = req->td_data_last;
drivers/usb/gadget/udc/pch_udc.c
2109
td = req->td_data;
drivers/usb/gadget/udc/pch_udc.c
2112
if ((td->status & PCH_UDC_RXTX_STS) != PCH_UDC_RTS_SUCC) {
drivers/usb/gadget/udc/pch_udc.c
2119
if ((td->status & PCH_UDC_BUFF_STS) == PCH_UDC_BS_DMA_DONE)
drivers/usb/gadget/udc/pch_udc.c
2120
if (td->status & PCH_UDC_DMA_LAST) {
drivers/usb/gadget/udc/pch_udc.c
2121
count = td->status & PCH_UDC_RXTX_BYTES;
drivers/usb/gadget/udc/pch_udc.c
2124
if (td == req->td_data_last) {
drivers/usb/gadget/udc/pch_udc.c
2128
addr = (dma_addr_t)td->next;
drivers/usb/gadget/udc/pch_udc.c
2129
td = phys_to_virt(addr);
drivers/usb/gadget/udc/pch_udc.c
2135
td->status |= PCH_UDC_BS_HST_BSY;
drivers/usb/gadget/udc/snps_udc_core.c
1000
td = phys_to_virt(td->next);
drivers/usb/gadget/udc/snps_udc_core.c
1002
return td;
drivers/usb/gadget/udc/snps_udc_core.c
1009
struct udc_data_dma *td;
drivers/usb/gadget/udc/snps_udc_core.c
1012
td = req->td_data;
drivers/usb/gadget/udc/snps_udc_core.c
1014
count = AMD_GETBITS(td->status, UDC_DMA_OUT_STS_RXBYTES);
drivers/usb/gadget/udc/snps_udc_core.c
1016
while (td && !(td->status & AMD_BIT(UDC_DMA_IN_STS_L))) {
drivers/usb/gadget/udc/snps_udc_core.c
1017
td = phys_to_virt(td->next);
drivers/usb/gadget/udc/snps_udc_core.c
1019
if (td) {
drivers/usb/gadget/udc/snps_udc_core.c
1020
count += AMD_GETBITS(td->status,
drivers/usb/gadget/udc/snps_udc_core.c
1875
dev->ep[UDC_EP0OUT_IX].td->status |=
drivers/usb/gadget/udc/snps_udc_core.c
2063
struct udc_data_dma *td = NULL;
drivers/usb/gadget/udc/snps_udc_core.c
2143
td = udc_get_last_dma_desc(req);
drivers/usb/gadget/udc/snps_udc_core.c
2144
dma_done = AMD_GETBITS(td->status, UDC_DMA_OUT_STS_BS);
drivers/usb/gadget/udc/snps_udc_core.c
2156
VDBG(dev, "last desc = %p\n", td);
drivers/usb/gadget/udc/snps_udc_core.c
2163
count = AMD_GETBITS(td->status,
drivers/usb/gadget/udc/snps_udc_core.c
2277
struct udc_data_dma *td;
drivers/usb/gadget/udc/snps_udc_core.c
2321
td = udc_get_last_dma_desc(req);
drivers/usb/gadget/udc/snps_udc_core.c
2322
if (td)
drivers/usb/gadget/udc/snps_udc_core.c
2590
dev->ep[UDC_EP0OUT_IX].td->status =
drivers/usb/gadget/udc/snps_udc_core.c
2592
dev->ep[UDC_EP0OUT_IX].td->status,
drivers/usb/gadget/udc/snps_udc_core.c
3051
dma_pool_free(dev->stp_requests, dev->ep[UDC_EP0OUT_IX].td,
drivers/usb/gadget/udc/snps_udc_core.c
3110
dev->ep[UDC_EP0OUT_IX].td = td_data;
drivers/usb/gadget/udc/snps_udc_core.c
562
struct udc_data_dma *td = req->td_data;
drivers/usb/gadget/udc/snps_udc_core.c
566
dma_addr_t addr = (dma_addr_t)td->next;
drivers/usb/gadget/udc/snps_udc_core.c
572
td = phys_to_virt(addr);
drivers/usb/gadget/udc/snps_udc_core.c
573
addr_next = (dma_addr_t)td->next;
drivers/usb/gadget/udc/snps_udc_core.c
574
dma_pool_free(dev->data_requests, td, addr);
drivers/usb/gadget/udc/snps_udc_core.c
763
struct udc_data_dma *td = NULL;
drivers/usb/gadget/udc/snps_udc_core.c
790
td = req->td_data;
drivers/usb/gadget/udc/snps_udc_core.c
795
td = dma_pool_alloc(ep->dev->data_requests,
drivers/usb/gadget/udc/snps_udc_core.c
797
if (!td)
drivers/usb/gadget/udc/snps_udc_core.c
800
td->status = 0;
drivers/usb/gadget/udc/snps_udc_core.c
803
td = (struct udc_data_dma *)phys_to_virt(
drivers/usb/gadget/udc/snps_udc_core.c
805
td->status = 0;
drivers/usb/gadget/udc/snps_udc_core.c
807
td = (struct udc_data_dma *)phys_to_virt(last->next);
drivers/usb/gadget/udc/snps_udc_core.c
808
td->status = 0;
drivers/usb/gadget/udc/snps_udc_core.c
811
if (td)
drivers/usb/gadget/udc/snps_udc_core.c
812
td->bufptr = req->req.dma + i; /* assign buffer */
drivers/usb/gadget/udc/snps_udc_core.c
840
td->status = AMD_ADDBITS(td->status,
drivers/usb/gadget/udc/snps_udc_core.c
853
td->status = AMD_ADDBITS(td->status,
drivers/usb/gadget/udc/snps_udc_core.c
858
last = td;
drivers/usb/gadget/udc/snps_udc_core.c
861
if (td) {
drivers/usb/gadget/udc/snps_udc_core.c
862
td->status |= AMD_BIT(UDC_DMA_IN_STS_L);
drivers/usb/gadget/udc/snps_udc_core.c
864
req->td_data_last = td;
drivers/usb/gadget/udc/snps_udc_core.c
996
struct udc_data_dma *td;
drivers/usb/gadget/udc/snps_udc_core.c
998
td = req->td_data;
drivers/usb/gadget/udc/snps_udc_core.c
999
while (td && !(td->status & AMD_BIT(UDC_DMA_IN_STS_L)))
drivers/usb/host/ehci-dbg.c
376
struct ehci_qtd *td;
drivers/usb/host/ehci-dbg.c
419
td = list_entry(entry, struct ehci_qtd, qtd_list);
drivers/usb/host/ehci-dbg.c
420
scratch = hc32_to_cpup(ehci, &td->hw_token);
drivers/usb/host/ehci-dbg.c
422
if (hw_curr == td->qtd_dma) {
drivers/usb/host/ehci-dbg.c
424
} else if (hw->hw_qtd_next == cpu_to_hc32(ehci, td->qtd_dma)) {
drivers/usb/host/ehci-dbg.c
427
if (td->hw_alt_next == ehci->async->hw->hw_alt_next)
drivers/usb/host/ehci-dbg.c
429
else if (td->hw_alt_next != list_end)
drivers/usb/host/ehci-dbg.c
449
td, mark, type,
drivers/usb/host/ehci-dbg.c
452
td->urb,
drivers/usb/host/ehci-dbg.c
453
(u32) td->qtd_dma,
drivers/usb/host/ehci-dbg.c
454
hc32_to_cpup(ehci, &td->hw_buf[0]));
drivers/usb/host/fhci-hcd.c
172
struct td *td;
drivers/usb/host/fhci-hcd.c
173
struct td *next_td;
drivers/usb/host/fhci-hcd.c
180
list_for_each_entry_safe(td, next_td, &fhci->empty_tds, node) {
drivers/usb/host/fhci-hcd.c
181
list_del(&td->node);
drivers/usb/host/fhci-hcd.c
182
kfree(td);
drivers/usb/host/fhci-hcd.c
218
struct td *td;
drivers/usb/host/fhci-hcd.c
220
td = kmalloc_obj(*td);
drivers/usb/host/fhci-hcd.c
221
if (!td)
drivers/usb/host/fhci-hcd.c
223
fhci_recycle_empty_td(fhci, td);
drivers/usb/host/fhci-hcd.c
519
struct td *td = fhci_remove_td_from_ed(ed);
drivers/usb/host/fhci-hcd.c
520
fhci_urb_complete_free(fhci, td->urb);
drivers/usb/host/fhci-mem.c
100
td->len = len;
drivers/usb/host/fhci-mem.c
101
td->iso_index = index;
drivers/usb/host/fhci-mem.c
102
td->interval = interval;
drivers/usb/host/fhci-mem.c
103
td->start_frame = start_frame;
drivers/usb/host/fhci-mem.c
104
td->ioc = ioc;
drivers/usb/host/fhci-mem.c
105
td->status = USB_TD_OK;
drivers/usb/host/fhci-mem.c
107
urb_priv->tds[index] = td;
drivers/usb/host/fhci-mem.c
109
return td;
drivers/usb/host/fhci-mem.c
23
static void init_td(struct td *td)
drivers/usb/host/fhci-mem.c
25
memset(td, 0, sizeof(*td));
drivers/usb/host/fhci-mem.c
26
INIT_LIST_HEAD(&td->node);
drivers/usb/host/fhci-mem.c
27
INIT_LIST_HEAD(&td->frame_lh);
drivers/usb/host/fhci-mem.c
37
static struct td *get_empty_td(struct fhci_hcd *fhci)
drivers/usb/host/fhci-mem.c
39
struct td *td;
drivers/usb/host/fhci-mem.c
42
td = list_entry(fhci->empty_tds.next, struct td, node);
drivers/usb/host/fhci-mem.c
45
td = kmalloc_obj(*td, GFP_ATOMIC);
drivers/usb/host/fhci-mem.c
46
if (!td)
drivers/usb/host/fhci-mem.c
49
init_td(td);
drivers/usb/host/fhci-mem.c
52
return td;
drivers/usb/host/fhci-mem.c
55
void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td)
drivers/usb/host/fhci-mem.c
57
init_td(td);
drivers/usb/host/fhci-mem.c
58
list_add(&td->node, &fhci->empty_tds);
drivers/usb/host/fhci-mem.c
85
struct td *fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb,
drivers/usb/host/fhci-mem.c
90
struct td *td = get_empty_td(fhci);
drivers/usb/host/fhci-mem.c
92
if (!td)
drivers/usb/host/fhci-mem.c
95
td->urb = urb;
drivers/usb/host/fhci-mem.c
96
td->ed = ed;
drivers/usb/host/fhci-mem.c
97
td->type = type;
drivers/usb/host/fhci-mem.c
98
td->toggle = toggle;
drivers/usb/host/fhci-mem.c
99
td->data = data;
drivers/usb/host/fhci-q.c
100
td = list_entry(frame->tds_list.next, struct td, frame_lh);
drivers/usb/host/fhci-q.c
102
td = NULL;
drivers/usb/host/fhci-q.c
104
return td;
drivers/usb/host/fhci-q.c
107
struct td *fhci_remove_td_from_ed(struct ed *ed)
drivers/usb/host/fhci-q.c
109
struct td *td;
drivers/usb/host/fhci-q.c
112
td = list_entry(ed->td_list.next, struct td, node);
drivers/usb/host/fhci-q.c
117
ed->td_head = list_entry(ed->td_list.next, struct td,
drivers/usb/host/fhci-q.c
122
td = NULL;
drivers/usb/host/fhci-q.c
124
return td;
drivers/usb/host/fhci-q.c
127
struct td *fhci_remove_td_from_done_list(struct fhci_controller_list *p_list)
drivers/usb/host/fhci-q.c
129
struct td *td;
drivers/usb/host/fhci-q.c
132
td = list_entry(p_list->done_list.next, struct td, node);
drivers/usb/host/fhci-q.c
135
td = NULL;
drivers/usb/host/fhci-q.c
137
return td;
drivers/usb/host/fhci-q.c
142
struct td *td;
drivers/usb/host/fhci-q.c
144
td = ed->td_head;
drivers/usb/host/fhci-q.c
145
list_del_init(&td->node);
drivers/usb/host/fhci-q.c
149
ed->td_head = list_entry(ed->td_list.next, struct td, node);
drivers/usb/host/fhci-q.c
154
ed->toggle_carry = td->toggle;
drivers/usb/host/fhci-q.c
155
list_add_tail(&td->node, &usb->hc_list->done_list);
drivers/usb/host/fhci-q.c
156
if (td->ioc)
drivers/usb/host/fhci-q.c
174
ed->td_head = list_entry(ed->td_list.next, struct td, node);
drivers/usb/host/fhci-q.c
214
void fhci_done_td(struct urb *urb, struct td *td)
drivers/usb/host/fhci-q.c
216
struct ed *ed = td->ed;
drivers/usb/host/fhci-q.c
217
u32 cc = td->status;
drivers/usb/host/fhci-q.c
227
len = urb->iso_frame_desc[td->iso_index].length;
drivers/usb/host/fhci-q.c
229
len = td->actual_len;
drivers/usb/host/fhci-q.c
232
urb->iso_frame_desc[td->iso_index].actual_length = len;
drivers/usb/host/fhci-q.c
233
urb->iso_frame_desc[td->iso_index].status =
drivers/usb/host/fhci-q.c
242
if (td->error_cnt >= 3)
drivers/usb/host/fhci-q.c
259
if (td->type != FHCI_TA_SETUP || td->iso_index != 0)
drivers/usb/host/fhci-q.c
260
urb->actual_length += td->actual_len;
drivers/usb/host/fhci-q.c
267
struct td *td = peek_td_from_ed(ed);
drivers/usb/host/fhci-q.c
268
struct urb *urb = td->urb;
drivers/usb/host/fhci-q.c
272
td = fhci_remove_td_from_ed(ed);
drivers/usb/host/fhci-q.c
274
if (td->status != USB_TD_INPROGRESS)
drivers/usb/host/fhci-q.c
275
fhci_done_td(urb, td);
drivers/usb/host/fhci-q.c
53
void fhci_add_td_to_frame(struct fhci_time_frame *frame, struct td *td)
drivers/usb/host/fhci-q.c
55
list_add_tail(&td->frame_lh, &frame->tds_list);
drivers/usb/host/fhci-q.c
58
void fhci_add_tds_to_ed(struct ed *ed, struct td **td_list, int number)
drivers/usb/host/fhci-q.c
63
struct td *td = td_list[i];
drivers/usb/host/fhci-q.c
64
list_add_tail(&td->node, &ed->td_list);
drivers/usb/host/fhci-q.c
70
static struct td *peek_td_from_ed(struct ed *ed)
drivers/usb/host/fhci-q.c
72
struct td *td;
drivers/usb/host/fhci-q.c
75
td = list_entry(ed->td_list.next, struct td, node);
drivers/usb/host/fhci-q.c
77
td = NULL;
drivers/usb/host/fhci-q.c
79
return td;
drivers/usb/host/fhci-q.c
82
struct td *fhci_remove_td_from_frame(struct fhci_time_frame *frame)
drivers/usb/host/fhci-q.c
84
struct td *td;
drivers/usb/host/fhci-q.c
87
td = list_entry(frame->tds_list.next, struct td, frame_lh);
drivers/usb/host/fhci-q.c
90
td = NULL;
drivers/usb/host/fhci-q.c
92
return td;
drivers/usb/host/fhci-q.c
95
struct td *fhci_peek_td_from_frame(struct fhci_time_frame *frame)
drivers/usb/host/fhci-q.c
97
struct td *td;
drivers/usb/host/fhci-sched.c
100
} else if (td->status & USB_TD_TX_ER_NAK) {
drivers/usb/host/fhci-sched.c
103
td->nak_cnt++;
drivers/usb/host/fhci-sched.c
104
td->error_cnt = 0;
drivers/usb/host/fhci-sched.c
105
td->status = USB_TD_OK;
drivers/usb/host/fhci-sched.c
108
td->error_cnt = 0;
drivers/usb/host/fhci-sched.c
109
td->nak_cnt = 0;
drivers/usb/host/fhci-sched.c
110
td->toggle = !td->toggle;
drivers/usb/host/fhci-sched.c
111
td->actual_len += trans_len;
drivers/usb/host/fhci-sched.c
113
if (td->len == td->actual_len)
drivers/usb/host/fhci-sched.c
129
struct td *td;
drivers/usb/host/fhci-sched.c
136
while ((td = fhci_peek_td_from_frame(usb->actual_frame)) != NULL) {
drivers/usb/host/fhci-sched.c
137
struct packet *pkt = td->pkt;
drivers/usb/host/fhci-sched.c
155
static int add_packet(struct fhci_usb *usb, struct ed *ed, struct td *td)
drivers/usb/host/fhci-sched.c
162
if (td->toggle == USB_TD_TOGGLE_CARRY)
drivers/usb/host/fhci-sched.c
163
td->toggle = ed->toggle_carry;
drivers/usb/host/fhci-sched.c
167
len = td->len;
drivers/usb/host/fhci-sched.c
168
if (td->type != FHCI_TA_IN)
drivers/usb/host/fhci-sched.c
169
data = td->data;
drivers/usb/host/fhci-sched.c
173
len = min(td->len - td->actual_len, ed->max_pkt_size);
drivers/usb/host/fhci-sched.c
174
if (!((td->type == FHCI_TA_IN) &&
drivers/usb/host/fhci-sched.c
175
((len + td->actual_len) == td->len)))
drivers/usb/host/fhci-sched.c
176
data = td->data + td->actual_len;
drivers/usb/host/fhci-sched.c
179
len = min(td->len, ed->max_pkt_size);
drivers/usb/host/fhci-sched.c
180
if (!((td->type == FHCI_TA_IN) &&
drivers/usb/host/fhci-sched.c
181
((td->len + CRC_SIZE) >= ed->max_pkt_size)))
drivers/usb/host/fhci-sched.c
182
data = td->data;
drivers/usb/host/fhci-sched.c
217
td->pkt = pkt;
drivers/usb/host/fhci-sched.c
229
td->status = USB_TD_INPROGRESS;
drivers/usb/host/fhci-sched.c
232
fhci_add_td_to_frame(usb->actual_frame, td);
drivers/usb/host/fhci-sched.c
239
} else if (fhci_host_transaction(usb, pkt, td->type, ed->dev_addr,
drivers/usb/host/fhci-sched.c
240
ed->ep_addr, ed->mode, ed->speed, td->toggle)) {
drivers/usb/host/fhci-sched.c
242
list_del_init(&td->frame_lh);
drivers/usb/host/fhci-sched.c
243
td->status = USB_TD_OK;
drivers/usb/host/fhci-sched.c
280
struct td *td;
drivers/usb/host/fhci-sched.c
285
td = ed->td_head;
drivers/usb/host/fhci-sched.c
287
if (!td || td->status == USB_TD_INPROGRESS)
drivers/usb/host/fhci-sched.c
292
td->status = USB_TD_OK;
drivers/usb/host/fhci-sched.c
305
td->start_frame) & 0x7ff) < td->interval))
drivers/usb/host/fhci-sched.c
308
if (add_packet(usb, ed, td) < 0)
drivers/usb/host/fhci-sched.c
312
td->start_frame = usb->actual_frame->frame_num;
drivers/usb/host/fhci-sched.c
42
struct td *td;
drivers/usb/host/fhci-sched.c
48
td = fhci_remove_td_from_frame(usb->actual_frame);
drivers/usb/host/fhci-sched.c
49
td_pkt = td->pkt;
drivers/usb/host/fhci-sched.c
51
td->status = pkt->status;
drivers/usb/host/fhci-sched.c
52
if (td->type == FHCI_TA_IN && td_pkt->info & PKT_DUMMY_PACKET) {
drivers/usb/host/fhci-sched.c
53
if ((td->data + td->actual_len) && trans_len)
drivers/usb/host/fhci-sched.c
54
memcpy(td->data + td->actual_len, pkt->data,
drivers/usb/host/fhci-sched.c
61
ed = td->ed;
drivers/usb/host/fhci-sched.c
635
struct td *td;
drivers/usb/host/fhci-sched.c
64
struct td *td_next =
drivers/usb/host/fhci-sched.c
643
td = fhci_remove_td_from_done_list(fhci->hc_list);
drivers/usb/host/fhci-sched.c
644
while (td != NULL) {
drivers/usb/host/fhci-sched.c
645
urb = td->urb;
drivers/usb/host/fhci-sched.c
647
ed = td->ed;
drivers/usb/host/fhci-sched.c
65
list_entry(ed->td_list.next->next, struct td,
drivers/usb/host/fhci-sched.c
650
fhci_done_td(urb, td);
drivers/usb/host/fhci-sched.c
672
td = fhci_remove_td_from_done_list(fhci->hc_list);
drivers/usb/host/fhci-sched.c
70
td->actual_len = trans_len;
drivers/usb/host/fhci-sched.c
72
} else if ((td->status & USB_TD_ERROR) &&
drivers/usb/host/fhci-sched.c
73
!(td->status & USB_TD_TX_ER_NAK)) {
drivers/usb/host/fhci-sched.c
79
if ((td->status & USB_TD_RX_DATA_UNDERUN) ||
drivers/usb/host/fhci-sched.c
80
(td->status & USB_TD_TX_ER_STALL) ||
drivers/usb/host/fhci-sched.c
81
(td->status & USB_TD_RX_ER_PID) ||
drivers/usb/host/fhci-sched.c
82
(++td->error_cnt >= 3)) {
drivers/usb/host/fhci-sched.c
86
if (td->status & USB_TD_RX_DATA_UNDERUN) {
drivers/usb/host/fhci-sched.c
88
td->toggle = !td->toggle;
drivers/usb/host/fhci-sched.c
89
td->actual_len += trans_len;
drivers/usb/host/fhci-sched.c
96
td->nak_cnt = 0;
drivers/usb/host/fhci-sched.c
97
td->error_cnt++;
drivers/usb/host/fhci-sched.c
98
td->status = USB_TD_OK;
drivers/usb/host/fhci-tds.c
152
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
168
ep_mem_size = ring_len * sizeof(*td) + sizeof(struct fhci_ep_pram);
drivers/usb/host/fhci-tds.c
203
ep->ep_pram_ptr = (void __iomem *)ep->td_base + sizeof(*td) * ring_len;
drivers/usb/host/fhci-tds.c
211
td = ep->td_base;
drivers/usb/host/fhci-tds.c
213
out_be32(&td->buf_ptr, 0);
drivers/usb/host/fhci-tds.c
214
out_be16(&td->status, 0);
drivers/usb/host/fhci-tds.c
215
out_be16(&td->length, 0);
drivers/usb/host/fhci-tds.c
216
out_be16(&td->extra, 0);
drivers/usb/host/fhci-tds.c
217
td++;
drivers/usb/host/fhci-tds.c
219
td--;
drivers/usb/host/fhci-tds.c
220
out_be16(&td->status, TD_W); /* for last TD set Wrap bit */
drivers/usb/host/fhci-tds.c
221
out_be16(&td->length, 0);
drivers/usb/host/fhci-tds.c
281
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
293
td = ep->conf_td;
drivers/usb/host/fhci-tds.c
294
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
295
td_length = in_be16(&td->length);
drivers/usb/host/fhci-tds.c
296
buf = in_be32(&td->buf_ptr);
drivers/usb/host/fhci-tds.c
297
extra_data = in_be16(&td->extra);
drivers/usb/host/fhci-tds.c
307
clrbits16(&td->status, ~TD_W);
drivers/usb/host/fhci-tds.c
308
out_be16(&td->length, 0);
drivers/usb/host/fhci-tds.c
309
out_be32(&td->buf_ptr, 0);
drivers/usb/host/fhci-tds.c
310
out_be16(&td->extra, 0);
drivers/usb/host/fhci-tds.c
386
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
392
td = ep->empty_td;
drivers/usb/host/fhci-tds.c
393
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
395
if (td_status & TD_R && in_be16(&td->length)) {
drivers/usb/host/fhci-tds.c
404
pkt->priv_data = td;
drivers/usb/host/fhci-tds.c
405
out_be32(&td->buf_ptr, virt_to_phys(pkt->data));
drivers/usb/host/fhci-tds.c
421
out_be16(&td->extra, extra_data);
drivers/usb/host/fhci-tds.c
450
out_be16(&td->status, td_status);
drivers/usb/host/fhci-tds.c
454
out_be16(&td->length, pkt->len + CRC_SIZE);
drivers/usb/host/fhci-tds.c
456
out_be16(&td->length, pkt->len);
drivers/usb/host/fhci-tds.c
471
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
474
td = ep->td_base;
drivers/usb/host/fhci-tds.c
476
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
477
in_be32(&td->buf_ptr);
drivers/usb/host/fhci-tds.c
478
in_be16(&td->extra);
drivers/usb/host/fhci-tds.c
482
out_be16(&td->status, (td_status & ~TD_R) | TD_TO);
drivers/usb/host/fhci-tds.c
484
else if (in_be32(&td->buf_ptr) == DUMMY_BD_BUFFER)
drivers/usb/host/fhci-tds.c
485
out_be32(&td->buf_ptr, DUMMY2_BD_BUFFER);
drivers/usb/host/fhci-tds.c
490
td++;
drivers/usb/host/fhci-tds.c
495
td = ep->td_base;
drivers/usb/host/fhci-tds.c
497
out_be16(&td->status, 0);
drivers/usb/host/fhci-tds.c
498
out_be16(&td->length, 0);
drivers/usb/host/fhci-tds.c
499
out_be32(&td->buf_ptr, 0);
drivers/usb/host/fhci-tds.c
500
out_be16(&td->extra, 0);
drivers/usb/host/fhci-tds.c
501
td++;
drivers/usb/host/fhci-tds.c
502
} while (!(in_be16(&td->status) & TD_W));
drivers/usb/host/fhci-tds.c
503
out_be16(&td->status, TD_W); /* for last TD set Wrap bit */
drivers/usb/host/fhci-tds.c
504
out_be16(&td->length, 0);
drivers/usb/host/fhci-tds.c
505
out_be32(&td->buf_ptr, 0);
drivers/usb/host/fhci-tds.c
506
out_be16(&td->extra, 0);
drivers/usb/host/fhci-tds.c
527
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
535
td = cpm_muram_addr(tb_ptr);
drivers/usb/host/fhci-tds.c
536
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
537
buf_ptr = in_be32(&td->buf_ptr);
drivers/usb/host/fhci-tds.c
538
in_be16(&td->extra);
drivers/usb/host/fhci-tds.c
541
out_be16(&td->status, (td_status & ~TD_R) | TD_TO);
drivers/usb/host/fhci-tds.c
543
out_be32(&td->buf_ptr, 0);
drivers/usb/host/fhci-tds.c
549
td = next_bd(ep->td_base, td, td_status);
drivers/usb/host/fhci-tds.c
550
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
551
buf_ptr = in_be32(&td->buf_ptr);
drivers/usb/host/fhci-tds.c
552
in_be16(&td->extra);
drivers/usb/host/fhci-tds.c
591
struct usb_td __iomem *td;
drivers/usb/host/fhci-tds.c
595
td = cpm_muram_addr(tb_ptr);
drivers/usb/host/fhci-tds.c
597
if (in_be32(&td->buf_ptr) == DUMMY_BD_BUFFER) {
drivers/usb/host/fhci-tds.c
598
struct usb_td __iomem *old_td = td;
drivers/usb/host/fhci-tds.c
601
td_status = in_be16(&td->status);
drivers/usb/host/fhci-tds.c
603
td = next_bd(ep->td_base, td, td_status);
drivers/usb/host/fhci-tds.c
604
tb_ptr = cpm_muram_offset(td);
drivers/usb/host/fhci-tds.c
608
if (in_be16(&td->status) & TD_R)
drivers/usb/host/fhci-tds.c
73
struct usb_td __iomem *td,
drivers/usb/host/fhci-tds.c
79
return ++td;
drivers/usb/host/fhci.h
336
struct td *td_head; /* a pointer to the current TD handled */
drivers/usb/host/fhci.h
390
struct td **tds;
drivers/usb/host/fhci.h
514
void fhci_recycle_empty_td(struct fhci_hcd *fhci, struct td *td);
drivers/usb/host/fhci.h
517
struct td *fhci_td_fill(struct fhci_hcd *fhci, struct urb *urb,
drivers/usb/host/fhci.h
521
void fhci_add_tds_to_ed(struct ed *ed, struct td **td_list, int number);
drivers/usb/host/fhci.h
565
struct td *fhci_remove_td_from_ed(struct ed *ed);
drivers/usb/host/fhci.h
566
struct td *fhci_remove_td_from_frame(struct fhci_time_frame *frame);
drivers/usb/host/fhci.h
568
struct td *fhci_peek_td_from_frame(struct fhci_time_frame *frame);
drivers/usb/host/fhci.h
569
void fhci_add_td_to_frame(struct fhci_time_frame *frame, struct td *td);
drivers/usb/host/fhci.h
570
struct td *fhci_remove_td_from_done_list(struct fhci_controller_list *p_list);
drivers/usb/host/fhci.h
571
void fhci_done_td(struct urb *urb, struct td *td);
drivers/usb/host/ohci-dbg.c
256
const struct td *td)
drivers/usb/host/ohci-dbg.c
258
u32 tmp = hc32_to_cpup (ohci, &td->hwINFO);
drivers/usb/host/ohci-dbg.c
261
label, td,
drivers/usb/host/ohci-dbg.c
263
td->urb, td->index,
drivers/usb/host/ohci-dbg.c
264
hc32_to_cpup (ohci, &td->hwNextTD));
drivers/usb/host/ohci-dbg.c
285
cbp = hc32_to_cpup (ohci, &td->hwCBP);
drivers/usb/host/ohci-dbg.c
286
be = hc32_to_cpup (ohci, &td->hwBE);
drivers/usb/host/ohci-dbg.c
297
hc32_to_cpup (ohci, &td->hwCBP) & ~0x0fff,
drivers/usb/host/ohci-dbg.c
298
hc32_to_cpup (ohci, &td->hwBE));
drivers/usb/host/ohci-dbg.c
300
u16 psw = ohci_hwPSW (ohci, td, i);
drivers/usb/host/ohci-dbg.c
351
struct td *td;
drivers/usb/host/ohci-dbg.c
352
td = list_entry (tmp, struct td, td_list);
drivers/usb/host/ohci-dbg.c
353
ohci_dump_td (ohci, " ->", td);
drivers/usb/host/ohci-dbg.c
416
struct td *td;
drivers/usb/host/ohci-dbg.c
436
td = list_entry (entry, struct td, td_list);
drivers/usb/host/ohci-dbg.c
437
info = hc32_to_cpup (ohci, &td->hwINFO);
drivers/usb/host/ohci-dbg.c
438
cbp = hc32_to_cpup (ohci, &td->hwCBP);
drivers/usb/host/ohci-dbg.c
439
be = hc32_to_cpup (ohci, &td->hwBE);
drivers/usb/host/ohci-dbg.c
442
td,
drivers/usb/host/ohci-dbg.c
451
TD_CC_GET (info), td->urb, info);
drivers/usb/host/ohci-hcd.c
1053
struct urb *urb = priv->td[0]->urb;
drivers/usb/host/ohci-hcd.c
1284
sizeof (struct ed), sizeof (struct td));
drivers/usb/host/ohci-hcd.c
193
urb_priv = kzalloc_flex(*urb_priv, td, size, mem_flags);
drivers/usb/host/ohci-hcd.c
202
urb_priv->td [i] = td_alloc (ohci, mem_flags);
drivers/usb/host/ohci-hcd.c
203
if (!urb_priv->td [i]) {
drivers/usb/host/ohci-hcd.c
755
struct td *td, *td_start, *td_next;
drivers/usb/host/ohci-hcd.c
799
td = ed->pending_td;
drivers/usb/host/ohci-hcd.c
802
if (!td) {
drivers/usb/host/ohci-hcd.c
806
td = td_next;
drivers/usb/host/ohci-hcd.c
812
td_start = td;
drivers/usb/host/ohci-hcd.c
813
td_next = list_prepare_entry(td, &ed->td_list, td_list);
drivers/usb/host/ohci-hcd.c
817
td = td_next; /* head pointer has passed this TD */
drivers/usb/host/ohci-hcd.c
819
if (td != td_start) {
drivers/usb/host/ohci-hcd.c
826
ed->pending_td = td;
drivers/usb/host/ohci-mem.c
100
td = dma_pool_zalloc(hc->td_cache, mem_flags, &dma);
drivers/usb/host/ohci-mem.c
101
if (td) {
drivers/usb/host/ohci-mem.c
103
td->hwNextTD = cpu_to_hc32 (hc, dma);
drivers/usb/host/ohci-mem.c
104
td->td_dma = dma;
drivers/usb/host/ohci-mem.c
107
return td;
drivers/usb/host/ohci-mem.c
111
td_free (struct ohci_hcd *hc, struct td *td)
drivers/usb/host/ohci-mem.c
113
struct td **prev = &hc->td_hash [TD_HASH_FUNC (td->td_dma)];
drivers/usb/host/ohci-mem.c
116
while (*prev && *prev != td)
drivers/usb/host/ohci-mem.c
119
*prev = td->td_hash;
drivers/usb/host/ohci-mem.c
120
else if ((td->hwINFO & cpu_to_hc32(hc, TD_DONE)) != 0)
drivers/usb/host/ohci-mem.c
121
ohci_dbg (hc, "no hash for td %p\n", td);
drivers/usb/host/ohci-mem.c
124
gen_pool_free(hcd->localmem_pool, (unsigned long)td,
drivers/usb/host/ohci-mem.c
125
sizeof(*td));
drivers/usb/host/ohci-mem.c
127
dma_pool_free(hc->td_cache, td, td->td_dma);
drivers/usb/host/ohci-mem.c
48
sizeof (struct td),
drivers/usb/host/ohci-mem.c
76
static inline struct td *
drivers/usb/host/ohci-mem.c
79
struct td *td;
drivers/usb/host/ohci-mem.c
82
td = hc->td_hash [TD_HASH_FUNC(td_dma)];
drivers/usb/host/ohci-mem.c
83
while (td && td->td_dma != td_dma)
drivers/usb/host/ohci-mem.c
84
td = td->td_hash;
drivers/usb/host/ohci-mem.c
85
return td;
drivers/usb/host/ohci-mem.c
89
static struct td *
drivers/usb/host/ohci-mem.c
93
struct td *td;
drivers/usb/host/ohci-mem.c
97
td = gen_pool_dma_zalloc_align(hcd->localmem_pool,
drivers/usb/host/ohci-mem.c
98
sizeof(*td), &dma, 32);
drivers/usb/host/ohci-q.c
1003
if (td->td_dma != head &&
drivers/usb/host/ohci-q.c
1008
if (td->next_dl_td)
drivers/usb/host/ohci-q.c
1038
struct td *td;
drivers/usb/host/ohci-q.c
1044
td = list_entry (entry, struct td, td_list);
drivers/usb/host/ohci-q.c
1045
urb = td->urb;
drivers/usb/host/ohci-q.c
1046
urb_priv = td->urb->hcpriv;
drivers/usb/host/ohci-q.c
1049
prev = &td->hwNextTD;
drivers/usb/host/ohci-q.c
1055
*prev = td->hwNextTD | savebits;
drivers/usb/host/ohci-q.c
1062
tdINFO = hc32_to_cpup(ohci, &td->hwINFO);
drivers/usb/host/ohci-q.c
1069
td_done (ohci, urb, td);
drivers/usb/host/ohci-q.c
1150
static void takeback_td(struct ohci_hcd *ohci, struct td *td)
drivers/usb/host/ohci-q.c
1152
struct urb *urb = td->urb;
drivers/usb/host/ohci-q.c
1154
struct ed *ed = td->ed;
drivers/usb/host/ohci-q.c
1158
status = td_done(ohci, urb, td);
drivers/usb/host/ohci-q.c
1173
td = list_entry(ed->td_list.next, struct td, td_list);
drivers/usb/host/ohci-q.c
1174
if (!(td->hwINFO & cpu_to_hc32(ohci, TD_DONE))) {
drivers/usb/host/ohci-q.c
1200
struct td *td;
drivers/usb/host/ohci-q.c
1203
td = ohci->dl_start;
drivers/usb/host/ohci-q.c
1204
if (td == ohci->dl_end)
drivers/usb/host/ohci-q.c
1207
ohci->dl_start = td->next_dl_td;
drivers/usb/host/ohci-q.c
1209
takeback_td(ohci, td);
drivers/usb/host/ohci-q.c
20
struct td *td;
drivers/usb/host/ohci-q.c
23
td = urb_priv->td [i];
drivers/usb/host/ohci-q.c
24
if (td)
drivers/usb/host/ohci-q.c
25
td_free (hc, td);
drivers/usb/host/ohci-q.c
414
struct td *td;
drivers/usb/host/ohci-q.c
425
td = td_alloc (ohci, GFP_ATOMIC);
drivers/usb/host/ohci-q.c
426
if (!td) {
drivers/usb/host/ohci-q.c
432
ed->dummy = td;
drivers/usb/host/ohci-q.c
433
ed->hwTailP = cpu_to_hc32 (ohci, td->td_dma);
drivers/usb/host/ohci-q.c
520
struct td *td, *td_pt;
drivers/usb/host/ohci-q.c
543
td_pt = urb_priv->td [index];
drivers/usb/host/ohci-q.c
546
td = urb_priv->td [index] = urb_priv->ed->dummy;
drivers/usb/host/ohci-q.c
549
td->ed = urb_priv->ed;
drivers/usb/host/ohci-q.c
550
td->next_dl_td = NULL;
drivers/usb/host/ohci-q.c
551
td->index = index;
drivers/usb/host/ohci-q.c
552
td->urb = urb;
drivers/usb/host/ohci-q.c
553
td->data_dma = data;
drivers/usb/host/ohci-q.c
557
td->hwINFO = cpu_to_hc32 (ohci, info);
drivers/usb/host/ohci-q.c
559
td->hwCBP = cpu_to_hc32 (ohci, data & 0xFFFFF000);
drivers/usb/host/ohci-q.c
560
*ohci_hwPSWp(ohci, td, 0) = cpu_to_hc16 (ohci,
drivers/usb/host/ohci-q.c
563
td->hwCBP = cpu_to_hc32 (ohci, data);
drivers/usb/host/ohci-q.c
566
td->hwBE = cpu_to_hc32 (ohci, data + len - 1);
drivers/usb/host/ohci-q.c
568
td->hwBE = 0;
drivers/usb/host/ohci-q.c
569
td->hwNextTD = cpu_to_hc32 (ohci, td_pt->td_dma);
drivers/usb/host/ohci-q.c
572
list_add_tail (&td->td_list, &td->ed->td_list);
drivers/usb/host/ohci-q.c
575
hash = TD_HASH_FUNC (td->td_dma);
drivers/usb/host/ohci-q.c
576
td->td_hash = ohci->td_hash [hash];
drivers/usb/host/ohci-q.c
577
ohci->td_hash [hash] = td;
drivers/usb/host/ohci-q.c
581
td->ed->hwTailP = td->hwNextTD;
drivers/usb/host/ohci-q.c
756
static int td_done(struct ohci_hcd *ohci, struct urb *urb, struct td *td)
drivers/usb/host/ohci-q.c
758
u32 tdINFO = hc32_to_cpup (ohci, &td->hwINFO);
drivers/usb/host/ohci-q.c
762
list_del (&td->td_list);
drivers/usb/host/ohci-q.c
766
u16 tdPSW = ohci_hwPSW(ohci, td, 0);
drivers/usb/host/ohci-q.c
778
dlen = urb->iso_frame_desc [td->index].length;
drivers/usb/host/ohci-q.c
786
urb->iso_frame_desc [td->index].actual_length = dlen;
drivers/usb/host/ohci-q.c
787
urb->iso_frame_desc [td->index].status = cc_to_error [cc];
drivers/usb/host/ohci-q.c
792
urb, td, 1 + td->index, dlen, cc);
drivers/usb/host/ohci-q.c
800
u32 tdBE = hc32_to_cpup (ohci, &td->hwBE);
drivers/usb/host/ohci-q.c
812
if ((type != PIPE_CONTROL || td->index != 0) && tdBE != 0) {
drivers/usb/host/ohci-q.c
813
if (td->hwCBP == 0)
drivers/usb/host/ohci-q.c
814
urb->actual_length += tdBE - td->data_dma + 1;
drivers/usb/host/ohci-q.c
817
hc32_to_cpup (ohci, &td->hwCBP)
drivers/usb/host/ohci-q.c
818
- td->data_dma;
drivers/usb/host/ohci-q.c
824
urb, td, 1 + td->index, cc,
drivers/usb/host/ohci-q.c
833
static void ed_halted(struct ohci_hcd *ohci, struct td *td, int cc)
drivers/usb/host/ohci-q.c
835
struct urb *urb = td->urb;
drivers/usb/host/ohci-q.c
837
struct ed *ed = td->ed;
drivers/usb/host/ohci-q.c
838
struct list_head *tmp = td->td_list.next;
drivers/usb/host/ohci-q.c
853
struct td *next;
drivers/usb/host/ohci-q.c
855
next = list_entry (tmp, struct td, td_list);
drivers/usb/host/ohci-q.c
893
hc32_to_cpu (ohci, td->hwINFO),
drivers/usb/host/ohci-q.c
899
static void add_to_done_list(struct ohci_hcd *ohci, struct td *td)
drivers/usb/host/ohci-q.c
901
struct td *td2, *td_prev;
drivers/usb/host/ohci-q.c
904
if (td->next_dl_td)
drivers/usb/host/ohci-q.c
908
ed = td->ed;
drivers/usb/host/ohci-q.c
909
td2 = td_prev = td;
drivers/usb/host/ohci-q.c
926
ohci->dl_end = td->next_dl_td = td;
drivers/usb/host/ohci-q.c
938
struct td *td = NULL;
drivers/usb/host/ohci-q.c
950
td = dma_to_td (ohci, td_dma);
drivers/usb/host/ohci-q.c
951
if (!td) {
drivers/usb/host/ohci-q.c
956
td->hwINFO |= cpu_to_hc32 (ohci, TD_DONE);
drivers/usb/host/ohci-q.c
957
cc = TD_CC_GET (hc32_to_cpup (ohci, &td->hwINFO));
drivers/usb/host/ohci-q.c
964
&& (td->ed->hwHeadP & cpu_to_hc32 (ohci, ED_H)))
drivers/usb/host/ohci-q.c
965
ed_halted(ohci, td, cc);
drivers/usb/host/ohci-q.c
967
td_dma = hc32_to_cpup (ohci, &td->hwNextTD);
drivers/usb/host/ohci-q.c
968
add_to_done_list(ohci, td);
drivers/usb/host/ohci-q.c
996
struct td *td;
drivers/usb/host/ohci-q.c
999
td = list_first_entry(&ed->td_list, struct td, td_list);
drivers/usb/host/ohci.h
132
struct td *td_hash; /* dma-->td hashtable */
drivers/usb/host/ohci.h
133
struct td *next_dl_td;
drivers/usb/host/ohci.h
340
struct td *td[] __counted_by(length); // all TDs in this request
drivers/usb/host/ohci.h
393
struct td *td_hash [TD_HASH_SIZE];
drivers/usb/host/ohci.h
394
struct td *dl_start, *dl_end; /* the done list */
drivers/usb/host/ohci.h
45
struct td *dummy; /* next TD to activate */
drivers/usb/host/ohci.h
675
const struct td *td, int index)
drivers/usb/host/ohci.h
678
&td->hwPSW[index ^ 1] : &td->hwPSW[index]);
drivers/usb/host/ohci.h
682
const struct td *td, int index)
drivers/usb/host/ohci.h
684
return hc16_to_cpup(ohci, ohci_hwPSWp(ohci, td, index));
drivers/usb/host/ohci.h
74
struct td *pending_td;
drivers/usb/host/r8a66597-hcd.c
1065
struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1068
__le16 *p = (__le16 *)td->urb->setup_packet;
drivers/usb/host/r8a66597-hcd.c
1071
r8a66597_write(r8a66597, make_devsel(td->address) | td->maxpacket,
drivers/usb/host/r8a66597-hcd.c
1084
struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1086
struct urb *urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1093
r8a66597_pipe_toggle(r8a66597, td->pipe, 1);
drivers/usb/host/r8a66597-hcd.c
1096
pipe_irq_disable(r8a66597, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1097
pipe_start(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1098
pipe_irq_enable(r8a66597, urb, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1101
pipe_irq_disable(r8a66597, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1102
pipe_setting(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1103
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1104
r8a66597_write(r8a66597, ~(1 << td->pipenum), BRDYSTS);
drivers/usb/host/r8a66597-hcd.c
1106
if (td->pipe->pipetre) {
drivers/usb/host/r8a66597-hcd.c
1108
td->pipe->pipetre);
drivers/usb/host/r8a66597-hcd.c
1112
td->maxpacket),
drivers/usb/host/r8a66597-hcd.c
1113
td->pipe->pipetrn);
drivers/usb/host/r8a66597-hcd.c
1115
td->pipe->pipetre);
drivers/usb/host/r8a66597-hcd.c
1118
pipe_start(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1119
pipe_irq_enable(r8a66597, urb, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1126
struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1129
struct urb *urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1132
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1137
r8a66597_pipe_toggle(r8a66597, td->pipe, 1);
drivers/usb/host/r8a66597-hcd.c
1142
pipe_setting(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1143
if (td->pipe->pipetre)
drivers/usb/host/r8a66597-hcd.c
1144
r8a66597_bclr(r8a66597, TRENB, td->pipe->pipetre);
drivers/usb/host/r8a66597-hcd.c
1146
r8a66597_write(r8a66597, ~(1 << td->pipenum), BRDYSTS);
drivers/usb/host/r8a66597-hcd.c
1148
fifo_change_from_pipe(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1149
tmp = r8a66597_read(r8a66597, td->pipe->fifoctr);
drivers/usb/host/r8a66597-hcd.c
1151
pipe_irq_enable(r8a66597, urb, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1153
packet_write(r8a66597, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1154
pipe_start(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1159
struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1161
struct urb *urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1163
r8a66597_pipe_toggle(r8a66597, td->pipe, 1);
drivers/usb/host/r8a66597-hcd.c
1164
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1181
pipe_start(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1194
static int start_transfer(struct r8a66597 *r8a66597, struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1196
BUG_ON(!td);
drivers/usb/host/r8a66597-hcd.c
1198
switch (td->type) {
drivers/usb/host/r8a66597-hcd.c
1200
if (is_set_address(td->urb->setup_packet)) {
drivers/usb/host/r8a66597-hcd.c
1201
td->set_address = 1;
drivers/usb/host/r8a66597-hcd.c
1202
td->urb->setup_packet[2] = alloc_usb_address(r8a66597,
drivers/usb/host/r8a66597-hcd.c
1203
td->urb);
drivers/usb/host/r8a66597-hcd.c
1204
if (td->urb->setup_packet[2] == 0)
drivers/usb/host/r8a66597-hcd.c
1207
prepare_setup_packet(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1210
prepare_packet_read(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1213
prepare_packet_write(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1216
prepare_status_packet(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1226
static int check_transfer_finish(struct r8a66597_td *td, struct urb *urb)
drivers/usb/host/r8a66597-hcd.c
1229
if (urb->number_of_packets == td->iso_cnt)
drivers/usb/host/r8a66597-hcd.c
1235
(td->short_packet) || (td->zero_packet))
drivers/usb/host/r8a66597-hcd.c
1242
static void set_td_timer(struct r8a66597 *r8a66597, struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
1246
BUG_ON(!td);
drivers/usb/host/r8a66597-hcd.c
1248
if (!list_empty(&r8a66597->pipe_queue[td->pipenum]) &&
drivers/usb/host/r8a66597-hcd.c
1249
!usb_pipecontrol(td->urb->pipe) && usb_pipein(td->urb->pipe)) {
drivers/usb/host/r8a66597-hcd.c
1250
r8a66597->timeout_map |= 1 << td->pipenum;
drivers/usb/host/r8a66597-hcd.c
1251
switch (usb_pipetype(td->urb->pipe)) {
drivers/usb/host/r8a66597-hcd.c
1261
mod_timer(&r8a66597->timers[td->pipenum].td,
drivers/usb/host/r8a66597-hcd.c
1267
static void finish_request(struct r8a66597 *r8a66597, struct r8a66597_td *td,
drivers/usb/host/r8a66597-hcd.c
1276
if (likely(td)) {
drivers/usb/host/r8a66597-hcd.c
1277
if (td->set_address && (status != 0 || urb->unlinked))
drivers/usb/host/r8a66597-hcd.c
1280
pipe_toggle_save(r8a66597, td->pipe, urb);
drivers/usb/host/r8a66597-hcd.c
1281
list_del(&td->queue);
drivers/usb/host/r8a66597-hcd.c
1282
kfree(td);
drivers/usb/host/r8a66597-hcd.c
1296
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1297
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1300
start_transfer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1301
set_td_timer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1310
struct r8a66597_td *td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1315
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1317
urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1319
fifo_change_from_pipe(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1320
tmp = r8a66597_read(r8a66597, td->pipe->fifoctr);
drivers/usb/host/r8a66597-hcd.c
1322
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1325
finish_request(r8a66597, td, pipenum, td->urb, -EPIPE);
drivers/usb/host/r8a66597-hcd.c
1333
urb->iso_frame_desc[td->iso_cnt].offset);
drivers/usb/host/r8a66597-hcd.c
1334
urb_len = urb->iso_frame_desc[td->iso_cnt].length;
drivers/usb/host/r8a66597-hcd.c
1339
bufsize = min_t(int, urb_len, td->maxpacket);
drivers/usb/host/r8a66597-hcd.c
1351
td->zero_packet = 1;
drivers/usb/host/r8a66597-hcd.c
1353
td->short_packet = 1;
drivers/usb/host/r8a66597-hcd.c
1356
urb->iso_frame_desc[td->iso_cnt].actual_length = size;
drivers/usb/host/r8a66597-hcd.c
1357
urb->iso_frame_desc[td->iso_cnt].status = status;
drivers/usb/host/r8a66597-hcd.c
1358
td->iso_cnt++;
drivers/usb/host/r8a66597-hcd.c
1363
if (finish || check_transfer_finish(td, urb)) {
drivers/usb/host/r8a66597-hcd.c
1364
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1372
r8a66597_write(r8a66597, BCLR, td->pipe->fifoctr);
drivers/usb/host/r8a66597-hcd.c
1374
r8a66597_read_fifo(r8a66597, td->pipe->fifoaddr,
drivers/usb/host/r8a66597-hcd.c
1379
finish_request(r8a66597, td, pipenum, urb, status);
drivers/usb/host/r8a66597-hcd.c
1387
struct r8a66597_td *td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1390
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1392
urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1394
fifo_change_from_pipe(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1395
tmp = r8a66597_read(r8a66597, td->pipe->fifoctr);
drivers/usb/host/r8a66597-hcd.c
1397
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1400
finish_request(r8a66597, td, pipenum, urb, -EPIPE);
drivers/usb/host/r8a66597-hcd.c
1405
bufsize = td->maxpacket;
drivers/usb/host/r8a66597-hcd.c
1408
urb->iso_frame_desc[td->iso_cnt].offset);
drivers/usb/host/r8a66597-hcd.c
1410
(int)urb->iso_frame_desc[td->iso_cnt].length);
drivers/usb/host/r8a66597-hcd.c
1421
r8a66597_write_fifo(r8a66597, td->pipe, buf, size);
drivers/usb/host/r8a66597-hcd.c
1422
if (!usb_pipebulk(urb->pipe) || td->maxpacket != size)
drivers/usb/host/r8a66597-hcd.c
1423
r8a66597_write(r8a66597, BVAL, td->pipe->fifoctr);
drivers/usb/host/r8a66597-hcd.c
1429
urb->iso_frame_desc[td->iso_cnt].actual_length = size;
drivers/usb/host/r8a66597-hcd.c
1430
urb->iso_frame_desc[td->iso_cnt].status = 0;
drivers/usb/host/r8a66597-hcd.c
1431
td->iso_cnt++;
drivers/usb/host/r8a66597-hcd.c
1435
if (check_transfer_finish(td, urb)) {
drivers/usb/host/r8a66597-hcd.c
1447
struct r8a66597_td *td = r8a66597_get_td(r8a66597, 0);
drivers/usb/host/r8a66597-hcd.c
1451
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1453
urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
1455
switch (td->type) {
drivers/usb/host/r8a66597-hcd.c
1458
if (check_transfer_finish(td, urb))
drivers/usb/host/r8a66597-hcd.c
1459
td->type = USB_PID_ACK;
drivers/usb/host/r8a66597-hcd.c
1463
td->type = USB_PID_ACK;
drivers/usb/host/r8a66597-hcd.c
1465
td->type = USB_PID_OUT;
drivers/usb/host/r8a66597-hcd.c
1467
td->type = USB_PID_IN;
drivers/usb/host/r8a66597-hcd.c
1475
finish_request(r8a66597, td, 0, urb, status);
drivers/usb/host/r8a66597-hcd.c
1477
start_transfer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1482
struct r8a66597_td *td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1484
if (td) {
drivers/usb/host/r8a66597-hcd.c
1485
u16 pid = r8a66597_read(r8a66597, td->pipe->pipectr) & PID;
drivers/usb/host/r8a66597-hcd.c
1500
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1506
td = r8a66597_get_td(r8a66597, 0);
drivers/usb/host/r8a66597-hcd.c
1507
if (td && td->type == USB_PID_IN)
drivers/usb/host/r8a66597-hcd.c
1517
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1518
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1521
if (td->type == USB_PID_IN)
drivers/usb/host/r8a66597-hcd.c
1523
else if (td->type == USB_PID_OUT)
drivers/usb/host/r8a66597-hcd.c
1535
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1542
td = r8a66597_get_td(r8a66597, 0);
drivers/usb/host/r8a66597-hcd.c
1543
if (td && td->type != USB_PID_OUT)
drivers/usb/host/r8a66597-hcd.c
1551
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1552
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1553
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1556
tmp = r8a66597_read(r8a66597, td->pipe->pipectr);
drivers/usb/host/r8a66597-hcd.c
1560
finish_request(r8a66597, td, pipenum, td->urb,
drivers/usb/host/r8a66597-hcd.c
1587
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1588
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1589
if (unlikely(!td))
drivers/usb/host/r8a66597-hcd.c
1594
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1595
finish_request(r8a66597, td, pipenum, td->urb, status);
drivers/usb/host/r8a66597-hcd.c
1728
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1738
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1739
if (td)
drivers/usb/host/r8a66597-hcd.c
1740
start_transfer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1748
struct r8a66597_timers *timers = timer_container_of(timers, t, td);
drivers/usb/host/r8a66597-hcd.c
1752
struct r8a66597_td *td, *new_td = NULL;
drivers/usb/host/r8a66597-hcd.c
1759
if (timer_pending(&r8a66597->timers[pipenum].td))
drivers/usb/host/r8a66597-hcd.c
1762
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
1763
if (!td) {
drivers/usb/host/r8a66597-hcd.c
1768
if (td->urb->actual_length) {
drivers/usb/host/r8a66597-hcd.c
1769
set_td_timer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1773
pipe = td->pipe;
drivers/usb/host/r8a66597-hcd.c
1777
new_td = td;
drivers/usb/host/r8a66597-hcd.c
1783
new_td = td;
drivers/usb/host/r8a66597-hcd.c
1786
} while (td != new_td && td->address == new_td->address &&
drivers/usb/host/r8a66597-hcd.c
1787
td->pipe->info.epnum == new_td->pipe->info.epnum);
drivers/usb/host/r8a66597-hcd.c
1791
if (td == new_td)
drivers/usb/host/r8a66597-hcd.c
1859
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1862
td = kzalloc_obj(struct r8a66597_td, GFP_ATOMIC);
drivers/usb/host/r8a66597-hcd.c
1863
if (td == NULL)
drivers/usb/host/r8a66597-hcd.c
1867
td->pipenum = pipenum;
drivers/usb/host/r8a66597-hcd.c
1868
td->pipe = hep->hcpriv;
drivers/usb/host/r8a66597-hcd.c
1869
td->urb = urb;
drivers/usb/host/r8a66597-hcd.c
1870
td->address = get_urb_to_r8a66597_addr(r8a66597, urb);
drivers/usb/host/r8a66597-hcd.c
1871
td->maxpacket = usb_maxpacket(urb->dev, urb->pipe);
drivers/usb/host/r8a66597-hcd.c
1873
td->type = USB_PID_SETUP;
drivers/usb/host/r8a66597-hcd.c
1875
td->type = USB_PID_IN;
drivers/usb/host/r8a66597-hcd.c
1877
td->type = USB_PID_OUT;
drivers/usb/host/r8a66597-hcd.c
1878
INIT_LIST_HEAD(&td->queue);
drivers/usb/host/r8a66597-hcd.c
1880
return td;
drivers/usb/host/r8a66597-hcd.c
1889
struct r8a66597_td *td = NULL;
drivers/usb/host/r8a66597-hcd.c
1918
td = r8a66597_make_td(r8a66597, urb, hep);
drivers/usb/host/r8a66597-hcd.c
1919
if (td == NULL) {
drivers/usb/host/r8a66597-hcd.c
1923
if (list_empty(&r8a66597->pipe_queue[td->pipenum]))
drivers/usb/host/r8a66597-hcd.c
1925
list_add_tail(&td->queue, &r8a66597->pipe_queue[td->pipenum]);
drivers/usb/host/r8a66597-hcd.c
1926
urb->hcpriv = td;
drivers/usb/host/r8a66597-hcd.c
1929
if (td->pipe->info.timer_interval) {
drivers/usb/host/r8a66597-hcd.c
1930
r8a66597->interval_map |= 1 << td->pipenum;
drivers/usb/host/r8a66597-hcd.c
1931
mod_timer(&r8a66597->timers[td->pipenum].interval,
drivers/usb/host/r8a66597-hcd.c
1933
td->pipe->info.timer_interval));
drivers/usb/host/r8a66597-hcd.c
1935
ret = start_transfer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1937
list_del(&td->queue);
drivers/usb/host/r8a66597-hcd.c
1938
kfree(td);
drivers/usb/host/r8a66597-hcd.c
1942
set_td_timer(r8a66597, td);
drivers/usb/host/r8a66597-hcd.c
1956
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
1966
td = urb->hcpriv;
drivers/usb/host/r8a66597-hcd.c
1967
pipe_stop(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
1968
pipe_irq_disable(r8a66597, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1969
disable_irq_empty(r8a66597, td->pipenum);
drivers/usb/host/r8a66597-hcd.c
1970
finish_request(r8a66597, td, td->pipenum, urb, status);
drivers/usb/host/r8a66597-hcd.c
1984
struct r8a66597_td *td;
drivers/usb/host/r8a66597-hcd.c
2004
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597-hcd.c
2005
if (td)
drivers/usb/host/r8a66597-hcd.c
2006
urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
2007
finish_request(r8a66597, td, pipenum, urb, -ESHUTDOWN);
drivers/usb/host/r8a66597-hcd.c
2480
timer_setup(&r8a66597->timers[i].td, r8a66597_td_timer, 0);
drivers/usb/host/r8a66597-hcd.c
628
static void pipe_setting(struct r8a66597 *r8a66597, struct r8a66597_td *td)
drivers/usb/host/r8a66597-hcd.c
631
struct urb *urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
633
if (td->pipenum > 0) {
drivers/usb/host/r8a66597-hcd.c
634
info = &td->pipe->info;
drivers/usb/host/r8a66597-hcd.c
641
r8a66597_pipe_toggle(r8a66597, td->pipe, 0);
drivers/usb/host/r8a66597-hcd.c
642
pipe_toggle_set(r8a66597, td->pipe, urb, 0);
drivers/usb/host/r8a66597-hcd.c
643
clear_all_buffer(r8a66597, td->pipe);
drivers/usb/host/r8a66597-hcd.c
647
pipe_toggle_restore(r8a66597, td->pipe, urb);
drivers/usb/host/r8a66597-hcd.c
835
struct r8a66597_td *td, *next;
drivers/usb/host/r8a66597-hcd.c
842
list_for_each_entry_safe(td, next, list, queue) {
drivers/usb/host/r8a66597-hcd.c
843
if (td->address != address)
drivers/usb/host/r8a66597-hcd.c
846
urb = td->urb;
drivers/usb/host/r8a66597-hcd.c
847
list_del(&td->queue);
drivers/usb/host/r8a66597-hcd.c
848
kfree(td);
drivers/usb/host/r8a66597.h
100
struct timer_list td;
drivers/usb/host/r8a66597.h
154
struct r8a66597_td *td;
drivers/usb/host/r8a66597.h
156
td = r8a66597_get_td(r8a66597, pipenum);
drivers/usb/host/r8a66597.h
157
return (td ? td->urb : NULL);
drivers/usb/host/uhci-debug.c
104
struct uhci_td *td;
drivers/usb/host/uhci-debug.c
139
list_for_each_entry(td, &urbp->td_list, list) {
drivers/usb/host/uhci-debug.c
143
out += uhci_show_td(uhci, td, out,
drivers/usb/host/uhci-debug.c
148
if (td_status(uhci, td) & TD_CTRL_ACTIVE)
drivers/usb/host/uhci-debug.c
222
struct uhci_td *td = list_entry(urbp->td_list.next,
drivers/usb/host/uhci-debug.c
225
if (element != LINK_TO_TD(uhci, td))
drivers/usb/host/uhci-debug.c
379
struct uhci_td *td;
drivers/usb/host/uhci-debug.c
420
td = uhci->frame_cpu[i];
drivers/usb/host/uhci-debug.c
422
if (!td)
drivers/usb/host/uhci-debug.c
43
static int uhci_show_td(struct uhci_hcd *uhci, struct uhci_td *td, char *buf,
drivers/usb/host/uhci-debug.c
431
head = &td->fl_list;
drivers/usb/host/uhci-debug.c
434
td = list_entry(tmp, struct uhci_td, fl_list);
drivers/usb/host/uhci-debug.c
436
if (link != LINK_TO_TD(uhci, td)) {
drivers/usb/host/uhci-debug.c
446
out += uhci_show_td(uhci, td, out,
drivers/usb/host/uhci-debug.c
451
link = td->link;
drivers/usb/host/uhci-debug.c
50
status = td_status(uhci, td);
drivers/usb/host/uhci-debug.c
51
out += sprintf(out, "%*s[%p] link (%08x) ", space, "", td,
drivers/usb/host/uhci-debug.c
52
hc32_to_cpu(uhci, td->link));
drivers/usb/host/uhci-debug.c
69
token = td_token(uhci, td);
drivers/usb/host/uhci-debug.c
92
out += sprintf(out, "(buf=%08x)\n", hc32_to_cpu(uhci, td->buffer));
drivers/usb/host/uhci-hcd.h
227
#define td_token(uhci, td) hc32_to_cpu((uhci), (td)->token)
drivers/usb/host/uhci-hcd.h
278
#define td_status(uhci, td) hc32_to_cpu((uhci), \
drivers/usb/host/uhci-hcd.h
279
READ_ONCE((td)->status))
drivers/usb/host/uhci-hcd.h
281
#define LINK_TO_TD(uhci, td) (cpu_to_hc32((uhci), (td)->dma_handle))
drivers/usb/host/uhci-q.c
1010
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
1011
if (!td)
drivers/usb/host/uhci-q.c
1013
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
1015
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
1016
uhci_fill_td(uhci, td, status,
drivers/usb/host/uhci-q.c
1020
plink = &td->link;
drivers/usb/host/uhci-q.c
1031
td->status |= cpu_to_hc32(uhci, TD_CTRL_IOC);
drivers/usb/host/uhci-q.c
1036
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
1037
if (!td)
drivers/usb/host/uhci-q.c
1039
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
1041
uhci_fill_td(uhci, td, 0, USB_PID_OUT | uhci_explen(0), 0);
drivers/usb/host/uhci-q.c
1044
qh->dummy_td = td;
drivers/usb/host/uhci-q.c
109
struct uhci_td *td;
drivers/usb/host/uhci-q.c
111
td = dma_pool_alloc(uhci->td_pool, GFP_ATOMIC, &dma_handle);
drivers/usb/host/uhci-q.c
112
if (!td)
drivers/usb/host/uhci-q.c
1125
struct uhci_td *td;
drivers/usb/host/uhci-q.c
1129
td = list_entry(urbp->td_list.prev, struct uhci_td, list);
drivers/usb/host/uhci-q.c
1136
qh->element = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
1137
tmp = td->list.prev;
drivers/usb/host/uhci-q.c
115
td->dma_handle = dma_handle;
drivers/usb/host/uhci-q.c
1150
td = qh->post_td;
drivers/usb/host/uhci-q.c
1151
qh->element = td->link;
drivers/usb/host/uhci-q.c
1158
td = list_entry(tmp, struct uhci_td, list);
drivers/usb/host/uhci-q.c
116
td->frame = -1;
drivers/usb/host/uhci-q.c
1161
uhci_remove_td_from_urbp(td);
drivers/usb/host/uhci-q.c
1162
uhci_free_td(uhci, td);
drivers/usb/host/uhci-q.c
1174
struct uhci_td *td, *tmp;
drivers/usb/host/uhci-q.c
1178
list_for_each_entry_safe(td, tmp, &urbp->td_list, list) {
drivers/usb/host/uhci-q.c
118
INIT_LIST_HEAD(&td->list);
drivers/usb/host/uhci-q.c
1182
ctrlstat = td_status(uhci, td);
drivers/usb/host/uhci-q.c
119
INIT_LIST_HEAD(&td->fl_list);
drivers/usb/host/uhci-q.c
1192
uhci_packetout(td_token(uhci, td)));
drivers/usb/host/uhci-q.c
1208
} else if (len < uhci_expected_length(td_token(uhci, td))) {
drivers/usb/host/uhci-q.c
121
return td;
drivers/usb/host/uhci-q.c
1213
if (td->list.next != urbp->td_list.prev)
drivers/usb/host/uhci-q.c
1222
else if (&td->list != urbp->td_list.prev)
drivers/usb/host/uhci-q.c
1226
uhci_remove_td_from_urbp(td);
drivers/usb/host/uhci-q.c
1229
qh->post_td = td;
drivers/usb/host/uhci-q.c
124
static void uhci_free_td(struct uhci_hcd *uhci, struct uhci_td *td)
drivers/usb/host/uhci-q.c
1243
qh->initial_toggle = uhci_toggle(td_token(uhci, td)) ^
drivers/usb/host/uhci-q.c
1257
struct uhci_td *td = NULL; /* Since urb->number_of_packets > 0 */
drivers/usb/host/uhci-q.c
126
if (!list_empty(&td->list))
drivers/usb/host/uhci-q.c
127
dev_WARN(uhci_dev(uhci), "td %p still in list!\n", td);
drivers/usb/host/uhci-q.c
128
if (!list_empty(&td->fl_list))
drivers/usb/host/uhci-q.c
129
dev_WARN(uhci_dev(uhci), "td %p still in fl_list!\n", td);
drivers/usb/host/uhci-q.c
131
dma_pool_free(uhci->td_pool, td, td->dma_handle);
drivers/usb/host/uhci-q.c
1337
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
1338
if (!td)
drivers/usb/host/uhci-q.c
134
static inline void uhci_fill_td(struct uhci_hcd *uhci, struct uhci_td *td,
drivers/usb/host/uhci-q.c
1341
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
1342
uhci_fill_td(uhci, td, status, destination |
drivers/usb/host/uhci-q.c
1349
td->status |= cpu_to_hc32(uhci, TD_CTRL_IOC);
drivers/usb/host/uhci-q.c
1353
list_for_each_entry(td, &urbp->td_list, list) {
drivers/usb/host/uhci-q.c
1354
uhci_insert_td_in_frame_list(uhci, td, frame);
drivers/usb/host/uhci-q.c
137
td->status = cpu_to_hc32(uhci, status);
drivers/usb/host/uhci-q.c
1371
struct uhci_td *td, *tmp;
drivers/usb/host/uhci-q.c
1375
list_for_each_entry_safe(td, tmp, &urbp->td_list, list) {
drivers/usb/host/uhci-q.c
138
td->token = cpu_to_hc32(uhci, token);
drivers/usb/host/uhci-q.c
1385
ctrlstat = td_status(uhci, td);
drivers/usb/host/uhci-q.c
139
td->buffer = cpu_to_hc32(uhci, buffer);
drivers/usb/host/uhci-q.c
1400
uhci_remove_td_from_urbp(td);
drivers/usb/host/uhci-q.c
1401
uhci_free_td(uhci, td);
drivers/usb/host/uhci-q.c
142
static void uhci_add_td_to_urbp(struct uhci_td *td, struct urb_priv *urbp)
drivers/usb/host/uhci-q.c
144
list_add_tail(&td->list, &urbp->td_list);
drivers/usb/host/uhci-q.c
147
static void uhci_remove_td_from_urbp(struct uhci_td *td)
drivers/usb/host/uhci-q.c
149
list_del_init(&td->list);
drivers/usb/host/uhci-q.c
156
struct uhci_td *td, unsigned framenum)
drivers/usb/host/uhci-q.c
160
td->frame = framenum;
drivers/usb/host/uhci-q.c
1643
struct uhci_td *td = list_entry(urbp->td_list.next,
drivers/usb/host/uhci-q.c
1646
td->status |= cpu_to_hc32(uhci, TD_CTRL_IOC);
drivers/usb/host/uhci-q.c
1671
struct uhci_td *td;
drivers/usb/host/uhci-q.c
169
list_add_tail(&td->fl_list, &ftd->fl_list);
drivers/usb/host/uhci-q.c
1692
td = list_entry(urbp->td_list.next, struct uhci_td, list);
drivers/usb/host/uhci-q.c
1693
status = td_status(uhci, td);
drivers/usb/host/uhci-q.c
171
td->link = ltd->link;
drivers/usb/host/uhci-q.c
173
ltd->link = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
175
td->link = uhci->frame[framenum];
drivers/usb/host/uhci-q.c
177
uhci->frame[framenum] = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
178
uhci->frame_cpu[framenum] = td;
drivers/usb/host/uhci-q.c
183
struct uhci_td *td)
drivers/usb/host/uhci-q.c
186
if (td->frame == -1) {
drivers/usb/host/uhci-q.c
187
WARN_ON(!list_empty(&td->fl_list));
drivers/usb/host/uhci-q.c
191
if (uhci->frame_cpu[td->frame] == td) {
drivers/usb/host/uhci-q.c
192
if (list_empty(&td->fl_list)) {
drivers/usb/host/uhci-q.c
193
uhci->frame[td->frame] = td->link;
drivers/usb/host/uhci-q.c
194
uhci->frame_cpu[td->frame] = NULL;
drivers/usb/host/uhci-q.c
198
ntd = list_entry(td->fl_list.next,
drivers/usb/host/uhci-q.c
201
uhci->frame[td->frame] = LINK_TO_TD(uhci, ntd);
drivers/usb/host/uhci-q.c
202
uhci->frame_cpu[td->frame] = ntd;
drivers/usb/host/uhci-q.c
207
ptd = list_entry(td->fl_list.prev, struct uhci_td, fl_list);
drivers/usb/host/uhci-q.c
208
ptd->link = td->link;
drivers/usb/host/uhci-q.c
211
list_del_init(&td->fl_list);
drivers/usb/host/uhci-q.c
212
td->frame = -1;
drivers/usb/host/uhci-q.c
239
struct uhci_td *td;
drivers/usb/host/uhci-q.c
241
list_for_each_entry(td, &urbp->td_list, list)
drivers/usb/host/uhci-q.c
242
uhci_remove_td_from_frame_list(uhci, td);
drivers/usb/host/uhci-q.c
318
struct uhci_td *td;
drivers/usb/host/uhci-q.c
342
td = list_entry(urbp->td_list.prev, struct uhci_td,
drivers/usb/host/uhci-q.c
344
ptd->link = td->link;
drivers/usb/host/uhci-q.c
360
td = list_entry(urbp->td_list.next, struct uhci_td, list);
drivers/usb/host/uhci-q.c
362
qh->initial_toggle = uhci_toggle(td_token(uhci, td));
drivers/usb/host/uhci-q.c
376
struct uhci_td *td;
drivers/usb/host/uhci-q.c
398
td = list_entry(urbp->td_list.next, struct uhci_td, list);
drivers/usb/host/uhci-q.c
399
if (toggle > 1 || uhci_toggle(td_token(uhci, td)) == toggle) {
drivers/usb/host/uhci-q.c
400
td = list_entry(urbp->td_list.prev, struct uhci_td,
drivers/usb/host/uhci-q.c
402
toggle = uhci_toggle(td_token(uhci, td)) ^ 1;
drivers/usb/host/uhci-q.c
406
list_for_each_entry(td, &urbp->td_list, list) {
drivers/usb/host/uhci-q.c
407
td->token ^= cpu_to_hc32(uhci,
drivers/usb/host/uhci-q.c
489
struct uhci_td *td = list_entry(urbp->td_list.next,
drivers/usb/host/uhci-q.c
492
qh->element = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
743
struct uhci_td *td, *tmp;
drivers/usb/host/uhci-q.c
749
list_for_each_entry_safe(td, tmp, &urbp->td_list, list) {
drivers/usb/host/uhci-q.c
750
uhci_remove_td_from_urbp(td);
drivers/usb/host/uhci-q.c
751
uhci_free_td(uhci, td);
drivers/usb/host/uhci-q.c
792
struct uhci_td *td;
drivers/usb/host/uhci-q.c
812
td = qh->dummy_td;
drivers/usb/host/uhci-q.c
813
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
814
uhci_fill_td(uhci, td, status, destination | uhci_explen(8),
drivers/usb/host/uhci-q.c
816
plink = &td->link;
drivers/usb/host/uhci-q.c
844
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
845
if (!td)
drivers/usb/host/uhci-q.c
847
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
852
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
853
uhci_fill_td(uhci, td, status,
drivers/usb/host/uhci-q.c
855
plink = &td->link;
drivers/usb/host/uhci-q.c
864
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
865
if (!td)
drivers/usb/host/uhci-q.c
867
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
873
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
874
uhci_fill_td(uhci, td, status | TD_CTRL_IOC,
drivers/usb/host/uhci-q.c
876
plink = &td->link;
drivers/usb/host/uhci-q.c
881
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
882
if (!td)
drivers/usb/host/uhci-q.c
884
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
886
uhci_fill_td(uhci, td, 0, USB_PID_OUT | uhci_explen(0), 0);
drivers/usb/host/uhci-q.c
889
qh->dummy_td = td;
drivers/usb/host/uhci-q.c
918
struct uhci_td *td;
drivers/usb/host/uhci-q.c
963
td = qh->dummy_td;
drivers/usb/host/uhci-q.c
974
td = uhci_alloc_td(uhci);
drivers/usb/host/uhci-q.c
975
if (!td)
drivers/usb/host/uhci-q.c
977
*plink = LINK_TO_TD(uhci, td);
drivers/usb/host/uhci-q.c
979
uhci_add_td_to_urbp(td, urbp);
drivers/usb/host/uhci-q.c
980
uhci_fill_td(uhci, td, status,
drivers/usb/host/uhci-q.c
984
plink = &td->link;
drivers/usb/host/xhci-ring.c
1002
if (td && list_empty(&td->cancelled_td_list)) {
drivers/usb/host/xhci-ring.c
1003
list_add_tail(&td->cancelled_td_list, &ep->cancelled_td_list);
drivers/usb/host/xhci-ring.c
1004
td->cancel_status = TD_HALTED;
drivers/usb/host/xhci-ring.c
1037
struct xhci_td *td = NULL;
drivers/usb/host/xhci-ring.c
1054
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list, cancelled_td_list) {
drivers/usb/host/xhci-ring.c
1058
td->start_seg, td->start_trb),
drivers/usb/host/xhci-ring.c
1059
td->urb->stream_id, td->urb);
drivers/usb/host/xhci-ring.c
1060
list_del_init(&td->td_list);
drivers/usb/host/xhci-ring.c
1061
ring = xhci_urb_to_transfer_ring(xhci, td->urb);
drivers/usb/host/xhci-ring.c
1064
td->urb, td->urb->stream_id);
drivers/usb/host/xhci-ring.c
1074
td->urb->stream_id);
drivers/usb/host/xhci-ring.c
1077
if (td->cancel_status == TD_HALTED || trb_in_td(td, hw_deq)) {
drivers/usb/host/xhci-ring.c
1078
switch (td->cancel_status) {
drivers/usb/host/xhci-ring.c
1086
if (cached_td->urb->stream_id != td->urb->stream_id) {
drivers/usb/host/xhci-ring.c
1090
td->urb->stream_id, td->urb);
drivers/usb/host/xhci-ring.c
1091
td->cancel_status = TD_CLEARING_CACHE_DEFERRED;
drivers/usb/host/xhci-ring.c
1098
td->urb, cached_td->urb,
drivers/usb/host/xhci-ring.c
1099
td->urb->stream_id);
drivers/usb/host/xhci-ring.c
1103
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1104
td->cancel_status = TD_CLEARING_CACHE;
drivers/usb/host/xhci-ring.c
1105
cached_td = td;
drivers/usb/host/xhci-ring.c
1109
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1110
td->cancel_status = TD_CLEARED;
drivers/usb/host/xhci-ring.c
1123
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list, cancelled_td_list) {
drivers/usb/host/xhci-ring.c
1129
if (td->cancel_status != TD_CLEARING_CACHE &&
drivers/usb/host/xhci-ring.c
1130
td->cancel_status != TD_CLEARING_CACHE_DEFERRED)
drivers/usb/host/xhci-ring.c
1133
td->urb);
drivers/usb/host/xhci-ring.c
1134
td_to_noop(xhci, ep, td, false);
drivers/usb/host/xhci-ring.c
1135
td->cancel_status = TD_CLEARED;
drivers/usb/host/xhci-ring.c
1160
struct xhci_td *td;
drivers/usb/host/xhci-ring.c
1166
td = list_first_entry(&ep->ring->td_list, struct xhci_td, td_list);
drivers/usb/host/xhci-ring.c
1167
if (trb_in_td(td, hw_deq))
drivers/usb/host/xhci-ring.c
1168
return td;
drivers/usb/host/xhci-ring.c
1189
struct xhci_td *td = NULL;
drivers/usb/host/xhci-ring.c
1239
td = find_halted_td(ep);
drivers/usb/host/xhci-ring.c
1240
if (td)
drivers/usb/host/xhci-ring.c
1241
td->status = -EPROTO;
drivers/usb/host/xhci-ring.c
1244
err = xhci_handle_halted_endpoint(xhci, ep, td, reset_type);
drivers/usb/host/xhci-ring.c
128
static bool last_td_in_urb(struct xhci_td *td)
drivers/usb/host/xhci-ring.c
130
struct urb_priv *urb_priv = td->urb->hcpriv;
drivers/usb/host/xhci-ring.c
1426
struct xhci_td *td, *tmp_td;
drivers/usb/host/xhci-ring.c
1522
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list,
drivers/usb/host/xhci-ring.c
1524
ep_ring = xhci_urb_to_transfer_ring(ep->xhci, td->urb);
drivers/usb/host/xhci-ring.c
1525
if (td->cancel_status == TD_CLEARING_CACHE) {
drivers/usb/host/xhci-ring.c
1526
td->cancel_status = TD_CLEARED;
drivers/usb/host/xhci-ring.c
1528
__func__, td->urb);
drivers/usb/host/xhci-ring.c
1529
xhci_td_cleanup(ep->xhci, td, ep_ring, td->status);
drivers/usb/host/xhci-ring.c
1532
__func__, td->urb, td->cancel_status);
drivers/usb/host/xhci-ring.c
2166
static void xhci_clear_hub_tt_buffer(struct xhci_hcd *xhci, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2173
if (td->urb->dev->tt && !usb_pipeint(td->urb->pipe) &&
drivers/usb/host/xhci-ring.c
2174
(td->urb->dev->tt->hub != xhci_to_hcd(xhci)->self.root_hub) &&
drivers/usb/host/xhci-ring.c
2177
td->urb->ep->hcpriv = td->urb->dev;
drivers/usb/host/xhci-ring.c
2178
if (usb_hub_clear_tt_buffer(td->urb))
drivers/usb/host/xhci-ring.c
2235
struct xhci_ring *ep_ring, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2266
xhci_clear_hub_tt_buffer(xhci, td, ep);
drivers/usb/host/xhci-ring.c
2268
xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET);
drivers/usb/host/xhci-ring.c
2273
xhci_dequeue_td(xhci, td, ep_ring, td->status);
drivers/usb/host/xhci-ring.c
2277
static u32 sum_trb_lengths(struct xhci_td *td, union xhci_trb *stop_trb)
drivers/usb/host/xhci-ring.c
2280
union xhci_trb *trb = td->start_trb;
drivers/usb/host/xhci-ring.c
2281
struct xhci_segment *seg = td->start_seg;
drivers/usb/host/xhci-ring.c
2294
struct xhci_ring *ep_ring, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2305
requested = td->urb->transfer_buffer_length;
drivers/usb/host/xhci-ring.c
2313
td->status = -ESHUTDOWN;
drivers/usb/host/xhci-ring.c
2316
td->status = 0;
drivers/usb/host/xhci-ring.c
2319
td->status = 0;
drivers/usb/host/xhci-ring.c
2323
td->urb->actual_length = remaining;
drivers/usb/host/xhci-ring.c
2330
td->urb->actual_length = 0;
drivers/usb/host/xhci-ring.c
2334
td->urb->actual_length = requested - remaining;
drivers/usb/host/xhci-ring.c
2337
td->urb->actual_length = requested;
drivers/usb/host/xhci-ring.c
2355
td->urb->actual_length = requested - remaining;
drivers/usb/host/xhci-ring.c
2356
else if (!td->urb_length_set)
drivers/usb/host/xhci-ring.c
2357
td->urb->actual_length = 0;
drivers/usb/host/xhci-ring.c
2371
td->urb_length_set = true;
drivers/usb/host/xhci-ring.c
2372
td->urb->actual_length = requested - remaining;
drivers/usb/host/xhci-ring.c
2378
if (!td->urb_length_set)
drivers/usb/host/xhci-ring.c
2379
td->urb->actual_length = requested;
drivers/usb/host/xhci-ring.c
2382
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2389
struct xhci_ring *ep_ring, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2401
urb_priv = td->urb->hcpriv;
drivers/usb/host/xhci-ring.c
2403
frame = &td->urb->iso_frame_desc[idx];
drivers/usb/host/xhci-ring.c
2407
short_framestatus = td->urb->transfer_flags & URB_SHORT_NOT_OK ?
drivers/usb/host/xhci-ring.c
2414
if (td->error_mid_td)
drivers/usb/host/xhci-ring.c
2435
if (ep_trb != td->end_trb)
drivers/usb/host/xhci-ring.c
2436
td->error_mid_td = true;
drivers/usb/host/xhci-ring.c
2441
if (ep_trb != td->end_trb)
drivers/usb/host/xhci-ring.c
2442
td->error_mid_td = true;
drivers/usb/host/xhci-ring.c
2451
if (ep_trb != td->end_trb)
drivers/usb/host/xhci-ring.c
2452
td->error_mid_td = true;
drivers/usb/host/xhci-ring.c
2474
if (td->urb_length_set)
drivers/usb/host/xhci-ring.c
2478
frame->actual_length = sum_trb_lengths(td, ep_trb) +
drivers/usb/host/xhci-ring.c
2483
td->urb->actual_length += frame->actual_length;
drivers/usb/host/xhci-ring.c
2487
if (td->error_mid_td && ep_trb != td->end_trb) {
drivers/usb/host/xhci-ring.c
2489
td->urb_length_set = true;
drivers/usb/host/xhci-ring.c
2492
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2495
static void skip_isoc_td(struct xhci_hcd *xhci, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2502
urb_priv = td->urb->hcpriv;
drivers/usb/host/xhci-ring.c
2504
frame = &td->urb->iso_frame_desc[idx];
drivers/usb/host/xhci-ring.c
2512
xhci_dequeue_td(xhci, td, ep->ring, status);
drivers/usb/host/xhci-ring.c
2519
struct xhci_ring *ep_ring, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
2530
requested = td->urb->transfer_buffer_length;
drivers/usb/host/xhci-ring.c
2536
if (ep_trb != td->end_trb || remaining) {
drivers/usb/host/xhci-ring.c
2539
td->urb->ep->desc.bEndpointAddress,
drivers/usb/host/xhci-ring.c
2542
td->status = 0;
drivers/usb/host/xhci-ring.c
2545
td->status = 0;
drivers/usb/host/xhci-ring.c
2548
td->urb->actual_length = remaining;
drivers/usb/host/xhci-ring.c
2552
td->urb->actual_length = sum_trb_lengths(td, ep_trb);
drivers/usb/host/xhci-ring.c
2560
td->status = 0;
drivers/usb/host/xhci-ring.c
2562
xhci_handle_halted_endpoint(xhci, ep, td, EP_SOFT_RESET);
drivers/usb/host/xhci-ring.c
2569
if (ep_trb == td->end_trb)
drivers/usb/host/xhci-ring.c
2570
td->urb->actual_length = requested - remaining;
drivers/usb/host/xhci-ring.c
2572
td->urb->actual_length =
drivers/usb/host/xhci-ring.c
2573
sum_trb_lengths(td, ep_trb) +
drivers/usb/host/xhci-ring.c
2579
td->urb->actual_length = 0;
drivers/usb/host/xhci-ring.c
2582
finish_td(xhci, ep, ep_ring, td, trb_comp_code);
drivers/usb/host/xhci-ring.c
2641
struct xhci_td *td = NULL;
drivers/usb/host/xhci-ring.c
2815
td = list_first_entry_or_null(&ep_ring->td_list, struct xhci_td, td_list);
drivers/usb/host/xhci-ring.c
2817
if (td && td->error_mid_td && !trb_in_td(td, ep_trb_dma)) {
drivers/usb/host/xhci-ring.c
2819
xhci_dequeue_td(xhci, td, ep_ring, td->status);
drivers/usb/host/xhci-ring.c
2846
td = list_first_entry(&ep_ring->td_list, struct xhci_td,
drivers/usb/host/xhci-ring.c
2850
if (!trb_in_td(td, ep_trb_dma)) {
drivers/usb/host/xhci-ring.c
2852
if (ep->skip && usb_endpoint_xfer_isoc(&td->urb->ep->desc)) {
drivers/usb/host/xhci-ring.c
2857
skip_isoc_td(xhci, td, ep, status);
drivers/usb/host/xhci-ring.c
2877
td = NULL;
drivers/usb/host/xhci-ring.c
2945
td->status = status;
drivers/usb/host/xhci-ring.c
2948
if (usb_endpoint_xfer_control(&td->urb->ep->desc))
drivers/usb/host/xhci-ring.c
2949
process_ctrl_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2950
else if (usb_endpoint_xfer_isoc(&td->urb->ep->desc))
drivers/usb/host/xhci-ring.c
2951
process_isoc_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2953
process_bulk_intr_td(xhci, ep, ep_ring, td, ep_trb, event);
drivers/usb/host/xhci-ring.c
2958
xhci_handle_halted_endpoint(xhci, ep, td, EP_HARD_RESET);
drivers/usb/host/xhci-ring.c
2965
(unsigned long long)xhci_trb_virt_to_dma(td->start_seg, td->start_trb),
drivers/usb/host/xhci-ring.c
2966
(unsigned long long)xhci_trb_virt_to_dma(td->end_seg, td->end_trb));
drivers/usb/host/xhci-ring.c
331
static bool trb_in_td(struct xhci_td *td, dma_addr_t suspect_dma)
drivers/usb/host/xhci-ring.c
333
return dma_in_range(suspect_dma, td->start_seg, td->start_trb,
drivers/usb/host/xhci-ring.c
3336
struct xhci_td *td;
drivers/usb/host/xhci-ring.c
334
td->end_seg, td->end_trb);
drivers/usb/host/xhci-ring.c
3354
td = &urb_priv->td[td_index];
drivers/usb/host/xhci-ring.c
3356
INIT_LIST_HEAD(&td->td_list);
drivers/usb/host/xhci-ring.c
3357
INIT_LIST_HEAD(&td->cancelled_td_list);
drivers/usb/host/xhci-ring.c
3365
td->urb = urb;
drivers/usb/host/xhci-ring.c
3367
list_add_tail(&td->td_list, &ep_ring->td_list);
drivers/usb/host/xhci-ring.c
3368
td->start_seg = ep_ring->enq_seg;
drivers/usb/host/xhci-ring.c
3369
td->start_trb = ep_ring->enqueue;
drivers/usb/host/xhci-ring.c
3616
struct xhci_td *td;
drivers/usb/host/xhci-ring.c
3658
td = &urb_priv->td[0];
drivers/usb/host/xhci-ring.c
3700
td->bounce_seg = ring->enq_seg;
drivers/usb/host/xhci-ring.c
3708
td->end_trb = ring->enqueue;
drivers/usb/host/xhci-ring.c
3709
td->end_seg = ring->enq_seg;
drivers/usb/host/xhci-ring.c
3757
urb_priv->td[1].end_trb = ring->enqueue;
drivers/usb/host/xhci-ring.c
3758
urb_priv->td[1].end_seg = ring->enq_seg;
drivers/usb/host/xhci-ring.c
3781
struct xhci_td *td;
drivers/usb/host/xhci-ring.c
3824
td = &urb_priv->td[0];
drivers/usb/host/xhci-ring.c
3896
td->end_trb = ep_ring->enqueue;
drivers/usb/host/xhci-ring.c
3897
td->end_seg = ep_ring->enq_seg;
drivers/usb/host/xhci-ring.c
4083
struct xhci_td *td;
drivers/usb/host/xhci-ring.c
4140
td = &urb_priv->td[i];
drivers/usb/host/xhci-ring.c
4182
td->end_trb = ep_ring->enqueue;
drivers/usb/host/xhci-ring.c
4183
td->end_seg = ep_ring->enq_seg;
drivers/usb/host/xhci-ring.c
4244
list_del_init(&urb_priv->td[i].td_list);
drivers/usb/host/xhci-ring.c
4251
urb_priv->td[0].end_trb = ep_ring->enqueue;
drivers/usb/host/xhci-ring.c
4253
td_to_noop(xhci, xep, &urb_priv->td[0], true);
drivers/usb/host/xhci-ring.c
4256
ep_ring->enqueue = urb_priv->td[0].start_trb;
drivers/usb/host/xhci-ring.c
4257
ep_ring->enq_seg = urb_priv->td[0].start_seg;
drivers/usb/host/xhci-ring.c
691
unsigned int stream_id, struct xhci_td *td)
drivers/usb/host/xhci-ring.c
718
new_cycle = le32_to_cpu(td->end_trb->generic.field[3]) & TRB_CYCLE;
drivers/usb/host/xhci-ring.c
732
if (new_deq == td->end_trb)
drivers/usb/host/xhci-ring.c
802
struct xhci_td *td, bool flip_cycle)
drivers/usb/host/xhci-ring.c
805
struct xhci_segment *seg = td->start_seg;
drivers/usb/host/xhci-ring.c
806
union xhci_trb *trb = td->start_trb;
drivers/usb/host/xhci-ring.c
815
if (flip_cycle && trb != td->start_trb && trb != td->end_trb)
drivers/usb/host/xhci-ring.c
818
if (trb == td->end_trb)
drivers/usb/host/xhci-ring.c
846
struct xhci_ring *ring, struct xhci_td *td)
drivers/usb/host/xhci-ring.c
849
struct xhci_segment *seg = td->bounce_seg;
drivers/usb/host/xhci-ring.c
850
struct urb *urb = td->urb;
drivers/usb/host/xhci-ring.c
879
static void xhci_td_cleanup(struct xhci_hcd *xhci, struct xhci_td *td,
drivers/usb/host/xhci-ring.c
885
urb = td->urb;
drivers/usb/host/xhci-ring.c
888
xhci_unmap_td_bounce_buffer(xhci, ep_ring, td);
drivers/usb/host/xhci-ring.c
902
if (!list_empty(&td->td_list))
drivers/usb/host/xhci-ring.c
903
list_del_init(&td->td_list);
drivers/usb/host/xhci-ring.c
905
if (!list_empty(&td->cancelled_td_list))
drivers/usb/host/xhci-ring.c
906
list_del_init(&td->cancelled_td_list);
drivers/usb/host/xhci-ring.c
910
if (last_td_in_urb(td)) {
drivers/usb/host/xhci-ring.c
921
xhci_giveback_urb_in_irq(xhci, td, status);
drivers/usb/host/xhci-ring.c
926
static void xhci_dequeue_td(struct xhci_hcd *xhci, struct xhci_td *td, struct xhci_ring *ring,
drivers/usb/host/xhci-ring.c
929
ring->dequeue = td->end_trb;
drivers/usb/host/xhci-ring.c
930
ring->deq_seg = td->end_seg;
drivers/usb/host/xhci-ring.c
933
xhci_td_cleanup(xhci, td, ring, status);
drivers/usb/host/xhci-ring.c
940
struct xhci_td *td, *tmp_td;
drivers/usb/host/xhci-ring.c
942
list_for_each_entry_safe(td, tmp_td, &ep->cancelled_td_list,
drivers/usb/host/xhci-ring.c
945
ring = xhci_urb_to_transfer_ring(ep->xhci, td->urb);
drivers/usb/host/xhci-ring.c
947
if (td->cancel_status == TD_CLEARED) {
drivers/usb/host/xhci-ring.c
949
__func__, td->urb);
drivers/usb/host/xhci-ring.c
950
xhci_td_cleanup(ep->xhci, td, ring, td->status);
drivers/usb/host/xhci-ring.c
953
__func__, td->urb, td->cancel_status);
drivers/usb/host/xhci-ring.c
986
struct xhci_td *td,
drivers/usb/host/xhci.c
1644
urb_priv = kzalloc_flex(*urb_priv, td, num_tds, mem_flags);
drivers/usb/host/xhci.c
1763
struct xhci_td *td;
drivers/usb/host/xhci.c
1804
if (!td_on_ring(&urb_priv->td[0], ep_ring)) {
drivers/usb/host/xhci.c
1807
td = &urb_priv->td[i];
drivers/usb/host/xhci.c
1808
if (!list_empty(&td->cancelled_td_list))
drivers/usb/host/xhci.c
1809
list_del_init(&td->cancelled_td_list);
drivers/usb/host/xhci.c
1820
td = &urb_priv->td[i];
drivers/usb/host/xhci.c
1821
if (!list_empty(&td->td_list))
drivers/usb/host/xhci.c
1822
list_del_init(&td->td_list);
drivers/usb/host/xhci.c
1823
if (!list_empty(&td->cancelled_td_list))
drivers/usb/host/xhci.c
1824
list_del_init(&td->cancelled_td_list);
drivers/usb/host/xhci.c
1837
urb_priv->td[i].start_seg,
drivers/usb/host/xhci.c
1838
urb_priv->td[i].start_trb));
drivers/usb/host/xhci.c
1841
td = &urb_priv->td[i];
drivers/usb/host/xhci.c
1843
if (list_empty(&td->cancelled_td_list)) {
drivers/usb/host/xhci.c
1844
td->cancel_status = TD_DIRTY;
drivers/usb/host/xhci.c
1845
list_add_tail(&td->cancelled_td_list,
drivers/usb/host/xhci.c
57
static bool td_on_ring(struct xhci_td *td, struct xhci_ring *ring)
drivers/usb/host/xhci.c
61
if (!td || !td->start_seg)
drivers/usb/host/xhci.c
65
if (seg == td->start_seg)
drivers/usb/host/xhci.h
1409
struct xhci_td td[] __counted_by(num_tds);
fs/ecryptfs/file.c
308
static int ecryptfs_flush(struct file *file, fl_owner_t td)
fs/ecryptfs/file.c
314
return lower_file->f_op->flush(lower_file, td);
include/linux/blkdev.h
620
struct throtl_data *td;
include/linux/mlx5/driver.h
665
struct mlx5_td td;
include/linux/pm_domain.h
287
struct gpd_timing_data *td;
include/soc/fsl/qman.h
361
__be16 td; /* "Taildrop": _res[13-15], mant[5-12], exp[0-4] */
include/soc/fsl/qman.h
432
int td, oddbit = 0;
include/soc/fsl/qman.h
445
td = (val << QM_FQD_TD_MANT_OFF) & QM_FQD_TD_MANT_MASK;
include/soc/fsl/qman.h
446
td |= (e & QM_FQD_TD_EXP_MASK);
include/soc/fsl/qman.h
447
fqd->td = cpu_to_be16(td);
include/soc/fsl/qman.h
453
int td = be16_to_cpu(fqd->td);
include/soc/fsl/qman.h
455
return ((td & QM_FQD_TD_MANT_MASK) >> QM_FQD_TD_MANT_OFF)
include/soc/fsl/qman.h
456
<< (td & QM_FQD_TD_EXP_MASK);
kernel/smpboot.c
104
struct smpboot_thread_data *td = data;
kernel/smpboot.c
105
struct smp_hotplug_thread *ht = td->ht;
kernel/smpboot.c
114
if (ht->cleanup && td->status != HP_THREAD_NONE)
kernel/smpboot.c
115
ht->cleanup(td->cpu, cpu_online(td->cpu));
kernel/smpboot.c
116
kfree(td);
kernel/smpboot.c
123
if (ht->park && td->status == HP_THREAD_ACTIVE) {
kernel/smpboot.c
124
BUG_ON(td->cpu != smp_processor_id());
kernel/smpboot.c
125
ht->park(td->cpu);
kernel/smpboot.c
126
td->status = HP_THREAD_PARKED;
kernel/smpboot.c
133
BUG_ON(td->cpu != smp_processor_id());
kernel/smpboot.c
136
switch (td->status) {
kernel/smpboot.c
141
ht->setup(td->cpu);
kernel/smpboot.c
142
td->status = HP_THREAD_ACTIVE;
kernel/smpboot.c
149
ht->unpark(td->cpu);
kernel/smpboot.c
150
td->status = HP_THREAD_ACTIVE;
kernel/smpboot.c
154
if (!ht->thread_should_run(td->cpu)) {
kernel/smpboot.c
160
ht->thread_fn(td->cpu);
kernel/smpboot.c
169
struct smpboot_thread_data *td;
kernel/smpboot.c
174
td = kzalloc_node(sizeof(*td), GFP_KERNEL, cpu_to_node(cpu));
kernel/smpboot.c
175
if (!td)
kernel/smpboot.c
177
td->cpu = cpu;
kernel/smpboot.c
178
td->ht = ht;
kernel/smpboot.c
180
tsk = kthread_create_on_cpu(smpboot_thread_fn, td, cpu,
kernel/smpboot.c
183
kfree(td);
kernel/time/clockevents.c
674
struct tick_device *td;
kernel/time/clockevents.c
678
td = tick_get_tick_dev(dev);
kernel/time/clockevents.c
679
if (td && td->evtdev)
kernel/time/clockevents.c
680
count = sysfs_emit(buf, "%s\n", td->evtdev->name);
kernel/time/tick-broadcast.c
1000
if (td->evtdev)
kernel/time/tick-broadcast.c
1001
td->evtdev->next_event = expires;
kernel/time/tick-broadcast.c
1171
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
1174
tick_program_event(td->evtdev->next_event, 1);
kernel/time/tick-broadcast.c
330
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
331
struct clock_event_device *evt = td->evtdev;
kernel/time/tick-broadcast.c
349
struct tick_device *td;
kernel/time/tick-broadcast.c
381
td = &per_cpu(tick_cpu_device, cpumask_first(mask));
kernel/time/tick-broadcast.c
382
td->evtdev->broadcast(mask);
kernel/time/tick-broadcast.c
402
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
428
td->evtdev->event_handler(td->evtdev);
kernel/time/tick-broadcast.c
441
struct tick_device *td;
kernel/time/tick-broadcast.c
447
td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
448
dev = td->evtdev;
kernel/time/tick-broadcast.c
673
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
680
if (td->mode == TICKDEV_MODE_ONESHOT) {
kernel/time/tick-broadcast.c
681
clockevents_switch_state(td->evtdev,
kernel/time/tick-broadcast.c
692
struct tick_device *td;
kernel/time/tick-broadcast.c
712
td = &per_cpu(tick_cpu_device, cpu);
kernel/time/tick-broadcast.c
713
if (td->evtdev->next_event <= now) {
kernel/time/tick-broadcast.c
721
} else if (td->evtdev->next_event < next_event) {
kernel/time/tick-broadcast.c
722
next_event = td->evtdev->next_event;
kernel/time/tick-broadcast.c
765
td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
766
td->evtdev->event_handler(td->evtdev);
kernel/time/tick-broadcast.c
797
struct tick_device *td,
kernel/time/tick-broadcast.c
800
struct clock_event_device *bc, *dev = td->evtdev;
kernel/time/tick-broadcast.c
935
struct tick_device *td,
kernel/time/tick-broadcast.c
940
dev = td->evtdev;
kernel/time/tick-broadcast.c
941
if (td->mode != TICKDEV_MODE_ONESHOT)
kernel/time/tick-broadcast.c
965
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-broadcast.c
968
if (!tick_oneshot_wakeup_control(state, td, cpu))
kernel/time/tick-broadcast.c
972
return ___tick_broadcast_oneshot_control(state, td, cpu);
kernel/time/tick-broadcast.c
995
struct tick_device *td;
kernel/time/tick-broadcast.c
999
td = &per_cpu(tick_cpu_device, cpu);
kernel/time/tick-common.c
184
static void tick_setup_device(struct tick_device *td,
kernel/time/tick-common.c
194
if (!td->evtdev) {
kernel/time/tick-common.c
229
td->mode = TICKDEV_MODE_PERIODIC;
kernel/time/tick-common.c
231
handler = td->evtdev->event_handler;
kernel/time/tick-common.c
232
next_event = td->evtdev->next_event;
kernel/time/tick-common.c
233
td->evtdev->event_handler = clockevents_handle_noop;
kernel/time/tick-common.c
236
td->evtdev = newdev;
kernel/time/tick-common.c
255
if (td->mode == TICKDEV_MODE_PERIODIC)
kernel/time/tick-common.c
263
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-common.c
266
clockevents_exchange_device(td->evtdev, newdev);
kernel/time/tick-common.c
267
tick_setup_device(td, newdev, cpu, cpumask_of(cpu));
kernel/time/tick-common.c
328
struct tick_device *td;
kernel/time/tick-common.c
332
td = &per_cpu(tick_cpu_device, cpu);
kernel/time/tick-common.c
333
curdev = td->evtdev;
kernel/time/tick-common.c
351
tick_setup_device(td, newdev, cpu, cpumask_of(cpu));
kernel/time/tick-common.c
376
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-common.c
378
if (!(td->evtdev->features & CLOCK_EVT_FEAT_C3STOP))
kernel/time/tick-common.c
421
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-common.c
422
struct clock_event_device *dev = td->evtdev;
kernel/time/tick-common.c
424
td->mode = TICKDEV_MODE_PERIODIC;
kernel/time/tick-common.c
428
td->evtdev = NULL;
kernel/time/tick-common.c
442
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-common.c
444
clockevents_shutdown(td->evtdev);
kernel/time/tick-common.c
456
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-common.c
459
clockevents_tick_resume(td->evtdev);
kernel/time/tick-common.c
461
if (td->mode == TICKDEV_MODE_PERIODIC)
kernel/time/tick-common.c
462
tick_setup_periodic(td->evtdev, 0);
kernel/time/tick-oneshot.c
109
td->mode = TICKDEV_MODE_ONESHOT;
kernel/time/tick-oneshot.c
90
struct tick_device *td = this_cpu_ptr(&tick_cpu_device);
kernel/time/tick-oneshot.c
91
struct clock_event_device *dev = td->evtdev;
kernel/time/timer_list.c
180
print_tickdevice(struct seq_file *m, struct tick_device *td, int cpu)
kernel/time/timer_list.c
182
struct clock_event_device *dev = td->evtdev;
kernel/time/timer_list.c
186
SEQ_printf(m, "Tick Device: mode: %d\n", td->mode);
lib/inflate.c
1010
if (inflate_codes(tl, td, bl, bd)) {
lib/inflate.c
1019
huft_free(td);
lib/inflate.c
591
struct huft *td, /* distance decoder tables */
lib/inflate.c
650
if ((e = (t = td + ((unsigned)b & md))->e) > 16)
lib/inflate.c
772
struct huft *td; /* distance code table */
lib/inflate.c
802
if ((i = huft_build(l, 30, 0, cpdist, cpdext, &td, &bd)) > 1)
lib/inflate.c
813
if (inflate_codes(tl, td, bl, bd)) {
lib/inflate.c
821
huft_free(td);
lib/inflate.c
838
struct huft *td; /* distance code table */
lib/inflate.c
918
j = (td = tl + ((unsigned)b & m))->b;
lib/inflate.c
920
j = td->v.n;
lib/inflate.c
990
if ((i = huft_build(ll + nl, nd, 0, cpdist, cpdext, &td, &bd)) != 0)
lib/inflate.c
999
huft_free(td);
net/netfilter/ipvs/ip_vs_est.c
148
struct ip_vs_est_tick_data *td;
net/netfilter/ipvs/ip_vs_est.c
152
td = rcu_dereference(kd->ticks[row]);
net/netfilter/ipvs/ip_vs_est.c
153
if (!td)
net/netfilter/ipvs/ip_vs_est.c
155
for_each_set_bit(cid, td->present, IPVS_EST_TICK_CHAINS) {
net/netfilter/ipvs/ip_vs_est.c
158
ip_vs_chain_estimation(&td->chains[cid]);
net/netfilter/ipvs/ip_vs_est.c
160
td = rcu_dereference(kd->ticks[row]);
net/netfilter/ipvs/ip_vs_est.c
161
if (!td)
net/netfilter/ipvs/ip_vs_est.c
394
struct ip_vs_est_tick_data *td;
net/netfilter/ipvs/ip_vs_est.c
444
td = rcu_dereference_protected(kd->ticks[row], 1);
net/netfilter/ipvs/ip_vs_est.c
445
if (!td) {
net/netfilter/ipvs/ip_vs_est.c
446
td = kzalloc_obj(*td);
net/netfilter/ipvs/ip_vs_est.c
447
if (!td) {
net/netfilter/ipvs/ip_vs_est.c
451
rcu_assign_pointer(kd->ticks[row], td);
net/netfilter/ipvs/ip_vs_est.c
454
cid = find_first_zero_bit(td->full, IPVS_EST_TICK_CHAINS);
net/netfilter/ipvs/ip_vs_est.c
458
if (!td->chain_len[cid])
net/netfilter/ipvs/ip_vs_est.c
459
__set_bit(cid, td->present);
net/netfilter/ipvs/ip_vs_est.c
460
td->chain_len[cid]++;
net/netfilter/ipvs/ip_vs_est.c
464
hlist_add_head_rcu(&est->list, &td->chains[cid]);
net/netfilter/ipvs/ip_vs_est.c
466
if (td->chain_len[cid] >= kd->chain_max) {
net/netfilter/ipvs/ip_vs_est.c
467
__set_bit(cid, td->full);
net/netfilter/ipvs/ip_vs_est.c
524
struct ip_vs_est_tick_data *td;
net/netfilter/ipvs/ip_vs_est.c
544
td = rcu_dereference_protected(kd->ticks[row], 1);
net/netfilter/ipvs/ip_vs_est.c
545
__clear_bit(cid, td->full);
net/netfilter/ipvs/ip_vs_est.c
546
td->chain_len[cid]--;
net/netfilter/ipvs/ip_vs_est.c
547
if (!td->chain_len[cid])
net/netfilter/ipvs/ip_vs_est.c
548
__clear_bit(cid, td->present);
net/netfilter/ipvs/ip_vs_est.c
553
kfree_rcu(td, rcu_head);
net/netfilter/ipvs/ip_vs_est.c
739
struct ip_vs_est_tick_data *td;
net/netfilter/ipvs/ip_vs_est.c
804
td = rcu_dereference_protected(kd->ticks[row], 1);
net/netfilter/ipvs/ip_vs_est.c
805
if (!td)
net/netfilter/ipvs/ip_vs_est.c
828
if (td != rcu_dereference_protected(kd->ticks[row], 1))
net/netfilter/ipvs/ip_vs_est.c
832
est = hlist_entry_safe(td->chains[cid].first, struct ip_vs_estimator,
security/integrity/ima/ima_crypto.c
583
struct ima_template_desc *td = entry->template_desc;
security/integrity/ima/ima_crypto.c
600
if (strcmp(td->name, IMA_TEMPLATE_IMA_NAME) != 0) {
security/integrity/ima/ima_crypto.c
606
} else if (strcmp(td->fields[i]->field_id, "n") == 0) {
security/keys/trusted-keys/trusted_tpm1.c
431
struct tpm_digests *td;
security/keys/trusted-keys/trusted_tpm1.c
443
td = kmalloc_obj(*td);
security/keys/trusted-keys/trusted_tpm1.c
444
if (!td)
security/keys/trusted-keys/trusted_tpm1.c
454
memcpy(td->xorwork, sess.secret, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
455
memcpy(td->xorwork + SHA1_DIGEST_SIZE, sess.enonce, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
456
sha1(td->xorwork, SHA1_DIGEST_SIZE * 2, td->xorhash);
security/keys/trusted-keys/trusted_tpm1.c
458
ret = tpm_get_random(chip, td->nonceodd, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
474
td->encauth[i] = td->xorhash[i] ^ blobauth[i];
security/keys/trusted-keys/trusted_tpm1.c
479
ret = TSS_authhmac(td->pubauth, sess.secret, SHA1_DIGEST_SIZE,
security/keys/trusted-keys/trusted_tpm1.c
480
sess.enonce, td->nonceodd, cont,
security/keys/trusted-keys/trusted_tpm1.c
482
td->encauth, sizeof(uint32_t), &pcrsize,
security/keys/trusted-keys/trusted_tpm1.c
487
ret = TSS_authhmac(td->pubauth, sess.secret, SHA1_DIGEST_SIZE,
security/keys/trusted-keys/trusted_tpm1.c
488
sess.enonce, td->nonceodd, cont,
security/keys/trusted-keys/trusted_tpm1.c
490
td->encauth, sizeof(uint32_t), &pcrsize,
security/keys/trusted-keys/trusted_tpm1.c
500
tpm_buf_append(tb, td->encauth, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
506
tpm_buf_append(tb, td->nonceodd, TPM_NONCE_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
508
tpm_buf_append(tb, td->pubauth, SHA1_DIGEST_SIZE);
security/keys/trusted-keys/trusted_tpm1.c
522
ret = TSS_checkhmac1(tb->data, ordinal, td->nonceodd, sess.secret,
security/keys/trusted-keys/trusted_tpm1.c
532
kfree_sensitive(td);
sound/sparc/dbri.c
1775
int td = dbri->pipes[pipe].desc;
sound/sparc/dbri.c
1778
while (td >= 0) {
sound/sparc/dbri.c
1779
if (td >= DBRI_NO_DESCS) {
sound/sparc/dbri.c
1784
status = DBRI_TD_STATUS(dbri->dma->desc[td].word4);
sound/sparc/dbri.c
1788
dprintk(D_INT, "TD %d, status 0x%02x\n", td, status);
sound/sparc/dbri.c
1790
dbri->dma->desc[td].word4 = 0; /* Reset it for next time. */
sound/sparc/dbri.c
1791
info->offset += DBRI_RD_CNT(dbri->dma->desc[td].word1);
sound/sparc/dbri.c
1793
td = dbri->next_desc[td];
sound/sparc/dbri.c
1794
dbri->pipes[pipe].desc = td;
sound/sparc/dbri.c
1872
int td = dbri->pipes[pipe].desc;
sound/sparc/dbri.c
1874
dbri->dma->desc[td].word4 = 0;
sound/sparc/dbri.c
1879
*(cmd++) = dbri->dma_dvma + dbri_dma_off(desc, td);
tools/perf/bench/futex-wake-parallel.c
101
static void wakeup_threads(struct thread_data *td)
tools/perf/bench/futex-wake-parallel.c
118
if (pthread_create(&td[i].worker, &thread_attr,
tools/perf/bench/futex-wake-parallel.c
119
waking_workerfn, (void *)&td[i]))
tools/perf/bench/futex-wake-parallel.c
126
if (pthread_join(td[i].worker, NULL))
tools/perf/bench/numa.c
1028
struct thread_data *td;
tools/perf/bench/numa.c
1033
td = g->threads + task_nr;
tools/perf/bench/numa.c
1035
n = numa_node_of_cpu(td->curr_cpu);
tools/perf/bench/numa.c
1102
struct thread_data *td = g->threads + t;
tools/perf/bench/numa.c
1105
cpu = td->curr_cpu;
tools/perf/bench/numa.c
1115
loops_done = td->loops_done;
tools/perf/bench/numa.c
1208
struct thread_data *td = __tdata;
tools/perf/bench/numa.c
1210
int process_nr = td->process_nr;
tools/perf/bench/numa.c
1211
int thread_nr = td->thread_nr;
tools/perf/bench/numa.c
1213
int task_nr = td->task_nr;
tools/perf/bench/numa.c
1217
u64 val = td->val;
tools/perf/bench/numa.c
1227
bind_to_cpumask(td->bind_cpumask);
tools/perf/bench/numa.c
1228
bind_to_memnode(td->bind_node);
tools/perf/bench/numa.c
1233
process_data = td->process_data;
tools/perf/bench/numa.c
1286
mutex_lock(td->process_lock);
tools/perf/bench/numa.c
1288
mutex_unlock(td->process_lock);
tools/perf/bench/numa.c
1294
mutex_lock(td->process_lock);
tools/perf/bench/numa.c
1296
mutex_unlock(td->process_lock);
tools/perf/bench/numa.c
1308
td->loops_done = l;
tools/perf/bench/numa.c
1380
td->runtime_ns = diff.tv_sec * NSEC_PER_SEC;
tools/perf/bench/numa.c
1381
td->runtime_ns += diff.tv_usec * NSEC_PER_USEC;
tools/perf/bench/numa.c
1382
secs = td->runtime_ns / NSEC_PER_SEC;
tools/perf/bench/numa.c
1383
td->speed_gbs = secs ? bytes_done / secs / 1e9 : 0;
tools/perf/bench/numa.c
1386
td->system_time_ns = rusage.ru_stime.tv_sec * NSEC_PER_SEC;
tools/perf/bench/numa.c
1387
td->system_time_ns += rusage.ru_stime.tv_usec * NSEC_PER_USEC;
tools/perf/bench/numa.c
1388
td->user_time_ns = rusage.ru_utime.tv_sec * NSEC_PER_SEC;
tools/perf/bench/numa.c
1389
td->user_time_ns += rusage.ru_utime.tv_usec * NSEC_PER_USEC;
tools/perf/bench/numa.c
1406
struct thread_data *td;
tools/perf/bench/numa.c
1421
td = g->threads + task_nr;
tools/perf/bench/numa.c
1423
bind_to_memnode(td->bind_node);
tools/perf/bench/numa.c
1424
bind_to_cpumask(td->bind_cpumask);
tools/perf/bench/numa.c
1436
td = g->threads + task_nr;
tools/perf/bench/numa.c
1438
td->process_data = process_data;
tools/perf/bench/numa.c
1439
td->process_nr = process_nr;
tools/perf/bench/numa.c
1440
td->thread_nr = t;
tools/perf/bench/numa.c
1441
td->task_nr = task_nr;
tools/perf/bench/numa.c
1442
td->val = rand();
tools/perf/bench/numa.c
1443
td->curr_cpu = -1;
tools/perf/bench/numa.c
1444
td->process_lock = &process_lock;
tools/perf/bench/numa.c
1446
ret = pthread_create(pthreads + t, NULL, worker_thread, td);
tools/perf/bench/numa.c
1487
struct thread_data *td = g->threads + t;
tools/perf/bench/numa.c
1492
td->bind_node = NUMA_NO_NODE;
tools/perf/bench/numa.c
1495
td->bind_cpumask = CPU_ALLOC(g->p.nr_cpus);
tools/perf/bench/numa.c
1496
BUG_ON(!td->bind_cpumask);
tools/perf/bench/numa.c
1497
CPU_ZERO_S(cpuset_size, td->bind_cpumask);
tools/perf/bench/numa.c
1499
CPU_SET_S(cpu, cpuset_size, td->bind_cpumask);
tools/perf/bench/numa.c
1510
struct thread_data *td = g->threads + t;
tools/perf/bench/numa.c
1511
CPU_FREE(td->bind_cpumask);
tools/perf/bench/numa.c
1773
struct thread_data *td;
tools/perf/bench/numa.c
1777
td = g->threads + p*g->p.nr_threads + t;
tools/perf/bench/numa.c
1779
print_res(tname, td->speed_gbs,
tools/perf/bench/numa.c
1781
print_res(tname, td->system_time_ns / NSEC_PER_SEC,
tools/perf/bench/numa.c
1783
print_res(tname, td->user_time_ns / NSEC_PER_SEC,
tools/perf/bench/numa.c
591
struct thread_data *td;
tools/perf/bench/numa.c
684
td = g->threads + t;
tools/perf/bench/numa.c
694
td->bind_cpumask = CPU_ALLOC(g->p.nr_cpus);
tools/perf/bench/numa.c
695
BUG_ON(!td->bind_cpumask);
tools/perf/bench/numa.c
696
CPU_ZERO_S(size, td->bind_cpumask);
tools/perf/bench/numa.c
699
CPU_FREE(td->bind_cpumask);
tools/perf/bench/numa.c
702
CPU_SET_S(cpu, size, td->bind_cpumask);
tools/perf/bench/numa.c
739
struct thread_data *td;
tools/perf/bench/numa.c
811
td = g->threads + t;
tools/perf/bench/numa.c
818
td->bind_node = bind_node;
tools/perf/bench/numa.c
989
struct thread_data *td;
tools/perf/bench/numa.c
994
td = g->threads + task_nr;
tools/perf/bench/numa.c
996
node = numa_node_of_cpu(td->curr_cpu);
tools/perf/bench/sched-pipe.c
173
static inline int read_pipe(struct thread_data *td)
tools/perf/bench/sched-pipe.c
178
ret = epoll_wait(td->epoll_fd, &td->epoll_ev, 1, -1);
tools/perf/bench/sched-pipe.c
182
ret = read(td->pipe_read, &m, sizeof(int));
tools/perf/bench/sched-pipe.c
190
struct thread_data *td = __tdata;
tools/perf/bench/sched-pipe.c
193
ret = enter_cgroup(td->nr);
tools/perf/bench/sched-pipe.c
195
td->cgroup_failed = true;
tools/perf/bench/sched-pipe.c
200
td->epoll_ev.events = EPOLLIN;
tools/perf/bench/sched-pipe.c
201
td->epoll_fd = epoll_create(1);
tools/perf/bench/sched-pipe.c
202
BUG_ON(td->epoll_fd < 0);
tools/perf/bench/sched-pipe.c
203
BUG_ON(epoll_ctl(td->epoll_fd, EPOLL_CTL_ADD, td->pipe_read, &td->epoll_ev) < 0);
tools/perf/bench/sched-pipe.c
207
ret = write(td->pipe_write, &m, sizeof(int));
tools/perf/bench/sched-pipe.c
209
ret = read_pipe(td);
tools/perf/bench/sched-pipe.c
219
struct thread_data *td;
tools/perf/bench/sched-pipe.c
245
td = threads + t;
tools/perf/bench/sched-pipe.c
247
td->nr = t;
tools/perf/bench/sched-pipe.c
250
td->pipe_read = pipe_1[0];
tools/perf/bench/sched-pipe.c
251
td->pipe_write = pipe_2[1];
tools/perf/bench/sched-pipe.c
253
td->pipe_write = pipe_1[1];
tools/perf/bench/sched-pipe.c
254
td->pipe_read = pipe_2[0];
tools/perf/bench/sched-pipe.c
260
td = threads + t;
tools/perf/bench/sched-pipe.c
262
ret = pthread_create(&td->pthread, NULL, worker_thread, td);
tools/perf/bench/sched-pipe.c
267
td = threads + t;
tools/perf/bench/sched-pipe.c
269
ret = pthread_join(td->pthread, NULL);
tools/perf/tests/dlfilter-test.c
111
static int write_attr(struct test_data *td, u64 sample_type, u64 *id)
tools/perf/tests/dlfilter-test.c
121
return perf_event__synthesize_attr(&td->tool, &attr, 1, id, process);
tools/perf/tests/dlfilter-test.c
172
static int write_sample(struct test_data *td, u64 sample_type, u64 id, pid_t pid, pid_t tid)
tools/perf/tests/dlfilter-test.c
177
.ip = td->ip,
tools/perf/tests/dlfilter-test.c
178
.addr = td->addr,
tools/perf/tests/dlfilter-test.c
196
err = process(&td->tool, event, &sample, td->machine);
tools/perf/tests/dlfilter-test.c
244
static int check_filter_desc(struct test_data *td)
tools/perf/tests/dlfilter-test.c
250
if (get_filter_desc(td->dlfilters, td->name, &desc, &long_desc) &&
tools/perf/tests/dlfilter-test.c
252
desc && !strcmp(desc, td->desc))
tools/perf/tests/dlfilter-test.c
262
static int get_ip_addr(struct test_data *td)
tools/perf/tests/dlfilter-test.c
267
map = dso__new_map(td->prog_file_name);
tools/perf/tests/dlfilter-test.c
273
td->foo = sym->start;
tools/perf/tests/dlfilter-test.c
277
td->bar = sym->start;
tools/perf/tests/dlfilter-test.c
281
td->ip = MAP_START + td->foo;
tools/perf/tests/dlfilter-test.c
282
td->addr = MAP_START + td->bar;
tools/perf/tests/dlfilter-test.c
284
return td->foo && td->bar ? 0 : -1;
tools/perf/tests/dlfilter-test.c
287
static int do_run_perf_script(struct test_data *td, int do_early)
tools/perf/tests/dlfilter-test.c
297
td->perf, td->perf_data_file_name, td->dlfilters,
tools/perf/tests/dlfilter-test.c
298
td->name, verbose, td->ip, td->addr, do_early);
tools/perf/tests/dlfilter-test.c
301
static int run_perf_script(struct test_data *td)
tools/perf/tests/dlfilter-test.c
307
err = do_run_perf_script(td, do_early);
tools/perf/tests/dlfilter-test.c
319
static int test__dlfilter_test(struct test_data *td)
tools/perf/tests/dlfilter-test.c
328
if (get_dlfilters_path(td->name, td->dlfilters, PATH_MAX))
tools/perf/tests/dlfilter-test.c
331
if (check_filter_desc(td))
tools/perf/tests/dlfilter-test.c
337
pr_debug("dlfilters path: %s\n", td->dlfilters);
tools/perf/tests/dlfilter-test.c
339
if (write_prog(td->c_file_name))
tools/perf/tests/dlfilter-test.c
343
system_cmd("cat %s ; echo", td->c_file_name);
tools/perf/tests/dlfilter-test.c
345
if (system_cmd("gcc -g -o %s %s", td->prog_file_name, td->c_file_name))
tools/perf/tests/dlfilter-test.c
349
system_cmd("objdump -x -dS %s", td->prog_file_name);
tools/perf/tests/dlfilter-test.c
351
if (get_ip_addr(td))
tools/perf/tests/dlfilter-test.c
356
td->machine = machine__new_host(&host_env);
tools/perf/tests/dlfilter-test.c
358
td->fd = creat(td->perf_data_file_name, 0644);
tools/perf/tests/dlfilter-test.c
359
if (td->fd < 0)
tools/perf/tests/dlfilter-test.c
362
err = perf_header__write_pipe(td->fd);
tools/perf/tests/dlfilter-test.c
367
err = write_attr(td, sample_type, &id);
tools/perf/tests/dlfilter-test.c
372
if (write_comm(td->fd, pid, tid, "test-prog")) {
tools/perf/tests/dlfilter-test.c
376
if (write_mmap(td->fd, pid, tid, MAP_START, 0x10000, 0, td->prog_file_name)) {
tools/perf/tests/dlfilter-test.c
380
if (write_sample(td, sample_type, id, pid, tid) != TEST_OK) {
tools/perf/tests/dlfilter-test.c
385
system_cmd("%s script -i %s -D", td->perf, td->perf_data_file_name);
tools/perf/tests/dlfilter-test.c
387
err = run_perf_script(td) ? TEST_FAIL : TEST_OK;
tools/perf/tests/dlfilter-test.c
399
static void test_data__free(struct test_data *td)
tools/perf/tests/dlfilter-test.c
401
machine__delete(td->machine);
tools/perf/tests/dlfilter-test.c
402
close_fd(td->fd);
tools/perf/tests/dlfilter-test.c
404
unlink_path(td->c_file_name);
tools/perf/tests/dlfilter-test.c
405
unlink_path(td->prog_file_name);
tools/perf/tests/dlfilter-test.c
406
unlink_path(td->perf_data_file_name);
tools/perf/tests/dlfilter-test.c
412
struct test_data td = {.fd = -1};
tools/perf/tests/dlfilter-test.c
418
perf_exe(td.perf, sizeof(td.perf));
tools/perf/tests/dlfilter-test.c
420
snprintf(td.name, sizeof(td.name), "dlfilter-test-api-v%d.so", ver);
tools/perf/tests/dlfilter-test.c
421
snprintf(td.desc, sizeof(td.desc), "dlfilter to test v%d C API", ver);
tools/perf/tests/dlfilter-test.c
422
snprintf(td.perf_data_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-perf-data", pid);
tools/perf/tests/dlfilter-test.c
423
snprintf(td.c_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-prog.c", pid);
tools/perf/tests/dlfilter-test.c
424
snprintf(td.prog_file_name, PATH_MAX, "/tmp/dlfilter-test-%u-prog", pid);
tools/perf/tests/dlfilter-test.c
426
err = test__dlfilter_test(&td);
tools/perf/tests/dlfilter-test.c
427
test_data__free(&td);
tools/perf/tests/dlfilter-test.c
68
struct test_data *td = container_of(tool, struct test_data, tool);
tools/perf/tests/dlfilter-test.c
69
int fd = td->fd;
tools/perf/tests/mmap-thread-lookup.c
189
struct thread_data *td = &threads[i];
tools/perf/tests/mmap-thread-lookup.c
194
thread = machine__findnew_thread(machine, getpid(), td->tid);
tools/perf/tests/mmap-thread-lookup.c
196
pr_debug("looking for map %p\n", td->map);
tools/perf/tests/mmap-thread-lookup.c
199
(unsigned long) (td->map + 1), &al);
tools/perf/tests/mmap-thread-lookup.c
35
static int thread_init(struct thread_data *td)
tools/perf/tests/mmap-thread-lookup.c
48
td->map = map;
tools/perf/tests/mmap-thread-lookup.c
49
td->tid = syscall(SYS_gettid);
tools/perf/tests/mmap-thread-lookup.c
51
pr_debug("tid = %d, map = %p\n", td->tid, map);
tools/perf/tests/mmap-thread-lookup.c
57
struct thread_data *td = arg;
tools/perf/tests/mmap-thread-lookup.c
61
if (thread_init(td))
tools/perf/tests/mmap-thread-lookup.c
65
ret = write(td->ready[1], &go, sizeof(int));
tools/perf/tests/mmap-thread-lookup.c
76
munmap(td->map, page_size);
tools/perf/tests/mmap-thread-lookup.c
82
struct thread_data *td = &threads[i];
tools/perf/tests/mmap-thread-lookup.c
85
if (pipe(td->ready))
tools/perf/tests/mmap-thread-lookup.c
88
err = pthread_create(&td->pt, NULL, thread_fn, td);
tools/perf/tests/mmap-thread-lookup.c
91
ssize_t ret = read(td->ready[0], &go, sizeof(int));
tools/perf/tests/mmap-thread-lookup.c
95
close(td->ready[0]);
tools/perf/tests/mmap-thread-lookup.c
96
close(td->ready[1]);
tools/testing/selftests/arm64/signal/test_signals.h
100
void (*cleanup)(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals.h
102
int (*trigger)(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals.h
107
int (*run)(struct tdescr *td, siginfo_t *si, ucontext_t *uc);
tools/testing/selftests/arm64/signal/test_signals.h
109
void (*check_result)(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals.h
96
int (*setup)(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals.h
98
bool (*init)(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
100
if (!td->initialized) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
106
td->pass = 1;
tools/testing/selftests/arm64/signal/test_signals_utils.c
113
static bool handle_signal_trigger(struct tdescr *td,
tools/testing/selftests/arm64/signal/test_signals_utils.c
116
td->triggered = 1;
tools/testing/selftests/arm64/signal/test_signals_utils.c
118
td->run(td, si, uc);
tools/testing/selftests/arm64/signal/test_signals_utils.c
123
static bool handle_signal_ok(struct tdescr *td,
tools/testing/selftests/arm64/signal/test_signals_utils.c
130
assert(!td->sig_trig || td->triggered);
tools/testing/selftests/arm64/signal/test_signals_utils.c
134
si->si_addr, si->si_code, td->token, td->token - si->si_addr);
tools/testing/selftests/arm64/signal/test_signals_utils.c
141
if (!td->sanity_disabled && !td->token) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
146
if (td->sig_ok_code) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
147
if (si->si_code != td->sig_ok_code) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
149
si->si_code, td->sig_ok_code);
tools/testing/selftests/arm64/signal/test_signals_utils.c
160
if (td->sig_ok == SIGSEGV && si->si_code != SEGV_ACCERR) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
166
td->pass = 1;
tools/testing/selftests/arm64/signal/test_signals_utils.c
178
static bool handle_signal_copyctx(struct tdescr *td,
tools/testing/selftests/arm64/signal/test_signals_utils.c
196
head = get_header(head, EXTRA_MAGIC, td->live_sz, &offset);
tools/testing/selftests/arm64/signal/test_signals_utils.c
210
copied_extra = (struct extra_context *)&(td->live_uc->uc_mcontext.__reserved[offset]);
tools/testing/selftests/arm64/signal/test_signals_utils.c
216
if (to_copy > td->live_sz) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
219
td->live_sz, to_copy);
tools/testing/selftests/arm64/signal/test_signals_utils.c
223
memcpy(td->live_uc, uc, to_copy);
tools/testing/selftests/arm64/signal/test_signals_utils.c
235
td->live_uc_valid = 1;
tools/testing/selftests/arm64/signal/test_signals_utils.c
269
static int default_setup(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
275
sa.sa_flags |= td->sa_flags;
tools/testing/selftests/arm64/signal/test_signals_utils.c
289
if (td->sig_trig)
tools/testing/selftests/arm64/signal/test_signals_utils.c
290
unblock_signal(td->sig_trig);
tools/testing/selftests/arm64/signal/test_signals_utils.c
291
if (td->sig_ok)
tools/testing/selftests/arm64/signal/test_signals_utils.c
292
unblock_signal(td->sig_ok);
tools/testing/selftests/arm64/signal/test_signals_utils.c
293
if (td->sig_unsupp)
tools/testing/selftests/arm64/signal/test_signals_utils.c
294
unblock_signal(td->sig_unsupp);
tools/testing/selftests/arm64/signal/test_signals_utils.c
296
if (td->timeout) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
298
alarm(td->timeout);
tools/testing/selftests/arm64/signal/test_signals_utils.c
305
static inline int default_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
307
return !raise(td->sig_trig);
tools/testing/selftests/arm64/signal/test_signals_utils.c
310
int test_init(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
312
if (td->sig_trig == sig_copyctx) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
321
td->minsigstksz = getauxval(AT_MINSIGSTKSZ);
tools/testing/selftests/arm64/signal/test_signals_utils.c
322
if (!td->minsigstksz)
tools/testing/selftests/arm64/signal/test_signals_utils.c
323
td->minsigstksz = MINSIGSTKSZ;
tools/testing/selftests/arm64/signal/test_signals_utils.c
324
fprintf(stderr, "Detected MINSTKSIGSZ:%d\n", td->minsigstksz);
tools/testing/selftests/arm64/signal/test_signals_utils.c
326
if (td->feats_required || td->feats_incompatible) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
327
td->feats_supported = 0;
tools/testing/selftests/arm64/signal/test_signals_utils.c
333
td->feats_supported |= FEAT_SSBS;
tools/testing/selftests/arm64/signal/test_signals_utils.c
335
td->feats_supported |= FEAT_SVE;
tools/testing/selftests/arm64/signal/test_signals_utils.c
337
td->feats_supported |= FEAT_SME;
tools/testing/selftests/arm64/signal/test_signals_utils.c
339
td->feats_supported |= FEAT_SME_FA64;
tools/testing/selftests/arm64/signal/test_signals_utils.c
341
td->feats_supported |= FEAT_SME2;
tools/testing/selftests/arm64/signal/test_signals_utils.c
343
td->feats_supported |= FEAT_GCS;
tools/testing/selftests/arm64/signal/test_signals_utils.c
344
if (feats_ok(td)) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
345
if (td->feats_required & td->feats_supported)
tools/testing/selftests/arm64/signal/test_signals_utils.c
348
feats_to_string(td->feats_required &
tools/testing/selftests/arm64/signal/test_signals_utils.c
349
td->feats_supported));
tools/testing/selftests/arm64/signal/test_signals_utils.c
350
if (!(td->feats_incompatible & td->feats_supported))
tools/testing/selftests/arm64/signal/test_signals_utils.c
353
feats_to_string(td->feats_incompatible));
tools/testing/selftests/arm64/signal/test_signals_utils.c
355
if ((td->feats_required & td->feats_supported) !=
tools/testing/selftests/arm64/signal/test_signals_utils.c
356
td->feats_supported)
tools/testing/selftests/arm64/signal/test_signals_utils.c
359
feats_to_string(td->feats_required &
tools/testing/selftests/arm64/signal/test_signals_utils.c
360
~td->feats_supported));
tools/testing/selftests/arm64/signal/test_signals_utils.c
361
if (td->feats_incompatible & td->feats_supported)
tools/testing/selftests/arm64/signal/test_signals_utils.c
364
feats_to_string(td->feats_incompatible &
tools/testing/selftests/arm64/signal/test_signals_utils.c
365
~td->feats_supported));
tools/testing/selftests/arm64/signal/test_signals_utils.c
368
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/test_signals_utils.c
374
if (td->init && !td->init(td)) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
378
td->initialized = 1;
tools/testing/selftests/arm64/signal/test_signals_utils.c
384
int test_setup(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
388
assert(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
389
assert(td->name);
tools/testing/selftests/arm64/signal/test_signals_utils.c
390
assert(td->run);
tools/testing/selftests/arm64/signal/test_signals_utils.c
393
td->result = KSFT_FAIL;
tools/testing/selftests/arm64/signal/test_signals_utils.c
394
if (td->setup)
tools/testing/selftests/arm64/signal/test_signals_utils.c
395
return td->setup(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
397
return default_setup(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
400
int test_run(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
402
if (td->trigger)
tools/testing/selftests/arm64/signal/test_signals_utils.c
403
return td->trigger(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
404
else if (td->sig_trig)
tools/testing/selftests/arm64/signal/test_signals_utils.c
405
return default_trigger(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
407
return td->run(td, NULL, NULL);
tools/testing/selftests/arm64/signal/test_signals_utils.c
410
void test_result(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
412
if (td->initialized && td->result != KSFT_SKIP && td->check_result)
tools/testing/selftests/arm64/signal/test_signals_utils.c
413
td->check_result(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
414
default_result(td, 0);
tools/testing/selftests/arm64/signal/test_signals_utils.c
417
void test_cleanup(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.c
419
if (td->cleanup)
tools/testing/selftests/arm64/signal/test_signals_utils.c
420
td->cleanup(td);
tools/testing/selftests/arm64/signal/test_signals_utils.c
67
static void default_result(struct tdescr *td, bool force_exit)
tools/testing/selftests/arm64/signal/test_signals_utils.c
69
if (td->result == KSFT_SKIP) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
71
} else if (td->pass) {
tools/testing/selftests/arm64/signal/test_signals_utils.c
73
td->result = KSFT_PASS;
tools/testing/selftests/arm64/signal/test_signals_utils.c
76
td->result = KSFT_FAIL;
tools/testing/selftests/arm64/signal/test_signals_utils.c
80
exit(td->result);
tools/testing/selftests/arm64/signal/test_signals_utils.c
91
static bool handle_signal_unsupported(struct tdescr *td,
tools/testing/selftests/arm64/signal/test_signals_utils.c
94
if (feats_ok(td))
tools/testing/selftests/arm64/signal/test_signals_utils.h
107
assert(td && dest_uc);
tools/testing/selftests/arm64/signal/test_signals_utils.h
110
td->live_uc_valid = 0;
tools/testing/selftests/arm64/signal/test_signals_utils.h
111
td->live_sz = dest_sz;
tools/testing/selftests/arm64/signal/test_signals_utils.h
118
for (i = 0; i < td->live_sz; i++) {
tools/testing/selftests/arm64/signal/test_signals_utils.h
123
td->live_uc = dest_uc;
tools/testing/selftests/arm64/signal/test_signals_utils.h
16
int test_init(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.h
167
if (td->feats_supported & FEAT_SME)
tools/testing/selftests/arm64/signal/test_signals_utils.h
17
int test_setup(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.h
18
void test_cleanup(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.h
183
return td->live_uc_valid;
tools/testing/selftests/arm64/signal/test_signals_utils.h
19
int test_run(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.h
20
void test_result(struct tdescr *td);
tools/testing/selftests/arm64/signal/test_signals_utils.h
60
static inline bool feats_ok(struct tdescr *td)
tools/testing/selftests/arm64/signal/test_signals_utils.h
62
if (td->feats_incompatible & td->feats_supported)
tools/testing/selftests/arm64/signal/test_signals_utils.h
64
return (td->feats_required & td->feats_supported) == td->feats_required;
tools/testing/selftests/arm64/signal/test_signals_utils.h
99
static __always_inline bool get_current_context(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_magic.c
18
static int fake_sigreturn_bad_magic_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_magic.c
24
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_size.c
20
static int fake_sigreturn_bad_size_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_size.c
27
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_size_for_magic0.c
18
static int fake_sigreturn_bad_size_for_magic0_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_bad_size_for_magic0.c
24
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_duplicated_fpsimd.c
18
static int fake_sigreturn_duplicated_fpsimd_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_duplicated_fpsimd.c
24
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_misaligned_sp.c
18
static int fake_sigreturn_misaligned_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_misaligned_sp.c
22
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_missing_fpsimd.c
19
static int fake_sigreturn_missing_fpsimd_run(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_missing_fpsimd.c
26
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sme_change_vl.c
20
static bool sme_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sme_change_vl.c
28
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sme_change_vl.c
33
static int fake_sigreturn_ssve_change_vl(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sme_change_vl.c
41
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c
20
static bool sve_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c
28
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c
33
static int fake_sigreturn_sve_change_vl(struct tdescr *td,
tools/testing/selftests/arm64/signal/testcases/fake_sigreturn_sve_change_vl.c
41
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c
39
int fpmr_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c
52
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c
56
get_header(head, FPMR_MAGIC, td->live_sz, &offset);
tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c
64
td->pass = (in_sigframe == have_fpmr);
tools/testing/selftests/arm64/signal/testcases/fpmr_siginfo.c
70
td->pass = false;
tools/testing/selftests/arm64/signal/testcases/gcs_exception_fault.c
33
static int gcs_op_fault_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/gcs_exception_fault.c
44
static int gcs_op_fault_signal(struct tdescr *td, siginfo_t *si,
tools/testing/selftests/arm64/signal/testcases/gcs_frame.c
18
static int gcs_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/gcs_frame.c
38
if (!get_current_context(td, &context.uc, sizeof(context))) {
tools/testing/selftests/arm64/signal/testcases/gcs_frame.c
77
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/gcs_prot_none_fault.c
23
static bool alloc_gcs(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/gcs_prot_none_fault.c
38
static int gcs_prot_none_fault_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/gcs_prot_none_fault.c
54
static int gcs_prot_none_fault_signal(struct tdescr *td, siginfo_t *si,
tools/testing/selftests/arm64/signal/testcases/gcs_write_fault.c
22
static bool alloc_gcs(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/gcs_write_fault.c
37
static int gcs_write_fault_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/gcs_write_fault.c
48
static int gcs_write_fault_signal(struct tdescr *td, siginfo_t *si,
tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_compat_toggle.c
13
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si,
tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_daif_bits.c
14
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si,
tools/testing/selftests/arm64/signal/testcases/mangle_pstate_invalid_mode_template.h
10
static int mangle_invalid_pstate_run(struct tdescr *td, siginfo_t *si, \
tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
39
int poe_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
52
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
56
get_header(head, POE_MAGIC, td->live_sz, &offset);
tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
64
td->pass = (in_sigframe == have_poe);
tools/testing/selftests/arm64/signal/testcases/poe_siginfo.c
74
td->pass = false;
tools/testing/selftests/arm64/signal/testcases/sme_trap_no_sm.c
16
int sme_trap_no_sm_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sme_trap_no_sm.c
24
int sme_trap_no_sm_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sme_trap_non_streaming.c
16
int sme_trap_non_streaming_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sme_trap_non_streaming.c
30
int sme_trap_non_streaming_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sme_trap_za.c
15
int sme_trap_za_trigger(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sme_trap_za.c
23
int sme_trap_za_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sme_vl.c
19
static bool get_sme_vl(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sme_vl.c
30
static int sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sme_vl.c
37
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/sme_vl.c
56
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
101
if (do_one_sme_vl(td, si, uc, vls[i]))
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
105
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
23
static bool sme_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
31
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
42
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
63
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/ssve_regs.c
96
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
120
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
125
if (do_one_sme_vl(td, si, uc, vls[i]))
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
129
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
23
static bool sme_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
31
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
47
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
tools/testing/selftests/arm64/signal/testcases/ssve_za_regs.c
70
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
23
static bool sve_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
31
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
42
static int do_one_sve_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
61
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
84
static int sve_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
89
if (do_one_sve_vl(td, si, uc, vls[i]))
tools/testing/selftests/arm64/signal/testcases/sve_regs.c
93
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/sve_vl.c
19
static bool get_sve_vl(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/sve_vl.c
30
static int sve_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/sve_vl.c
37
if (!get_current_context(td, &sf.uc, sizeof(sf.uc)))
tools/testing/selftests/arm64/signal/testcases/sve_vl.c
56
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/tpidr2_restore.c
45
static bool save_tpidr2(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/tpidr2_restore.c
53
static int modify_tpidr2(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/tpidr2_restore.c
64
static void check_tpidr2(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/tpidr2_restore.c
68
td->pass = tpidr2 == initial_tpidr2;
tools/testing/selftests/arm64/signal/testcases/tpidr2_restore.c
70
if (td->pass)
tools/testing/selftests/arm64/signal/testcases/tpidr2_siginfo.c
39
int tpidr2_present(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/tpidr2_siginfo.c
52
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/tpidr2_siginfo.c
56
get_header(head, TPIDR2_MAGIC, td->live_sz, &offset);
tools/testing/selftests/arm64/signal/testcases/tpidr2_siginfo.c
64
td->pass = (in_sigframe == have_sme);
tools/testing/selftests/arm64/signal/testcases/tpidr2_siginfo.c
78
td->pass = false;
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
23
static bool sme_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
31
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
36
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
54
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
82
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
87
if (do_one_sme_vl(td, si, uc, vls[i]))
tools/testing/selftests/arm64/signal/testcases/za_no_regs.c
91
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/za_regs.c
102
static int sme_regs(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/za_regs.c
107
if (do_one_sme_vl(td, si, uc, vls[i]))
tools/testing/selftests/arm64/signal/testcases/za_regs.c
111
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/za_regs.c
23
static bool sme_get_vls(struct tdescr *td)
tools/testing/selftests/arm64/signal/testcases/za_regs.c
31
td->result = KSFT_SKIP;
tools/testing/selftests/arm64/signal/testcases/za_regs.c
44
static int do_one_sme_vl(struct tdescr *td, siginfo_t *si, ucontext_t *uc,
tools/testing/selftests/arm64/signal/testcases/za_regs.c
63
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/zt_no_regs.c
21
int zt_no_regs_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/zt_no_regs.c
30
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/zt_no_regs.c
39
td->pass = 1;
tools/testing/selftests/arm64/signal/testcases/zt_regs.c
27
int zt_regs_run(struct tdescr *td, siginfo_t *si, ucontext_t *uc)
tools/testing/selftests/arm64/signal/testcases/zt_regs.c
39
if (!get_current_context(td, &context.uc, sizeof(context)))
tools/testing/selftests/arm64/signal/testcases/zt_regs.c
74
td->pass = 1;
tools/testing/selftests/bpf/prog_tests/task_work_stress.c
21
struct test_data *td = test_data;
tools/testing/selftests/bpf/prog_tests/task_work_stress.c
25
while (!err && !atomic_load(&td->exit))
tools/testing/selftests/bpf/prog_tests/task_work_stress.c
26
err = bpf_prog_test_run_opts(td->prog_fd, &opts);
tools/thermal/thermal-engine/thermal-engine.c
130
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
131
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
140
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
141
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
150
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
151
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
161
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
162
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
188
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
189
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
224
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
225
struct thermal_zone *tz = thermal_zone_find_by_id(td->tz, tz_id);
tools/thermal/thermal-engine/thermal-engine.c
294
struct thermal_data *td = arg;
tools/thermal/thermal-engine/thermal-engine.c
296
return thermal_events_handle(td->th, td);
tools/thermal/thermal-engine/thermal-engine.c
365
struct thermal_data td;
tools/thermal/thermal-engine/thermal-engine.c
386
td.th = thermal_init(&ops);
tools/thermal/thermal-engine/thermal-engine.c
387
if (!td.th) {
tools/thermal/thermal-engine/thermal-engine.c
392
td.tz = thermal_zone_discover(td.th);
tools/thermal/thermal-engine/thermal-engine.c
393
if (!td.tz) {
tools/thermal/thermal-engine/thermal-engine.c
398
for_each_thermal_zone(td.tz, set_threshold, td.th);
tools/thermal/thermal-engine/thermal-engine.c
400
for_each_thermal_zone(td.tz, show_tz, td.th);
tools/thermal/thermal-engine/thermal-engine.c
407
if (mainloop_add(thermal_events_fd(td.th), thermal_event, &td)) {