diff options
Diffstat (limited to 'src/usr/scom/scom.H')
-rw-r--r-- | src/usr/scom/scom.H | 36 |
1 files changed, 31 insertions, 5 deletions
diff --git a/src/usr/scom/scom.H b/src/usr/scom/scom.H index f39720aae..d4b76a165 100644 --- a/src/usr/scom/scom.H +++ b/src/usr/scom/scom.H @@ -35,8 +35,9 @@ namespace SCOM /** * @brief Performs a SCom operation - * This function performs a SCOM operation by calling doScomOP. It - * handles whether the address a regular or an indirect SCOM address + * This function performs a SCOM operation by calling + * checkIndirectScomOP. It handles whether the address + * a regular or an indirect SCOM address * * @param[in] i_opType Operation type, see DeviceFW::OperationType * in driverif.H @@ -78,9 +79,7 @@ errlHndl_t scomPerformOp(DeviceFW::OperationType i_opType, * Write: size of data written * @param[in] i_accessType Select from DeviceFW::AccessType enum * (usrif.H) - * @param[in] i_args This is an argument list for DD framework. - * In this function, there's only one argument, - * which is the SCom address value. + * @param[in] i_addr scom Address Value * * @return errlHndl_t */ @@ -92,6 +91,33 @@ errlHndl_t doScomOp(DeviceFW::OperationType i_opType, uint64_t i_addr); +/** + * @brief Performs a SCom operation + * This function performs a SCOM operation by calling doScomOP after + * It handles whether the address is a regular or an indirect SCOM + * address + * + * @param[in] i_opType Operation type + * @param[in] i_target SCom target + * @param[in/out] io_buffer Read: pointer to output data storage + * Write: pointer to data to be written + * @param[in/out] io_buflen Input: size of io_buffer (in bytes) + * Output: Read: size of output data + * Write: size of data written + * @param[in] i_accessType Select from DeviceFW::AccessType enum + * (usrif.H) + * @param[in] i_addr Scom Address Value. + * + * @return errlHndl_t + */ +errlHndl_t checkIndirectAndDoScom(DeviceFW::OperationType i_opType, + TARGETING::Target* i_target, + void* io_buffer, + size_t& io_buflen, + int64_t i_accessType, + uint64_t i_addr); + + }; // End namespace #endif |