Requests the driver to query the status of a device in response to an asserted interrupt, and return a list of interrupt notifications to be propagated to the client.
If the device emits interrupt(s) muxed to the asserted GPIO pin, its driver is expected to perform a brief and minimal query to the hardware (e.g. to read select status registers) over the communication bus to determine whether it is in a state of error.
Locking and synchronization may be required in the driver, in order to protect the context data and communication bus.
If no error statuses or evidence of interrupt assertions were found in the device(s), NVSIPL_STATUS_OK should be returned unless there were errors in the process of querying for this information.
If neither NVSIPL_STATUS_OK nor NVSIPL_STATUS_NOT_SUPPORTED is returned, then an error notification with code InterruptCode::INTR_STATUS_FAILURE is dispatched to the client and no notifications in intrNtfns are dispatched.
- Parameters
-
[in] | gpioIdx | CDAC error GPIO index, of type uint32_t. Valid range is [0, UINT_MAX]. |
[out] | intrNtfns | List of interrupt notifications to propagate to the client. The valid parameter of each element must be set to true, otherwise it is considered empty. |
The list capacity is MAX_DEVGRP_NTFNS_PER_INTR.
- Return values
-
NVSIPL_STATUS_OK | on completion |
NVSIPL_STATUS_NOT_SUPPORTED | on invalid configuration |
(SIPLStatus) | other propagated error |
Usage considerations
- Allowed context for the API call
- Interrupt handler: No
- Signal handler: No
- Thread-safe: Yes
- Re-entrant: No
- Async/Sync: Sync
- Required privileges: Yes, with the following conditions:
- Grants: nonroot, allow
- Abilities: public_channel
- Application needs to have access to the SGIDs that SIPL depends on as mentioned in the NVIDIA DRIVE OS Safety Developer Guide
- API group
- Init: No
- Runtime: Yes
- De-Init: No
Definition at line 127 of file IInterruptStatus.hpp.
References nvsipl::NVSIPL_STATUS_NOT_SUPPORTED.