Lines Matching refs:ipc_devlink
25 struct iosm_devlink *ipc_devlink = devlink_priv(dl); in ipc_devlink_get_param() local
28 ctx->val.vu8 = ipc_devlink->param.erase_full_flash; in ipc_devlink_get_param()
37 struct iosm_devlink *ipc_devlink = devlink_priv(dl); in ipc_devlink_set_param() local
40 ipc_devlink->param.erase_full_flash = ctx->val.vu8; in ipc_devlink_set_param()
80 struct iosm_devlink *ipc_devlink = devlink_priv(devlink); in ipc_devlink_flash_update() local
102 rc = ipc_flash_boot_psi(ipc_devlink, params->fw); in ipc_devlink_flash_update()
105 rc = ipc_flash_boot_ebl(ipc_devlink, params->fw); in ipc_devlink_flash_update()
108 rc = ipc_flash_boot_set_capabilities(ipc_devlink, mdm_rsp); in ipc_devlink_flash_update()
111 rc = ipc_flash_read_swid(ipc_devlink, mdm_rsp); in ipc_devlink_flash_update()
114 rc = ipc_flash_send_fls(ipc_devlink, params->fw, mdm_rsp); in ipc_devlink_flash_update()
146 int ipc_devlink_send_cmd(struct iosm_devlink *ipc_devlink, u16 cmd, u32 entry) in ipc_devlink_send_cmd() argument
155 return ipc_imem_sys_devlink_write(ipc_devlink, (u8 *)&rpsi_cmd, in ipc_devlink_send_cmd()
165 struct iosm_devlink *ipc_devlink = devlink_priv(dl); in ipc_devlink_coredump_snapshot() local
170 dev_dbg(ipc_devlink->dev, "Region:%s, ID:%d", ops->name, in ipc_devlink_coredump_snapshot()
173 rc = ipc_coredump_collect(ipc_devlink, data, cd_list->entry, in ipc_devlink_coredump_snapshot()
176 dev_err(ipc_devlink->dev, "Fail to create snapshot,err %d", rc); in ipc_devlink_coredump_snapshot()
182 ipc_coredump_get_list(ipc_devlink, rpsi_cmd_coredump_end); in ipc_devlink_coredump_snapshot()
187 ipc_coredump_get_list(ipc_devlink, rpsi_cmd_coredump_end); in ipc_devlink_coredump_snapshot()
224 static void ipc_devlink_destroy_region(struct iosm_devlink *ipc_devlink) in ipc_devlink_destroy_region() argument
229 devlink_region_destroy(ipc_devlink->cd_regions[i]); in ipc_devlink_destroy_region()
241 struct iosm_devlink *ipc_devlink; in ipc_devlink_init() local
253 ipc_devlink = devlink_priv(devlink_ctx); in ipc_devlink_init()
254 ipc_devlink->devlink_ctx = devlink_ctx; in ipc_devlink_init()
255 ipc_devlink->pcie = ipc_imem->pcie; in ipc_devlink_init()
256 ipc_devlink->dev = ipc_imem->dev; in ipc_devlink_init()
261 dev_err(ipc_devlink->dev, in ipc_devlink_init()
266 ipc_devlink->cd_file_info = list; in ipc_devlink_init()
268 rc = ipc_devlink_create_region(ipc_devlink); in ipc_devlink_init()
270 dev_err(ipc_devlink->dev, "Devlink Region create failed, rc %d", in ipc_devlink_init()
281 init_completion(&ipc_devlink->devlink_sio.read_sem); in ipc_devlink_init()
282 skb_queue_head_init(&ipc_devlink->devlink_sio.rx_list); in ipc_devlink_init()
285 dev_dbg(ipc_devlink->dev, "iosm devlink register success"); in ipc_devlink_init()
287 return ipc_devlink; in ipc_devlink_init()
290 ipc_devlink_destroy_region(ipc_devlink); in ipc_devlink_init()
304 void ipc_devlink_deinit(struct iosm_devlink *ipc_devlink) in ipc_devlink_deinit() argument
306 struct devlink *devlink_ctx = ipc_devlink->devlink_ctx; in ipc_devlink_deinit()
309 ipc_devlink_destroy_region(ipc_devlink); in ipc_devlink_deinit()
312 if (ipc_devlink->devlink_sio.devlink_read_pend) { in ipc_devlink_deinit()
313 complete(&ipc_devlink->devlink_sio.read_sem); in ipc_devlink_deinit()
314 complete(&ipc_devlink->devlink_sio.channel->ul_sem); in ipc_devlink_deinit()
316 if (!ipc_devlink->devlink_sio.devlink_read_pend) in ipc_devlink_deinit()
317 skb_queue_purge(&ipc_devlink->devlink_sio.rx_list); in ipc_devlink_deinit()
319 ipc_imem_sys_devlink_close(ipc_devlink); in ipc_devlink_deinit()