misc: mods: Update reset framework in mods driver

Summary: Previously mods stored handles for both
clocks and resets in the same list. This meant
reset signals that didn't have a corresponding
clock signal could not be toggled. This change
adds a separate list of structures to handle
resets and decouple it from the clock handling.

Change-Id: I2a83dd5cb7b7fe412acf7ae1815b18b747ad2cac
Signed-off-by: Ellis Roberts <ellisr@nvidia.com>
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nvidia/+/2225415
Reviewed-by: automaticguardword <automaticguardword@nvidia.com>
Reviewed-by: Automatic_Commit_Validation_User
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: mobile promotions <svcmobile_promotions@nvidia.com>
GVS: Gerrit_Virtual_Submit
Tested-by: mobile promotions <svcmobile_promotions@nvidia.com>
This commit is contained in:
ellisr
2019-04-23 10:34:43 -07:00
committed by Laxman Dewangan
parent 34b61af05b
commit ad434b8d0e
4 changed files with 212 additions and 8 deletions

View File

@@ -1235,6 +1235,26 @@ struct MODS_DEVICE_NUMA_INFO {
__u32 cpu_count;
};
/* Used by MODS_ESC_GET_RESET_HANDLE ioctl.
* Used to get an index in reset array corresponding to a reset name
* so that a client can reference it easily in future calls to toggle
* reset
*/
struct MODS_GET_RESET_HANDLE {
/* OUT */
__u32 reset_handle;
/* IN */
char reset_name[MAX_DT_SIZE];
};
/* Used by MODS_ESC_RESET_ASSERT */
struct MODS_RESET_HANDLE {
/* IN */
__u32 handle;
__u8 assert;
};
/* Used by legacy MODS_ESC_GET_SCREEN_INFO ioctl and as a member of
* MODS_SCREEN_INFO_2.
*/
@@ -1901,5 +1921,7 @@ struct MODS_IOMMU_DMA_MAP_MEMORY {
#define MODS_ESC_IOMMU_DMA_MAP_MEMORY MODSIO(W, 129, MODS_IOMMU_DMA_MAP_MEMORY)
#define MODS_ESC_IOMMU_DMA_UNMAP_MEMORY MODSIO(W, 130, \
MODS_IOMMU_DMA_MAP_MEMORY)
#define MODS_ESC_RESET_ASSERT MODSIO(W, 131, MODS_RESET_HANDLE)
#define MODS_ESC_GET_RESET_HANDLE MODSIO(WR, 132, MODS_GET_RESET_HANDLE)
#endif /* _UAPI_MODS_H_ */