Home
last modified time | relevance | path

Searched full:scb (Results 1 – 25 of 93) sorted by relevance

1234

/linux/sound/pci/cs46xx/
H A Ddsp_spos_scb_lib.c61 struct dsp_scb_descriptor * scb = scb_info->scb_desc; in cs46xx_dsp_proc_scb_info_read() local
67 snd_iprintf(buffer,"%04x %s:\n",scb->address,scb->scb_name); in cs46xx_dsp_proc_scb_info_read()
74 snd_iprintf(buffer,"%08x ",readl(dst + (scb->address + j) * sizeof(u32))); in cs46xx_dsp_proc_scb_info_read()
79 if (scb->parent_scb_ptr != NULL) { in cs46xx_dsp_proc_scb_info_read()
81 scb->parent_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
82 scb->parent_scb_ptr->address); in cs46xx_dsp_proc_scb_info_read()
86 scb->sub_list_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
87 scb->sub_list_ptr->address, in cs46xx_dsp_proc_scb_info_read()
88 scb->next_scb_ptr->scb_name, in cs46xx_dsp_proc_scb_info_read()
89 scb->next_scb_ptr->address, in cs46xx_dsp_proc_scb_info_read()
[all …]
H A Ddsp_spos.h71 /* SCB's addresses */
99 /* hyperforground SCB's*/
193 struct dsp_scb_descriptor * scb) in cs46xx_dsp_spos_update_scb() argument
195 /* update nextSCB and subListPtr in SCB */ in cs46xx_dsp_spos_update_scb()
197 (scb->address + SCBsubListPtr) << 2, in cs46xx_dsp_spos_update_scb()
198 (scb->sub_list_ptr->address << 0x10) | in cs46xx_dsp_spos_update_scb()
199 (scb->next_scb_ptr->address)); in cs46xx_dsp_spos_update_scb()
200 scb->updated = 1; in cs46xx_dsp_spos_update_scb()
204 struct dsp_scb_descriptor * scb, in cs46xx_dsp_scb_set_volume() argument
209 snd_cs46xx_poke(chip, (scb->address + SCBVolumeCtrl) << 2, val); in cs46xx_dsp_scb_set_volume()
[all …]
/linux/drivers/scsi/
H A Dips.c214 #define IPS_DMA_DIR(scb) ((!scb->scsi_cmd || ips_is_passthru(scb->scsi_cmd) || \ argument
215 DMA_NONE == scb->scsi_cmd->sc_data_direction) ? \
217 scb->scsi_cmd->sc_data_direction)
648 ips_scb_t *scb; in ips_release() local
670 scb = &ha->scbs[ha->max_cmds - 1]; in ips_release()
672 ips_init_scb(ha, scb); in ips_release()
674 scb->timeout = ips_cmd_timeout; in ips_release()
675 scb->cdb[0] = IPS_CMD_FLUSH; in ips_release()
677 scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH; in ips_release()
678 scb->cmd.flush_cache.command_id = IPS_COMMAND_ID(ha, scb); in ips_release()
[all …]
H A Dmegaraid.c378 scb_t *scb; in megaraid_queue_lck() local
385 * Allocate and build a SCB request in megaraid_queue_lck()
387 * allocate scb. We will return non-zero status in that case. in megaraid_queue_lck()
388 * NOTE: scb can be null even though certain commands completed in megaraid_queue_lck()
394 scb = mega_build_cmd(adapter, scmd, &busy); in megaraid_queue_lck()
395 if (!scb) in megaraid_queue_lck()
398 scb->state |= SCB_PENDQ; in megaraid_queue_lck()
399 list_add_tail(&scb->list, &adapter->pending_list); in megaraid_queue_lck()
422 * Allocate a SCB structure. This is the central structure for controller in DEF_SCSI_QCMD()
429 scb_t *scb; in DEF_SCSI_QCMD() local
[all …]
H A Dwd719x.h29 /* Spider Command Block (SCB) */
31 __le32 Int_SCB; /* 00-03 Internal SCB link pointer (must be cleared) */
32 u8 SCB_opcode; /* 04 SCB Command opcode */
43 u8 SCB_options; /* 42 SCB-options */
56 u8 flags[2]; /* 62-63 SCB specific flags (local to each thread) */
58 dma_addr_t phys; /* bus address of the SCB */
115 #define WD719X_CMD_PROCESS_SCB 0x80 /* Process SCSI Control Block (SCB) */
116 /* No interrupt generated on acceptance of SCB pointer */
131 #define WD719X_SUE_SCBQFULL 0x02 /* SCB queue full */
133 #define WD719X_SUE_TERM 0x04 /* Host terminated SCB via primative cmd */
[all …]
/linux/drivers/scsi/aic94xx/
H A Daic94xx_tmf.c83 struct scb *scb; \
96 scb = ascb->scb; \
97 scb->header.opcode = CLEAR_NEXUS
120 scb->clear_nexus.nexus = NEXUS_ADAPTER; in asd_clear_nexus_ha()
129 scb->clear_nexus.nexus = NEXUS_PORT; in asd_clear_nexus_port()
130 scb->clear_nexus.conn_mask = port->phy_mask; in asd_clear_nexus_port()
146 scb->clear_nexus.nexus = NEXUS_I_T; in asd_clear_nexus_I_T()
149 scb->clear_nexus.flags = EXEC_Q | SUSPEND_TX; in asd_clear_nexus_I_T()
152 scb->clear_nexus.flags = SEND_Q | NOTINQ; in asd_clear_nexus_I_T()
155 scb->clear_nexus.flags = RESUME_TX; in asd_clear_nexus_I_T()
[all …]
H A Daic94xx_scb.c3 * Aic94xx SAS/SATA driver SCB management.
19 /* ---------- EMPTY SCB ---------- */
359 * @ascb: pointer to Empty SCB
369 struct empty_scb *escb = &ascb->scb->escb; in asd_invalidate_edb()
384 le64_to_cpu(ascb->scb->header.next_scb), in asd_invalidate_edb()
385 le16_to_cpu(ascb->scb->header.index), in asd_invalidate_edb()
386 ascb->scb->header.opcode); in asd_invalidate_edb()
421 le64_to_cpu(ascb->scb->header.next_scb), in escb_tasklet_complete()
422 le16_to_cpu(ascb->scb->header.index), in escb_tasklet_complete()
423 ascb->scb->header.opcode); in escb_tasklet_complete()
[all …]
H A Daic94xx_hwi.c183 /* ---------- SCB initialization ---------- */
186 * asd_init_scbs - manually allocate the first SCB.
189 * This allocates the very first SCB which would be sent to the
192 * the _next_ scb to be DMA-ed to the host adapter is read from the last
193 * SCB DMA-ed to the host adapter, we have to always stay one step
194 * ahead of the sequencer and keep one SCB already allocated.
220 seq->next_scb.size = sizeof(struct scb); in asd_init_scbs()
324 escb->scb->header.opcode = EMPTY_SCB; in asd_alloc_escbs()
342 struct empty_scb *escb = &ascb->scb->escb; in asd_assign_edbs2escbs()
363 * An empty SCB has sg_elements of ASD_EDBS_PER_SCB (7) buffers.
[all …]
/linux/drivers/scsi/aic7xxx/
H A Daic79xx_core.c69 { MPARERR, "Scratch or SCB Memory Parity Error" },
128 struct scb *scb);
131 struct scb *scb);
167 struct scb *scb);
180 struct scb *scb, u_int col_idx);
182 struct scb *scb);
185 struct scb *prev_scb,
186 struct scb *scb);
216 struct scb *scb);
218 struct scb *scb);
[all …]
H A Daic7xxx_core.c79 { MPARERR, "Scratch or SCB Memory Parity Error" },
154 struct scb *scb);
158 struct scb *scb);
195 struct scb *scb);
203 struct scb *prev_scb,
204 struct scb *scb);
238 /************************** SCB and SCB queue management **********************/
260 static void ahc_freeze_devq(struct ahc_softc *ahc, struct scb *scb);
265 struct scb *scb);
304 * manual pause while accessing scb ram, accesses to certain registers
[all …]
H A Daic7xxx_osm.h229 ahc_scb_timer_reset(struct scb *scb, u_int usec) in ahc_scb_timer_reset() argument
335 * Per-SCB OSM storage.
525 void ahc_set_transaction_status(struct scb *scb, uint32_t status) in ahc_set_transaction_status() argument
527 ahc_cmd_set_transaction_status(scb->io_ctx,status); in ahc_set_transaction_status()
538 void ahc_set_scsi_status(struct scb *scb, uint32_t status) in ahc_set_scsi_status() argument
540 ahc_cmd_set_scsi_status(scb->io_ctx, status); in ahc_set_scsi_status()
550 uint32_t ahc_get_transaction_status(struct scb *scb) in ahc_get_transaction_status() argument
552 return (ahc_cmd_get_transaction_status(scb->io_ctx)); in ahc_get_transaction_status()
562 uint32_t ahc_get_scsi_status(struct scb *scb) in ahc_get_scsi_status() argument
564 return (ahc_cmd_get_scsi_status(scb->io_ctx)); in ahc_get_scsi_status()
[all …]
H A Daic79xx_osm.h324 * Per-SCB OSM storage.
507 void ahd_set_transaction_status(struct scb *scb, uint32_t status) in ahd_set_transaction_status() argument
509 ahd_cmd_set_transaction_status(scb->io_ctx,status); in ahd_set_transaction_status()
520 void ahd_set_scsi_status(struct scb *scb, uint32_t status) in ahd_set_scsi_status() argument
522 ahd_cmd_set_scsi_status(scb->io_ctx, status); in ahd_set_scsi_status()
532 uint32_t ahd_get_transaction_status(struct scb *scb) in ahd_get_transaction_status() argument
534 return (ahd_cmd_get_transaction_status(scb->io_ctx)); in ahd_get_transaction_status()
544 uint32_t ahd_get_scsi_status(struct scb *scb) in ahd_get_scsi_status() argument
546 return (ahd_cmd_get_scsi_status(scb->io_ctx)); in ahd_get_scsi_status()
550 void ahd_set_transaction_tag(struct scb *scb, int enabled, u_int type) in ahd_set_transaction_tag() argument
[all …]
H A Daic7xxx_osm.c39 * SCB paging, and other rework of the code.
254 ahc_print_path(struct ahc_softc *ahc, struct scb *scb) in ahc_print_path() argument
258 scb != NULL ? SCB_GET_CHANNEL(ahc, scb) : 'X', in ahc_print_path()
259 scb != NULL ? SCB_GET_TARGET(ahc, scb) : -1, in ahc_print_path()
260 scb != NULL ? SCB_GET_LUN(scb) : -1); in ahc_print_path()
364 struct scb *);
454 static void ahc_linux_unmap_scb(struct ahc_softc*, struct scb*);
456 static int ahc_linux_map_seg(struct ahc_softc *ahc, struct scb *scb,
461 ahc_linux_unmap_scb(struct ahc_softc *ahc, struct scb *scb) in ahc_linux_unmap_scb() argument
465 cmd = scb->io_ctx; in ahc_linux_unmap_scb()
[all …]
H A Daic79xx_inline.h99 void *ahd_sg_setup(struct ahd_softc *ahd, struct scb *scb,
107 struct scb *scb, int op);
138 struct scb *
140 void ahd_queue_scb(struct ahd_softc *ahd, struct scb *scb);
143 struct scb *scb);
145 struct scb *scb);
158 ahd_get_sense_buf(struct ahd_softc *ahd, struct scb *scb) in ahd_get_sense_buf() argument
160 return (scb->sense_data); in ahd_get_sense_buf()
164 ahd_get_sense_bufaddr(struct ahd_softc *ahd, struct scb *scb) in ahd_get_sense_bufaddr() argument
166 return (scb->sense_busaddr); in ahd_get_sense_bufaddr()
H A Daic79xx_osm.c224 ahd_print_path(struct ahd_softc *ahd, struct scb *scb) in ahd_print_path() argument
228 scb != NULL ? SCB_GET_CHANNEL(ahd, scb) : 'X', in ahd_print_path()
229 scb != NULL ? SCB_GET_TARGET(ahd, scb) : -1, in ahd_print_path()
230 scb != NULL ? SCB_GET_LUN(scb) : -1); in ahd_print_path()
354 struct scb *);
531 static void ahd_linux_unmap_scb(struct ahd_softc*, struct scb*);
534 ahd_linux_unmap_scb(struct ahd_softc *ahd, struct scb *scb) in ahd_linux_unmap_scb() argument
538 cmd = scb->io_ctx; in ahd_linux_unmap_scb()
540 ahd_sync_sglist(ahd, scb, BUS_DMASYNC_POSTWRITE); in ahd_linux_unmap_scb()
578 * Queue an SCB to the controller.
[all …]
H A Daic79xx.h76 #define SCB_IS_SCSIBUS_B(ahd, scb) (0) argument
77 #define SCB_GET_OUR_ID(scb) \ argument
78 SCSIID_OUR_ID((scb)->hscb->scsiid)
79 #define SCB_GET_TARGET(ahd, scb) \ argument
80 SCSIID_TARGET((ahd), (scb)->hscb->scsiid)
81 #define SCB_GET_CHANNEL(ahd, scb) \ argument
82 SCSIID_CHANNEL(ahd, (scb)->hscb->scsiid)
83 #define SCB_GET_LUN(scb) \ argument
84 ((scb)->hscb->lun)
85 #define SCB_GET_TARGET_OFFSET(ahd, scb) \ argument
[all …]
H A Daic7xxx_inline.h55 struct scb *scb, int op);
84 struct scb*
86 void ahc_free_scb(struct ahc_softc *ahc, struct scb *scb);
87 struct scb *
89 void ahc_queue_scb(struct ahc_softc *ahc, struct scb *scb);
92 struct scb *scb);
H A Daic7xxx.seq51 * A few words on the waiting SCB list:
55 * SCB that we've already pulled from the QINFIFO and started the selection
59 * create yet another SCB waiting for selection. The solution used here is to
60 * use byte 27 of the SCB as a pseudo-next pointer and to thread a list
61 * of SCBs that are awaiting selection. Since 0-0xfe are valid SCB indexes,
64 * command for which a second SCB has been queued. The sequencer will
104 * We have at least one queued SCB now and we don't have any
106 * card SCB for the host's SCB and get to work on it.
111 /* In the non-paging case, the SCBID == hardware SCB index */
118 * DMA the SCB from host ram into the current SCB location.
[all …]
H A Daic79xx.seq151 * the SCB only if all data has transferred to the host.
178 * count in the SCB. In this case, we allow the routine servicing
179 * the FIFO to complete the SCB.
183 * we detect case 1, we will properly defer the post of the SCB
185 * notice that status has been received and complete the SCB.
220 * An SCB has been successfully uploaded to the host.
221 * If the SCB was uploaded for some reason other than
223 * queue the SCB for normal completion. Otherwise, we
309 * tag set by the host so that our SCB dma engine
310 * knows the correct location to store the SCB.
[all …]
/linux/drivers/scsi/megaraid/
H A Dmegaraid_mbox.c955 scb_t *scb; in megaraid_alloc_cmd_packets() local
1013 * Allocate memory for the base list of scb. Later allocate memory for in megaraid_alloc_cmd_packets()
1015 * scb to the allocated components in megaraid_alloc_cmd_packets()
1016 * NOTE: The code to allocate SCB will be duplicated in all the LLD in megaraid_alloc_cmd_packets()
1037 // Adjust the scb pointers and link in the free pool in megaraid_alloc_cmd_packets()
1043 scb = adapter->kscb_list + i; in megaraid_alloc_cmd_packets()
1070 scb->ccb = (caddr_t)ccb; in megaraid_alloc_cmd_packets()
1071 scb->gp = 0; in megaraid_alloc_cmd_packets()
1073 scb->sno = i; // command index in megaraid_alloc_cmd_packets()
1075 scb->scp = NULL; in megaraid_alloc_cmd_packets()
[all …]
/linux/drivers/net/ethernet/i825xx/
H A Dsun3_82586.c76 sizeof(scp)=12; sizeof(scb)=16; sizeof(iscp)=8;
77 sizeof(scp)+sizeof(iscp)+sizeof(scb) = 36 = INIT
103 if(!p->scb->cmd_cuc) break; \
106 …%s: scb_cmd timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_cuc,p->scb->cus); \
111 if(!p->scb->cmd_ruc) break; \
114 …b_cmd (ruc) timed out: %04x,%04x .. disabling i82586!!\n",dev->name,p->scb->cmd_ruc,p->scb->rus); \
154 volatile struct scb_struct *scb; /* volatile is important */ member
257 p->scb = (struct scb_struct *) ((char *)p->iscp + sizeof(struct iscp_struct)); in alloc586()
264 p->iscp->scb_offset = make16(p->scb); in alloc586()
278 memset((char *)p->scb,0,sizeof(struct scb_struct)); in alloc586()
[all …]
H A Dlib82596.c120 #define PORT_ALTSCP 0x02 /* alternate SCB address */
290 u32 scb; member
302 volatile struct i596_scb scb __attribute__((aligned(32))); member
417 dma_sync_cpu(dev, &(dma->scb), sizeof(struct i596_scb)); in wait_cmd()
418 while (--delcnt && dma->scb.command) { in wait_cmd()
420 dma_sync_cpu(dev, &(dma->scb), sizeof(struct i596_scb)); in wait_cmd()
425 SWAP16(dma->scb.status), in wait_cmd()
426 SWAP16(dma->scb.command)); in wait_cmd()
443 printk(KERN_DEBUG "iscp at %p, iscp.stat = %08x, .scb = %08x\n", in i596_display_data()
444 &dma->iscp, SWAP32(dma->iscp.stat), SWAP32(dma->iscp.scb)); in i596_display_data()
[all …]
H A D82596.c146 #define PORT_ALTSCP 0x02 /* alternate SCB address */
306 struct i596_scb *scb; member
318 volatile struct i596_scb scb; member
418 dev->name, str, lp->scb.status, lp->scb.command); in wait_istat()
428 while (--delcnt && lp->scb.command) in wait_cmd()
432 dev->name, str, lp->scb.status, lp->scb.command); in wait_cmd()
464 printk(KERN_ERR "iscp at %p, iscp.stat = %08lx, .scb = %p\n", in i596_display_data()
465 &lp->iscp, lp->iscp.stat, lp->iscp.scb); in i596_display_data()
466 printk(KERN_ERR "scb at %p, scb.status = %04x, .command = %04x," in i596_display_data()
468 &lp->scb, lp->scb.status, lp->scb.command, in i596_display_data()
[all …]
/linux/Documentation/devicetree/bindings/i2c/
H A Di2c-img-scb.txt1 IMG Serial Control Bus (SCB) I2C Controller
4 - compatible: "img,scb-i2c"
9 "scb", for the SCB core clock.
18 compatible = "img,scb-i2c";
22 clock-names = "scb", "sys";
/linux/fs/afs/
H A Dyfsclient.c175 struct afs_status_cb *scb) in xdr_decode_YFSFetchStatus() argument
178 struct afs_file_status *status = &scb->status; in xdr_decode_YFSFetchStatus()
185 scb->have_error = true; in xdr_decode_YFSFetchStatus()
213 scb->have_status = true; in xdr_decode_YFSFetchStatus()
229 struct afs_status_cb *scb) in xdr_decode_YFSCallBack() argument
232 struct afs_callback *cb = &scb->callback; in xdr_decode_YFSCallBack()
237 scb->have_cb = true; in xdr_decode_YFSCallBack()
342 xdr_decode_YFSFetchStatus(&bp, call, &op->file[0].scb); in yfs_deliver_status_and_volsync()
435 xdr_decode_YFSFetchStatus(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
436 xdr_decode_YFSCallBack(&bp, call, &vp->scb); in yfs_deliver_fs_fetch_data64()
[all …]

1234