Symbol: scp
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
133
scp_put(mdp->scp);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
288
mdp->scp = scp_get(pdev);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
289
if (!mdp->scp) {
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
296
mdp->scp = platform_get_drvdata(mm_pdev);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
300
mdp->rproc_handle = scp_get_rproc(mdp->scp);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
344
scp_put(mdp->scp);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.c
99
ret = mdp_vpu_dev_init(&mdp->vpu, mdp->scp, &mdp->vpu_lock);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-core.h
121
struct mtk_scp *scp;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
126
struct mtk_scp *scp = mdp->scp;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
129
err = scp_ipi_register(scp, SCP_IPI_MDP_INIT,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
135
err = scp_ipi_register(scp, SCP_IPI_MDP_DEINIT,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
141
err = scp_ipi_register(scp, SCP_IPI_MDP_FRAME,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
150
scp_ipi_unregister(scp, SCP_IPI_MDP_DEINIT);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
152
scp_ipi_unregister(scp, SCP_IPI_MDP_INIT);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
160
scp_ipi_unregister(mdp->scp, SCP_IPI_MDP_INIT);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
161
scp_ipi_unregister(mdp->scp, SCP_IPI_MDP_DEINIT);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
162
scp_ipi_unregister(mdp->scp, SCP_IPI_MDP_FRAME);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
172
if (!vpu->scp) {
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
176
ret = scp_ipi_send(vpu->scp, id, buf, len, 2000);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
193
int mdp_vpu_dev_init(struct mdp_vpu_dev *vpu, struct mtk_scp *scp,
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
204
vpu->scp = scp;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
26
dev = scp_get_device(vpu->scp);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.c
68
dev = scp_get_device(vpu->scp);
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.h
43
struct mtk_scp *scp;
drivers/media/platform/mediatek/mdp3/mtk-mdp3-vpu.h
58
int mdp_vpu_dev_init(struct mdp_vpu_dev *vpu, struct mtk_scp *scp,
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_priv.h
15
struct mtk_scp *scp;
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
14
return scp_get_vdec_hw_capa(fw->scp);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
19
return scp_get_venc_hw_capa(fw->scp);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
25
return scp_mapping_dm_addr(fw->scp, dtcm_dmem_addr);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
32
return scp_ipi_register(fw->scp, id, handler, priv);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
38
return scp_ipi_send(fw->scp, id, buf, len, wait);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
43
scp_put(fw->scp);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
60
struct mtk_scp *scp;
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
75
scp = scp_get(plat_dev);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
76
if (!scp) {
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
83
scp_put(scp);
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
89
fw->scp = scp;
drivers/media/platform/mediatek/vcodec/common/mtk_vcodec_fw_scp.c
9
return rproc_boot(scp_get_rproc(fw->scp));
drivers/net/eql.c
482
static int eql_g_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
drivers/net/eql.c
490
if (copy_from_user(&sc, scp, sizeof (slave_config_t)))
drivers/net/eql.c
509
if (!ret && copy_to_user(scp, &sc, sizeof (slave_config_t)))
drivers/net/eql.c
515
static int eql_s_slave_cfg(struct net_device *dev, slave_config_t __user *scp)
drivers/net/eql.c
523
if (copy_from_user(&sc, scp, sizeof (slave_config_t)))
drivers/net/ethernet/i825xx/82596.c
316
volatile struct i596_scp scp;
drivers/net/ethernet/i825xx/82596.c
463
&lp->scp, lp->scp.sysbus, lp->scp.iscp);
drivers/net/ethernet/i825xx/82596.c
648
MPU_PORT(dev, PORT_ALTSCP, (void *)virt_to_bus((void *)&lp->scp));
drivers/net/ethernet/i825xx/82596.c
656
lp->scp.sysbus = 0x00000054;
drivers/net/ethernet/i825xx/82596.c
660
lp->scp.sysbus = 0x0000004c;
drivers/net/ethernet/i825xx/82596.c
663
lp->scp.iscp = WSWAPiscp(virt_to_bus((void *)&lp->iscp));
drivers/net/ethernet/i825xx/lib82596.c
300
struct i596_scp scp __attribute__((aligned(32)));
drivers/net/ethernet/i825xx/lib82596.c
442
&dma->scp, dma->scp.sysbus, SWAP32(dma->scp.iscp));
drivers/net/ethernet/i825xx/lib82596.c
594
dma->scp.sysbus = SYSBUS;
drivers/net/ethernet/i825xx/lib82596.c
595
dma->scp.iscp = SWAP32(virt_to_dma(lp, &(dma->iscp)));
drivers/net/ethernet/i825xx/lib82596.c
605
dma_sync_dev(dev, &(dma->scp), sizeof(struct i596_scp));
drivers/net/ethernet/i825xx/lib82596.c
609
mpu_port(dev, PORT_ALTSCP, virt_to_dma(lp, &dma->scp));
drivers/net/ethernet/i825xx/sun3_82586.c
152
volatile struct scp_struct *scp; /* volatile is important */
drivers/net/ethernet/i825xx/sun3_82586.c
218
p->scp = (struct scp_struct *)(p->base + SCP_DEFAULT_ADDRESS);
drivers/net/ethernet/i825xx/sun3_82586.c
219
memset((char *)p->scp,0, sizeof(struct scp_struct));
drivers/net/ethernet/i825xx/sun3_82586.c
221
if(((char *)p->scp)[i])
drivers/net/ethernet/i825xx/sun3_82586.c
223
p->scp->sysbus = SYSBUSVAL; /* 1 = 8Bit-Bus, 0 = 16 Bit */
drivers/net/ethernet/i825xx/sun3_82586.c
224
if(p->scp->sysbus != SYSBUSVAL)
drivers/net/ethernet/i825xx/sun3_82586.c
232
p->scp->iscp = make24(p->iscp);
drivers/net/ethernet/i825xx/sun3_82586.c
255
p->scp = (struct scp_struct *) (p->base + SCP_DEFAULT_ADDRESS);
drivers/net/ethernet/i825xx/sun3_82586.c
260
memset((char *) p->scp ,0,sizeof(struct scp_struct));
drivers/net/ethernet/i825xx/sun3_82586.c
262
p->scp->iscp = make24(p->iscp);
drivers/net/ethernet/i825xx/sun3_82586.c
263
p->scp->sysbus = SYSBUSVAL;
drivers/net/macsec.c
1569
struct macsec_tx_sc **scp,
drivers/net/macsec.c
1594
*scp = tx_sc;
drivers/net/macsec.c
1636
struct macsec_rx_sc **scp,
drivers/net/macsec.c
1655
*scp = rx_sc;
drivers/pmdomain/mediatek/mtk-scpsys.c
1110
struct scp *scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
1116
scp = init_scp(pdev, soc->domains, soc->num_domains, &soc->regs,
drivers/pmdomain/mediatek/mtk-scpsys.c
1118
if (IS_ERR(scp))
drivers/pmdomain/mediatek/mtk-scpsys.c
1119
return PTR_ERR(scp);
drivers/pmdomain/mediatek/mtk-scpsys.c
1121
mtk_register_power_domains(pdev, scp, soc->num_domains);
drivers/pmdomain/mediatek/mtk-scpsys.c
1123
pd_data = &scp->pd_data;
drivers/pmdomain/mediatek/mtk-scpsys.c
133
struct scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
137
struct scp *scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
174
struct scp *scp = scpd->scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
176
u32 status = readl(scp->base + scp->ctrl_reg.pwr_sta_offs) &
drivers/pmdomain/mediatek/mtk-scpsys.c
178
u32 status2 = readl(scp->base + scp->ctrl_reg.pwr_sta2nd_offs) &
drivers/pmdomain/mediatek/mtk-scpsys.c
281
struct scp *scp = scpd->scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
286
return mtk_infracfg_set_bus_protection(scp->infracfg,
drivers/pmdomain/mediatek/mtk-scpsys.c
288
scp->bus_prot_reg_update);
drivers/pmdomain/mediatek/mtk-scpsys.c
293
struct scp *scp = scpd->scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
298
return mtk_infracfg_clear_bus_protection(scp->infracfg,
drivers/pmdomain/mediatek/mtk-scpsys.c
300
scp->bus_prot_reg_update);
drivers/pmdomain/mediatek/mtk-scpsys.c
306
struct scp *scp = scpd->scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
307
void __iomem *ctl_addr = scp->base + scpd->data->ctl_offs;
drivers/pmdomain/mediatek/mtk-scpsys.c
356
dev_err(scp->dev, "Failed to power on domain %s\n", genpd->name);
drivers/pmdomain/mediatek/mtk-scpsys.c
364
struct scp *scp = scpd->scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
365
void __iomem *ctl_addr = scp->base + scpd->data->ctl_offs;
drivers/pmdomain/mediatek/mtk-scpsys.c
409
dev_err(scp->dev, "Failed to power off domain %s\n", genpd->name);
drivers/pmdomain/mediatek/mtk-scpsys.c
422
static struct scp *init_scp(struct platform_device *pdev,
drivers/pmdomain/mediatek/mtk-scpsys.c
429
struct scp *scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
432
scp = devm_kzalloc(&pdev->dev, sizeof(*scp), GFP_KERNEL);
drivers/pmdomain/mediatek/mtk-scpsys.c
433
if (!scp)
drivers/pmdomain/mediatek/mtk-scpsys.c
436
scp->ctrl_reg.pwr_sta_offs = scp_ctrl_reg->pwr_sta_offs;
drivers/pmdomain/mediatek/mtk-scpsys.c
437
scp->ctrl_reg.pwr_sta2nd_offs = scp_ctrl_reg->pwr_sta2nd_offs;
drivers/pmdomain/mediatek/mtk-scpsys.c
439
scp->bus_prot_reg_update = bus_prot_reg_update;
drivers/pmdomain/mediatek/mtk-scpsys.c
441
scp->dev = &pdev->dev;
drivers/pmdomain/mediatek/mtk-scpsys.c
443
scp->base = devm_platform_ioremap_resource(pdev, 0);
drivers/pmdomain/mediatek/mtk-scpsys.c
444
if (IS_ERR(scp->base))
drivers/pmdomain/mediatek/mtk-scpsys.c
445
return ERR_CAST(scp->base);
drivers/pmdomain/mediatek/mtk-scpsys.c
447
scp->domains = devm_kcalloc(&pdev->dev,
drivers/pmdomain/mediatek/mtk-scpsys.c
448
num, sizeof(*scp->domains), GFP_KERNEL);
drivers/pmdomain/mediatek/mtk-scpsys.c
449
if (!scp->domains)
drivers/pmdomain/mediatek/mtk-scpsys.c
452
pd_data = &scp->pd_data;
drivers/pmdomain/mediatek/mtk-scpsys.c
459
scp->infracfg = syscon_regmap_lookup_by_phandle(pdev->dev.of_node,
drivers/pmdomain/mediatek/mtk-scpsys.c
461
if (IS_ERR(scp->infracfg)) {
drivers/pmdomain/mediatek/mtk-scpsys.c
463
PTR_ERR(scp->infracfg));
drivers/pmdomain/mediatek/mtk-scpsys.c
464
return ERR_CAST(scp->infracfg);
drivers/pmdomain/mediatek/mtk-scpsys.c
468
struct scp_domain *scpd = &scp->domains[i];
drivers/pmdomain/mediatek/mtk-scpsys.c
485
struct scp_domain *scpd = &scp->domains[i];
drivers/pmdomain/mediatek/mtk-scpsys.c
490
scpd->scp = scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
513
return scp;
drivers/pmdomain/mediatek/mtk-scpsys.c
517
struct scp *scp, int num)
drivers/pmdomain/mediatek/mtk-scpsys.c
523
struct scp_domain *scpd = &scp->domains[i];
drivers/pmdomain/mediatek/mtk-scpsys.c
544
pd_data = &scp->pd_data;
drivers/remoteproc/mtk_common.h
105
int (*scp_clk_get)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
106
int (*scp_before_load)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
107
void (*scp_irq_handler)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
108
void (*scp_reset_assert)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
109
void (*scp_reset_deassert)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
110
void (*scp_stop)(struct mtk_scp *scp);
drivers/remoteproc/mtk_common.h
111
void *(*scp_da_to_va)(struct mtk_scp *scp, u64 da, size_t len);
drivers/remoteproc/mtk_common.h
174
void scp_ipi_lock(struct mtk_scp *scp, u32 id);
drivers/remoteproc/mtk_common.h
175
void scp_ipi_unlock(struct mtk_scp *scp, u32 id);
drivers/remoteproc/mtk_scp.c
1013
void *scp_mapping_dm_addr(struct mtk_scp *scp, u32 mem_addr)
drivers/remoteproc/mtk_scp.c
1017
ptr = scp_da_to_va(scp->rproc, mem_addr, 0, NULL);
drivers/remoteproc/mtk_scp.c
102
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
1025
static int scp_map_memory_region(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
1030
ret = of_reserved_mem_device_init(scp->dev);
drivers/remoteproc/mtk_scp.c
1034
dev_info(scp->dev, "skipping reserved memory initialization.");
drivers/remoteproc/mtk_scp.c
1039
dev_err(scp->dev, "failed to assign memory-region: %d\n", ret);
drivers/remoteproc/mtk_scp.c
104
dev_err(scp->dev, "ipi message too long (len %d, max %zd)", len,
drivers/remoteproc/mtk_scp.c
1044
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
1045
scp->cpu_addr = dma_alloc_coherent(scp->dev, scp_sizes->max_dram_size,
drivers/remoteproc/mtk_scp.c
1046
&scp->dma_addr, GFP_KERNEL);
drivers/remoteproc/mtk_scp.c
1047
if (!scp->cpu_addr)
drivers/remoteproc/mtk_scp.c
1053
static void scp_unmap_memory_region(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
1057
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
1061
dma_free_coherent(scp->dev, scp_sizes->max_dram_size, scp->cpu_addr,
drivers/remoteproc/mtk_scp.c
1062
scp->dma_addr);
drivers/remoteproc/mtk_scp.c
1063
of_reserved_mem_device_release(scp->dev);
drivers/remoteproc/mtk_scp.c
1069
struct mtk_scp *scp = platform_get_drvdata(pdev);
drivers/remoteproc/mtk_scp.c
1071
return scp_ipi_register(scp, id, handler, priv);
drivers/remoteproc/mtk_scp.c
1076
struct mtk_scp *scp = platform_get_drvdata(pdev);
drivers/remoteproc/mtk_scp.c
1078
scp_ipi_unregister(scp, id);
drivers/remoteproc/mtk_scp.c
1084
struct mtk_scp *scp = platform_get_drvdata(pdev);
drivers/remoteproc/mtk_scp.c
1086
return scp_ipi_send(scp, id, buf, len, wait);
drivers/remoteproc/mtk_scp.c
109
dev_err(scp->dev, "No such ipi id = %d\n", id);
drivers/remoteproc/mtk_scp.c
1096
static void scp_add_rpmsg_subdev(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
1098
scp->rpmsg_subdev =
drivers/remoteproc/mtk_scp.c
1099
mtk_rpmsg_create_rproc_subdev(to_platform_device(scp->dev),
drivers/remoteproc/mtk_scp.c
1101
if (scp->rpmsg_subdev)
drivers/remoteproc/mtk_scp.c
1102
rproc_add_subdev(scp->rproc, scp->rpmsg_subdev);
drivers/remoteproc/mtk_scp.c
1105
static void scp_remove_rpmsg_subdev(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
1107
if (scp->rpmsg_subdev) {
drivers/remoteproc/mtk_scp.c
1108
rproc_remove_subdev(scp->rproc, scp->rpmsg_subdev);
drivers/remoteproc/mtk_scp.c
1109
mtk_rpmsg_destroy_rproc_subdev(scp->rpmsg_subdev);
drivers/remoteproc/mtk_scp.c
1110
scp->rpmsg_subdev = NULL;
drivers/remoteproc/mtk_scp.c
113
scp_ipi_lock(scp, id);
drivers/remoteproc/mtk_scp.c
116
dev_err(scp->dev, "No handler for ipi id = %d\n", id);
drivers/remoteproc/mtk_scp.c
1167
struct mtk_scp *scp;
drivers/remoteproc/mtk_scp.c
117
scp_ipi_unlock(scp, id);
drivers/remoteproc/mtk_scp.c
1183
rproc = devm_rproc_alloc(dev, np->name, &scp_ops, fw_name, sizeof(*scp));
drivers/remoteproc/mtk_scp.c
1189
scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
1190
scp->rproc = rproc;
drivers/remoteproc/mtk_scp.c
1191
scp->dev = dev;
drivers/remoteproc/mtk_scp.c
1192
scp->data = of_data;
drivers/remoteproc/mtk_scp.c
1193
scp->cluster = scp_cluster;
drivers/remoteproc/mtk_scp.c
1194
platform_set_drvdata(pdev, scp);
drivers/remoteproc/mtk_scp.c
1197
scp->sram_base = devm_ioremap_resource(dev, res);
drivers/remoteproc/mtk_scp.c
1198
if (IS_ERR(scp->sram_base)) {
drivers/remoteproc/mtk_scp.c
1200
return ERR_CAST(scp->sram_base);
drivers/remoteproc/mtk_scp.c
1203
scp->sram_size = resource_size(res);
drivers/remoteproc/mtk_scp.c
1204
scp->sram_phys = res->start;
drivers/remoteproc/mtk_scp.c
1206
ret = scp->data->scp_clk_get(scp);
drivers/remoteproc/mtk_scp.c
121
memcpy_fromio(scp->share_buf, &rcv_obj->share_buf, len);
drivers/remoteproc/mtk_scp.c
1210
ret = scp_map_memory_region(scp);
drivers/remoteproc/mtk_scp.c
1214
mutex_init(&scp->send_lock);
drivers/remoteproc/mtk_scp.c
1216
mutex_init(&scp->ipi_desc[i].lock);
drivers/remoteproc/mtk_scp.c
1219
ret = scp_ipi_register(scp, SCP_IPI_INIT, scp_init_ipi_handler, scp);
drivers/remoteproc/mtk_scp.c
122
memset(&scp->share_buf[len], 0, scp_sizes->ipi_share_buffer_size - len);
drivers/remoteproc/mtk_scp.c
1225
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
1226
scp->share_buf = kzalloc(scp_sizes->ipi_share_buffer_size, GFP_KERNEL);
drivers/remoteproc/mtk_scp.c
1227
if (!scp->share_buf) {
drivers/remoteproc/mtk_scp.c
123
handler(scp->share_buf, len, ipi_desc[id].priv);
drivers/remoteproc/mtk_scp.c
1233
init_waitqueue_head(&scp->run.wq);
drivers/remoteproc/mtk_scp.c
1234
init_waitqueue_head(&scp->ack_wq);
drivers/remoteproc/mtk_scp.c
1236
scp_add_rpmsg_subdev(scp);
drivers/remoteproc/mtk_scp.c
124
scp_ipi_unlock(scp, id);
drivers/remoteproc/mtk_scp.c
1240
pdev->name, scp);
drivers/remoteproc/mtk_scp.c
1247
return scp;
drivers/remoteproc/mtk_scp.c
1250
scp_remove_rpmsg_subdev(scp);
drivers/remoteproc/mtk_scp.c
1251
scp_ipi_unregister(scp, SCP_IPI_INIT);
drivers/remoteproc/mtk_scp.c
1252
kfree(scp->share_buf);
drivers/remoteproc/mtk_scp.c
1253
scp->share_buf = NULL;
drivers/remoteproc/mtk_scp.c
1255
scp_unmap_memory_region(scp);
drivers/remoteproc/mtk_scp.c
1257
mutex_destroy(&scp->ipi_desc[i].lock);
drivers/remoteproc/mtk_scp.c
1258
mutex_destroy(&scp->send_lock);
drivers/remoteproc/mtk_scp.c
126
scp->ipi_id_ack[id] = true;
drivers/remoteproc/mtk_scp.c
1263
static void scp_free(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
1267
scp_remove_rpmsg_subdev(scp);
drivers/remoteproc/mtk_scp.c
1268
scp_ipi_unregister(scp, SCP_IPI_INIT);
drivers/remoteproc/mtk_scp.c
1269
kfree(scp->share_buf);
drivers/remoteproc/mtk_scp.c
127
wake_up(&scp->ack_wq);
drivers/remoteproc/mtk_scp.c
1270
scp->share_buf = NULL;
drivers/remoteproc/mtk_scp.c
1271
scp_unmap_memory_region(scp);
drivers/remoteproc/mtk_scp.c
1273
mutex_destroy(&scp->ipi_desc[i].lock);
drivers/remoteproc/mtk_scp.c
1274
mutex_destroy(&scp->send_lock);
drivers/remoteproc/mtk_scp.c
1282
struct mtk_scp *scp;
drivers/remoteproc/mtk_scp.c
1285
scp = scp_rproc_init(pdev, scp_cluster, of_device_get_match_data(dev), -1);
drivers/remoteproc/mtk_scp.c
1286
if (IS_ERR(scp))
drivers/remoteproc/mtk_scp.c
1287
return PTR_ERR(scp);
drivers/remoteproc/mtk_scp.c
1289
ret = rproc_add(scp->rproc);
drivers/remoteproc/mtk_scp.c
1292
scp_free(scp);
drivers/remoteproc/mtk_scp.c
1296
list_add_tail(&scp->elem, scp_list);
drivers/remoteproc/mtk_scp.c
130
static int scp_elf_read_ipi_buf_addr(struct mtk_scp *scp,
drivers/remoteproc/mtk_scp.c
1309
struct mtk_scp *scp, *temp;
drivers/remoteproc/mtk_scp.c
1329
scp = scp_rproc_init(cpdev, scp_cluster, cluster_of_data[core_id], core_id);
drivers/remoteproc/mtk_scp.c
1331
if (IS_ERR(scp)) {
drivers/remoteproc/mtk_scp.c
1332
ret = PTR_ERR(scp);
drivers/remoteproc/mtk_scp.c
1337
ret = rproc_add(scp->rproc);
drivers/remoteproc/mtk_scp.c
134
static int scp_ipi_init(struct mtk_scp *scp, const struct firmware *fw)
drivers/remoteproc/mtk_scp.c
1340
scp_free(scp);
drivers/remoteproc/mtk_scp.c
1344
list_add_tail(&scp->elem, scp_list);
drivers/remoteproc/mtk_scp.c
1354
platform_set_drvdata(pdev, scp);
drivers/remoteproc/mtk_scp.c
1359
list_for_each_entry_safe_reverse(scp, temp, scp_list, elem) {
drivers/remoteproc/mtk_scp.c
1360
list_del(&scp->elem);
drivers/remoteproc/mtk_scp.c
1361
rproc_del(scp->rproc);
drivers/remoteproc/mtk_scp.c
1362
scp_free(scp);
drivers/remoteproc/mtk_scp.c
142
ret = scp_elf_read_ipi_buf_addr(scp, fw, &offset);
drivers/remoteproc/mtk_scp.c
1445
struct mtk_scp *scp = platform_get_drvdata(pdev);
drivers/remoteproc/mtk_scp.c
1446
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
1449
list_for_each_entry_safe_reverse(scp, temp, &scp_cluster->mtk_scp_list, elem) {
drivers/remoteproc/mtk_scp.c
145
offset = scp->data->ipi_buf_offset;
drivers/remoteproc/mtk_scp.c
1450
list_del(&scp->elem);
drivers/remoteproc/mtk_scp.c
1451
rproc_del(scp->rproc);
drivers/remoteproc/mtk_scp.c
1452
scp_free(scp);
drivers/remoteproc/mtk_scp.c
149
dev_info(scp->dev, "IPI buf addr %#010zx\n", offset);
drivers/remoteproc/mtk_scp.c
152
buf_sz = sizeof(*scp->recv_buf) + sizeof(*scp->send_buf);
drivers/remoteproc/mtk_scp.c
154
if (scp->sram_size < buf_sz + offset) {
drivers/remoteproc/mtk_scp.c
155
dev_err(scp->dev, "IPI buffer does not fit in SRAM.\n");
drivers/remoteproc/mtk_scp.c
159
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
1597
struct mtk_scp *scp = dev_get_drvdata(dev);
drivers/remoteproc/mtk_scp.c
1598
struct rproc *rproc = scp->rproc;
drivers/remoteproc/mtk_scp.c
160
scp->recv_buf = (struct mtk_share_obj __iomem *)
drivers/remoteproc/mtk_scp.c
1608
clk_unprepare(scp->clk);
drivers/remoteproc/mtk_scp.c
161
(scp->sram_base + offset);
drivers/remoteproc/mtk_scp.c
1614
struct mtk_scp *scp = dev_get_drvdata(dev);
drivers/remoteproc/mtk_scp.c
1615
struct rproc *rproc = scp->rproc;
drivers/remoteproc/mtk_scp.c
162
share_buf_offset = sizeof(scp->recv_buf->id)
drivers/remoteproc/mtk_scp.c
1625
return clk_prepare(scp->clk);
drivers/remoteproc/mtk_scp.c
163
+ sizeof(scp->recv_buf->len) + scp_sizes->ipi_share_buffer_size;
drivers/remoteproc/mtk_scp.c
164
scp->send_buf = (struct mtk_share_obj __iomem *)
drivers/remoteproc/mtk_scp.c
165
(scp->sram_base + offset + share_buf_offset);
drivers/remoteproc/mtk_scp.c
166
memset_io(scp->recv_buf, 0, share_buf_offset);
drivers/remoteproc/mtk_scp.c
167
memset_io(scp->send_buf, 0, share_buf_offset);
drivers/remoteproc/mtk_scp.c
172
static void mt8183_scp_reset_assert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
176
val = readl(scp->cluster->reg_base + MT8183_SW_RSTN);
drivers/remoteproc/mtk_scp.c
178
writel(val, scp->cluster->reg_base + MT8183_SW_RSTN);
drivers/remoteproc/mtk_scp.c
181
static void mt8183_scp_reset_deassert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
185
val = readl(scp->cluster->reg_base + MT8183_SW_RSTN);
drivers/remoteproc/mtk_scp.c
187
writel(val, scp->cluster->reg_base + MT8183_SW_RSTN);
drivers/remoteproc/mtk_scp.c
190
static void mt8192_scp_reset_assert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
192
writel(1, scp->cluster->reg_base + MT8192_CORE0_SW_RSTN_SET);
drivers/remoteproc/mtk_scp.c
195
static void mt8192_scp_reset_deassert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
197
writel(1, scp->cluster->reg_base + MT8192_CORE0_SW_RSTN_CLR);
drivers/remoteproc/mtk_scp.c
200
static void mt8195_scp_c1_reset_assert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
202
writel(1, scp->cluster->reg_base + MT8195_CORE1_SW_RSTN_SET);
drivers/remoteproc/mtk_scp.c
205
static void mt8195_scp_c1_reset_deassert(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
207
writel(1, scp->cluster->reg_base + MT8195_CORE1_SW_RSTN_CLR);
drivers/remoteproc/mtk_scp.c
210
static void mt8183_scp_irq_handler(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
214
scp_to_host = readl(scp->cluster->reg_base + MT8183_SCP_TO_HOST);
drivers/remoteproc/mtk_scp.c
216
scp_ipi_handler(scp);
drivers/remoteproc/mtk_scp.c
218
scp_wdt_handler(scp, scp_to_host);
drivers/remoteproc/mtk_scp.c
222
scp->cluster->reg_base + MT8183_SCP_TO_HOST);
drivers/remoteproc/mtk_scp.c
225
static void mt8192_scp_irq_handler(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
229
scp_to_host = readl(scp->cluster->reg_base + MT8192_SCP2APMCU_IPC_SET);
drivers/remoteproc/mtk_scp.c
232
scp_ipi_handler(scp);
drivers/remoteproc/mtk_scp.c
239
scp->cluster->reg_base + MT8192_SCP2APMCU_IPC_CLR);
drivers/remoteproc/mtk_scp.c
241
scp_wdt_handler(scp, scp_to_host);
drivers/remoteproc/mtk_scp.c
242
writel(1, scp->cluster->reg_base + MT8192_CORE0_WDT_IRQ);
drivers/remoteproc/mtk_scp.c
246
static void mt8195_scp_irq_handler(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
250
scp_to_host = readl(scp->cluster->reg_base + MT8192_SCP2APMCU_IPC_SET);
drivers/remoteproc/mtk_scp.c
253
scp_ipi_handler(scp);
drivers/remoteproc/mtk_scp.c
255
u32 reason = readl(scp->cluster->reg_base + MT8195_SYS_STATUS);
drivers/remoteproc/mtk_scp.c
258
writel(1, scp->cluster->reg_base + MT8192_CORE0_WDT_IRQ);
drivers/remoteproc/mtk_scp.c
261
writel(1, scp->cluster->reg_base + MT8195_CORE1_WDT_IRQ);
drivers/remoteproc/mtk_scp.c
263
scp_wdt_handler(scp, reason);
drivers/remoteproc/mtk_scp.c
266
writel(scp_to_host, scp->cluster->reg_base + MT8192_SCP2APMCU_IPC_CLR);
drivers/remoteproc/mtk_scp.c
269
static void mt8195_scp_c1_irq_handler(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
273
scp_to_host = readl(scp->cluster->reg_base + MT8195_SSHUB2APMCU_IPC_SET);
drivers/remoteproc/mtk_scp.c
276
scp_ipi_handler(scp);
drivers/remoteproc/mtk_scp.c
278
writel(scp_to_host, scp->cluster->reg_base + MT8195_SSHUB2APMCU_IPC_CLR);
drivers/remoteproc/mtk_scp.c
283
struct mtk_scp *scp = priv;
drivers/remoteproc/mtk_scp.c
286
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp.c
288
dev_err(scp->dev, "failed to enable clocks\n");
drivers/remoteproc/mtk_scp.c
292
scp->data->scp_irq_handler(scp);
drivers/remoteproc/mtk_scp.c
294
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
355
static int scp_elf_read_ipi_buf_addr(struct mtk_scp *scp,
drivers/remoteproc/mtk_scp.c
381
static int mt8183_scp_clk_get(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
383
struct device *dev = scp->dev;
drivers/remoteproc/mtk_scp.c
386
scp->clk = devm_clk_get(dev, "main");
drivers/remoteproc/mtk_scp.c
387
if (IS_ERR(scp->clk)) {
drivers/remoteproc/mtk_scp.c
389
ret = PTR_ERR(scp->clk);
drivers/remoteproc/mtk_scp.c
395
static int mt8192_scp_clk_get(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
397
return mt8183_scp_clk_get(scp);
drivers/remoteproc/mtk_scp.c
400
static int mt8195_scp_clk_get(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
402
scp->clk = NULL;
drivers/remoteproc/mtk_scp.c
407
static int mt8183_scp_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
410
writel(MT8183_SCP_IPC_INT_BIT, scp->cluster->reg_base + MT8183_SCP_TO_HOST);
drivers/remoteproc/mtk_scp.c
413
writel(0x0, scp->cluster->reg_base + MT8183_SCP_CLK_SW_SEL);
drivers/remoteproc/mtk_scp.c
414
writel(0x0, scp->cluster->reg_base + MT8183_SCP_CLK_DIV_SEL);
drivers/remoteproc/mtk_scp.c
417
writel(0x0, scp->cluster->reg_base + MT8183_SCP_L1_SRAM_PD);
drivers/remoteproc/mtk_scp.c
418
writel(0x0, scp->cluster->reg_base + MT8183_SCP_TCM_TAIL_SRAM_PD);
drivers/remoteproc/mtk_scp.c
421
writel(0x0, scp->cluster->reg_base + MT8183_SCP_SRAM_PDN);
drivers/remoteproc/mtk_scp.c
428
scp->cluster->reg_base + MT8183_SCP_CACHE_CON);
drivers/remoteproc/mtk_scp.c
429
writel(MT8183_SCP_CACHESIZE_8KB, scp->cluster->reg_base + MT8183_SCP_DCACHE_CON);
drivers/remoteproc/mtk_scp.c
452
static int mt8186_scp_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
455
writel(MT8183_SCP_IPC_INT_BIT, scp->cluster->reg_base + MT8183_SCP_TO_HOST);
drivers/remoteproc/mtk_scp.c
458
writel(0x0, scp->cluster->reg_base + MT8183_SCP_CLK_SW_SEL);
drivers/remoteproc/mtk_scp.c
459
writel(0x0, scp->cluster->reg_base + MT8183_SCP_CLK_DIV_SEL);
drivers/remoteproc/mtk_scp.c
462
scp_sram_power_on(scp->cluster->reg_base + MT8183_SCP_SRAM_PDN, 0);
drivers/remoteproc/mtk_scp.c
465
writel(0x0, scp->cluster->reg_base + MT8183_SCP_L1_SRAM_PD);
drivers/remoteproc/mtk_scp.c
466
writel(0x0, scp->cluster->reg_base + MT8183_SCP_TCM_TAIL_SRAM_PD);
drivers/remoteproc/mtk_scp.c
467
writel(0x0, scp->cluster->reg_base + MT8186_SCP_L1_SRAM_PD_P1);
drivers/remoteproc/mtk_scp.c
468
writel(0x0, scp->cluster->reg_base + MT8186_SCP_L1_SRAM_PD_p2);
drivers/remoteproc/mtk_scp.c
475
scp->cluster->reg_base + MT8183_SCP_CACHE_CON);
drivers/remoteproc/mtk_scp.c
476
writel(MT8183_SCP_CACHESIZE_8KB, scp->cluster->reg_base + MT8183_SCP_DCACHE_CON);
drivers/remoteproc/mtk_scp.c
481
static int mt8188_scp_l2tcm_on(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
483
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
489
writel(0xff, scp->cluster->reg_base + MT8192_SCP2SPM_IPC_CLR);
drivers/remoteproc/mtk_scp.c
492
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
493
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
494
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
495
scp_sram_power_on(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN, 0);
drivers/remoteproc/mtk_scp.c
505
static int mt8188_scp_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
507
writel(1, scp->cluster->reg_base + MT8192_CORE0_SW_RSTN_SET);
drivers/remoteproc/mtk_scp.c
509
mt8188_scp_l2tcm_on(scp);
drivers/remoteproc/mtk_scp.c
511
scp_sram_power_on(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
514
writel(0xff, scp->cluster->reg_base + MT8192_CORE0_MEM_ATT_PREDEF);
drivers/remoteproc/mtk_scp.c
519
static int mt8188_scp_c1_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
523
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
525
scp->data->scp_reset_assert(scp);
drivers/remoteproc/mtk_scp.c
527
mt8188_scp_l2tcm_on(scp);
drivers/remoteproc/mtk_scp.c
529
scp_sram_power_on(scp->cluster->reg_base + MT8195_CPU1_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
532
writel(0xff, scp->cluster->reg_base + MT8195_CORE1_MEM_ATT_PREDEF);
drivers/remoteproc/mtk_scp.c
547
writel(0, scp->cluster->reg_base + MT8195_L2TCM_OFFSET_RANGE_0_LOW);
drivers/remoteproc/mtk_scp.c
548
writel(scp->sram_size, scp->cluster->reg_base + MT8195_L2TCM_OFFSET_RANGE_0_HIGH);
drivers/remoteproc/mtk_scp.c
551
writel(scp->sram_phys - scp_c0->sram_phys, scp->cluster->reg_base + MT8195_L2TCM_OFFSET);
drivers/remoteproc/mtk_scp.c
554
sec_ctrl = readl(scp->cluster->reg_base + MT8195_SEC_CTRL);
drivers/remoteproc/mtk_scp.c
556
writel(sec_ctrl, scp->cluster->reg_base + MT8195_SEC_CTRL);
drivers/remoteproc/mtk_scp.c
561
static int mt8192_scp_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
564
writel(0xff, scp->cluster->reg_base + MT8192_SCP2SPM_IPC_CLR);
drivers/remoteproc/mtk_scp.c
566
writel(1, scp->cluster->reg_base + MT8192_CORE0_SW_RSTN_SET);
drivers/remoteproc/mtk_scp.c
569
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
570
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
571
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
572
scp_sram_power_on(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN, 0);
drivers/remoteproc/mtk_scp.c
573
scp_sram_power_on(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
576
writel(0xff, scp->cluster->reg_base + MT8192_CORE0_MEM_ATT_PREDEF);
drivers/remoteproc/mtk_scp.c
581
static int mt8195_scp_l2tcm_on(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
583
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
589
writel(0xff, scp->cluster->reg_base + MT8192_SCP2SPM_IPC_CLR);
drivers/remoteproc/mtk_scp.c
592
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
593
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
594
scp_sram_power_on(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
595
scp_sram_power_on(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN,
drivers/remoteproc/mtk_scp.c
606
static int mt8195_scp_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
608
writel(1, scp->cluster->reg_base + MT8192_CORE0_SW_RSTN_SET);
drivers/remoteproc/mtk_scp.c
610
mt8195_scp_l2tcm_on(scp);
drivers/remoteproc/mtk_scp.c
612
scp_sram_power_on(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
615
writel(0xff, scp->cluster->reg_base + MT8192_CORE0_MEM_ATT_PREDEF);
drivers/remoteproc/mtk_scp.c
620
static int mt8195_scp_c1_before_load(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
624
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
626
scp->data->scp_reset_assert(scp);
drivers/remoteproc/mtk_scp.c
628
mt8195_scp_l2tcm_on(scp);
drivers/remoteproc/mtk_scp.c
63
void scp_put(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
630
scp_sram_power_on(scp->cluster->reg_base + MT8195_CPU1_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
633
writel(0xff, scp->cluster->reg_base + MT8195_CORE1_MEM_ATT_PREDEF);
drivers/remoteproc/mtk_scp.c
648
writel(0, scp->cluster->reg_base + MT8195_L2TCM_OFFSET_RANGE_0_LOW);
drivers/remoteproc/mtk_scp.c
649
writel(scp->sram_size, scp->cluster->reg_base + MT8195_L2TCM_OFFSET_RANGE_0_HIGH);
drivers/remoteproc/mtk_scp.c
65
put_device(scp->dev);
drivers/remoteproc/mtk_scp.c
652
writel(scp->sram_phys - scp_c0->sram_phys, scp->cluster->reg_base + MT8195_L2TCM_OFFSET);
drivers/remoteproc/mtk_scp.c
655
sec_ctrl = readl(scp->cluster->reg_base + MT8195_SEC_CTRL);
drivers/remoteproc/mtk_scp.c
657
writel(sec_ctrl, scp->cluster->reg_base + MT8195_SEC_CTRL);
drivers/remoteproc/mtk_scp.c
664
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
665
struct device *dev = scp->dev;
drivers/remoteproc/mtk_scp.c
668
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp.c
675
scp->data->scp_reset_assert(scp);
drivers/remoteproc/mtk_scp.c
677
ret = scp->data->scp_before_load(scp);
drivers/remoteproc/mtk_scp.c
683
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
69
static void scp_wdt_handler(struct mtk_scp *scp, u32 scp_to_host)
drivers/remoteproc/mtk_scp.c
690
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
691
struct device *dev = scp->dev;
drivers/remoteproc/mtk_scp.c
694
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp.c
700
ret = scp_ipi_init(scp, fw);
drivers/remoteproc/mtk_scp.c
701
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
707
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
708
struct device *dev = scp->dev;
drivers/remoteproc/mtk_scp.c
709
struct scp_run *run = &scp->run;
drivers/remoteproc/mtk_scp.c
71
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
712
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp.c
720
scp->data->scp_reset_deassert(scp);
drivers/remoteproc/mtk_scp.c
737
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
74
dev_err(scp->dev, "SCP watchdog timeout! 0x%x", scp_to_host);
drivers/remoteproc/mtk_scp.c
743
scp->data->scp_reset_assert(scp);
drivers/remoteproc/mtk_scp.c
744
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
748
static void *mt8183_scp_da_to_va(struct mtk_scp *scp, u64 da, size_t len)
drivers/remoteproc/mtk_scp.c
753
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
754
if (da < scp->sram_size) {
drivers/remoteproc/mtk_scp.c
756
if (offset >= 0 && (offset + len) <= scp->sram_size)
drivers/remoteproc/mtk_scp.c
757
return (void __force *)scp->sram_base + offset;
drivers/remoteproc/mtk_scp.c
759
offset = da - scp->dma_addr;
drivers/remoteproc/mtk_scp.c
761
return scp->cpu_addr + offset;
drivers/remoteproc/mtk_scp.c
767
static void *mt8192_scp_da_to_va(struct mtk_scp *scp, u64 da, size_t len)
drivers/remoteproc/mtk_scp.c
772
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp.c
773
if (da >= scp->sram_phys &&
drivers/remoteproc/mtk_scp.c
774
(da + len) <= scp->sram_phys + scp->sram_size) {
drivers/remoteproc/mtk_scp.c
775
offset = da - scp->sram_phys;
drivers/remoteproc/mtk_scp.c
776
return (void __force *)scp->sram_base + offset;
drivers/remoteproc/mtk_scp.c
780
if (scp->cluster->l1tcm_size &&
drivers/remoteproc/mtk_scp.c
781
da >= scp->cluster->l1tcm_phys &&
drivers/remoteproc/mtk_scp.c
782
(da + len) <= scp->cluster->l1tcm_phys + scp->cluster->l1tcm_size) {
drivers/remoteproc/mtk_scp.c
783
offset = da - scp->cluster->l1tcm_phys;
drivers/remoteproc/mtk_scp.c
784
return (void __force *)scp->cluster->l1tcm_base + offset;
drivers/remoteproc/mtk_scp.c
789
da >= scp->dma_addr &&
drivers/remoteproc/mtk_scp.c
790
(da + len) <= scp->dma_addr + scp_sizes->max_dram_size) {
drivers/remoteproc/mtk_scp.c
791
offset = da - scp->dma_addr;
drivers/remoteproc/mtk_scp.c
792
return scp->cpu_addr + offset;
drivers/remoteproc/mtk_scp.c
800
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
802
return scp->data->scp_da_to_va(scp, da, len);
drivers/remoteproc/mtk_scp.c
805
static void mt8183_scp_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
808
writel(0, scp->cluster->reg_base + MT8183_WDT_CFG);
drivers/remoteproc/mtk_scp.c
811
static void mt8188_scp_l2tcm_off(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
813
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
822
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
823
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
824
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
825
scp_sram_power_off(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN, 0);
drivers/remoteproc/mtk_scp.c
83
struct mtk_scp *scp = priv;
drivers/remoteproc/mtk_scp.c
831
static void mt8188_scp_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
833
mt8188_scp_l2tcm_off(scp);
drivers/remoteproc/mtk_scp.c
835
scp_sram_power_off(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
838
writel(0, scp->cluster->reg_base + MT8192_CORE0_WDT_CFG);
drivers/remoteproc/mtk_scp.c
841
static void mt8188_scp_c1_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
843
mt8188_scp_l2tcm_off(scp);
drivers/remoteproc/mtk_scp.c
846
scp_sram_power_off(scp->cluster->reg_base + MT8195_CPU1_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
849
writel(0, scp->cluster->reg_base + MT8195_CORE1_WDT_CFG);
drivers/remoteproc/mtk_scp.c
852
static void mt8192_scp_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
855
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
856
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
857
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
858
scp_sram_power_off(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN, 0);
drivers/remoteproc/mtk_scp.c
859
scp_sram_power_off(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
86
scp->run.signaled = run->signaled;
drivers/remoteproc/mtk_scp.c
862
writel(0, scp->cluster->reg_base + MT8192_CORE0_WDT_CFG);
drivers/remoteproc/mtk_scp.c
865
static void mt8195_scp_l2tcm_off(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
867
struct mtk_scp_of_cluster *scp_cluster = scp->cluster;
drivers/remoteproc/mtk_scp.c
87
strscpy(scp->run.fw_ver, run->fw_ver, SCP_FW_VER_LEN);
drivers/remoteproc/mtk_scp.c
876
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_0, 0);
drivers/remoteproc/mtk_scp.c
877
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_1, 0);
drivers/remoteproc/mtk_scp.c
878
scp_sram_power_off(scp->cluster->reg_base + MT8192_L2TCM_SRAM_PD_2, 0);
drivers/remoteproc/mtk_scp.c
879
scp_sram_power_off(scp->cluster->reg_base + MT8192_L1TCM_SRAM_PDN,
drivers/remoteproc/mtk_scp.c
88
scp->run.dec_capability = run->dec_capability;
drivers/remoteproc/mtk_scp.c
886
static void mt8195_scp_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
888
mt8195_scp_l2tcm_off(scp);
drivers/remoteproc/mtk_scp.c
89
scp->run.enc_capability = run->enc_capability;
drivers/remoteproc/mtk_scp.c
890
scp_sram_power_off(scp->cluster->reg_base + MT8192_CPU0_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
893
writel(0, scp->cluster->reg_base + MT8192_CORE0_WDT_CFG);
drivers/remoteproc/mtk_scp.c
896
static void mt8195_scp_c1_stop(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
898
mt8195_scp_l2tcm_off(scp);
drivers/remoteproc/mtk_scp.c
90
wake_up_interruptible(&scp->run.wq);
drivers/remoteproc/mtk_scp.c
901
scp_sram_power_off(scp->cluster->reg_base + MT8195_CPU1_SRAM_PD, 0);
drivers/remoteproc/mtk_scp.c
904
writel(0, scp->cluster->reg_base + MT8195_CORE1_WDT_CFG);
drivers/remoteproc/mtk_scp.c
909
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
912
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp.c
914
dev_err(scp->dev, "failed to enable clocks\n");
drivers/remoteproc/mtk_scp.c
918
scp->data->scp_reset_assert(scp);
drivers/remoteproc/mtk_scp.c
919
scp->data->scp_stop(scp);
drivers/remoteproc/mtk_scp.c
920
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp.c
927
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
929
return clk_prepare(scp->clk);
drivers/remoteproc/mtk_scp.c
93
static void scp_ipi_handler(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
934
struct mtk_scp *scp = rproc->priv;
drivers/remoteproc/mtk_scp.c
936
clk_unprepare(scp->clk);
drivers/remoteproc/mtk_scp.c
95
struct mtk_share_obj __iomem *rcv_obj = scp->recv_buf;
drivers/remoteproc/mtk_scp.c
956
struct device *scp_get_device(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
958
return scp->dev;
drivers/remoteproc/mtk_scp.c
96
struct scp_ipi_desc *ipi_desc = scp->ipi_desc;
drivers/remoteproc/mtk_scp.c
967
struct rproc *scp_get_rproc(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
969
return scp->rproc;
drivers/remoteproc/mtk_scp.c
980
unsigned int scp_get_vdec_hw_capa(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
982
return scp->run.dec_capability;
drivers/remoteproc/mtk_scp.c
993
unsigned int scp_get_venc_hw_capa(struct mtk_scp *scp)
drivers/remoteproc/mtk_scp.c
995
return scp->run.enc_capability;
drivers/remoteproc/mtk_scp_ipi.c
119
void scp_ipi_lock(struct mtk_scp *scp, u32 id)
drivers/remoteproc/mtk_scp_ipi.c
123
mutex_lock(&scp->ipi_desc[id].lock);
drivers/remoteproc/mtk_scp_ipi.c
135
void scp_ipi_unlock(struct mtk_scp *scp, u32 id)
drivers/remoteproc/mtk_scp_ipi.c
139
mutex_unlock(&scp->ipi_desc[id].lock);
drivers/remoteproc/mtk_scp_ipi.c
159
int scp_ipi_send(struct mtk_scp *scp, u32 id, void *buf, unsigned int len,
drivers/remoteproc/mtk_scp_ipi.c
162
struct mtk_share_obj __iomem *send_obj = scp->send_buf;
drivers/remoteproc/mtk_scp_ipi.c
167
scp_sizes = scp->data->scp_sizes;
drivers/remoteproc/mtk_scp_ipi.c
174
ret = clk_enable(scp->clk);
drivers/remoteproc/mtk_scp_ipi.c
176
dev_err(scp->dev, "failed to enable clock\n");
drivers/remoteproc/mtk_scp_ipi.c
180
mutex_lock(&scp->send_lock);
drivers/remoteproc/mtk_scp_ipi.c
183
ret = readl_poll_timeout_atomic(scp->cluster->reg_base + scp->data->host_to_scp_reg,
drivers/remoteproc/mtk_scp_ipi.c
186
dev_err(scp->dev, "%s: IPI timeout!\n", __func__);
drivers/remoteproc/mtk_scp_ipi.c
195
scp->ipi_id_ack[id] = false;
drivers/remoteproc/mtk_scp_ipi.c
197
writel(scp->data->host_to_scp_int_bit,
drivers/remoteproc/mtk_scp_ipi.c
198
scp->cluster->reg_base + scp->data->host_to_scp_reg);
drivers/remoteproc/mtk_scp_ipi.c
202
ret = wait_event_timeout(scp->ack_wq,
drivers/remoteproc/mtk_scp_ipi.c
203
scp->ipi_id_ack[id],
drivers/remoteproc/mtk_scp_ipi.c
205
scp->ipi_id_ack[id] = false;
drivers/remoteproc/mtk_scp_ipi.c
213
mutex_unlock(&scp->send_lock);
drivers/remoteproc/mtk_scp_ipi.c
214
clk_disable(scp->clk);
drivers/remoteproc/mtk_scp_ipi.c
32
int scp_ipi_register(struct mtk_scp *scp,
drivers/remoteproc/mtk_scp_ipi.c
37
if (!scp)
drivers/remoteproc/mtk_scp_ipi.c
43
scp_ipi_lock(scp, id);
drivers/remoteproc/mtk_scp_ipi.c
44
scp->ipi_desc[id].handler = handler;
drivers/remoteproc/mtk_scp_ipi.c
45
scp->ipi_desc[id].priv = priv;
drivers/remoteproc/mtk_scp_ipi.c
46
scp_ipi_unlock(scp, id);
drivers/remoteproc/mtk_scp_ipi.c
60
void scp_ipi_unregister(struct mtk_scp *scp, u32 id)
drivers/remoteproc/mtk_scp_ipi.c
62
if (!scp)
drivers/remoteproc/mtk_scp_ipi.c
68
scp_ipi_lock(scp, id);
drivers/remoteproc/mtk_scp_ipi.c
69
scp->ipi_desc[id].handler = NULL;
drivers/remoteproc/mtk_scp_ipi.c
70
scp->ipi_desc[id].priv = NULL;
drivers/remoteproc/mtk_scp_ipi.c
71
scp_ipi_unlock(scp, id);
drivers/scsi/advansys.c
3599
static void asc_scsi_done(struct scsi_cmnd *scp)
drivers/scsi/advansys.c
3601
scsi_dma_unmap(scp);
drivers/scsi/advansys.c
3602
ASC_STATS(scp->device->host, done);
drivers/scsi/advansys.c
3603
scsi_done(scp);
drivers/scsi/advansys.c
5900
struct scsi_cmnd *scp;
drivers/scsi/advansys.c
5913
scp = scsi_host_find_tag(boardp->shost, scsiqp->srb_tag);
drivers/scsi/advansys.c
5915
ASC_DBG(1, "scp 0x%p\n", scp);
drivers/scsi/advansys.c
5916
if (scp == NULL) {
drivers/scsi/advansys.c
5921
ASC_DBG_PRT_CDB(2, scp->cmnd, scp->cmd_len);
drivers/scsi/advansys.c
5923
reqp = (adv_req_t *)scp->host_scribble;
drivers/scsi/advansys.c
5933
scp->host_scribble = NULL;
drivers/scsi/advansys.c
5946
scp->result = 0;
drivers/scsi/advansys.c
5958
if (scsi_bufflen(scp) != 0 && resid_cnt != 0 &&
drivers/scsi/advansys.c
5959
resid_cnt <= scsi_bufflen(scp)) {
drivers/scsi/advansys.c
5962
scsi_set_resid(scp, resid_cnt);
drivers/scsi/advansys.c
5970
set_status_byte(scp, scsiqp->scsi_status);
drivers/scsi/advansys.c
5973
ASC_DBG_PRT_SENSE(2, scp->sense_buffer,
drivers/scsi/advansys.c
5981
set_host_byte(scp, DID_BAD_TARGET);
drivers/scsi/advansys.c
5988
set_status_byte(scp, scsiqp->scsi_status);
drivers/scsi/advansys.c
5989
set_host_byte(scp, DID_ABORT);
drivers/scsi/advansys.c
5994
set_status_byte(scp, scsiqp->scsi_status);
drivers/scsi/advansys.c
5995
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
6004
if ((boardp->init_tidmask & ADV_TID_TO_TIDMASK(scp->device->id)) == 0 &&
drivers/scsi/advansys.c
6007
boardp->init_tidmask |= ADV_TID_TO_TIDMASK(scp->device->id);
drivers/scsi/advansys.c
6010
asc_scsi_done(scp);
drivers/scsi/advansys.c
6675
struct scsi_cmnd *scp;
drivers/scsi/advansys.c
6684
scp = scsi_host_find_tag(boardp->shost, srb_tag);
drivers/scsi/advansys.c
6685
if (!scp)
drivers/scsi/advansys.c
6688
ASC_DBG_PRT_CDB(2, scp->cmnd, scp->cmd_len);
drivers/scsi/advansys.c
6692
dma_unmap_single(boardp->dev, advansys_cmd(scp)->dma_handle,
drivers/scsi/advansys.c
6697
scp->result = 0;
drivers/scsi/advansys.c
6708
if (scsi_bufflen(scp) != 0 && qdonep->remain_bytes != 0 &&
drivers/scsi/advansys.c
6709
qdonep->remain_bytes <= scsi_bufflen(scp)) {
drivers/scsi/advansys.c
6712
scsi_set_resid(scp, qdonep->remain_bytes);
drivers/scsi/advansys.c
6720
set_status_byte(scp, qdonep->d3.scsi_stat);
drivers/scsi/advansys.c
6723
ASC_DBG_PRT_SENSE(2, scp->sense_buffer,
drivers/scsi/advansys.c
6731
set_host_byte(scp, DID_BAD_TARGET);
drivers/scsi/advansys.c
6738
set_status_byte(scp, qdonep->d3.scsi_stat);
drivers/scsi/advansys.c
6739
set_host_byte(scp, DID_ABORT);
drivers/scsi/advansys.c
6744
set_status_byte(scp, qdonep->d3.scsi_stat);
drivers/scsi/advansys.c
6745
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
6754
if ((boardp->init_tidmask & ADV_TID_TO_TIDMASK(scp->device->id)) == 0 &&
drivers/scsi/advansys.c
6757
boardp->init_tidmask |= ADV_TID_TO_TIDMASK(scp->device->id);
drivers/scsi/advansys.c
6760
asc_scsi_done(scp);
drivers/scsi/advansys.c
7018
static int advansys_reset(struct scsi_cmnd *scp)
drivers/scsi/advansys.c
7020
struct Scsi_Host *shost = scp->device->host;
drivers/scsi/advansys.c
7026
ASC_DBG(1, "0x%p\n", scp);
drivers/scsi/advansys.c
7030
scmd_printk(KERN_INFO, scp, "SCSI host reset started...\n");
drivers/scsi/advansys.c
7041
scmd_printk(KERN_INFO, scp, "SCSI host reset error: "
drivers/scsi/advansys.c
7046
scmd_printk(KERN_INFO, scp, "SCSI host reset warning: "
drivers/scsi/advansys.c
7049
scmd_printk(KERN_INFO, scp, "SCSI host reset "
drivers/scsi/advansys.c
7067
scmd_printk(KERN_INFO, scp, "SCSI host reset "
drivers/scsi/advansys.c
7072
scmd_printk(KERN_INFO, scp, "SCSI host reset error\n");
drivers/scsi/advansys.c
7408
static __le32 asc_get_sense_buffer_dma(struct scsi_cmnd *scp)
drivers/scsi/advansys.c
7410
struct asc_board *board = shost_priv(scp->device->host);
drivers/scsi/advansys.c
7411
struct advansys_cmd *acmd = advansys_cmd(scp);
drivers/scsi/advansys.c
7413
acmd->dma_handle = dma_map_single(board->dev, scp->sense_buffer,
drivers/scsi/advansys.c
7422
static int asc_build_req(struct asc_board *boardp, struct scsi_cmnd *scp,
drivers/scsi/advansys.c
7435
srb_tag = scsi_cmd_to_rq(scp)->tag + 1;
drivers/scsi/advansys.c
7441
asc_scsi_q->cdbptr = &scp->cmnd[0];
drivers/scsi/advansys.c
7442
asc_scsi_q->q2.cdb_len = scp->cmd_len;
drivers/scsi/advansys.c
7443
asc_scsi_q->q1.target_id = ASC_TID_TO_TARGET_ID(scp->device->id);
drivers/scsi/advansys.c
7444
asc_scsi_q->q1.target_lun = scp->device->lun;
drivers/scsi/advansys.c
7446
ASC_TIDLUN_TO_IX(scp->device->id, scp->device->lun);
drivers/scsi/advansys.c
7447
asc_scsi_q->q1.sense_addr = asc_get_sense_buffer_dma(scp);
drivers/scsi/advansys.c
7463
if ((asc_dvc->cur_dvc_qng[scp->device->id] > 0) &&
drivers/scsi/advansys.c
7464
(boardp->reqcnt[scp->device->id] % 255) == 0) {
drivers/scsi/advansys.c
7471
use_sg = scsi_dma_map(scp);
drivers/scsi/advansys.c
7480
if (use_sg > scp->device->host->sg_tablesize) {
drivers/scsi/advansys.c
7481
scmd_printk(KERN_ERR, scp, "use_sg %d > "
drivers/scsi/advansys.c
7483
scp->device->host->sg_tablesize);
drivers/scsi/advansys.c
7484
scsi_dma_unmap(scp);
drivers/scsi/advansys.c
7485
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
7492
scsi_dma_unmap(scp);
drivers/scsi/advansys.c
7493
set_host_byte(scp, DID_SOFT_ERROR);
drivers/scsi/advansys.c
7503
ASC_STATS_ADD(scp->device->host, xfer_elem,
drivers/scsi/advansys.c
7509
scsi_for_each_sg(scp, slp, use_sg, sgcnt) {
drivers/scsi/advansys.c
7514
ASC_STATS_ADD(scp->device->host, xfer_sect,
drivers/scsi/advansys.c
7519
ASC_STATS(scp->device->host, xfer_cnt);
drivers/scsi/advansys.c
7522
ASC_DBG_PRT_CDB(1, scp->cmnd, scp->cmd_len);
drivers/scsi/advansys.c
7541
ADV_SCSI_REQ_Q *scsiqp, struct scsi_cmnd *scp, int use_sg)
drivers/scsi/advansys.c
7550
slp = scsi_sglist(scp);
drivers/scsi/advansys.c
7566
ASC_STATS(scp->device->host, adv_build_nosg);
drivers/scsi/advansys.c
7616
ASC_STATS_ADD(scp->device->host, xfer_sect,
drivers/scsi/advansys.c
7646
adv_build_req(struct asc_board *boardp, struct scsi_cmnd *scp,
drivers/scsi/advansys.c
7649
u32 srb_tag = scsi_cmd_to_rq(scp)->tag;
drivers/scsi/advansys.c
7661
if (reqp->cmndp && reqp->cmndp != scp ) {
drivers/scsi/advansys.c
7663
ASC_STATS(scp->device->host, adv_build_noreq);
drivers/scsi/advansys.c
7684
reqp->cmndp = scp;
drivers/scsi/advansys.c
7685
scp->host_scribble = (void *)reqp;
drivers/scsi/advansys.c
7692
scsiqp->cdb_len = scp->cmd_len;
drivers/scsi/advansys.c
7694
memcpy(scsiqp->cdb, scp->cmnd, scp->cmd_len < 12 ? scp->cmd_len : 12);
drivers/scsi/advansys.c
7696
if (scp->cmd_len > 12) {
drivers/scsi/advansys.c
7697
int cdb16_len = scp->cmd_len - 12;
drivers/scsi/advansys.c
7699
memcpy(scsiqp->cdb16, &scp->cmnd[12], cdb16_len);
drivers/scsi/advansys.c
7702
scsiqp->target_id = scp->device->id;
drivers/scsi/advansys.c
7703
scsiqp->target_lun = scp->device->lun;
drivers/scsi/advansys.c
7705
sense_addr = dma_map_single(boardp->dev, scp->sense_buffer,
drivers/scsi/advansys.c
7709
ASC_STATS(scp->device->host, adv_build_noreq);
drivers/scsi/advansys.c
7717
use_sg = scsi_dma_map(scp);
drivers/scsi/advansys.c
7720
ASC_STATS(scp->device->host, adv_build_noreq);
drivers/scsi/advansys.c
7732
scmd_printk(KERN_ERR, scp, "use_sg %d > "
drivers/scsi/advansys.c
7734
scp->device->host->sg_tablesize);
drivers/scsi/advansys.c
7735
scsi_dma_unmap(scp);
drivers/scsi/advansys.c
7736
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
7738
scp->host_scribble = NULL;
drivers/scsi/advansys.c
7743
scsiqp->data_cnt = cpu_to_le32(scsi_bufflen(scp));
drivers/scsi/advansys.c
7745
ret = adv_get_sglist(boardp, reqp, scsiqp, scp, use_sg);
drivers/scsi/advansys.c
7747
scsi_dma_unmap(scp);
drivers/scsi/advansys.c
7748
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
7750
scp->host_scribble = NULL;
drivers/scsi/advansys.c
7755
ASC_STATS_ADD(scp->device->host, xfer_elem, use_sg);
drivers/scsi/advansys.c
7758
ASC_STATS(scp->device->host, xfer_cnt);
drivers/scsi/advansys.c
7761
ASC_DBG_PRT_CDB(1, scp->cmnd, scp->cmd_len);
drivers/scsi/advansys.c
8379
static int asc_execute_scsi_cmnd(struct scsi_cmnd *scp)
drivers/scsi/advansys.c
8382
struct asc_board *boardp = shost_priv(scp->device->host);
drivers/scsi/advansys.c
8384
ASC_DBG(1, "scp 0x%p\n", scp);
drivers/scsi/advansys.c
8390
ret = asc_build_req(boardp, scp, &asc_scsi_q);
drivers/scsi/advansys.c
8392
ASC_STATS(scp->device->host, build_error);
drivers/scsi/advansys.c
8403
switch (adv_build_req(boardp, scp, &adv_reqp)) {
drivers/scsi/advansys.c
8419
ASC_STATS(scp->device->host, build_error);
drivers/scsi/advansys.c
8429
ASC_STATS(scp->device->host, exe_noerror);
drivers/scsi/advansys.c
8434
boardp->reqcnt[scp->device->id]++;
drivers/scsi/advansys.c
8439
ASC_STATS(scp->device->host, exe_busy);
drivers/scsi/advansys.c
8442
scmd_printk(KERN_ERR, scp, "ExeScsiQueue() ASC_ERROR, "
drivers/scsi/advansys.c
8444
ASC_STATS(scp->device->host, exe_error);
drivers/scsi/advansys.c
8445
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
8448
scmd_printk(KERN_ERR, scp, "ExeScsiQueue() unknown, "
drivers/scsi/advansys.c
8450
ASC_STATS(scp->device->host, exe_unknown);
drivers/scsi/advansys.c
8451
set_host_byte(scp, DID_ERROR);
drivers/scsi/advansys.c
8465
static enum scsi_qc_status advansys_queuecommand_lck(struct scsi_cmnd *scp)
drivers/scsi/advansys.c
8467
struct Scsi_Host *shost = scp->device->host;
drivers/scsi/advansys.c
8473
asc_res = asc_execute_scsi_cmnd(scp);
drivers/scsi/advansys.c
8483
asc_scsi_done(scp);
drivers/scsi/hptiop.c
1010
_req->scp = scp;
drivers/scsi/hptiop.c
1014
scp,
drivers/scsi/hptiop.c
1015
host->host_no, scp->device->channel,
drivers/scsi/hptiop.c
1016
scp->device->id, scp->device->lun,
drivers/scsi/hptiop.c
1017
cpu_to_be32(((u32 *)scp->cmnd)[0]),
drivers/scsi/hptiop.c
1018
cpu_to_be32(((u32 *)scp->cmnd)[1]),
drivers/scsi/hptiop.c
1019
cpu_to_be32(((u32 *)scp->cmnd)[2]),
drivers/scsi/hptiop.c
1020
cpu_to_be32(((u32 *)scp->cmnd)[3]),
drivers/scsi/hptiop.c
1023
scp->result = 0;
drivers/scsi/hptiop.c
1025
if (scp->device->channel ||
drivers/scsi/hptiop.c
1026
(scp->device->id > hba->max_devices) ||
drivers/scsi/hptiop.c
1027
((scp->device->id == (hba->max_devices-1)) && scp->device->lun)) {
drivers/scsi/hptiop.c
1028
scp->result = DID_BAD_TARGET << 16;
drivers/scsi/hptiop.c
1036
sg_count = hptiop_buildsgl(scp, req->sg_list);
drivers/scsi/hptiop.c
1038
HPT_SCP(scp)->mapped = 0;
drivers/scsi/hptiop.c
1043
req->dataxfer_length = cpu_to_le32(scsi_bufflen(scp));
drivers/scsi/hptiop.c
1044
req->channel = scp->device->channel;
drivers/scsi/hptiop.c
1045
req->target = scp->device->id;
drivers/scsi/hptiop.c
1046
req->lun = scp->device->lun;
drivers/scsi/hptiop.c
1049
memcpy(req->cdb, scp->cmnd, sizeof(req->cdb));
drivers/scsi/hptiop.c
1054
dprintk("scsi_done(scp=%p)\n", scp);
drivers/scsi/hptiop.c
1055
scsi_done(scp);
drivers/scsi/hptiop.c
1091
static int hptiop_reset(struct scsi_cmnd *scp)
drivers/scsi/hptiop.c
1093
struct hptiop_hba * hba = (struct hptiop_hba *)scp->device->host->hostdata;
drivers/scsi/hptiop.c
1096
scp->device->host->host_no, -1, -1);
drivers/scsi/hptiop.c
1220
hba->u.mvfrey.internal_req.scp = NULL;
drivers/scsi/hptiop.c
719
struct scsi_cmnd *scp;
drivers/scsi/hptiop.c
729
scp = hba->reqs[tag].scp;
drivers/scsi/hptiop.c
731
if (HPT_SCP(scp)->mapped)
drivers/scsi/hptiop.c
732
scsi_dma_unmap(scp);
drivers/scsi/hptiop.c
736
scsi_set_resid(scp,
drivers/scsi/hptiop.c
737
scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length));
drivers/scsi/hptiop.c
738
scp->result = (DID_OK<<16);
drivers/scsi/hptiop.c
741
scp->result = (DID_BAD_TARGET<<16);
drivers/scsi/hptiop.c
744
scp->result = (DID_BUS_BUSY<<16);
drivers/scsi/hptiop.c
747
scp->result = (DID_RESET<<16);
drivers/scsi/hptiop.c
750
scp->result = (DID_ERROR<<16);
drivers/scsi/hptiop.c
753
scp->result = (DID_ABORT<<16);
drivers/scsi/hptiop.c
756
scsi_set_resid(scp,
drivers/scsi/hptiop.c
757
scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length));
drivers/scsi/hptiop.c
758
scp->result = SAM_STAT_CHECK_CONDITION;
drivers/scsi/hptiop.c
759
memcpy(scp->sense_buffer, &req->sg_list, SCSI_SENSE_BUFFERSIZE);
drivers/scsi/hptiop.c
763
scp->result = DID_ABORT << 16;
drivers/scsi/hptiop.c
767
scsi_set_resid(scp,
drivers/scsi/hptiop.c
768
scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length));
drivers/scsi/hptiop.c
771
dprintk("scsi_done(%p)\n", scp);
drivers/scsi/hptiop.c
772
scsi_done(scp);
drivers/scsi/hptiop.c
846
static int hptiop_buildsgl(struct scsi_cmnd *scp, struct hpt_iopsg *psg)
drivers/scsi/hptiop.c
848
struct Scsi_Host *host = scp->device->host;
drivers/scsi/hptiop.c
853
nseg = scsi_dma_map(scp);
drivers/scsi/hptiop.c
858
HPT_SCP(scp)->sgcnt = nseg;
drivers/scsi/hptiop.c
859
HPT_SCP(scp)->mapped = 1;
drivers/scsi/hptiop.c
861
BUG_ON(HPT_SCP(scp)->sgcnt > hba->max_sg_descriptors);
drivers/scsi/hptiop.c
863
scsi_for_each_sg(scp, sg, HPT_SCP(scp)->sgcnt, idx) {
drivers/scsi/hptiop.c
867
psg[idx].eot = (idx == HPT_SCP(scp)->sgcnt - 1) ?
drivers/scsi/hptiop.c
870
return HPT_SCP(scp)->sgcnt;
drivers/scsi/hptiop.c
996
static enum scsi_qc_status hptiop_queuecommand_lck(struct scsi_cmnd *scp)
drivers/scsi/hptiop.c
998
struct Scsi_Host *host = scp->device->host;
drivers/scsi/hptiop.h
250
struct scsi_cmnd *scp;
drivers/scsi/hptiop.h
260
#define HPT_SCP(scp) ((struct hpt_cmd_priv *)scsi_cmd_priv(scp))
drivers/scsi/megaraid.h
764
#define SCSI_LIST(scp) \
drivers/scsi/megaraid.h
765
(&((struct megaraid_cmd_priv *)scsi_cmd_priv(scp))->entry)
drivers/scsi/megaraid/mega_common.h
199
#define SCP2HOST(scp) (scp)->device->host // to host
drivers/scsi/megaraid/mega_common.h
200
#define SCP2HOSTDATA(scp) SCP2HOST(scp)->hostdata // to soft state
drivers/scsi/megaraid/mega_common.h
201
#define SCP2CHANNEL(scp) (scp)->device->channel // to channel
drivers/scsi/megaraid/mega_common.h
202
#define SCP2TARGET(scp) (scp)->device->id // to target
drivers/scsi/megaraid/mega_common.h
203
#define SCP2LUN(scp) (u32)(scp)->device->lun // to LUN
drivers/scsi/megaraid/mega_common.h
207
#define SCP2ADAPTER(scp) (adapter_t *)SCSIHOST2ADAP(SCP2HOST(scp))
drivers/scsi/megaraid/mega_common.h
210
#define MRAID_IS_LOGICAL(adp, scp) \
drivers/scsi/megaraid/mega_common.h
211
(SCP2CHANNEL(scp) == (adp)->max_channel) ? 1 : 0
drivers/scsi/megaraid/mega_common.h
227
#define MRAID_GET_DEVICE_MAP(adp, scp, p_chan, target, islogical) \
drivers/scsi/megaraid/mega_common.h
231
islogical = MRAID_IS_LOGICAL(adp, scp); \
drivers/scsi/megaraid/mega_common.h
239
(adp)->device_ids[(adp)->max_channel][SCP2TARGET(scp)]; \
drivers/scsi/megaraid/mega_common.h
242
p_chan = ((adp)->device_ids[SCP2CHANNEL(scp)] \
drivers/scsi/megaraid/mega_common.h
243
[SCP2TARGET(scp)] >> 8) & 0xFF; \
drivers/scsi/megaraid/mega_common.h
244
target = ((adp)->device_ids[SCP2CHANNEL(scp)] \
drivers/scsi/megaraid/mega_common.h
245
[SCP2TARGET(scp)] & 0xFF); \
drivers/scsi/megaraid/mega_common.h
69
struct scsi_cmnd *scp;
drivers/scsi/megaraid/megaraid_mbox.c
1075
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
1276
megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
1296
scb->scp = scp;
drivers/scsi/megaraid/megaraid_mbox.c
1320
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
1343
struct scsi_cmnd *scp;
drivers/scsi/megaraid/megaraid_mbox.c
1348
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
1351
sgcnt = scsi_dma_map(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1360
scsi_for_each_sg(scp, sgl, sgcnt, i) {
drivers/scsi/megaraid/megaraid_mbox.c
1439
static enum scsi_qc_status megaraid_queue_command_lck(struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
1446
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1447
scp->result = 0;
drivers/scsi/megaraid/megaraid_mbox.c
1458
scb = megaraid_mbox_build_cmd(adapter, scp, &if_busy);
drivers/scsi/megaraid/megaraid_mbox.c
1460
done(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1482
megaraid_mbox_build_cmd(adapter_t *adapter, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_mbox.c
1503
MRAID_GET_DEVICE_MAP(adapter, scp, channel, target, islogical);
drivers/scsi/megaraid/megaraid_mbox.c
1509
switch (scp->cmnd[0]) {
drivers/scsi/megaraid/megaraid_mbox.c
1516
scp->result = (DID_OK << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1520
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1521
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1526
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1546
sgl = scsi_sglist(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1550
memset(vaddr, 0, scp->cmnd[4]);
drivers/scsi/megaraid/megaraid_mbox.c
1558
scp->result = (DID_OK << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1566
if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) {
drivers/scsi/megaraid/megaraid_mbox.c
1571
SCP2CHANNEL(scp)));
drivers/scsi/megaraid/megaraid_mbox.c
1576
rdev->last_disp |= (1L << SCP2CHANNEL(scp));
drivers/scsi/megaraid/megaraid_mbox.c
1579
if (scp->cmnd[1] & MEGA_SCSI_INQ_EVPD) {
drivers/scsi/megaraid/megaraid_mbox.c
1580
scsi_build_sense(scp, 0, ILLEGAL_REQUEST,
drivers/scsi/megaraid/megaraid_mbox.c
1592
if (SCP2LUN(scp)) {
drivers/scsi/megaraid/megaraid_mbox.c
1593
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1597
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1603
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1604
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1621
pthru->cdblen = scp->cmd_len;
drivers/scsi/megaraid/megaraid_mbox.c
1622
memcpy(pthru->cdb, scp->cmnd, scp->cmd_len);
drivers/scsi/megaraid/megaraid_mbox.c
1625
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1627
pthru->dataxferlen = scsi_bufflen(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1648
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1649
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1664
mbox->cmd = (scp->cmnd[0] & 0x02) ? MBOXCMD_LWRITE64:
drivers/scsi/megaraid/megaraid_mbox.c
1670
if (scp->cmd_len == 6) {
drivers/scsi/megaraid/megaraid_mbox.c
1671
mbox->numsectors = (uint32_t)scp->cmnd[4];
drivers/scsi/megaraid/megaraid_mbox.c
1673
((uint32_t)scp->cmnd[1] << 16) |
drivers/scsi/megaraid/megaraid_mbox.c
1674
((uint32_t)scp->cmnd[2] << 8) |
drivers/scsi/megaraid/megaraid_mbox.c
1675
(uint32_t)scp->cmnd[3];
drivers/scsi/megaraid/megaraid_mbox.c
1683
else if (scp->cmd_len == 10) {
drivers/scsi/megaraid/megaraid_mbox.c
1685
(uint32_t)scp->cmnd[8] |
drivers/scsi/megaraid/megaraid_mbox.c
1686
((uint32_t)scp->cmnd[7] << 8);
drivers/scsi/megaraid/megaraid_mbox.c
1688
((uint32_t)scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_mbox.c
1689
((uint32_t)scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_mbox.c
1690
((uint32_t)scp->cmnd[4] << 8) |
drivers/scsi/megaraid/megaraid_mbox.c
1691
(uint32_t)scp->cmnd[5];
drivers/scsi/megaraid/megaraid_mbox.c
1697
else if (scp->cmd_len == 12) {
drivers/scsi/megaraid/megaraid_mbox.c
1699
((uint32_t)scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_mbox.c
1700
((uint32_t)scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_mbox.c
1701
((uint32_t)scp->cmnd[4] << 8) |
drivers/scsi/megaraid/megaraid_mbox.c
1702
(uint32_t)scp->cmnd[5];
drivers/scsi/megaraid/megaraid_mbox.c
1705
((uint32_t)scp->cmnd[6] << 24) |
drivers/scsi/megaraid/megaraid_mbox.c
1706
((uint32_t)scp->cmnd[7] << 16) |
drivers/scsi/megaraid/megaraid_mbox.c
1707
((uint32_t)scp->cmnd[8] << 8) |
drivers/scsi/megaraid/megaraid_mbox.c
1708
(uint32_t)scp->cmnd[9];
drivers/scsi/megaraid/megaraid_mbox.c
1716
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1720
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1737
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1744
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1745
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1754
ccb->raw_mbox[2] = scp->cmnd[0] == RESERVE_6 ?
drivers/scsi/megaraid/megaraid_mbox.c
1758
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1763
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1770
if (target > 15 || SCP2LUN(scp) > 7) {
drivers/scsi/megaraid/megaraid_mbox.c
1771
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1779
(SCP2CHANNEL(scp) == adapter->max_channel -1)) {
drivers/scsi/megaraid/megaraid_mbox.c
1790
if (!(rdev->last_disp & (1L << SCP2CHANNEL(scp)))) {
drivers/scsi/megaraid/megaraid_mbox.c
1796
adapter->host->host_no, ss, SCP2CHANNEL(scp),
drivers/scsi/megaraid/megaraid_mbox.c
1802
rdev->last_disp |= (1L << SCP2CHANNEL(scp));
drivers/scsi/megaraid/megaraid_mbox.c
1807
scp->result = (DID_BAD_TARGET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1812
if (!(scb = megaraid_alloc_scb(adapter, scp))) {
drivers/scsi/megaraid/megaraid_mbox.c
1813
scp->result = (DID_ERROR << 16);
drivers/scsi/megaraid/megaraid_mbox.c
1821
scb->dma_direction = scp->sc_data_direction;
drivers/scsi/megaraid/megaraid_mbox.c
1829
megaraid_mbox_prepare_epthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1838
megaraid_mbox_prepare_pthru(adapter, scb, scp);
drivers/scsi/megaraid/megaraid_mbox.c
1937
struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
1955
pthru->logdrv = SCP2LUN(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1957
pthru->cdblen = scp->cmd_len;
drivers/scsi/megaraid/megaraid_mbox.c
1959
memcpy(pthru->cdb, scp->cmnd, scp->cmd_len);
drivers/scsi/megaraid/megaraid_mbox.c
1961
if (scsi_bufflen(scp)) {
drivers/scsi/megaraid/megaraid_mbox.c
1962
pthru->dataxferlen = scsi_bufflen(scp);
drivers/scsi/megaraid/megaraid_mbox.c
1986
struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
2004
epthru->logdrv = SCP2LUN(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2006
epthru->cdblen = scp->cmd_len;
drivers/scsi/megaraid/megaraid_mbox.c
2008
memcpy(epthru->cdb, scp->cmnd, scp->cmd_len);
drivers/scsi/megaraid/megaraid_mbox.c
2010
if (scsi_bufflen(scp)) {
drivers/scsi/megaraid/megaraid_mbox.c
2011
epthru->dataxferlen = scsi_bufflen(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2180
struct scsi_cmnd *scp;
drivers/scsi/megaraid/megaraid_mbox.c
2211
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
2221
scb->sno, scb->state, scp));
drivers/scsi/megaraid/megaraid_mbox.c
2257
islogical = MRAID_IS_LOGICAL(adapter, scp);
drivers/scsi/megaraid/megaraid_mbox.c
2258
if (scp->cmnd[0] == INQUIRY && status == 0 && islogical == 0
drivers/scsi/megaraid/megaraid_mbox.c
2261
sgl = scsi_sglist(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2293
scp->result = (DID_OK << 16);
drivers/scsi/megaraid/megaraid_mbox.c
2302
memcpy(scp->sense_buffer, pthru->reqsensearea,
drivers/scsi/megaraid/megaraid_mbox.c
2305
scp->result = SAM_STAT_CHECK_CONDITION;
drivers/scsi/megaraid/megaraid_mbox.c
2310
memcpy(scp->sense_buffer,
drivers/scsi/megaraid/megaraid_mbox.c
2313
scp->result = SAM_STAT_CHECK_CONDITION;
drivers/scsi/megaraid/megaraid_mbox.c
2315
scsi_build_sense(scp, 0,
drivers/scsi/megaraid/megaraid_mbox.c
2322
scp->result = DID_BUS_BUSY << 16 | status;
drivers/scsi/megaraid/megaraid_mbox.c
2331
if (scp->cmnd[0] == TEST_UNIT_READY) {
drivers/scsi/megaraid/megaraid_mbox.c
2332
scp->result = DID_ERROR << 16 |
drivers/scsi/megaraid/megaraid_mbox.c
2340
if (status == 1 && (scp->cmnd[0] == RESERVE_6 ||
drivers/scsi/megaraid/megaraid_mbox.c
2341
scp->cmnd[0] == RELEASE_6)) {
drivers/scsi/megaraid/megaraid_mbox.c
2343
scp->result = DID_ERROR << 16 |
drivers/scsi/megaraid/megaraid_mbox.c
2347
scp->result = DID_BAD_TARGET << 16 | status;
drivers/scsi/megaraid/megaraid_mbox.c
2356
scsi_dma_unmap(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2365
scsi_done(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2380
megaraid_abort_handler(struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
2391
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2396
scp->cmnd[0], SCP2CHANNEL(scp),
drivers/scsi/megaraid/megaraid_mbox.c
2397
SCP2TARGET(scp), SCP2LUN(scp)));
drivers/scsi/megaraid/megaraid_mbox.c
2414
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2422
scp->result = (DID_ABORT << 16);
drivers/scsi/megaraid/megaraid_mbox.c
2423
scsi_done(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2442
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2452
scp->result = (DID_ABORT << 16);
drivers/scsi/megaraid/megaraid_mbox.c
2453
scsi_done(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2475
if (scb->scp == scp) {
drivers/scsi/megaraid/megaraid_mbox.c
2518
megaraid_reset_handler(struct scsi_cmnd *scp)
drivers/scsi/megaraid/megaraid_mbox.c
2531
adapter = SCP2ADAPTER(scp);
drivers/scsi/megaraid/megaraid_mbox.c
2562
if (scb->scp == scp) { // Found command
drivers/scsi/megaraid/megaraid_mbox.c
2572
scb->scp->result = (DID_RESET << 16);
drivers/scsi/megaraid/megaraid_mbox.c
2573
scsi_done(scb->scp);
drivers/scsi/megaraid/megaraid_mbox.c
3309
struct scsi_cmnd *scp;
drivers/scsi/megaraid/megaraid_mbox.c
3316
scp = scb->scp;
drivers/scsi/megaraid/megaraid_mbox.c
3329
if (!scp) return;
drivers/scsi/megaraid/megaraid_mbox.c
3333
for (i = 0; i < scp->cmd_len; i++) {
drivers/scsi/megaraid/megaraid_mbox.c
3334
con_log(level, ("%#2.02x ", scp->cmnd[i]));
drivers/scsi/megaraid/megaraid_mbox.c
3444
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_mbox.c
3694
scb->scp = NULL;
drivers/scsi/megaraid/megaraid_sas.h
2568
#define MEGASAS_DEV_INDEX(scp) \
drivers/scsi/megaraid/megaraid_sas.h
2569
(((scp->device->channel % 2) * MEGASAS_MAX_DEV_PER_CHANNEL) + \
drivers/scsi/megaraid/megaraid_sas.h
2570
scp->device->id)
drivers/scsi/megaraid/megaraid_sas.h
2572
#define MEGASAS_PD_INDEX(scp) \
drivers/scsi/megaraid/megaraid_sas.h
2573
((scp->device->channel * MEGASAS_MAX_DEV_PER_CHANNEL) + \
drivers/scsi/megaraid/megaraid_sas.h
2574
scp->device->id)
drivers/scsi/megaraid/megaraid_sas_base.c
1261
megasas_make_sgl32(struct megasas_instance *instance, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1268
sge_count = scsi_dma_map(scp);
drivers/scsi/megaraid/megaraid_sas_base.c
1272
scsi_for_each_sg(scp, os_sgl, sge_count, i) {
drivers/scsi/megaraid/megaraid_sas_base.c
1290
megasas_make_sgl64(struct megasas_instance *instance, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1297
sge_count = scsi_dma_map(scp);
drivers/scsi/megaraid/megaraid_sas_base.c
1301
scsi_for_each_sg(scp, os_sgl, sge_count, i) {
drivers/scsi/megaraid/megaraid_sas_base.c
1320
struct scsi_cmnd *scp, union megasas_sgl *mfi_sgl)
drivers/scsi/megaraid/megaraid_sas_base.c
1326
sge_count = scsi_dma_map(scp);
drivers/scsi/megaraid/megaraid_sas_base.c
1329
scsi_for_each_sg(scp, os_sgl, sge_count, i) {
drivers/scsi/megaraid/megaraid_sas_base.c
1409
megasas_build_dcdb(struct megasas_instance *instance, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1417
is_logical = MEGASAS_IS_LOGICAL(scp->device);
drivers/scsi/megaraid/megaraid_sas_base.c
1418
device_id = MEGASAS_DEV_INDEX(scp);
drivers/scsi/megaraid/megaraid_sas_base.c
1421
if (scp->sc_data_direction == DMA_TO_DEVICE)
drivers/scsi/megaraid/megaraid_sas_base.c
1423
else if (scp->sc_data_direction == DMA_FROM_DEVICE)
drivers/scsi/megaraid/megaraid_sas_base.c
1425
else if (scp->sc_data_direction == DMA_NONE)
drivers/scsi/megaraid/megaraid_sas_base.c
1439
pthru->lun = scp->device->lun;
drivers/scsi/megaraid/megaraid_sas_base.c
1440
pthru->cdb_len = scp->cmd_len;
drivers/scsi/megaraid/megaraid_sas_base.c
1444
pthru->data_xfer_len = cpu_to_le32(scsi_bufflen(scp));
drivers/scsi/megaraid/megaraid_sas_base.c
1446
memcpy(pthru->cdb, scp->cmnd, scp->cmd_len);
drivers/scsi/megaraid/megaraid_sas_base.c
1452
if (scp->device->type == TYPE_TAPE) {
drivers/scsi/megaraid/megaraid_sas_base.c
1453
if (scsi_cmd_to_rq(scp)->timeout / HZ > 0xFFFF)
drivers/scsi/megaraid/megaraid_sas_base.c
1456
pthru->timeout = cpu_to_le16(scsi_cmd_to_rq(scp)->timeout / HZ);
drivers/scsi/megaraid/megaraid_sas_base.c
1464
pthru->sge_count = megasas_make_sgl_skinny(instance, scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1468
pthru->sge_count = megasas_make_sgl64(instance, scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1471
pthru->sge_count = megasas_make_sgl32(instance, scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1508
megasas_build_ldio(struct megasas_instance *instance, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1512
u8 sc = scp->cmnd[0];
drivers/scsi/megaraid/megaraid_sas_base.c
1516
device_id = MEGASAS_DEV_INDEX(scp);
drivers/scsi/megaraid/megaraid_sas_base.c
1519
if (scp->sc_data_direction == DMA_TO_DEVICE)
drivers/scsi/megaraid/megaraid_sas_base.c
1521
else if (scp->sc_data_direction == DMA_FROM_DEVICE)
drivers/scsi/megaraid/megaraid_sas_base.c
1540
ldio->access_byte = (scp->cmd_len != 6) ? scp->cmnd[1] : 0;
drivers/scsi/megaraid/megaraid_sas_base.c
1545
if (scp->cmd_len == 6) {
drivers/scsi/megaraid/megaraid_sas_base.c
1546
ldio->lba_count = cpu_to_le32((u32) scp->cmnd[4]);
drivers/scsi/megaraid/megaraid_sas_base.c
1547
ldio->start_lba_lo = cpu_to_le32(((u32) scp->cmnd[1] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1548
((u32) scp->cmnd[2] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1549
(u32) scp->cmnd[3]);
drivers/scsi/megaraid/megaraid_sas_base.c
1557
else if (scp->cmd_len == 10) {
drivers/scsi/megaraid/megaraid_sas_base.c
1558
ldio->lba_count = cpu_to_le32((u32) scp->cmnd[8] |
drivers/scsi/megaraid/megaraid_sas_base.c
1559
((u32) scp->cmnd[7] << 8));
drivers/scsi/megaraid/megaraid_sas_base.c
1560
ldio->start_lba_lo = cpu_to_le32(((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1561
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1562
((u32) scp->cmnd[4] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1563
(u32) scp->cmnd[5]);
drivers/scsi/megaraid/megaraid_sas_base.c
1569
else if (scp->cmd_len == 12) {
drivers/scsi/megaraid/megaraid_sas_base.c
1570
ldio->lba_count = cpu_to_le32(((u32) scp->cmnd[6] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1571
((u32) scp->cmnd[7] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1572
((u32) scp->cmnd[8] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1573
(u32) scp->cmnd[9]);
drivers/scsi/megaraid/megaraid_sas_base.c
1575
ldio->start_lba_lo = cpu_to_le32(((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1576
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1577
((u32) scp->cmnd[4] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1578
(u32) scp->cmnd[5]);
drivers/scsi/megaraid/megaraid_sas_base.c
1584
else if (scp->cmd_len == 16) {
drivers/scsi/megaraid/megaraid_sas_base.c
1585
ldio->lba_count = cpu_to_le32(((u32) scp->cmnd[10] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1586
((u32) scp->cmnd[11] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1587
((u32) scp->cmnd[12] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1588
(u32) scp->cmnd[13]);
drivers/scsi/megaraid/megaraid_sas_base.c
1590
ldio->start_lba_lo = cpu_to_le32(((u32) scp->cmnd[6] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1591
((u32) scp->cmnd[7] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1592
((u32) scp->cmnd[8] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1593
(u32) scp->cmnd[9]);
drivers/scsi/megaraid/megaraid_sas_base.c
1595
ldio->start_lba_hi = cpu_to_le32(((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_base.c
1596
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_base.c
1597
((u32) scp->cmnd[4] << 8) |
drivers/scsi/megaraid/megaraid_sas_base.c
1598
(u32) scp->cmnd[5]);
drivers/scsi/megaraid/megaraid_sas_base.c
1607
ldio->sge_count = megasas_make_sgl_skinny(instance, scp,
drivers/scsi/megaraid/megaraid_sas_base.c
1611
ldio->sge_count = megasas_make_sgl64(instance, scp, &ldio->sgl);
drivers/scsi/megaraid/megaraid_sas_base.c
1613
ldio->sge_count = megasas_make_sgl32(instance, scp, &ldio->sgl);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2272
struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2288
scsi_for_each_sg(scp, os_sgl, sge_count, i) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2348
int megasas_make_sgl(struct megasas_instance *instance, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2355
sge_count = scsi_dma_map(scp);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2364
build_prp = megasas_make_prp_nvme(instance, scp, sgl_chain64,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2368
megasas_make_sgl_fusion(instance, scp, sgl_chain64,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2387
struct IO_REQUEST_INFO *io_info, struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2405
if (scp->sc_data_direction == DMA_FROM_DEVICE)
drivers/scsi/megaraid/megaraid_sas_fusion.c
2434
if (scp->sc_data_direction == DMA_FROM_DEVICE) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2448
io_request->EEDPBlockSize = cpu_to_le32(scp->device->sector_size);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2728
struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2746
device_id = MEGASAS_DEV_INDEX(scp);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2765
if (scp->cmd_len == 6) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2766
datalength = (u32) scp->cmnd[4];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2767
start_lba_lo = ((u32) scp->cmnd[1] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2768
((u32) scp->cmnd[2] << 8) | (u32) scp->cmnd[3];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2776
else if (scp->cmd_len == 10) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2777
datalength = (u32) scp->cmnd[8] |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2778
((u32) scp->cmnd[7] << 8);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2779
start_lba_lo = ((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2780
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2781
((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2787
else if (scp->cmd_len == 12) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2788
datalength = ((u32) scp->cmnd[6] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2789
((u32) scp->cmnd[7] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2790
((u32) scp->cmnd[8] << 8) | (u32) scp->cmnd[9];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2791
start_lba_lo = ((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2792
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2793
((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2799
else if (scp->cmd_len == 16) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
2800
datalength = ((u32) scp->cmnd[10] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2801
((u32) scp->cmnd[11] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2802
((u32) scp->cmnd[12] << 8) | (u32) scp->cmnd[13];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2803
start_lba_lo = ((u32) scp->cmnd[6] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2804
((u32) scp->cmnd[7] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2805
((u32) scp->cmnd[8] << 8) | (u32) scp->cmnd[9];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2807
start_lba_hi = ((u32) scp->cmnd[2] << 24) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2808
((u32) scp->cmnd[3] << 16) |
drivers/scsi/megaraid/megaraid_sas_fusion.c
2809
((u32) scp->cmnd[4] << 8) | (u32) scp->cmnd[5];
drivers/scsi/megaraid/megaraid_sas_fusion.c
2817
scsi_buff_len = scsi_bufflen(scp);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2821
if (scp->sc_data_direction == DMA_FROM_DEVICE)
drivers/scsi/megaraid/megaraid_sas_fusion.c
2839
megasas_get_msix_index(instance, scp, cmd, io_info.data_arms);
drivers/scsi/megaraid/megaraid_sas_fusion.c
2851
mrdev_priv = scp->device->hostdata;
drivers/scsi/megaraid/megaraid_sas_fusion.c
2893
megasas_set_pd_lba(io_request, scp->cmd_len, &io_info, scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
2920
megasas_priv(scp)->status |= MEGASAS_LOAD_BALANCE_FLAG;
drivers/scsi/megaraid/megaraid_sas_fusion.c
2928
megasas_priv(scp)->status &= ~MEGASAS_LOAD_BALANCE_FLAG;
drivers/scsi/megaraid/megaraid_sas_fusion.c
3202
struct scsi_cmnd *scp,
drivers/scsi/megaraid/megaraid_sas_fusion.c
3210
mr_device_priv_data = scp->device->hostdata;
drivers/scsi/megaraid/megaraid_sas_fusion.c
3224
memcpy(io_request->CDB.CDB32, scp->cmnd, scp->cmd_len);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3229
io_request->IoFlags = cpu_to_le16(scp->cmd_len);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3231
switch (megasas_cmd_type(scp)) {
drivers/scsi/megaraid/megaraid_sas_fusion.c
3233
megasas_build_ldio_fusion(instance, scp, cmd);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3236
megasas_build_ld_nonrw_fusion(instance, scp, cmd);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3239
megasas_build_syspd_fusion(instance, scp, cmd, true);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3242
pd_index = MEGASAS_PD_INDEX(scp);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3248
megasas_build_syspd_fusion(instance, scp, cmd, false);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3250
megasas_build_syspd_fusion(instance, scp, cmd, true);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3260
sge_count = megasas_make_sgl(instance, scp, cmd);
drivers/scsi/megaraid/megaraid_sas_fusion.c
3284
if (scp->sc_data_direction == DMA_TO_DEVICE)
drivers/scsi/megaraid/megaraid_sas_fusion.c
3286
else if (scp->sc_data_direction == DMA_FROM_DEVICE)
drivers/scsi/megaraid/megaraid_sas_fusion.c
3296
cmd->scmd = scp;
drivers/scsi/megaraid/megaraid_sas_fusion.c
3297
megasas_priv(scp)->cmd_priv = cmd;
drivers/scsi/pcmcia/sym53c500_cs.c
360
struct sym53c500_cmd_priv *scp = scsi_cmd_priv(curSC);
drivers/scsi/pcmcia/sym53c500_cs.c
407
if (scp->phase != message_in) { /* Unexpected disconnect */
drivers/scsi/pcmcia/sym53c500_cs.c
410
curSC->result = (scp->status & 0xff) |
drivers/scsi/pcmcia/sym53c500_cs.c
411
((scp->message & 0xff) << 8) | (DID_OK << 16);
drivers/scsi/pcmcia/sym53c500_cs.c
422
scp->phase = data_out;
drivers/scsi/pcmcia/sym53c500_cs.c
441
scp->phase = data_in;
drivers/scsi/pcmcia/sym53c500_cs.c
456
scp->phase = command_ph;
drivers/scsi/pcmcia/sym53c500_cs.c
461
scp->phase = status_ph;
drivers/scsi/pcmcia/sym53c500_cs.c
474
scp->phase = message_out;
drivers/scsi/pcmcia/sym53c500_cs.c
481
scp->phase = message_in;
drivers/scsi/pcmcia/sym53c500_cs.c
483
scp->status = inb(port_base + SCSI_FIFO);
drivers/scsi/pcmcia/sym53c500_cs.c
484
scp->message = inb(port_base + SCSI_FIFO);
drivers/scsi/pcmcia/sym53c500_cs.c
487
DEB(printk("Status = %02x Message = %02x\n", scp->status, scp->message));
drivers/scsi/pcmcia/sym53c500_cs.c
489
if (scp->message == SAVE_POINTERS || scp->message == DISCONNECT) {
drivers/scsi/pcmcia/sym53c500_cs.c
501
scp->phase = idle;
drivers/scsi/pcmcia/sym53c500_cs.c
549
struct sym53c500_cmd_priv *scp = scsi_cmd_priv(SCpnt);
drivers/scsi/pcmcia/sym53c500_cs.c
566
scp->phase = command_ph;
drivers/scsi/pcmcia/sym53c500_cs.c
567
scp->status = 0;
drivers/scsi/pcmcia/sym53c500_cs.c
568
scp->message = 0;
drivers/scsi/pm8001/pm8001_hwi.c
3445
u32 tag, scp;
drivers/scsi/pm8001/pm8001_hwi.c
3455
scp = le32_to_cpu(pPayload->scp);
drivers/scsi/pm8001/pm8001_hwi.c
3471
status, tag, scp);
drivers/scsi/pm8001/pm8001_hwi.h
446
__le32 scp;
drivers/scsi/pm8001/pm80xx_hwi.h
684
__le32 scp;
drivers/scsi/scsi_debug.c
1364
static void mk_sense_invalid_fld(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
1372
sbuff = scp->sense_buffer;
drivers/scsi/scsi_debug.c
1374
sdev_printk(KERN_ERR, scp->device, "sense_buffer is NULL\n");
drivers/scsi/scsi_debug.c
1379
scsi_build_sense(scp, sdebug_dsense, ILLEGAL_REQUEST, asc, 0);
drivers/scsi/scsi_debug.c
1398
sdev_printk(KERN_INFO, scp->device, "%s: [sense_key,asc,ascq"
drivers/scsi/scsi_debug.c
1403
static void mk_sense_buffer(struct scsi_cmnd *scp, int key, int asc, int asq)
drivers/scsi/scsi_debug.c
1405
if (!scp->sense_buffer) {
drivers/scsi/scsi_debug.c
1406
sdev_printk(KERN_ERR, scp->device, "sense_buffer is NULL\n");
drivers/scsi/scsi_debug.c
1409
memset(scp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
drivers/scsi/scsi_debug.c
1411
scsi_build_sense(scp, sdebug_dsense, key, asc, asq);
drivers/scsi/scsi_debug.c
1414
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
1420
static void mk_sense_info_tape(struct scsi_cmnd *scp, int key, int asc, int asq,
drivers/scsi/scsi_debug.c
1423
if (!scp->sense_buffer) {
drivers/scsi/scsi_debug.c
1424
sdev_printk(KERN_ERR, scp->device, "sense_buffer is NULL\n");
drivers/scsi/scsi_debug.c
1427
memset(scp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE);
drivers/scsi/scsi_debug.c
1429
scsi_build_sense(scp, /* sdebug_dsense */ 0, key, asc, asq);
drivers/scsi/scsi_debug.c
1432
scp->sense_buffer[0] |= 0x80; /* valid */
drivers/scsi/scsi_debug.c
1433
scp->sense_buffer[2] |= tape_flags;
drivers/scsi/scsi_debug.c
1434
put_unaligned_be32(information, &scp->sense_buffer[3]);
drivers/scsi/scsi_debug.c
1437
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
1442
static void mk_sense_invalid_opcode(struct scsi_cmnd *scp)
drivers/scsi/scsi_debug.c
1444
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_OPCODE, 0);
drivers/scsi/scsi_debug.c
1531
static int make_ua(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
1541
mk_sense_buffer(scp, UNIT_ATTENTION, UA_RESET_ASC,
drivers/scsi/scsi_debug.c
1547
mk_sense_buffer(scp, UNIT_ATTENTION, UA_RESET_ASC,
drivers/scsi/scsi_debug.c
1553
mk_sense_buffer(scp, UNIT_ATTENTION, UA_RESET_ASC,
drivers/scsi/scsi_debug.c
1559
mk_sense_buffer(scp, UNIT_ATTENTION, UA_CHANGED_ASC,
drivers/scsi/scsi_debug.c
1565
mk_sense_buffer(scp, UNIT_ATTENTION, UA_CHANGED_ASC,
drivers/scsi/scsi_debug.c
1571
mk_sense_buffer(scp, UNIT_ATTENTION,
drivers/scsi/scsi_debug.c
1578
mk_sense_buffer(scp, UNIT_ATTENTION,
drivers/scsi/scsi_debug.c
1595
mk_sense_buffer(scp, UNIT_ATTENTION,
drivers/scsi/scsi_debug.c
1602
mk_sense_buffer(scp, UNIT_ATTENTION, UA_READY_ASC,
drivers/scsi/scsi_debug.c
1615
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
1624
static int fill_from_dev_buffer(struct scsi_cmnd *scp, unsigned char *arr,
drivers/scsi/scsi_debug.c
1628
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
1632
if (scp->sc_data_direction != DMA_FROM_DEVICE)
drivers/scsi/scsi_debug.c
1637
scsi_set_resid(scp, scsi_bufflen(scp) - act_len);
drivers/scsi/scsi_debug.c
1647
static int p_fill_from_dev_buffer(struct scsi_cmnd *scp, const void *arr,
drivers/scsi/scsi_debug.c
1651
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
1656
if (scp->sc_data_direction != DMA_FROM_DEVICE)
drivers/scsi/scsi_debug.c
1662
off_dst, scsi_bufflen(scp), act_len,
drivers/scsi/scsi_debug.c
1663
scsi_get_resid(scp));
drivers/scsi/scsi_debug.c
1664
n = scsi_bufflen(scp) - (off_dst + act_len);
drivers/scsi/scsi_debug.c
1665
scsi_set_resid(scp, min_t(u32, scsi_get_resid(scp), n));
drivers/scsi/scsi_debug.c
1672
static int fetch_to_dev_buffer(struct scsi_cmnd *scp, unsigned char *arr,
drivers/scsi/scsi_debug.c
1675
if (!scsi_bufflen(scp))
drivers/scsi/scsi_debug.c
1677
if (scp->sc_data_direction != DMA_TO_DEVICE)
drivers/scsi/scsi_debug.c
1680
return scsi_sg_copy_to_buffer(scp, arr, arr_len);
drivers/scsi/scsi_debug.c
2056
static int resp_inquiry(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
2060
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2069
if (scp->device->type >= 32) {
drivers/scsi/scsi_debug.c
2073
is_disk = (scp->device->type == TYPE_DISK);
drivers/scsi/scsi_debug.c
2074
is_tape = (scp->device->type == TYPE_TAPE);
drivers/scsi/scsi_debug.c
2078
have_wlun = scsi_is_wlun(scp->device->lun);
drivers/scsi/scsi_debug.c
2084
pq_pdt = ((scp->device->type >= 32 ?
drivers/scsi/scsi_debug.c
2085
sdebug_ptype : scp->device->type) & 0x1f);
drivers/scsi/scsi_debug.c
2088
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 1);
drivers/scsi/scsi_debug.c
2175
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, -1);
drivers/scsi/scsi_debug.c
2180
ret = fill_from_dev_buffer(scp, arr,
drivers/scsi/scsi_debug.c
2216
ret = fill_from_dev_buffer(scp, arr,
drivers/scsi/scsi_debug.c
2226
static int resp_requests(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2229
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2277
return fill_from_dev_buffer(scp, arr, min_t(u32, len, alloc_len));
drivers/scsi/scsi_debug.c
2280
static int resp_start_stop(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
2282
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2288
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 4, 7);
drivers/scsi/scsi_debug.c
2309
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 4, 0 /* START bit */);
drivers/scsi/scsi_debug.c
2317
if (scp->device->type == TYPE_TAPE && !want_stop) {
drivers/scsi/scsi_debug.c
2343
static int resp_readcap(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2358
return fill_from_dev_buffer(scp, arr, SDEBUG_READCAP_ARR_SZ);
drivers/scsi/scsi_debug.c
2362
static int resp_readcap16(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2365
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2402
return fill_from_dev_buffer(scp, arr,
drivers/scsi/scsi_debug.c
2408
static int resp_report_tgtpgs(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2411
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2479
ret = fill_from_dev_buffer(scp, arr,
drivers/scsi/scsi_debug.c
2485
static int resp_rsup_opcodes(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2496
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2497
u32 devsel = sdebug_get_devsel(scp->device);
drivers/scsi/scsi_debug.c
2505
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 6, -1);
drivers/scsi/scsi_debug.c
2514
mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
2572
mk_sense_invalid_fld(scp, SDEB_IN_CDB,
drivers/scsi/scsi_debug.c
2580
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 4, -1);
drivers/scsi/scsi_debug.c
2626
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 2);
drivers/scsi/scsi_debug.c
2632
errsts = fill_from_dev_buffer(scp, arr, len);
drivers/scsi/scsi_debug.c
2637
static int resp_rsup_tmfs(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2643
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2649
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 6, -1);
drivers/scsi/scsi_debug.c
2661
return fill_from_dev_buffer(scp, arr, len);
drivers/scsi/scsi_debug.c
2951
static int resp_mode_sense(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
2958
int target = scp->device->id;
drivers/scsi/scsi_debug.c
2960
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
2973
is_disk = (scp->device->type == TYPE_DISK);
drivers/scsi/scsi_debug.c
2975
is_tape = (scp->device->type == TYPE_TAPE);
drivers/scsi/scsi_debug.c
2982
mk_sense_buffer(scp, ILLEGAL_REQUEST, SAVING_PARAMS_UNSUP, 0);
drivers/scsi/scsi_debug.c
3023
mk_sense_invalid_fld(scp, SDEB_IN_DATA, 1, 4);
drivers/scsi/scsi_debug.c
3150
return fill_from_dev_buffer(scp, arr, min_t(u32, alloc_len, offset));
drivers/scsi/scsi_debug.c
3153
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 5);
drivers/scsi/scsi_debug.c
3157
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 3, -1);
drivers/scsi/scsi_debug.c
3163
static int resp_mode_select(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3169
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3177
mk_sense_invalid_fld(scp, SDEB_IN_CDB, mselect6 ? 4 : 7, -1);
drivers/scsi/scsi_debug.c
3180
res = fetch_to_dev_buffer(scp, arr, param_len);
drivers/scsi/scsi_debug.c
3184
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
3190
if (scp->device->type == TYPE_TAPE) {
drivers/scsi/scsi_debug.c
3194
mk_sense_invalid_fld(scp, SDEB_IN_DATA,
drivers/scsi/scsi_debug.c
3199
mk_sense_invalid_fld(scp, SDEB_IN_DATA, 0, -1);
drivers/scsi/scsi_debug.c
3207
mk_sense_invalid_fld(scp, SDEB_IN_DATA, 1, -1);
drivers/scsi/scsi_debug.c
3217
mk_sense_invalid_fld(scp, SDEB_IN_DATA, 0, -1);
drivers/scsi/scsi_debug.c
3223
mk_sense_invalid_fld(scp, SDEB_IN_DATA, off, 7);
drivers/scsi/scsi_debug.c
3230
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3255
if (scp->device->type != TYPE_TAPE)
drivers/scsi/scsi_debug.c
3263
if (scp->device->type == TYPE_TAPE) {
drivers/scsi/scsi_debug.c
3269
mk_sense_invalid_fld(scp, SDEB_IN_DATA, fld, -1);
drivers/scsi/scsi_debug.c
3283
mk_sense_invalid_fld(scp, SDEB_IN_DATA, off, 5);
drivers/scsi/scsi_debug.c
3290
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 5);
drivers/scsi/scsi_debug.c
3334
static int resp_log_sense(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3340
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3346
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, ppc ? 1 : 0);
drivers/scsi/scsi_debug.c
3369
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 5);
drivers/scsi/scsi_debug.c
3413
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 5);
drivers/scsi/scsi_debug.c
3422
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 5);
drivers/scsi/scsi_debug.c
3426
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 3, -1);
drivers/scsi/scsi_debug.c
3430
return fill_from_dev_buffer(scp, arr,
drivers/scsi/scsi_debug.c
3435
static int resp_read_blklimits(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3443
return fill_from_dev_buffer(scp, arr, SDEBUG_READ_BLOCK_LIMITS_ARR_SZ);
drivers/scsi/scsi_debug.c
3446
static int resp_locate(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3449
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3456
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 8, -1);
drivers/scsi/scsi_debug.c
3470
mk_sense_buffer(scp, BLANK_CHECK, 0x05, 0);
drivers/scsi/scsi_debug.c
3478
static int resp_write_filemarks(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3481
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3487
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 1);
drivers/scsi/scsi_debug.c
3495
mk_sense_info_tape(scp, VOLUME_OVERFLOW, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
3508
static int resp_space(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3511
unsigned char *cmd = scp->cmnd, code;
drivers/scsi/scsi_debug.c
3589
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 8, -1);
drivers/scsi/scsi_debug.c
3597
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
3604
mk_sense_info_tape(scp, BLANK_CHECK, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
3611
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
3619
mk_sense_info_tape(scp, MEDIUM_ERROR, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
3626
static int resp_read_position(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3629
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3637
mk_sense_invalid_fld(scp, SDEB_IN_CDB,
drivers/scsi/scsi_debug.c
3646
return fill_from_dev_buffer(scp, arr, SDEBUG_READ_POSITION_ARR_SZ);
drivers/scsi/scsi_debug.c
3649
static int resp_rewind(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3684
static int resp_format_medium(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3688
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
3691
mk_sense_invalid_fld(scp, SDEB_IN_DATA, 2, -1);
drivers/scsi/scsi_debug.c
3713
static int resp_erase(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3897
static int check_zbc_access_params(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
3900
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
3908
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3918
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE,
drivers/scsi/scsi_debug.c
3926
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3937
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3944
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3950
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
3961
mk_sense_buffer(scp, DATA_PROTECT,
drivers/scsi/scsi_debug.c
3973
(struct scsi_cmnd *scp, unsigned long long lba,
drivers/scsi/scsi_debug.c
3976
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
3980
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
3986
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
3990
mk_sense_buffer(scp, DATA_PROTECT, WRITE_PROTECTED, 0x2);
drivers/scsi/scsi_debug.c
3994
return check_zbc_access_params(scp, lba, num, write);
drivers/scsi/scsi_debug.c
4230
static int do_device_access(struct sdeb_store_info *sip, struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
4237
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
4257
if (scp->sc_data_direction != dir)
drivers/scsi/scsi_debug.c
4289
static int do_dout_fetch(struct scsi_cmnd *scp, u32 num, u8 *doutp)
drivers/scsi/scsi_debug.c
4291
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
4295
if (scp->sc_data_direction != DMA_TO_DEVICE)
drivers/scsi/scsi_debug.c
4373
static void dif_copy_prot(struct scsi_cmnd *scp, sector_t sector,
drivers/scsi/scsi_debug.c
4379
scp->device->hostdata, true);
drivers/scsi/scsi_debug.c
4387
sg_miter_start(&miter, scsi_prot_sglist(scp),
drivers/scsi/scsi_debug.c
4388
scsi_prot_sg_count(scp), SG_MITER_ATOMIC |
drivers/scsi/scsi_debug.c
4419
static int prot_verify_read(struct scsi_cmnd *scp, sector_t start_sec,
drivers/scsi/scsi_debug.c
4426
scp->device->hostdata, true);
drivers/scsi/scsi_debug.c
4443
if (scp->cmnd[1] >> 5) { /* RDPROTECT */
drivers/scsi/scsi_debug.c
4453
dif_copy_prot(scp, start_sec, sectors, true);
drivers/scsi/scsi_debug.c
4459
static int resp_read_tape(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
4462
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
4463
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
4470
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
4476
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 1);
drivers/scsi/scsi_debug.c
4487
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, -1);
drivers/scsi/scsi_debug.c
4499
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
4502
scsi_set_resid(scp, (num - i) * size);
drivers/scsi/scsi_debug.c
4507
mk_sense_info_tape(scp, BLANK_CHECK, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
4511
scsi_set_resid(scp, (num - i) * size);
drivers/scsi/scsi_debug.c
4520
scsi_set_resid(scp, (num - i) * size);
drivers/scsi/scsi_debug.c
4521
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
4529
scsi_set_resid(scp, size - blp->fl_size);
drivers/scsi/scsi_debug.c
4531
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
4540
mk_sense_info_tape(scp, NO_SENSE, NO_ADDITIONAL_SENSE,
drivers/scsi/scsi_debug.c
4551
static int resp_read_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
4559
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
4604
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
4610
sdev_printk(KERN_ERR, scp->device, "Unprotected RD "
drivers/scsi/scsi_debug.c
4623
ret = check_device_access_params(scp, lba, num, false);
drivers/scsi/scsi_debug.c
4630
mk_sense_buffer(scp, MEDIUM_ERROR, UNRECOVERED_READ_ERR, 0);
drivers/scsi/scsi_debug.c
4632
if (0x70 == (scp->sense_buffer[0] & 0x7f)) {
drivers/scsi/scsi_debug.c
4633
scp->sense_buffer[0] |= 0x80; /* Valid bit */
drivers/scsi/scsi_debug.c
4636
put_unaligned_be32(ret, scp->sense_buffer + 3);
drivers/scsi/scsi_debug.c
4638
scsi_set_resid(scp, scsi_bufflen(scp));
drivers/scsi/scsi_debug.c
4643
(sdebug_dix && scsi_prot_sg_count(scp))) {
drivers/scsi/scsi_debug.c
4649
if (unlikely(sdebug_dix && scsi_prot_sg_count(scp))) {
drivers/scsi/scsi_debug.c
4650
switch (prot_verify_read(scp, lba, num, ei_lba)) {
drivers/scsi/scsi_debug.c
4654
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 1);
drivers/scsi/scsi_debug.c
4656
} else if (scp->prot_flags & SCSI_PROT_GUARD_CHECK) {
drivers/scsi/scsi_debug.c
4658
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 1);
drivers/scsi/scsi_debug.c
4665
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 3);
drivers/scsi/scsi_debug.c
4667
} else if (scp->prot_flags & SCSI_PROT_REF_CHECK) {
drivers/scsi/scsi_debug.c
4669
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 3);
drivers/scsi/scsi_debug.c
4676
ret = do_device_access(sip, scp, 0, lba, num, 0, false, false);
drivers/scsi/scsi_debug.c
4682
scsi_set_resid(scp, scsi_bufflen(scp) - ret);
drivers/scsi/scsi_debug.c
4687
mk_sense_buffer(scp, RECOVERED_ERROR, THRESHOLD_EXCEEDED, 0);
drivers/scsi/scsi_debug.c
4692
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 1);
drivers/scsi/scsi_debug.c
4696
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 1);
drivers/scsi/scsi_debug.c
4858
static int resp_write_tape(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
4861
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
4862
struct scsi_data_buffer *sdb = &scp->sdb;
drivers/scsi/scsi_debug.c
4869
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
4881
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, -1);
drivers/scsi/scsi_debug.c
4888
scsi_set_resid(scp, num * transfer);
drivers/scsi/scsi_debug.c
4895
scsi_set_resid(scp, num * transfer - written);
drivers/scsi/scsi_debug.c
4902
mk_sense_info_tape(scp, VOLUME_OVERFLOW,
drivers/scsi/scsi_debug.c
4909
mk_sense_info_tape(scp, NO_SENSE,
drivers/scsi/scsi_debug.c
4919
static int resp_write_dt0(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
4928
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
4934
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE,
drivers/scsi/scsi_debug.c
4986
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
4992
sdev_printk(KERN_ERR, scp->device, "Unprotected WR "
drivers/scsi/scsi_debug.c
4997
(sdebug_dix && scsi_prot_sg_count(scp)) ||
drivers/scsi/scsi_debug.c
5003
ret = check_device_access_params(scp, lba, num, true);
drivers/scsi/scsi_debug.c
5011
if (unlikely(sdebug_dix && scsi_prot_sg_count(scp))) {
drivers/scsi/scsi_debug.c
5012
switch (prot_verify_write(scp, lba, num, ei_lba)) {
drivers/scsi/scsi_debug.c
5014
if (scp->prot_flags & SCSI_PROT_GUARD_CHECK) {
drivers/scsi/scsi_debug.c
5016
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 1);
drivers/scsi/scsi_debug.c
5018
} else if (scp->cmnd[1] >> 5 != 3) { /* WRPROTECT != 3 */
drivers/scsi/scsi_debug.c
5020
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 1);
drivers/scsi/scsi_debug.c
5025
if (scp->prot_flags & SCSI_PROT_REF_CHECK) {
drivers/scsi/scsi_debug.c
5027
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 3);
drivers/scsi/scsi_debug.c
5029
} else if (scp->cmnd[1] >> 5 != 3) { /* WRPROTECT != 3 */
drivers/scsi/scsi_debug.c
5031
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 3);
drivers/scsi/scsi_debug.c
5038
ret = do_device_access(sip, scp, 0, lba, num, group, true, false);
drivers/scsi/scsi_debug.c
5052
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5059
mk_sense_buffer(scp, RECOVERED_ERROR, THRESHOLD_EXCEEDED, 0);
drivers/scsi/scsi_debug.c
5064
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 1);
drivers/scsi/scsi_debug.c
5068
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 1);
drivers/scsi/scsi_debug.c
5080
static int resp_write_scat(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5083
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5115
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
5121
sdev_printk(KERN_ERR, scp->device,
drivers/scsi/scsi_debug.c
5129
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5131
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
5137
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5139
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
5146
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5149
res = fetch_to_dev_buffer(scp, lrdp, lbdof_blen);
drivers/scsi/scsi_debug.c
5164
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5169
ret = check_device_access_params(scp, lba, num, true);
drivers/scsi/scsi_debug.c
5177
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5180
mk_sense_buffer(scp, ILLEGAL_REQUEST, WRITE_ERROR_ASC,
drivers/scsi/scsi_debug.c
5187
if (unlikely(sdebug_dix && scsi_prot_sg_count(scp))) {
drivers/scsi/scsi_debug.c
5188
int prot_ret = prot_verify_write(scp, lba, num,
drivers/scsi/scsi_debug.c
5192
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10,
drivers/scsi/scsi_debug.c
5203
ret = do_device_access(sip, scp, sg_off, lba, num, group, true, true);
drivers/scsi/scsi_debug.c
5213
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5220
mk_sense_buffer(scp, RECOVERED_ERROR, THRESHOLD_EXCEEDED, 0);
drivers/scsi/scsi_debug.c
5226
mk_sense_buffer(scp, ABORTED_COMMAND, 0x10, 1);
drivers/scsi/scsi_debug.c
5231
mk_sense_buffer(scp, ILLEGAL_REQUEST, 0x10, 1);
drivers/scsi/scsi_debug.c
5248
static int resp_write_same(struct scsi_cmnd *scp, u64 lba, u32 num,
drivers/scsi/scsi_debug.c
5251
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
5258
scp->device->hostdata, true);
drivers/scsi/scsi_debug.c
5268
ret = check_device_access_params(scp, lba, num, true);
drivers/scsi/scsi_debug.c
5286
ret = fetch_to_dev_buffer(scp, fs1p, lb_size);
drivers/scsi/scsi_debug.c
5292
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5315
static int resp_write_same_10(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5318
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5326
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 3);
drivers/scsi/scsi_debug.c
5334
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 7, -1);
drivers/scsi/scsi_debug.c
5337
return resp_write_same(scp, lba, num, ei_lba, unmap, false);
drivers/scsi/scsi_debug.c
5340
static int resp_write_same_16(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5343
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5352
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 3);
drivers/scsi/scsi_debug.c
5362
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 10, -1);
drivers/scsi/scsi_debug.c
5365
return resp_write_same(scp, lba, num, ei_lba, unmap, ndob);
drivers/scsi/scsi_debug.c
5371
static int resp_write_buffer(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5374
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5375
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
5417
static int resp_comp_write(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5420
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5436
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
5442
sdev_printk(KERN_ERR, scp->device, "Unprotected WR "
drivers/scsi/scsi_debug.c
5444
ret = check_device_access_params(scp, lba, num, false);
drivers/scsi/scsi_debug.c
5450
mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
5455
ret = do_dout_fetch(scp, dnum, arr);
drivers/scsi/scsi_debug.c
5460
sdev_printk(KERN_INFO, scp->device, "%s: compare_write: cdb "
drivers/scsi/scsi_debug.c
5467
mk_sense_buffer(scp, MISCOMPARE, MISCOMPARE_VERIFY_ASC, 0);
drivers/scsi/scsi_debug.c
5489
static int resp_unmap(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
5499
payload_len = get_unaligned_be16(scp->cmnd + 7);
drivers/scsi/scsi_debug.c
5500
BUG_ON(scsi_bufflen(scp) != payload_len);
drivers/scsi/scsi_debug.c
5504
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 7, -1);
drivers/scsi/scsi_debug.c
5508
buf = kzalloc(scsi_bufflen(scp), GFP_ATOMIC);
drivers/scsi/scsi_debug.c
5510
mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
5515
scsi_sg_copy_to_buffer(scp, buf, scsi_bufflen(scp));
drivers/scsi/scsi_debug.c
5528
ret = check_device_access_params(scp, lba, num, true);
drivers/scsi/scsi_debug.c
5546
static int resp_get_lba_status(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5549
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5561
ret = check_device_access_params(scp, lba, 1, false);
drivers/scsi/scsi_debug.c
5585
return fill_from_dev_buffer(scp, arr, SDEBUG_GET_LBA_STATUS_LEN);
drivers/scsi/scsi_debug.c
5588
static int resp_get_stream_status(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5592
const u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5601
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 10, -1);
drivers/scsi/scsi_debug.c
5606
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 4, -1);
drivers/scsi/scsi_debug.c
5630
return fill_from_dev_buffer(scp, arr, min(offset, alloc_len));
drivers/scsi/scsi_debug.c
5633
static int resp_sync_cache(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5639
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5649
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
5668
static int resp_pre_fetch(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5675
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5687
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
5721
static int resp_report_luns(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5724
unsigned char *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5745
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 6, -1);
drivers/scsi/scsi_debug.c
5767
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, -1);
drivers/scsi/scsi_debug.c
5776
scsi_set_resid(scp, scsi_bufflen(scp));
drivers/scsi/scsi_debug.c
5800
res = p_fill_from_dev_buffer(scp, arr, n, off_rsp);
drivers/scsi/scsi_debug.c
5810
res = p_fill_from_dev_buffer(scp, arr, j * sz_lun, off_rsp);
drivers/scsi/scsi_debug.c
5814
static int resp_verify(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
5823
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5830
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 2, 2);
drivers/scsi/scsi_debug.c
5845
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
5852
ret = check_device_access_params(scp, lba, a_num, false);
drivers/scsi/scsi_debug.c
5858
mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
5865
ret = do_dout_fetch(scp, a_num, arr);
drivers/scsi/scsi_debug.c
5870
sdev_printk(KERN_INFO, scp->device,
drivers/scsi/scsi_debug.c
5880
mk_sense_buffer(scp, MISCOMPARE, MISCOMPARE_VERIFY_ASC, 0);
drivers/scsi/scsi_debug.c
5893
static int resp_report_zones(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
5902
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
5907
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
5918
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
5926
mk_sense_buffer(scp, ILLEGAL_REQUEST, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
5992
mk_sense_buffer(scp, ILLEGAL_REQUEST,
drivers/scsi/scsi_debug.c
6026
ret = fill_from_dev_buffer(scp, arr, min_t(u32, alloc_len, rep_len));
drivers/scsi/scsi_debug.c
6034
static int resp_atomic_write(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
6038
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
6044
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
6058
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6064
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
607
static int resp_get_stream_status(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
6070
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 12, -1);
drivers/scsi/scsi_debug.c
6075
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 12, -1);
drivers/scsi/scsi_debug.c
6080
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 12, -1);
drivers/scsi/scsi_debug.c
6085
ret = do_device_access(sip, scp, 0, lba, len, 0, true, true);
drivers/scsi/scsi_debug.c
6105
static int resp_open_zone(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
6110
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
6116
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
6125
mk_sense_buffer(scp, DATA_PROTECT, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
6138
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
6145
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6150
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6160
mk_sense_buffer(scp, DATA_PROTECT, INSUFF_RES_ASC,
drivers/scsi/scsi_debug.c
6180
static int resp_close_zone(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
6185
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
6191
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
6205
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
6212
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6217
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6252
static int resp_finish_zone(struct scsi_cmnd *scp,
drivers/scsi/scsi_debug.c
6258
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
6263
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
6277
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
6284
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6289
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6333
static int resp_rwp_zone(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
6338
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
6343
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
6356
mk_sense_buffer(scp, ILLEGAL_REQUEST, LBA_OUT_OF_RANGE, 0);
drivers/scsi/scsi_debug.c
6363
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6368
mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_FIELD_IN_CDB, 0);
drivers/scsi/scsi_debug.c
6389
struct scsi_cmnd *scp = (struct scsi_cmnd *)sdsc - 1;
drivers/scsi/scsi_debug.c
6408
blk_abort_request(scsi_cmd_to_rq(scp));
drivers/scsi/scsi_debug.c
6412
scsi_done(scp); /* callback to mid level */
drivers/scsi/scsi_debug.c
9002
static bool fake_timeout(struct scsi_cmnd *scp)
drivers/scsi/scsi_debug.c
9010
scsi_medium_access_command(scp))
drivers/scsi/scsi_debug.c
9017
static int resp_not_ready(struct scsi_cmnd *scp, struct sdebug_dev_info *devip)
drivers/scsi/scsi_debug.c
9022
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
9034
mk_sense_buffer(scp, NOT_READY, LOGICAL_UNIT_NOT_READY, 0x1);
drivers/scsi/scsi_debug.c
9038
if (scp->cmnd[0] == TEST_UNIT_READY) {
drivers/scsi/scsi_debug.c
9047
scsi_set_sense_information(scp->sense_buffer, SCSI_SENSE_BUFFERSIZE,
drivers/scsi/scsi_debug.c
9052
mk_sense_buffer(scp, NOT_READY, LOGICAL_UNIT_NOT_READY, 0x2);
drivers/scsi/scsi_debug.c
9258
static void scsi_debug_abort_cmd(struct Scsi_Host *shost, struct scsi_cmnd *scp)
drivers/scsi/scsi_debug.c
9260
struct sdebug_internal_cmd *internal_cmd = scsi_cmd_priv(scp);
drivers/scsi/scsi_debug.c
9282
set_host_byte(scp, res ? DID_OK : DID_ERROR);
drivers/scsi/scsi_debug.c
9287
struct scsi_cmnd *scp)
drivers/scsi/scsi_debug.c
9289
struct sdebug_internal_cmd *internal_cmd = scsi_cmd_priv(scp);
drivers/scsi/scsi_debug.c
9293
scsi_debug_abort_cmd(shost, scp);
drivers/scsi/scsi_debug.c
9297
set_host_byte(scp, DID_ERROR);
drivers/scsi/scsi_debug.c
9301
scsi_done(scp);
drivers/scsi/scsi_debug.c
9306
struct scsi_cmnd *scp)
drivers/scsi/scsi_debug.c
9309
struct scsi_device *sdp = scp->device;
drivers/scsi/scsi_debug.c
9313
u8 *cmd = scp->cmnd;
drivers/scsi/scsi_debug.c
9322
u32 devsel = sdebug_get_devsel(scp->device);
drivers/scsi/scsi_debug.c
9328
scsi_set_resid(scp, 0);
drivers/scsi/scsi_debug.c
9340
len = scp->cmd_len;
drivers/scsi/scsi_debug.c
9350
blk_mq_unique_tag(scsi_cmd_to_rq(scp)), b);
drivers/scsi/scsi_debug.c
9367
if (sdebug_timeout_cmd(scp)) {
drivers/scsi/scsi_debug.c
9368
scmd_printk(KERN_INFO, scp, "timeout command 0x%x\n", opcode);
drivers/scsi/scsi_debug.c
9372
ret = sdebug_fail_queue_cmd(scp);
drivers/scsi/scsi_debug.c
9374
scmd_printk(KERN_INFO, scp, "fail queue command 0x%x with 0x%x\n",
drivers/scsi/scsi_debug.c
9379
if (sdebug_fail_cmd(scp, &ret, &err)) {
drivers/scsi/scsi_debug.c
9380
scmd_printk(KERN_INFO, scp,
drivers/scsi/scsi_debug.c
9415
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 1, 4);
drivers/scsi/scsi_debug.c
9417
mk_sense_invalid_fld(scp, SDEB_IN_CDB, 8, 7);
drivers/scsi/scsi_debug.c
9419
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
9425
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
9432
mk_sense_invalid_opcode(scp);
drivers/scsi/scsi_debug.c
9446
mk_sense_invalid_fld(scp, SDEB_IN_CDB, k, j);
drivers/scsi/scsi_debug.c
9454
errsts = make_ua(scp, devip);
drivers/scsi/scsi_debug.c
9458
if (unlikely(((F_M_ACCESS & flags) || scp->cmnd[0] == TEST_UNIT_READY) &&
drivers/scsi/scsi_debug.c
9460
errsts = resp_not_ready(scp, devip);
drivers/scsi/scsi_debug.c
9467
if (fake_timeout(scp))
drivers/scsi/scsi_debug.c
9477
return schedule_resp(scp, devip, errsts, pfp, 0, 0);
drivers/scsi/scsi_debug.c
9490
return schedule_resp(scp, devip, errsts, pfp, jdelay, 0);
drivers/scsi/scsi_debug.c
9492
return schedule_resp(scp, devip, errsts, pfp, sdebug_jdelay,
drivers/scsi/scsi_debug.c
9495
return schedule_resp(scp, devip, check_condition_result, NULL, 0, 0);
drivers/scsi/scsi_debug.c
9497
return schedule_resp(scp, NULL, DID_NO_CONNECT << 16, NULL, 0, 0);
drivers/tty/serial/cpm_uart.c
753
scc_t __iomem *scp;
drivers/tty/serial/cpm_uart.c
758
scp = pinfo->sccp;
drivers/tty/serial/cpm_uart.c
801
out_be32(&scp->scc_gsmrh, 0);
drivers/tty/serial/cpm_uart.c
802
out_be32(&scp->scc_gsmrl,
drivers/tty/serial/cpm_uart.c
806
out_be16(&scp->scc_sccm, 0);
drivers/tty/serial/cpm_uart.c
807
out_be16(&scp->scc_scce, 0xffff);
drivers/tty/serial/cpm_uart.c
808
out_be16(&scp->scc_dsr, 0x7e7e);
drivers/tty/serial/cpm_uart.c
809
out_be16(&scp->scc_psmr, 0x3000);
drivers/tty/serial/cpm_uart.c
811
setbits32(&scp->scc_gsmrl, SCC_GSMRL_ENR | SCC_GSMRL_ENT);
fs/ext4/hash.c
122
const signed char *scp = (const signed char *) name;
fs/ext4/hash.c
125
hash = hash1 + (hash0 ^ (((int) *scp++) * 7152373));
fs/ext4/hash.c
139
const signed char *scp = (const signed char *) msg;
fs/ext4/hash.c
148
val = ((int) scp[i]) + (val << 8);
include/linux/rcupdate_trace.h
122
struct srcu_ctr __percpu *scp;
include/linux/rcupdate_trace.h
125
scp = t->trc_reader_scp;
include/linux/rcupdate_trace.h
130
__srcu_read_unlock_fast(&rcu_tasks_trace_srcu_struct, scp);
include/linux/rcupdate_trace.h
76
static inline void rcu_read_unlock_tasks_trace(struct srcu_ctr __percpu *scp)
include/linux/rcupdate_trace.h
80
__srcu_read_unlock_fast(&rcu_tasks_trace_srcu_struct, scp);
include/linux/remoteproc/mtk_scp.h
52
void scp_put(struct mtk_scp *scp);
include/linux/remoteproc/mtk_scp.h
54
struct device *scp_get_device(struct mtk_scp *scp);
include/linux/remoteproc/mtk_scp.h
55
struct rproc *scp_get_rproc(struct mtk_scp *scp);
include/linux/remoteproc/mtk_scp.h
57
int scp_ipi_register(struct mtk_scp *scp, u32 id, scp_ipi_handler_t handler,
include/linux/remoteproc/mtk_scp.h
59
void scp_ipi_unregister(struct mtk_scp *scp, u32 id);
include/linux/remoteproc/mtk_scp.h
61
int scp_ipi_send(struct mtk_scp *scp, u32 id, void *buf, unsigned int len,
include/linux/remoteproc/mtk_scp.h
64
unsigned int scp_get_vdec_hw_capa(struct mtk_scp *scp);
include/linux/remoteproc/mtk_scp.h
65
unsigned int scp_get_venc_hw_capa(struct mtk_scp *scp);
include/linux/remoteproc/mtk_scp.h
67
void *scp_mapping_dm_addr(struct mtk_scp *scp, u32 mem_addr);
include/linux/srcu.h
497
static inline void srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcu.h
502
__srcu_read_unlock_fast(ssp, scp);
include/linux/srcu.h
514
srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp) __releases_shared(ssp)
include/linux/srcu.h
518
__srcu_read_unlock_fast_updown(ssp, scp);
include/linux/srcu.h
528
struct srcu_ctr __percpu *scp) __releases_shared(ssp)
include/linux/srcu.h
531
__srcu_read_unlock_fast(ssp, scp);
include/linux/srcu.h
542
static inline void srcu_up_read_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcu.h
547
__srcu_read_unlock_fast_updown(ssp, scp);
include/linux/srcu.h
628
_T->scp = srcu_read_lock_fast(_T->lock),
include/linux/srcu.h
629
srcu_read_unlock_fast(_T->lock, _T->scp),
include/linux/srcu.h
630
struct srcu_ctr __percpu *scp)
include/linux/srcu.h
635
_T->scp = srcu_read_lock_fast_notrace(_T->lock),
include/linux/srcu.h
636
srcu_read_unlock_fast_notrace(_T->lock, _T->scp),
include/linux/srcu.h
637
struct srcu_ctr __percpu *scp)
include/linux/srcutiny.h
110
static inline void __srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcutiny.h
113
__srcu_read_unlock(ssp, __srcu_ptr_to_ctr(ssp, scp));
include/linux/srcutiny.h
123
void __srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcutiny.h
126
__srcu_read_unlock(ssp, __srcu_ptr_to_ctr(ssp, scp));
include/linux/srcutree.h
292
struct srcu_ctr __percpu *scp = READ_ONCE(ssp->srcu_ctrp);
include/linux/srcutree.h
295
this_cpu_inc(scp->srcu_locks.counter); // Y, and implicit RCU reader.
include/linux/srcutree.h
297
atomic_long_inc(raw_cpu_ptr(&scp->srcu_locks)); // Y, and implicit RCU reader.
include/linux/srcutree.h
300
return scp;
include/linux/srcutree.h
313
__srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcutree.h
319
this_cpu_inc(scp->srcu_unlocks.counter); // Z, and implicit RCU reader.
include/linux/srcutree.h
321
atomic_long_inc(raw_cpu_ptr(&scp->srcu_unlocks)); // Z, and implicit RCU reader.
include/linux/srcutree.h
336
struct srcu_ctr __percpu *scp = READ_ONCE(ssp->srcu_ctrp);
include/linux/srcutree.h
339
this_cpu_inc(scp->srcu_locks.counter); // Y, and implicit RCU reader.
include/linux/srcutree.h
341
atomic_long_inc(raw_cpu_ptr(&scp->srcu_locks)); // Y, and implicit RCU reader.
include/linux/srcutree.h
344
return scp;
include/linux/srcutree.h
357
__srcu_read_unlock_fast_updown(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp)
include/linux/srcutree.h
363
this_cpu_inc(scp->srcu_unlocks.counter); // Z, and implicit RCU reader.
include/linux/srcutree.h
365
atomic_long_inc(raw_cpu_ptr(&scp->srcu_unlocks)); // Z, and implicit RCU reader.
kernel/rcu/rcutorture.c
726
struct srcu_ctr __percpu *scp;
kernel/rcu/rcutorture.c
742
scp = srcu_read_lock_fast(srcu_ctlp);
kernel/rcu/rcutorture.c
743
idx = __srcu_ptr_to_ctr(srcu_ctlp, scp);
kernel/rcu/rcutorture.c
748
scp = srcu_read_lock_fast_updown(srcu_ctlp);
kernel/rcu/rcutorture.c
749
idx = __srcu_ptr_to_ctr(srcu_ctlp, scp);
kernel/rcu/rcutorture.c
806
struct srcu_ctr __percpu *scp;
kernel/rcu/rcutorture.c
817
scp = srcu_down_read_fast(srcu_ctlp);
kernel/rcu/rcutorture.c
818
idx = __srcu_ptr_to_ctr(srcu_ctlp, scp);
kernel/rcu/refscale.c
231
struct srcu_ctr __percpu *scp;
kernel/rcu/refscale.c
234
scp = srcu_read_lock_fast(srcu_ctlp);
kernel/rcu/refscale.c
235
srcu_read_unlock_fast(srcu_ctlp, scp);
kernel/rcu/refscale.c
242
struct srcu_ctr __percpu *scp;
kernel/rcu/refscale.c
245
scp = srcu_read_lock_fast(srcu_ctlp);
kernel/rcu/refscale.c
247
srcu_read_unlock_fast(srcu_ctlp, scp);
kernel/rcu/refscale.c
267
struct srcu_ctr __percpu *scp;
kernel/rcu/refscale.c
270
scp = srcu_read_lock_fast_updown(srcu_ctlp);
kernel/rcu/refscale.c
271
srcu_read_unlock_fast_updown(srcu_ctlp, scp);
kernel/rcu/refscale.c
278
struct srcu_ctr __percpu *scp;
kernel/rcu/refscale.c
281
scp = srcu_read_lock_fast_updown(srcu_ctlp);
kernel/rcu/refscale.c
283
srcu_read_unlock_fast_updown(srcu_ctlp, scp);
kernel/rcu/srcutree.c
792
struct srcu_ctr __percpu *scp = READ_ONCE(ssp->srcu_ctrp);
kernel/rcu/srcutree.c
794
this_cpu_inc(scp->srcu_locks.counter);
kernel/rcu/srcutree.c
796
return __srcu_ptr_to_ctr(ssp, scp);
kernel/rcu/srcutree.c
822
struct srcu_ctr *scp = raw_cpu_ptr(scpp);
kernel/rcu/srcutree.c
824
atomic_long_inc(&scp->srcu_locks);