Home
last modified time | relevance | path

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

12345

/linux/drivers/media/pci/cx18/
H A Dcx18-scb.c11 #include "cx18-scb.h"
16 cx18_memset_io(cx, cx->scb, 0, 0x10000); in cx18_init_scb()
18 cx18_writel(cx, IRQ_APU_TO_CPU, &cx->scb->apu2cpu_irq); in cx18_init_scb()
19 cx18_writel(cx, IRQ_CPU_TO_APU_ACK, &cx->scb->cpu2apu_irq_ack); in cx18_init_scb()
20 cx18_writel(cx, IRQ_HPU_TO_CPU, &cx->scb->hpu2cpu_irq); in cx18_init_scb()
21 cx18_writel(cx, IRQ_CPU_TO_HPU_ACK, &cx->scb->cpu2hpu_irq_ack); in cx18_init_scb()
22 cx18_writel(cx, IRQ_PPU_TO_CPU, &cx->scb->ppu2cpu_irq); in cx18_init_scb()
23 cx18_writel(cx, IRQ_CPU_TO_PPU_ACK, &cx->scb->cpu2ppu_irq_ack); in cx18_init_scb()
24 cx18_writel(cx, IRQ_EPU_TO_CPU, &cx->scb->epu2cpu_irq); in cx18_init_scb()
25 cx18_writel(cx, IRQ_CPU_TO_EPU_ACK, &cx->scb->cpu2epu_irq_ack); in cx18_init_scb()
[all …]
/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 Da100u2w.c86 static void inia100_scb_handler(struct orc_host *host, struct orc_scb *scb);
272 * orc_exec_scb - Queue an SCB with the HA
273 * @host: host adapter the SCB belongs to
274 * @scb: SCB to queue for execution
277 static void orc_exec_scb(struct orc_host * host, struct orc_scb * scb) in orc_exec_scb() argument
279 scb->status = ORCSCB_POST; in orc_exec_scb()
280 outb(scb->scbidx, host->base + ORC_PQUEUE); in orc_exec_scb()
444 struct orc_scb *scb; in setup_SCBs() local
449 /* Setup SCB base and SCB Size registers */ in setup_SCBs()
451 /* SCB base address 0 */ in setup_SCBs()
[all …]
H A Dips.c213 #define IPS_DMA_DIR(scb) ((!scb->scsi_cmd || ips_is_passthru(scb->scsi_cmd) || \ argument
214 DMA_NONE == scb->scsi_cmd->sc_data_direction) ? \
216 scb->scsi_cmd->sc_data_direction)
647 ips_scb_t *scb; in ips_release() local
669 scb = &ha->scbs[ha->max_cmds - 1]; in ips_release()
671 ips_init_scb(ha, scb); in ips_release()
673 scb->timeout = ips_cmd_timeout; in ips_release()
674 scb->cdb[0] = IPS_CMD_FLUSH; in ips_release()
676 scb->cmd.flush_cache.op_code = IPS_CMD_FLUSH; in ips_release()
677 scb->cmd.flush_cache.command_id = IPS_COMMAND_ID(ha, scb); in ips_release()
[all …]
H A Dinitio.c147 static void initio_select_atn(struct initio_host * host, struct scsi_ctrl_blk * scb);
148 static void initio_select_atn3(struct initio_host * host, struct scsi_ctrl_blk * scb);
149 static void initio_select_atn_stop(struct initio_host * host, struct scsi_ctrl_blk * scb);
648 * initio_alloc_scb - Allocate an SCB
651 * Walk the SCB list for the controller and allocate a free SCB if
656 struct scsi_ctrl_blk *scb; in initio_alloc_scb() local
660 if ((scb = host->first_avail) != NULL) { in initio_alloc_scb()
662 printk("find scb at %p\n", scb); in initio_alloc_scb()
664 if ((host->first_avail = scb->next) == NULL) in initio_alloc_scb()
666 scb->next = NULL; in initio_alloc_scb()
[all …]
H A Dwd719x.c23 * 1. SCSI command is transformed to SCB (Spider Control Block) by the
25 * 2. The address of the SCB is stored in a list to be able to access it, if
27 * 3. The address of the SCB is written to the Controller, which loads the SCB
189 static void wd719x_finish_cmd(struct wd719x_scb *scb, int result) in wd719x_finish_cmd() argument
191 struct scsi_cmnd *cmd = scb->cmd; in wd719x_finish_cmd()
194 list_del(&scb->list); in wd719x_finish_cmd()
196 dma_unmap_single(&wd->pdev->dev, scb->phys, in wd719x_finish_cmd()
199 dma_unmap_single(&wd->pdev->dev, scb->dma_handle, in wd719x_finish_cmd()
206 /* Build a SCB and send it to the card */
211 struct wd719x_scb *scb = scsi_cmd_priv(cmd); in wd719x_queuecommand() local
[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 …]
/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_task.c129 le64_to_cpu(ascb->scb->ssp_task.sg_element[0].bus_addr); in asd_unmap_scatterlist()
352 struct scb *scb; in asd_build_ata_ascb() local
356 scb = ascb->scb; in asd_build_ata_ascb()
359 scb->header.opcode = CONTROL_ATA_DEV; in asd_build_ata_ascb()
361 scb->header.opcode = INITIATE_ATAPI_TASK; in asd_build_ata_ascb()
363 scb->header.opcode = INITIATE_ATA_TASK; in asd_build_ata_ascb()
365 scb->ata_task.proto_conn_rate = (1 << 5); /* STP */ in asd_build_ata_ascb()
367 scb->ata_task.proto_conn_rate |= dev->linkrate; in asd_build_ata_ascb()
369 scb->ata_task.total_xfer_len = cpu_to_le32(task->total_xfer_len); in asd_build_ata_ascb()
370 scb->ata_task.fis = task->ata_task.fis; in asd_build_ata_ascb()
[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 …]
/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);
/linux/drivers/scsi/megaraid/
H A Dmegaraid_mbox.c953 scb_t *scb; in megaraid_alloc_cmd_packets() local
1011 * Allocate memory for the base list of scb. Later allocate memory for in megaraid_alloc_cmd_packets()
1013 * scb to the allocated components in megaraid_alloc_cmd_packets()
1014 * NOTE: The code to allocate SCB will be duplicated in all the LLD in megaraid_alloc_cmd_packets()
1035 // Adjust the scb pointers and link in the free pool in megaraid_alloc_cmd_packets()
1041 scb = adapter->kscb_list + i; in megaraid_alloc_cmd_packets()
1068 scb->ccb = (caddr_t)ccb; in megaraid_alloc_cmd_packets()
1069 scb->gp = 0; in megaraid_alloc_cmd_packets()
1071 scb->sno = i; // command index in megaraid_alloc_cmd_packets()
1073 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";

12345