| /kernel/linux/linux-6.6/drivers/remoteproc/ |
| D | mtk_scp.c | 27 * scp_get() - get a reference to SCP. 29 * @pdev: the platform device of the module requesting SCP platform 30 * device for using SCP API. 32 * Return: Return NULL if failed. otherwise reference to SCP. 40 scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0); in scp_get() 42 dev_err(dev, "can't get SCP node\n"); in scp_get() 50 dev_err(dev, "SCP pdev failed\n"); in scp_get() 59 * scp_put() - "free" the SCP 61 * @scp: mtk_scp structure from scp_get(). 63 void scp_put(struct mtk_scp *scp) in scp_put() argument [all …]
|
| D | mtk_scp_ipi.c | 23 * @scp: mtk_scp structure 28 * Register an ipi function to receive ipi interrupt from SCP. 32 int scp_ipi_register(struct mtk_scp *scp, in scp_ipi_register() argument 37 if (!scp) in scp_ipi_register() 43 scp_ipi_lock(scp, id); in scp_ipi_register() 44 scp->ipi_desc[id].handler = handler; in scp_ipi_register() 45 scp->ipi_desc[id].priv = priv; in scp_ipi_register() 46 scp_ipi_unlock(scp, id); in scp_ipi_register() 55 * @scp: mtk_scp structure 58 * Unregister an ipi function to receive ipi interrupt from SCP. [all …]
|
| D | mtk_common.h | 80 int (*scp_clk_get)(struct mtk_scp *scp); 81 int (*scp_before_load)(struct mtk_scp *scp); 82 void (*scp_irq_handler)(struct mtk_scp *scp); 83 void (*scp_reset_assert)(struct mtk_scp *scp); 84 void (*scp_reset_deassert)(struct mtk_scp *scp); 85 void (*scp_stop)(struct mtk_scp *scp); 86 void *(*scp_da_to_va)(struct mtk_scp *scp, u64 da, size_t len); 125 * struct mtk_share_obj - SRAM buffer shared with AP and SCP 138 void scp_ipi_lock(struct mtk_scp *scp, u32 id); 139 void scp_ipi_unlock(struct mtk_scp *scp, u32 id);
|
| /kernel/linux/linux-5.10/drivers/remoteproc/ |
| D | mtk_scp.c | 27 * scp_get() - get a reference to SCP. 29 * @pdev: the platform device of the module requesting SCP platform 30 * device for using SCP API. 32 * Return: Return NULL if failed. otherwise reference to SCP. 40 scp_node = of_parse_phandle(dev->of_node, "mediatek,scp", 0); in scp_get() 42 dev_err(dev, "can't get SCP node\n"); in scp_get() 50 dev_err(dev, "SCP pdev failed\n"); in scp_get() 59 * scp_put() - "free" the SCP 61 * @scp: mtk_scp structure from scp_get(). 63 void scp_put(struct mtk_scp *scp) in scp_put() argument [all …]
|
| D | mtk_scp_ipi.c | 19 * @scp: mtk_scp structure 24 * Register an ipi function to receive ipi interrupt from SCP. 28 int scp_ipi_register(struct mtk_scp *scp, in scp_ipi_register() argument 33 if (!scp) in scp_ipi_register() 39 scp_ipi_lock(scp, id); in scp_ipi_register() 40 scp->ipi_desc[id].handler = handler; in scp_ipi_register() 41 scp->ipi_desc[id].priv = priv; in scp_ipi_register() 42 scp_ipi_unlock(scp, id); in scp_ipi_register() 51 * @scp: mtk_scp structure 54 * Unregister an ipi function to receive ipi interrupt from SCP. [all …]
|
| /kernel/linux/linux-5.10/drivers/scsi/arm/ |
| D | scsi.h | 21 * entries of uninitialized memory. SCp is from scsi-ml and has a valid 24 static inline int copy_SCp_to_sg(struct scatterlist *sg, struct scsi_pointer *SCp, int max) in copy_SCp_to_sg() argument 26 int bufs = SCp->buffers_residual; in copy_SCp_to_sg() 33 sg_set_buf(sg, SCp->ptr, SCp->this_residual); in copy_SCp_to_sg() 39 for_each_sg(sg_next(SCp->buffer), src_sg, bufs, i) in copy_SCp_to_sg() 47 static inline int next_SCp(struct scsi_pointer *SCp) in next_SCp() argument 49 int ret = SCp->buffers_residual; in next_SCp() 51 SCp->buffer = sg_next(SCp->buffer); in next_SCp() 52 SCp->buffers_residual--; in next_SCp() 53 SCp->ptr = sg_virt(SCp->buffer); in next_SCp() [all …]
|
| /kernel/linux/linux-6.6/drivers/scsi/arm/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/scsi/ |
| D | 53c700.c | 55 * Bogendoerfer). Added missing SCp->request_bufflen initialisation 578 struct scsi_cmnd *SCp, __u32 dsp) in save_for_reselection() argument 581 if(SCp != NULL) { in save_for_reselection() 583 (struct NCR_700_command_slot *)SCp->host_scribble; in save_for_reselection() 592 NCR_700_unmap(struct NCR_700_Host_Parameters *hostdata, struct scsi_cmnd *SCp, in NCR_700_unmap() argument 595 if(SCp->sc_data_direction != DMA_NONE && in NCR_700_unmap() 596 SCp->sc_data_direction != DMA_BIDIRECTIONAL) in NCR_700_unmap() 597 scsi_dma_unmap(SCp); in NCR_700_unmap() 602 struct scsi_cmnd *SCp, int result) in NCR_700_scsi_done() argument 607 if(SCp != NULL) { in NCR_700_scsi_done() [all …]
|
| D | scsi_debug.c | 914 static void mk_sense_invalid_fld(struct scsi_cmnd *scp, in mk_sense_invalid_fld() argument 922 sbuff = scp->sense_buffer; in mk_sense_invalid_fld() 924 sdev_printk(KERN_ERR, scp->device, in mk_sense_invalid_fld() 949 sdev_printk(KERN_INFO, scp->device, "%s: [sense_key,asc,ascq" in mk_sense_invalid_fld() 954 static void mk_sense_buffer(struct scsi_cmnd *scp, int key, int asc, int asq) in mk_sense_buffer() argument 958 sbuff = scp->sense_buffer; in mk_sense_buffer() 960 sdev_printk(KERN_ERR, scp->device, in mk_sense_buffer() 969 sdev_printk(KERN_INFO, scp->device, in mk_sense_buffer() 974 static void mk_sense_invalid_opcode(struct scsi_cmnd *scp) in mk_sense_invalid_opcode() argument 976 mk_sense_buffer(scp, ILLEGAL_REQUEST, INVALID_OPCODE, 0); in mk_sense_invalid_opcode() [all …]
|
| /kernel/linux/linux-6.6/drivers/scsi/ |
| D | 53c700.c | 54 * Bogendoerfer). Added missing SCp->request_bufflen initialisation 577 struct scsi_cmnd *SCp, __u32 dsp) in save_for_reselection() argument 580 if(SCp != NULL) { in save_for_reselection() 582 (struct NCR_700_command_slot *)SCp->host_scribble; in save_for_reselection() 591 NCR_700_unmap(struct NCR_700_Host_Parameters *hostdata, struct scsi_cmnd *SCp, in NCR_700_unmap() argument 594 if(SCp->sc_data_direction != DMA_NONE && in NCR_700_unmap() 595 SCp->sc_data_direction != DMA_BIDIRECTIONAL) in NCR_700_unmap() 596 scsi_dma_unmap(SCp); in NCR_700_unmap() 601 struct scsi_cmnd *SCp, int result) in NCR_700_scsi_done() argument 606 if(SCp != NULL) { in NCR_700_scsi_done() [all …]
|
| D | scsi_debug.c | 919 static void mk_sense_invalid_fld(struct scsi_cmnd *scp, in mk_sense_invalid_fld() argument 927 sbuff = scp->sense_buffer; in mk_sense_invalid_fld() 929 sdev_printk(KERN_ERR, scp->device, in mk_sense_invalid_fld() 935 scsi_build_sense(scp, sdebug_dsense, ILLEGAL_REQUEST, asc, 0); in mk_sense_invalid_fld() 954 sdev_printk(KERN_INFO, scp->device, "%s: [sense_key,asc,ascq" in mk_sense_invalid_fld() 959 static void mk_sense_buffer(struct scsi_cmnd *scp, int key, int asc, int asq) in mk_sense_buffer() argument 961 if (!scp->sense_buffer) { in mk_sense_buffer() 962 sdev_printk(KERN_ERR, scp->device, in mk_sense_buffer() 966 memset(scp->sense_buffer, 0, SCSI_SENSE_BUFFERSIZE); in mk_sense_buffer() 968 scsi_build_sense(scp, sdebug_dsense, key, asc, asq); in mk_sense_buffer() [all …]
|
| /kernel/linux/linux-6.6/Documentation/devicetree/bindings/remoteproc/ |
| 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,mt8192-scp 23 - mediatek,mt8195-scp 56 initializing SCP. 71 - mediatek,mt8183-scp 72 - mediatek,mt8192-scp [all …]
|
| /kernel/linux/linux-5.10/include/linux/remoteproc/ |
| 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. 49 void scp_put(struct mtk_scp *scp); 51 struct device *scp_get_device(struct mtk_scp *scp); 52 struct rproc *scp_get_rproc(struct mtk_scp *scp); 54 int scp_ipi_register(struct mtk_scp *scp, u32 id, scp_ipi_handler_t handler, 56 void scp_ipi_unregister(struct mtk_scp *scp, u32 id); [all …]
|
| /kernel/linux/linux-6.6/include/linux/remoteproc/ |
| 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. 51 void scp_put(struct mtk_scp *scp); 53 struct device *scp_get_device(struct mtk_scp *scp); 54 struct rproc *scp_get_rproc(struct mtk_scp *scp); 56 int scp_ipi_register(struct mtk_scp *scp, u32 id, scp_ipi_handler_t handler, 58 void scp_ipi_unregister(struct mtk_scp *scp, u32 id); [all …]
|
| /kernel/linux/linux-5.10/drivers/media/platform/mtk-vcodec/ |
| 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() 59 struct mtk_scp *scp; in mtk_vcodec_fw_scp_init() local 61 scp = scp_get(dev->plat_dev); in mtk_vcodec_fw_scp_init() 62 if (!scp) { in mtk_vcodec_fw_scp_init() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/mediatek/vcodec/common/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/soc/mediatek/ |
| 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 …]
|
| /kernel/linux/linux-6.6/drivers/pmdomain/mediatek/ |
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/scsi/megaraid/ |
| 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 …]
|
| D | megaraid_mbox.c | 1071 scb->scp = NULL; in megaraid_alloc_cmd_packets() 1266 * @scp : pointer to the scsi command to be executed 1272 megaraid_alloc_scb(adapter_t *adapter, struct scsi_cmnd *scp) in megaraid_alloc_scb() argument 1292 scb->scp = scp; in megaraid_alloc_scb() 1316 scb->scp = NULL; in megaraid_dealloc_scb() 1339 struct scsi_cmnd *scp; in megaraid_mbox_mksgl() local 1344 scp = scb->scp; in megaraid_mbox_mksgl() 1347 sgcnt = scsi_dma_map(scp); in megaraid_mbox_mksgl() 1356 scsi_for_each_sg(scp, sgl, sgcnt, i) { in megaraid_mbox_mksgl() 1431 * @scp : pointer to the scsi command to be executed [all …]
|
| /kernel/linux/linux-6.6/drivers/scsi/megaraid/ |
| 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 …]
|
| 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 …]
|
| /kernel/linux/linux-5.10/drivers/scsi/pcmcia/ |
| D | nsp_cs.c | 225 SCpnt->SCp.Status = CHECK_CONDITION; in nsp_queuecommand_lck() 226 SCpnt->SCp.Message = 0; in nsp_queuecommand_lck() 227 SCpnt->SCp.have_data_in = IO_UNKNOWN; in nsp_queuecommand_lck() 228 SCpnt->SCp.sent_command = 0; in nsp_queuecommand_lck() 229 SCpnt->SCp.phase = PH_UNDETERMINED; in nsp_queuecommand_lck() 233 SCp.ptr : buffer pointer in nsp_queuecommand_lck() 234 SCp.this_residual : buffer length in nsp_queuecommand_lck() 235 SCp.buffer : next buffer in nsp_queuecommand_lck() 236 SCp.buffers_residual : left buffers in list in nsp_queuecommand_lck() 237 SCp.phase : current state of the command */ in nsp_queuecommand_lck() [all …]
|
| /kernel/linux/linux-6.6/drivers/media/platform/mediatek/mdp3/ |
| 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 …]
|
| /kernel/linux/linux-5.10/Documentation/devicetree/bindings/remoteproc/ |
| D | mtk,scp.txt | 1 Mediatek SCP Bindings 8 - compatible Should be "mediatek,mt8183-scp" 20 Subnodes of the SCP represent rpmsg devices. The names of the devices are not 25 the subnode to rpmsg device announced by SCP. 29 scp: scp@10500000 { 30 compatible = "mediatek,mt8183-scp";
|