/linux/drivers/remoteproc/ |
H A D | mtk_scp.c | 26 * scp_get() - get a reference to SCP. 28 * @pdev: the platform device of the module requesting SCP platform 29 * device for using SCP API. 31 * Return: Return NULL if failed. otherwise reference to SCP. 39 scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0); in scp_get() 41 dev_err(dev, "can't get SCP node\n"); in scp_get() 49 dev_err(dev, "SCP pdev failed\n"); in scp_get() 58 * scp_put() - "free" the SCP 60 * @scp: mtk_scp structure from scp_get(). 62 void scp_put(struct mtk_scp *scp) in scp_put() argument [all …]
|
/linux/Documentation/devicetree/bindings/remoteproc/ |
H A D | mtk,scp.yaml | 4 $id: http://devicetree.org/schemas/remoteproc/mtk,scp.yaml# 7 title: Mediatek SCP 19 - mediatek,mt8183-scp 20 - mediatek,mt8186-scp 21 - mediatek,mt8188-scp 22 - mediatek,mt8188-scp-dual 23 - mediatek,mt8192-scp 24 - mediatek,mt8195-scp 25 - mediatek,mt8195-scp-dual 55 initializing SCP. [all …]
|
/linux/drivers/scsi/arm/ |
H A D | arm_scsi.h | 30 * entries of uninitialized memory. SCp is from scsi-ml and has a valid 33 static inline int copy_SCp_to_sg(struct scatterlist *sg, struct scsi_pointer *SCp, int max) in copy_SCp_to_sg() argument 35 int bufs = SCp->buffers_residual; in copy_SCp_to_sg() 42 sg_set_buf(sg, SCp->ptr, SCp->this_residual); in copy_SCp_to_sg() 48 for_each_sg(sg_next(SCp->buffer), src_sg, bufs, i) in copy_SCp_to_sg() 56 static inline int next_SCp(struct scsi_pointer *SCp) in next_SCp() argument 58 int ret = SCp->buffers_residual; in next_SCp() 60 SCp->buffer = sg_next(SCp->buffer); in next_SCp() 61 SCp->buffers_residual--; in next_SCp() 62 SCp->ptr = sg_virt(SCp->buffer); in next_SCp() [all …]
|
H A D | fas216.c | 177 static void print_SCp(struct scsi_pointer *SCp, const char *prefix, const char *suffix) in print_SCp() argument 180 prefix, SCp->ptr, SCp->this_residual, SCp->buffer, in print_SCp() 181 SCp->buffers_residual, suffix); in print_SCp() 203 print_SCp(&info->scsi.SCp, " SCp={ ", " }\n"); in fas216_dumpinfo() 632 struct scsi_pointer *SCp = &info->scsi.SCp; in fas216_updateptrs() local 638 SCp->phase -= bytes_transferred; in fas216_updateptrs() 641 if (SCp->this_residual > bytes_transferred) in fas216_updateptrs() 647 bytes_transferred -= SCp->this_residual; in fas216_updateptrs() 648 if (!next_SCp(SCp) && bytes_transferred) { in fas216_updateptrs() 655 SCp->this_residual -= bytes_transferred; in fas216_updateptrs() [all …]
|
H A D | acornscsi.c | 238 printk("BH @%p +%04x, ", host->scsi.SCp.ptr, in acornscsi_dumpdma() 239 host->scsi.SCp.this_residual); in acornscsi_dumpdma() 241 host->scsi.SCp.scsi_xferred); in acornscsi_dumpdma() 732 host->scsi.SCp = *arm_scsi_pointer(SCpnt); in acornscsi_kick() 788 scsi_msg_to_host_byte(SCpnt, host->scsi.SCp.Message); in acornscsi_done() 789 set_status_byte(SCpnt, host->scsi.SCp.Status); in acornscsi_done() 803 if (host->scsi.SCp.ptr && in acornscsi_done() 807 if (host->scsi.SCp.scsi_xferred < SCpnt->underflow || in acornscsi_done() 808 host->scsi.SCp.scsi_xferred != host->dma.transferred) in acornscsi_done() 866 void acornscsi_data_updateptr(AS_Host *host, struct scsi_pointer *SCp, unsigned int length) in acornscsi_data_updateptr() argument [all …]
|
/linux/include/linux/remoteproc/ |
H A D | mtk_scp.h | 19 * @SCP_IPI_INIT: The interrupt from scp is to notfiy kernel 20 * SCP initialization completed. 21 * IPI_SCP_INIT is sent from SCP when firmware is 23 * command to SCP. 25 * to SCP to trigger the interrupt. 52 void scp_put(struct mtk_scp *scp); 54 struct device *scp_get_device(struct mtk_scp *scp); 55 struct rproc *scp_get_rproc(struct mtk_scp *scp); 57 int scp_ipi_register(struct mtk_scp *scp, u32 id, scp_ipi_handler_t handler, 59 void scp_ipi_unregister(struct mtk_scp *scp, u32 id); [all …]
|
/linux/drivers/media/platform/mediatek/vcodec/common/ |
H A D | mtk_vcodec_fw_scp.c | 9 return rproc_boot(scp_get_rproc(fw->scp)); in mtk_vcodec_scp_load_firmware() 14 return scp_get_vdec_hw_capa(fw->scp); in mtk_vcodec_scp_get_vdec_capa() 19 return scp_get_venc_hw_capa(fw->scp); in mtk_vcodec_scp_get_venc_capa() 25 return scp_mapping_dm_addr(fw->scp, dtcm_dmem_addr); in mtk_vcodec_vpu_scp_dm_addr() 32 return scp_ipi_register(fw->scp, id, handler, priv); in mtk_vcodec_scp_set_ipi_register() 38 return scp_ipi_send(fw->scp, id, buf, len, wait); in mtk_vcodec_scp_ipi_send() 43 scp_put(fw->scp); in mtk_vcodec_scp_release() 60 struct mtk_scp *scp; in mtk_vcodec_fw_scp_init() local 75 scp = scp_get(plat_dev); in mtk_vcodec_fw_scp_init() 76 if (!scp) { in mtk_vcodec_fw_scp_init() [all …]
|
/linux/drivers/pmdomain/mediatek/ |
H A D | mtk-scpsys.c | 112 * struct scp_domain_data - scp domain data for power on/off flow 133 struct scp; 137 struct scp *scp; member 148 struct scp { struct 174 struct scp *scp = scpd->scp; in scpsys_domain_is_on() argument 176 u32 status = readl(scp->base + scp->ctrl_reg.pwr_sta_offs) & in scpsys_domain_is_on() 178 u32 status2 = readl(scp->base + scp->ctrl_reg.pwr_sta2nd_offs) & in scpsys_domain_is_on() 281 struct scp *scp = scpd->scp; in scpsys_bus_protect_enable() local 286 return mtk_infracfg_set_bus_protection(scp->infracfg, in scpsys_bus_protect_enable() 288 scp->bus_prot_reg_update); in scpsys_bus_protect_enable() [all …]
|
/linux/drivers/scsi/megaraid/ |
H A D | mega_common.h | 49 * @scp : associated scsi command 69 struct scsi_cmnd *scp; member 199 #define SCP2HOST(scp) (scp)->device->host // to host argument 200 #define SCP2HOSTDATA(scp) SCP2HOST(scp)->hostdata // to soft state argument 201 #define SCP2CHANNEL(scp) (scp)->device->channel // to channel argument 202 #define SCP2TARGET(scp) (scp)->device->id // to target argument 203 #define SCP2LUN(scp) (u32)(scp)->device->lun // to LUN argument 207 #define SCP2ADAPTER(scp) (adapter_t *)SCSIHOST2ADAP(SCP2HOST(scp)) argument 210 #define MRAID_IS_LOGICAL(adp, scp) \ argument 211 (SCP2CHANNEL(scp) == (adp)->max_channel) ? 1 : 0 [all …]
|
H A D | megaraid_mbox.c | 1073 scb->scp = NULL; in megaraid_alloc_cmd_packets() 1268 * @scp : pointer to the scsi command to be executed 1274 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) in megaraid_alloc_scb() argument 1294 scb->scp = scp; in megaraid_alloc_scb() 1318 scb->scp = NULL; in megaraid_dealloc_scb() 1341 struct scsi_cmnd *scp; in megaraid_mbox_mksgl() local 1346 scp = scb->scp; in megaraid_mbox_mksgl() 1349 sgcnt = scsi_dma_map(scp); in megaraid_mbox_mksgl() 1358 scsi_for_each_sg(scp, sgl, sgcnt, i) { in megaraid_mbox_mksgl() 1433 * @scp : pointer to the scsi command to be executed [all …]
|
H A D | megaraid_sas_fusion.c | 2266 * @scp: SCSI command from the mid-layer 2274 struct scsi_cmnd *scp, in megasas_make_sgl_fusion() argument 2290 scsi_for_each_sg(scp, os_sgl, sge_count, i) { in megasas_make_sgl_fusion() 2338 * @scp: SCSI command pointer 2350 int megasas_make_sgl(struct megasas_instance *instance, struct scsi_cmnd *scp, in megasas_make_sgl() argument 2357 sge_count = scsi_dma_map(scp); in megasas_make_sgl() 2366 build_prp = megasas_make_prp_nvme(instance, scp, sgl_chain64, in megasas_make_sgl() 2370 megasas_make_sgl_fusion(instance, scp, sgl_chain64, in megasas_make_sgl() 2381 * @scp: SCSI command 2389 struct IO_REQUEST_INFO *io_info, struct scsi_cmnd *scp, in megasas_set_pd_lba() argument [all …]
|
/linux/drivers/media/platform/mediatek/mdp3/ |
H A D | mtk-mdp3-vpu.c | 26 dev = scp_get_device(vpu->scp); in mdp_vpu_shared_mem_alloc() 68 dev = scp_get_device(vpu->scp); in mdp_vpu_shared_mem_free() 126 struct mtk_scp *scp = mdp->scp; in mdp_vpu_register() local 129 err = scp_ipi_register(scp, SCP_IPI_MDP_INIT, in mdp_vpu_register() 135 err = scp_ipi_register(scp, SCP_IPI_MDP_DEINIT, in mdp_vpu_register() 141 err = scp_ipi_register(scp, SCP_IPI_MDP_FRAME, in mdp_vpu_register() 150 scp_ipi_unregister(scp, SCP_IPI_MDP_DEINIT); in mdp_vpu_register() 152 scp_ipi_unregister(scp, SCP_IPI_MDP_INIT); in mdp_vpu_register() 160 scp_ipi_unregister(mdp->scp, SCP_IPI_MDP_INIT); in mdp_vpu_unregister() 161 scp_ipi_unregister(mdp->scp, SCP_IPI_MDP_DEINIT); in mdp_vpu_unregister() [all …]
|
/linux/drivers/scsi/ |
H A D | scsi_debug.c | 605 static int resp_get_stream_status(struct scsi_cmnd *scp, 1367 static void mk_sense_invalid_fld(struct scsi_cmnd *scp, in mk_sense_invalid_fld() argument 1375 sbuff = scp->sense_buffer; in mk_sense_invalid_fld() 1377 sdev_printk(KERN_ERR, scp->device, in mk_sense_invalid_fld() 1383 scsi_build_sense(scp, sdebug_dsense, ILLEGAL_REQUEST, asc, 0); in mk_sense_invalid_fld() 1402 sdev_printk(KERN_INFO, scp->device, "%s: [sense_key,asc,ascq" in mk_sense_invalid_fld() 1407 static void mk_sense_buffer(struct scsi_cmnd *scp, int key, int asc, int asq) in mk_sense_buffer() argument 1409 if (!scp->sense_buffer) { in mk_sense_buffer() 1410 sdev_printk(KERN_ERR, scp->device, in mk_sense_buffer() 1414 memset(scp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); in mk_sense_buffer() [all …]
|
H A D | hptiop.c | 719 struct scsi_cmnd *scp; in hptiop_finish_scsi_req() local 729 scp = hba->reqs[tag].scp; in hptiop_finish_scsi_req() 731 if (HPT_SCP(scp)->mapped) in hptiop_finish_scsi_req() 732 scsi_dma_unmap(scp); in hptiop_finish_scsi_req() 736 scsi_set_resid(scp, in hptiop_finish_scsi_req() 737 scsi_bufflen(scp) - le32_to_cpu(req->dataxfer_length)); in hptiop_finish_scsi_req() 738 scp->result = (DID_OK<<16); in hptiop_finish_scsi_req() 741 scp->result = (DID_BAD_TARGET<<16); in hptiop_finish_scsi_req() 744 scp->result = (DID_BUS_BUSY<<16); in hptiop_finish_scsi_req() 747 scp->result = (DID_RESET<<16); in hptiop_finish_scsi_req() [all …]
|
/linux/arch/mips/cavium-octeon/executive/ |
H A D | octeon-model.c | 96 /* SCP = No DFA, No zip */ in octeon_model_get_string_buffer() 102 suffix = "SCP"; in octeon_model_get_string_buffer() 306 suffix = "SCP"; in octeon_model_get_string_buffer() 335 suffix = "SCP"; in octeon_model_get_string_buffer() 348 suffix = "SCP"; in octeon_model_get_string_buffer() 363 suffix = "SCP"; in octeon_model_get_string_buffer() 374 suffix = "SCP"; in octeon_model_get_string_buffer() 383 suffix = "SCP"; in octeon_model_get_string_buffer() 404 suffix = "SCP"; in octeon_model_get_string_buffer() 418 suffix = "SCP"; in octeon_model_get_string_buffer() [all …]
|
/linux/drivers/scsi/pcmcia/ |
H A D | sym53c500_cs.c | 360 struct sym53c500_cmd_priv *scp = scsi_cmd_priv(curSC); in SYM53C500_intr() local 407 if (scp->phase != message_in) { /* Unexpected disconnect */ in SYM53C500_intr() 410 curSC->result = (scp->status & 0xff) | in SYM53C500_intr() 411 ((scp->message & 0xff) << 8) | (DID_OK << 16); in SYM53C500_intr() 422 scp->phase = data_out; in SYM53C500_intr() 441 scp->phase = data_in; in SYM53C500_intr() 456 scp->phase = command_ph; in SYM53C500_intr() 461 scp->phase = status_ph; in SYM53C500_intr() 474 scp->phase = message_out; in SYM53C500_intr() 481 scp->phase = message_in; in SYM53C500_intr() [all …]
|
/linux/arch/arm64/boot/dts/arm/ |
H A D | juno-scmi.dtsi | 201 /delete-node/ scp-sram@0; 202 /delete-node/ scp-sram@200; 204 cpu_scp_lpri0: scp-sram@0 { 209 cpu_scp_lpri1: scp-sram@80 { 214 cpu_scp_hpri0: scp-sram@100 { 219 cpu_scp_hpri1: scp-sram@180 {
|
/linux/drivers/pmdomain/arm/ |
H A D | Kconfig | 9 enabled or disabled via the SCP firmware. 21 enabled or disabled via the SCP firmware 34 enabled or disabled via the SCP firmware
|
/linux/Documentation/devicetree/bindings/firmware/ |
H A D | arm,scpi.yaml | 15 0922B ("ARM Compute Subsystem SCP: Message Interface Protocols")[0] can be 43 by remote SCP firmware for use by SCPI message protocol should be 224 cpu_scp_lpri: scp-sram-section@0 { 225 compatible = "arm,scp-shmem"; 229 cpu_scp_hpri: scp-sram-section@200 { 230 compatible = "arm,scp-shmem";
|
/linux/Documentation/hwmon/ |
H A D | scpi-hwmon.rst | 18 System Control Processor (SCP) implementing the System Control 20 by the SCP: 27 The SCP interface provides an API to query the available sensors and
|
/linux/Documentation/devicetree/bindings/rtc/ |
H A D | amlogic,meson-vrtc.yaml | 17 application processors (AP) and the secure co-processor (SCP.) When 18 the AP suspends, the SCP will use the value of this register to 20 the SCP will wake up and will then wake the AP.
|
/linux/Documentation/scsi/ |
H A D | scsi_mid_low_api.rst | 652 * @scp: identifies command timing out 673 int eh_timed_out(struct scsi_cmnd * scp) 677 * eh_abort_handler - abort command associated with scp 678 * @scp: identifies command to be aborted 690 int eh_abort_handler(struct scsi_cmnd * scp) 695 * @scp: SCSI bus that contains this device should be reset 708 int eh_bus_reset_handler(struct scsi_cmnd * scp) 713 * @scp: identifies SCSI device to be reset 726 int eh_device_reset_handler(struct scsi_cmnd * scp) 731 * @scp: SCSI host that contains this device should be reset [all …]
|
/linux/include/linux/ |
H A D | srcutree.h | 245 struct srcu_ctr __percpu *scp = READ_ONCE(ssp->srcu_ctrp); in __srcu_read_lock_fast() local 249 this_cpu_inc(scp->srcu_locks.counter); /* Y */ in __srcu_read_lock_fast() 251 atomic_long_inc(raw_cpu_ptr(&scp->srcu_locks)); /* Z */ in __srcu_read_lock_fast() 253 return scp; in __srcu_read_lock_fast() 271 static inline void __srcu_read_unlock_fast(struct srcu_struct *ssp, struct srcu_ctr __percpu *scp) in __srcu_read_unlock_fast() argument 275 this_cpu_inc(scp->srcu_unlocks.counter); /* Z */ in __srcu_read_unlock_fast() 277 atomic_long_inc(raw_cpu_ptr(&scp->srcu_unlocks)); /* Z */ in __srcu_read_unlock_fast()
|
/linux/tools/sound/ |
H A D | dapm-graph | 39 -r REMOTE_TARGET Get DAPM state from REMOTE_TARGET via SSH and SCP 60 # into a tarball and get the tarball via SCP into $3/dapm.tar 62 # $1 = target as used by ssh and scp, e.g. "root@192.168.1.1" 67 # Requires an ssh+scp server, find and tar+gz on the target 69 # Note: the tarball is needed because plain 'scp -r' from debugfs would 83 scp -q "${1}:${3}/dapm.tar" "${3}"
|
/linux/drivers/watchdog/ |
H A D | marvell_gti_wdt.c | 20 * 2) Interrupt + del3t (Interrupt to firmware (SCP processor)). 22 * This will generate interrupt to SCP processor on 2nd timeout happens 24 * 3) Interrupt + Interrupt to SCP processor (called delt3t) + reboot. 26 * Will generate interrupt to SCP processor on 2nd timeout happens, 31 * a hardware hang. Also h/w is configured not to generate SCP interrupt, so 126 /* Set (Interrupt + SCP interrupt (DEL3T) + core domain reset) Mode */ in gti_wdt_start()
|