Lines Matching +full:channel +full:- +full:phase
1 /* SPDX-License-Identifier: GPL-2.0-only
3 * Copyright (C) 2020-21 Intel Corporation.
70 #define IMEM_IRQ_DONT_CARE (-1)
88 * Modem crash notification configuration. If this value is non-zero then
91 * will use out-of-band method to notify about it's Crash.
100 #define IPC_CB(skb) ((struct ipc_skb_cb *)((skb)->cb))
135 /* Enum defining channel states. */
144 * enum ipc_ctype - Enum defining supported channel type needed for control
175 * struct ipc_pipe - Structure for Pipe.
177 * @channel: Id of the sio device, set by imem_sio_open,
203 struct ipc_mem_channel *channel; member
221 * struct ipc_mem_channel - Structure for Channel.
222 * @channel_id: Instance of the channel list and is return to the user
224 * @ctype: Control or netif channel.
251 * enum ipc_phase - Different AP and CP phases.
254 * respond to any requests. So while introducing new phase
259 * driver call the device power mode D3hot. In this phase
262 * @IPC_P_OFF_REQ: The intermediate phase between cleanup activity starts
264 * @IPC_P_CRASH: The phase indicating CP crash
265 * @IPC_P_CD_READY: The phase indicating CP core dump is ready
269 * @IPC_P_PSI: Primary signed image download phase
271 * @IPC_P_RUN: The phase after flashing to RAM is the RUNTIME phase.
285 * struct iosm_imem - Current state of the IPC shared memory.
298 * @channels: Channel list with UL/DL pipe pairs.
309 * @enter_runtime: 1 means the transition to runtime phase was
317 * @phase: Operating phase like runtime.
332 * @debugfs_dir: Debug FS directory for driver-specific entries
363 enum ipc_phase phase; member
381 * ipc_imem_init - Initialize the shared memory region
382 * @pcie: Pointer to core driver data-struct
393 * ipc_imem_pm_s2idle_sleep - Set PM variables to sleep/active for
395 * @ipc_imem: Pointer to imem data-struct
401 * ipc_imem_pm_suspend - The HAL shall ask the shared memory layer
403 * @ipc_imem: Pointer to imem data-struct
408 * ipc_imem_pm_resume - The HAL shall inform the shared memory layer
410 * @ipc_imem: Pointer to imem data-struct
415 * ipc_imem_cleanup - Inform CP and free the shared memory resources.
416 * @ipc_imem: Pointer to imem data-struct
421 * ipc_imem_irq_process - Shift the IRQ actions to the IPC thread.
422 * @ipc_imem: Pointer to imem data-struct
428 * imem_get_device_sleep_state - Get the device sleep state value.
436 * ipc_imem_td_update_timer_suspend - Updates the TD Update Timer suspend flag.
437 * @ipc_imem: Pointer to imem data-struct
445 * ipc_imem_channel_close - Release the channel resources.
446 * @ipc_imem: Pointer to imem data-struct
447 * @channel_id: Channel ID to be cleaned up.
452 * ipc_imem_channel_alloc - Reserves a channel
453 * @ipc_imem: Pointer to imem data-struct
455 * @ctype: Channel type.
463 * ipc_imem_channel_open - Establish the pipes.
464 * @ipc_imem: Pointer to imem data-struct
465 * @channel_id: Channel ID returned during alloc.
474 * ipc_imem_td_update_timer_start - Starts the TD Update Timer if not running.
475 * @ipc_imem: Pointer to imem data-struct
480 * ipc_imem_ul_write_td - Pass the channel UL list to protocol layer for TD
482 * @ipc_imem: Pointer to imem data-struct
489 * ipc_imem_ul_send - Dequeue SKB from channel list and start with
492 * @ipc_imem: Pointer to imem data-struct
497 * ipc_imem_channel_update - Set or modify pipe config of an existing channel
498 * @ipc_imem: Pointer to imem data-struct
499 * @id: Channel config index
500 * @chnl_cfg: Channel config struct
507 * ipc_imem_channel_free -Free an IPC channel.
508 * @channel: Channel to be freed
510 void ipc_imem_channel_free(struct ipc_mem_channel *channel);
513 * ipc_imem_hrtimer_stop - Stop the hrtimer
519 * ipc_imem_pipe_cleanup - Reset volatile pipe content for all channels
520 * @ipc_imem: Pointer to imem data-struct
526 * ipc_imem_pipe_close - Send msg to device to close pipe
527 * @ipc_imem: Pointer to imem data-struct
533 * ipc_imem_phase_update - Get the CP execution state
534 * and map it to the AP phase.
535 * @ipc_imem: Pointer to imem data-struct
537 * Returns: Current ap updated phase
542 * ipc_imem_phase_get_string - Return the current operation
543 * phase as string.
544 * @phase: AP phase
546 * Returns: AP phase string
548 const char *ipc_imem_phase_get_string(enum ipc_phase phase);
551 * ipc_imem_msg_send_feature_set - Send feature set message to modem
552 * @ipc_imem: Pointer to imem data-struct
553 * @reset_enable: 0 = out-of-band, 1 = in-band-crash notification
561 * ipc_imem_ipc_init_check - Send the init event to CP, wait a certain time and
563 * @ipc_imem: Pointer to imem data-struct
568 * ipc_imem_channel_init - Initialize the channel list with UL/DL pipe pairs.
569 * @ipc_imem: Pointer to imem data-struct
570 * @ctype: Channel type
571 * @chnl_cfg: Channel configuration struct
578 * ipc_imem_devlink_trigger_chip_info - Inform devlink that the chip
584 * Returns: 0 on success, -1 on failure