Lines Matching +full:mmio +full:- +full:mux
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))
144 * enum ipc_ctype - Enum defining supported channel type needed for control
175 * struct ipc_pipe - Structure for Pipe.
221 * struct ipc_mem_channel - Structure for Channel.
251 * enum ipc_phase - Different AP and CP phases.
285 * struct iosm_imem - Current state of the IPC shared memory.
286 * @mmio: mmio instance to access CP MMIO area /
291 * @mux: IP Data multiplexing state.
332 * @debugfs_dir: Debug FS directory for driver-specific entries
335 struct iosm_mmio *mmio; member
339 struct iosm_mux *mux; member
381 * ipc_imem_init - Initialize the shared memory region
382 * @pcie: Pointer to core driver data-struct
384 * @mmio: Pointer to the mmio area
390 void __iomem *mmio, struct device *dev);
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
452 * ipc_imem_channel_alloc - Reserves a channel
453 * @ipc_imem: Pointer to imem data-struct
463 * ipc_imem_channel_open - Establish the pipes.
464 * @ipc_imem: Pointer to imem data-struct
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
507 * ipc_imem_channel_free -Free an IPC 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
535 * @ipc_imem: Pointer to imem data-struct
542 * ipc_imem_phase_get_string - Return the current operation
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
578 * ipc_imem_devlink_trigger_chip_info - Inform devlink that the chip
584 * Returns: 0 on success, -1 on failure