Searched refs:orb (Results 1 - 23 of 23) sorted by relevance

/linux-4.4.14/drivers/s390/cio/
H A Deadm_sch.h8 #include "orb.h"
11 union orb orb; member in struct:eadm_private
H A Deadm_sch.c29 #include "orb.h"
55 static void orb_init(union orb *orb) orb_init() argument
57 memset(orb, 0, sizeof(union orb)); orb_init()
58 orb->eadm.compat1 = 1; orb_init()
59 orb->eadm.compat2 = 1; orb_init()
60 orb->eadm.fmt = 1; orb_init()
61 orb->eadm.x = 1; orb_init()
66 union orb *orb = &get_eadm_private(sch)->orb; eadm_subchannel_start() local
69 orb_init(orb); eadm_subchannel_start()
70 orb->eadm.aob = (u32)__pa(aob); eadm_subchannel_start()
71 orb->eadm.intparm = (u32)(addr_t)sch; eadm_subchannel_start()
72 orb->eadm.key = PAGE_DEFAULT_KEY >> 4; eadm_subchannel_start()
77 cc = ssch(sch->schid, orb); eadm_subchannel_start()
H A Dcio.c131 union orb *orb = &priv->orb; cio_start_key() local
137 memset(orb, 0, sizeof(union orb)); cio_start_key()
139 orb->cmd.intparm = (u32)(addr_t)sch; cio_start_key()
140 orb->cmd.fmt = 1; cio_start_key()
142 orb->cmd.pfch = priv->options.prefetch == 0; cio_start_key()
143 orb->cmd.spnd = priv->options.suspend; cio_start_key()
144 orb->cmd.ssic = priv->options.suspend && priv->options.inter; cio_start_key()
145 orb->cmd.lpm = (lpm != 0) ? lpm : sch->lpm; cio_start_key()
149 orb->cmd.c64 = 1; cio_start_key()
150 orb->cmd.i2k = 0; cio_start_key()
151 orb->cmd.key = key >> 4; cio_start_key()
153 orb->cmd.cpa = (__u32) __pa(cpa); cio_start_key()
154 ccode = ssch(sch->schid, orb); cio_start_key()
972 union orb *orb = &to_io_private(sch)->orb; cio_tm_start_key() local
974 memset(orb, 0, sizeof(union orb)); cio_tm_start_key()
975 orb->tm.intparm = (u32) (addr_t) sch; cio_tm_start_key()
976 orb->tm.key = key >> 4; cio_tm_start_key()
977 orb->tm.b = 1; cio_tm_start_key()
978 orb->tm.lpm = lpm ? lpm : sch->lpm; cio_tm_start_key()
979 orb->tm.tcw = (u32) (addr_t) tcw; cio_tm_start_key()
980 cc = ssch(sch->schid, orb); cio_tm_start_key()
1003 if (!to_io_private(sch)->orb.tm.b) cio_tm_intrg()
H A Dioasm.h6 #include "orb.h"
92 static inline int ssch(struct subchannel_id schid, union orb *addr) ssch()
H A Dorb.h85 union orb { union
H A Ddevice_fsm.c41 union orb *orb; ccw_timeout_log() local
46 orb = &private->orb; ccw_timeout_log()
51 printk(KERN_WARNING "cio: orb:\n"); ccw_timeout_log()
53 orb, sizeof(*orb), 0); ccw_timeout_log()
61 if (orb->tm.b) { ccw_timeout_log()
62 printk(KERN_WARNING "cio: orb indicates transport mode\n"); ccw_timeout_log()
65 (void *)(addr_t)orb->tm.tcw, ccw_timeout_log()
68 printk(KERN_WARNING "cio: orb indicates command mode\n"); ccw_timeout_log()
69 if ((void *)(addr_t)orb->cmd.cpa == &private->sense_ccw || ccw_timeout_log()
70 (void *)(addr_t)orb->cmd.cpa == cdev->private->iccws) ccw_timeout_log()
77 (void *)(addr_t)orb->cmd.cpa, ccw_timeout_log()
H A Dio_sch.h9 #include "orb.h"
12 union orb orb; /* operation request block */ member in struct:io_subchannel_private
/linux-4.4.14/drivers/firewire/
H A Dsbp2.c224 /* Management orb opcodes */
273 void (*callback)(struct sbp2_orb * orb, struct sbp2_status * status);
413 struct sbp2_orb *orb = container_of(kref, struct sbp2_orb, kref); free_orb() local
415 kfree(orb); free_orb()
424 struct sbp2_orb *orb; sbp2_status_write() local
447 /* Lookup the orb corresponding to this status write. */ sbp2_status_write()
449 list_for_each_entry(orb, &lu->orb_list, link) { sbp2_status_write()
451 STATUS_GET_ORB_LOW(status) == orb->request_bus) { sbp2_status_write()
452 orb->rcode = RCODE_COMPLETE; sbp2_status_write()
453 list_del(&orb->link); sbp2_status_write()
459 if (&orb->link != &lu->orb_list) { sbp2_status_write()
460 orb->callback(orb, &status); sbp2_status_write()
461 kref_put(&orb->kref, free_orb); /* orb callback reference */ sbp2_status_write()
472 struct sbp2_orb *orb = data; complete_transaction() local
477 * the orb before we get this callback. The status write complete_transaction()
478 * handler above will assume the orb pointer transaction was complete_transaction()
479 * successful and set the rcode to RCODE_COMPLETE for the orb. complete_transaction()
484 spin_lock_irqsave(&orb->lu->tgt->lock, flags); complete_transaction()
486 if (orb->rcode == -1) complete_transaction()
487 orb->rcode = rcode; complete_transaction()
488 if (orb->rcode != RCODE_COMPLETE) { complete_transaction()
489 list_del(&orb->link); complete_transaction()
490 spin_unlock_irqrestore(&orb->lu->tgt->lock, flags); complete_transaction()
492 orb->callback(orb, NULL); complete_transaction()
493 kref_put(&orb->kref, free_orb); /* orb callback reference */ complete_transaction()
495 spin_unlock_irqrestore(&orb->lu->tgt->lock, flags); complete_transaction()
498 kref_put(&orb->kref, free_orb); /* transaction callback reference */ complete_transaction()
501 static void sbp2_send_orb(struct sbp2_orb *orb, struct sbp2_logical_unit *lu, sbp2_send_orb() argument
509 orb_pointer.low = cpu_to_be32(orb->request_bus); sbp2_send_orb()
511 orb->lu = lu; sbp2_send_orb()
513 list_add_tail(&orb->link, &lu->orb_list); sbp2_send_orb()
516 kref_get(&orb->kref); /* transaction callback reference */ sbp2_send_orb()
517 kref_get(&orb->kref); /* orb callback reference */ sbp2_send_orb()
519 fw_send_request(device->card, &orb->t, TCODE_WRITE_BLOCK_REQUEST, sbp2_send_orb()
521 &orb_pointer, 8, complete_transaction, orb); sbp2_send_orb()
527 struct sbp2_orb *orb, *next; sbp2_cancel_orbs() local
536 list_for_each_entry_safe(orb, next, &list, link) { sbp2_cancel_orbs()
538 if (fw_cancel_transaction(device->card, &orb->t) == 0) sbp2_cancel_orbs()
541 orb->rcode = RCODE_CANCELLED; sbp2_cancel_orbs()
542 orb->callback(orb, NULL); sbp2_cancel_orbs()
543 kref_put(&orb->kref, free_orb); /* orb callback reference */ sbp2_cancel_orbs()
552 struct sbp2_management_orb *orb = complete_management_orb() local
556 memcpy(&orb->status, status, sizeof(*status)); complete_management_orb()
557 complete(&orb->done); complete_management_orb()
565 struct sbp2_management_orb *orb; sbp2_send_management_orb() local
572 orb = kzalloc(sizeof(*orb), GFP_NOIO); sbp2_send_management_orb()
573 if (orb == NULL) sbp2_send_management_orb()
576 kref_init(&orb->base.kref); sbp2_send_management_orb()
577 orb->response_bus = sbp2_send_management_orb()
578 dma_map_single(device->card->device, &orb->response, sbp2_send_management_orb()
579 sizeof(orb->response), DMA_FROM_DEVICE); sbp2_send_management_orb()
580 if (dma_mapping_error(device->card->device, orb->response_bus)) sbp2_send_management_orb()
583 orb->request.response.high = 0; sbp2_send_management_orb()
584 orb->request.response.low = cpu_to_be32(orb->response_bus); sbp2_send_management_orb()
586 orb->request.misc = cpu_to_be32( sbp2_send_management_orb()
590 orb->request.length = cpu_to_be32( sbp2_send_management_orb()
591 MANAGEMENT_ORB_RESPONSE_LENGTH(sizeof(orb->response))); sbp2_send_management_orb()
593 orb->request.status_fifo.high = sbp2_send_management_orb()
595 orb->request.status_fifo.low = sbp2_send_management_orb()
600 orb->request.misc |= cpu_to_be32( sbp2_send_management_orb()
608 init_completion(&orb->done); sbp2_send_management_orb()
609 orb->base.callback = complete_management_orb; sbp2_send_management_orb()
611 orb->base.request_bus = sbp2_send_management_orb()
612 dma_map_single(device->card->device, &orb->request, sbp2_send_management_orb()
613 sizeof(orb->request), DMA_TO_DEVICE); sbp2_send_management_orb()
614 if (dma_mapping_error(device->card->device, orb->base.request_bus)) sbp2_send_management_orb()
617 sbp2_send_orb(&orb->base, lu, node_id, generation, sbp2_send_management_orb()
620 wait_for_completion_timeout(&orb->done, msecs_to_jiffies(timeout)); sbp2_send_management_orb()
625 orb->base.rcode); sbp2_send_management_orb()
629 if (orb->base.rcode != RCODE_COMPLETE) { sbp2_send_management_orb()
631 orb->base.rcode); sbp2_send_management_orb()
635 if (STATUS_GET_RESPONSE(orb->status) != 0 || sbp2_send_management_orb()
636 STATUS_GET_SBP_STATUS(orb->status) != 0) { sbp2_send_management_orb()
638 STATUS_GET_RESPONSE(orb->status), sbp2_send_management_orb()
639 STATUS_GET_SBP_STATUS(orb->status)); sbp2_send_management_orb()
645 dma_unmap_single(device->card->device, orb->base.request_bus, sbp2_send_management_orb()
646 sizeof(orb->request), DMA_TO_DEVICE); sbp2_send_management_orb()
648 dma_unmap_single(device->card->device, orb->response_bus, sbp2_send_management_orb()
649 sizeof(orb->response), DMA_FROM_DEVICE); sbp2_send_management_orb()
652 memcpy(response, orb->response, sizeof(orb->response)); sbp2_send_management_orb()
653 kref_put(&orb->base.kref, free_orb); sbp2_send_management_orb()
1296 struct sbp2_command_orb *orb) sbp2_unmap_scatterlist()
1298 scsi_dma_unmap(orb->cmd); sbp2_unmap_scatterlist()
1300 if (orb->request.misc & cpu_to_be32(COMMAND_ORB_PAGE_TABLE_PRESENT)) sbp2_unmap_scatterlist()
1301 dma_unmap_single(card_device, orb->page_table_bus, sbp2_unmap_scatterlist()
1302 sizeof(orb->page_table), DMA_TO_DEVICE); sbp2_unmap_scatterlist()
1354 struct sbp2_command_orb *orb = complete_command_orb() local
1379 orb->cmd->sense_buffer); complete_command_orb()
1382 * If the orb completes with status == NULL, something complete_command_orb()
1383 * went wrong, typically a bus reset happened mid-orb complete_command_orb()
1390 dma_unmap_single(device->card->device, orb->base.request_bus, complete_command_orb()
1391 sizeof(orb->request), DMA_TO_DEVICE); complete_command_orb()
1392 sbp2_unmap_scatterlist(device->card->device, orb); complete_command_orb()
1394 orb->cmd->result = result; complete_command_orb()
1395 orb->cmd->scsi_done(orb->cmd); complete_command_orb()
1398 static int sbp2_map_scatterlist(struct sbp2_command_orb *orb, sbp2_map_scatterlist() argument
1401 struct scatterlist *sg = scsi_sglist(orb->cmd); sbp2_map_scatterlist()
1404 n = scsi_dma_map(orb->cmd); sbp2_map_scatterlist()
1416 orb->request.data_descriptor.high = sbp2_map_scatterlist()
1418 orb->request.data_descriptor.low = sbp2_map_scatterlist()
1420 orb->request.misc |= sbp2_map_scatterlist()
1426 orb->page_table[i].high = cpu_to_be32(sg_dma_len(sg) << 16); for_each_sg()
1427 orb->page_table[i].low = cpu_to_be32(sg_dma_address(sg)); for_each_sg()
1430 orb->page_table_bus =
1431 dma_map_single(device->card->device, orb->page_table,
1432 sizeof(orb->page_table), DMA_TO_DEVICE);
1433 if (dma_mapping_error(device->card->device, orb->page_table_bus))
1443 orb->request.data_descriptor.high = cpu_to_be32(lu->tgt->address_high);
1444 orb->request.data_descriptor.low = cpu_to_be32(orb->page_table_bus);
1445 orb->request.misc |= cpu_to_be32(COMMAND_ORB_PAGE_TABLE_PRESENT |
1451 scsi_dma_unmap(orb->cmd);
1463 struct sbp2_command_orb *orb; sbp2_scsi_queuecommand() local
1466 orb = kzalloc(sizeof(*orb), GFP_ATOMIC); sbp2_scsi_queuecommand()
1467 if (orb == NULL) sbp2_scsi_queuecommand()
1471 orb->base.rcode = -1; sbp2_scsi_queuecommand()
1472 kref_init(&orb->base.kref); sbp2_scsi_queuecommand()
1473 orb->cmd = cmd; sbp2_scsi_queuecommand()
1474 orb->request.next.high = cpu_to_be32(SBP2_ORB_NULL); sbp2_scsi_queuecommand()
1475 orb->request.misc = cpu_to_be32( sbp2_scsi_queuecommand()
1481 orb->request.misc |= cpu_to_be32(COMMAND_ORB_DIRECTION); sbp2_scsi_queuecommand()
1486 if (scsi_sg_count(cmd) && sbp2_map_scatterlist(orb, device, lu) < 0) sbp2_scsi_queuecommand()
1489 memcpy(orb->request.command_block, cmd->cmnd, cmd->cmd_len); sbp2_scsi_queuecommand()
1491 orb->base.callback = complete_command_orb; sbp2_scsi_queuecommand()
1492 orb->base.request_bus = sbp2_scsi_queuecommand()
1493 dma_map_single(device->card->device, &orb->request, sbp2_scsi_queuecommand()
1494 sizeof(orb->request), DMA_TO_DEVICE); sbp2_scsi_queuecommand()
1495 if (dma_mapping_error(device->card->device, orb->base.request_bus)) { sbp2_scsi_queuecommand()
1496 sbp2_unmap_scatterlist(device->card->device, orb); sbp2_scsi_queuecommand()
1500 sbp2_send_orb(&orb->base, lu, lu->tgt->node_id, generation, sbp2_scsi_queuecommand()
1504 kref_put(&orb->base.kref, free_orb); sbp2_scsi_queuecommand()
1295 sbp2_unmap_scatterlist(struct device *card_device, struct sbp2_command_orb *orb) sbp2_unmap_scatterlist() argument
/linux-4.4.14/drivers/target/sbp/
H A Dsbp_target.c303 LOGIN_ORB_LUN(be32_to_cpu(req->orb.misc)), &ret); sbp_management_request_login()
306 LOGIN_ORB_LUN(be32_to_cpu(req->orb.misc))); sbp_management_request_login()
356 if (LOGIN_ORB_EXCLUSIVE(be32_to_cpu(req->orb.misc)) && sbp_management_request_login()
423 1 << LOGIN_ORB_RECONNECT(be32_to_cpu(req->orb.misc)), sbp_management_request_login()
440 login->status_fifo_addr = sbp2_pointer_to_addr(&req->orb.status_fifo); sbp_management_request_login()
441 login->exclusive = LOGIN_ORB_EXCLUSIVE(be32_to_cpu(req->orb.misc)); sbp_management_request_login()
476 LOGIN_ORB_RESPONSE_LENGTH(be32_to_cpu(req->orb.length)), sbp_management_request_login()
487 sbp2_pointer_to_addr(&req->orb.ptr2), response, sbp_management_request_login()
543 RECONNECT_ORB_LOGIN_ID(be32_to_cpu(req->orb.misc))); sbp_management_request_reconnect()
588 id = LOGOUT_ORB_LOGIN_ID(be32_to_cpu(req->orb.misc)); sbp_management_request_logout()
892 sbp2_pointer_to_addr(&req->orb.next_orb), tgt_agent_process_work()
893 sbp2_pointer_to_addr(&req->orb.data_descriptor), tgt_agent_process_work()
894 be32_to_cpu(req->orb.misc)); tgt_agent_process_work()
899 switch (ORB_REQUEST_FORMAT(be32_to_cpu(req->orb.misc))) { tgt_agent_process_work()
973 req->orb_pointer, &req->orb, sizeof(req->orb)); tgt_agent_fetch_work()
995 if (be32_to_cpu(req->orb.next_orb.high) & 0x80000000) { tgt_agent_fetch_work()
1000 next_orb = sbp2_pointer_to_addr(&req->orb.next_orb); tgt_agent_fetch_work()
1127 cmd_len = scsi_command_size(req->orb.command_block); sbp_fetch_command()
1133 memcpy(req->cmd_buf, req->orb.command_block, sbp_fetch_command()
1134 min_t(int, cmd_len, sizeof(req->orb.command_block))); sbp_fetch_command()
1136 if (cmd_len > sizeof(req->orb.command_block)) { sbp_fetch_command()
1138 copy_len = cmd_len - sizeof(req->orb.command_block); sbp_fetch_command()
1142 req->orb_pointer + sizeof(req->orb), sbp_fetch_command()
1143 req->cmd_buf + sizeof(req->orb.command_block), sbp_fetch_command()
1157 if (!CMDBLK_ORB_PG_TBL_PRESENT(be32_to_cpu(req->orb.misc))) sbp_fetch_page_table()
1160 pg_tbl_sz = CMDBLK_ORB_DATA_SIZE(be32_to_cpu(req->orb.misc)) * sbp_fetch_page_table()
1168 sbp2_pointer_to_addr(&req->orb.data_descriptor), sbp_fetch_page_table()
1184 data_size = CMDBLK_ORB_DATA_SIZE(be32_to_cpu(req->orb.misc)); sbp_calc_data_length_direction()
1185 direction = CMDBLK_ORB_DIRECTION(be32_to_cpu(req->orb.misc)); sbp_calc_data_length_direction()
1275 max_payload = 4 << CMDBLK_ORB_MAX_PAYLOAD(be32_to_cpu(req->orb.misc)); sbp_rw_data()
1276 speed = CMDBLK_ORB_SPEED(be32_to_cpu(req->orb.misc)); sbp_rw_data()
1278 pg_size = CMDBLK_ORB_PG_SIZE(be32_to_cpu(req->orb.misc)); sbp_rw_data()
1292 num_pte = CMDBLK_ORB_DATA_SIZE(be32_to_cpu(req->orb.misc)); sbp_rw_data()
1300 offset = sbp2_pointer_to_addr(&req->orb.data_descriptor); sbp_rw_data()
1468 agent->orb_offset, &req->orb, sizeof(req->orb)); sbp_mgt_agent_process()
1475 sbp2_pointer_to_addr(&req->orb.ptr1), sbp_mgt_agent_process()
1476 sbp2_pointer_to_addr(&req->orb.ptr2), sbp_mgt_agent_process()
1477 be32_to_cpu(req->orb.misc), be32_to_cpu(req->orb.length), sbp_mgt_agent_process()
1478 sbp2_pointer_to_addr(&req->orb.status_fifo)); sbp_mgt_agent_process()
1480 if (!ORB_NOTIFY(be32_to_cpu(req->orb.misc)) || sbp_mgt_agent_process()
1481 ORB_REQUEST_FORMAT(be32_to_cpu(req->orb.misc)) != 0) { sbp_mgt_agent_process()
1486 switch (MANAGEMENT_ORB_FUNCTION(be32_to_cpu(req->orb.misc))) { sbp_mgt_agent_process()
1551 MANAGEMENT_ORB_FUNCTION(be32_to_cpu(req->orb.misc))); sbp_mgt_agent_process()
1569 sbp2_pointer_to_addr(&req->orb.status_fifo), sbp_mgt_agent_process()
H A Dsbp_target.h212 struct sbp_command_block_orb orb; member in struct:sbp_target_request
234 struct sbp_management_orb orb; member in struct:sbp_management_request
/linux-4.4.14/arch/x86/lib/
H A Dstring_32.c106 "orb $1,%%al\n" strcmp()
131 "orb $1,%%al\n" strncmp()
/linux-4.4.14/arch/x86/math-emu/
H A Dreg_round.S502 orb %ch,%dl
512 orb %ch,%bl
519 orb %ch,%bl
520 orb %cl,%bl
539 orb %ch,%cl
540 orb %cl,%al
/linux-4.4.14/arch/x86/include/asm/xen/
H A Dinterface_64.h65 * orb $3,1*8(%rsp)
/linux-4.4.14/arch/x86/realmode/rm/
H A Dwakeup_asm.S52 orb $X86_CR0_PE, %al
/linux-4.4.14/arch/m68k/include/asm/
H A Datariints.h132 __asm__ __volatile__ ( "orb %0,%1" set_mfp_bit()
/linux-4.4.14/arch/m68k/fpsp040/
H A Dget_op.S211 orb DTAG(%a6),%d0 |check if either of STAG/DTAG msb set
338 orb #0x10,DTAG(%a6)
460 orb #norm_tag,L_SCR1(%a6) |set tag to norm
463 orb #dnrm_tag,L_SCR1(%a6) |set tag to denorm
473 orb #norm_tag,L_SCR1(%a6) |set tag to norm
476 orb #dnrm_tag,L_SCR1(%a6) |set tag to denorm
H A Ddo_func.S285 orb %d0,%d1 |d1{3:2} = dtag, d1{1:0} = stag
365 orb %d0,%d1 |d1{3:2} = dtag, d1{1:0} = stag
439 orb %d0,%d1 |d1{4:2} = dtag, d1{1:0} = stag
H A Dkernel_ex.S312 orb #nan_tag,DTAG(%a6) |set up dtag for nan
346 orb #norm_tag,DTAG(%a6) |set up dtag for norm
347 orb #nan_tag,STAG(%a6) |set up stag for nan
H A Dres_func.S79 orb #0x0f,DNRM_FLG(%a6)
399 orb #0xf0,DNRM_FLG(%a6)
/linux-4.4.14/arch/x86/include/asm/
H A Dbitops.h75 asm volatile(LOCK_PREFIX "orb %1,%0" set_bit()
/linux-4.4.14/arch/s390/kernel/
H A Dhead.S83 la %r3,.Lorb # r2 = address of orb into r2
/linux-4.4.14/drivers/char/mwave/
H A Dsmapi.c90 "orb %%ah,%%ah\n\t" smapi_request()
/linux-4.4.14/arch/m68k/kernel/
H A Dhead.S2887 orb #1,%a1@(LMFP_TDCDR)

Completed in 693 milliseconds