LCOV - code coverage report
Current view: top level - zephyr/drivers/firmware/scmi - shmem.h Hit Total Coverage
Test: new.info Lines: 5 7 71.4 %
Date: 2024-12-22 00:14:23

          Line data    Source code
       1           1 : /*
       2             :  * Copyright 2024 NXP
       3             :  *
       4             :  * SPDX-License-Identifier: Apache-2.0
       5             :  */
       6             : 
       7             : /**
       8             :  * @file
       9             :  * @brief SCMI SHMEM API
      10             :  */
      11             : 
      12             : #ifndef _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_SHMEM_H_
      13             : #define _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_SHMEM_H_
      14             : 
      15             : #include <zephyr/device.h>
      16             : #include <zephyr/arch/cpu.h>
      17             : #include <errno.h>
      18             : 
      19           0 : #define SCMI_SHMEM_CHAN_STATUS_BUSY_BIT BIT(0)
      20           0 : #define SCMI_SHMEM_CHAN_FLAG_IRQ_BIT BIT(0)
      21             : 
      22             : struct scmi_message;
      23             : 
      24             : /**
      25             :  * @brief Write a message in the SHMEM area
      26             :  *
      27             :  * @param shmem pointer to shmem device
      28             :  * @param msg message to write
      29             :  *
      30             :  * @retval 0 if successful
      31             :  * @retval negative errno if failure
      32             :  */
      33           1 : int scmi_shmem_write_message(const struct device *shmem,
      34             :                              struct scmi_message *msg);
      35             : 
      36             : /**
      37             :  * @brief Read a message from a SHMEM area
      38             :  *
      39             :  * @param shmem pointer to shmem device
      40             :  * @param msg message to write the data into
      41             :  *
      42             :  * @retval 0 if successful
      43             :  * @retval negative errno if failure
      44             :  */
      45           1 : int scmi_shmem_read_message(const struct device *shmem,
      46             :                             struct scmi_message *msg);
      47             : 
      48             : /**
      49             :  * @brief Update the channel flags
      50             :  *
      51             :  * @param shmem pointer to shmem device
      52             :  * @param mask value to negate and bitwise-and the old
      53             :  * channel flags value
      54             :  * @param val value to bitwise and with the mask and
      55             :  * bitwise-or with the masked old value
      56             :  */
      57           1 : void scmi_shmem_update_flags(const struct device *shmem,
      58             :                              uint32_t mask, uint32_t val);
      59             : 
      60             : /**
      61             :  * @brief Read a channel's status
      62             :  *
      63             :  * @param shmem pointer to shmem device
      64             :  */
      65           1 : uint32_t scmi_shmem_channel_status(const struct device *shmem);
      66             : 
      67             : #endif /* _INCLUDE_ZEPHYR_DRIVERS_FIRMWARE_SCMI_SHMEM_H_ */

Generated by: LCOV version 1.14