mirror of
https://github.com/AuxXxilium/linux_dsm_epyc7002.git
synced 2024-12-17 07:07:34 +07:00
drm/amd: Add sphinx documentation for amd_ip_funcs
Signed-off-by: Darren Powell <darren.powell@amd.com> Reviewed-by: Michel Dänzer <michel.daenzer@amd.com> Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
parent
8405cf39e8
commit
43911fb68b
@ -131,45 +131,54 @@ enum PP_FEATURE_MASK {
|
|||||||
PP_STUTTER_MODE = 0x20000,
|
PP_STUTTER_MODE = 0x20000,
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/**
|
||||||
|
* struct amd_ip_funcs - general hooks for managing amdgpu IP Blocks
|
||||||
|
*/
|
||||||
struct amd_ip_funcs {
|
struct amd_ip_funcs {
|
||||||
/* Name of IP block */
|
/** @name: Name of IP block */
|
||||||
char *name;
|
char *name;
|
||||||
/* sets up early driver state (pre sw_init), does not configure hw - Optional */
|
/**
|
||||||
|
* @early_init:
|
||||||
|
*
|
||||||
|
* sets up early driver state (pre sw_init),
|
||||||
|
* does not configure hw - Optional
|
||||||
|
*/
|
||||||
int (*early_init)(void *handle);
|
int (*early_init)(void *handle);
|
||||||
/* sets up late driver/hw state (post hw_init) - Optional */
|
/** @late_init: sets up late driver/hw state (post hw_init) - Optional */
|
||||||
int (*late_init)(void *handle);
|
int (*late_init)(void *handle);
|
||||||
/* sets up driver state, does not configure hw */
|
/** @sw_init: sets up driver state, does not configure hw */
|
||||||
int (*sw_init)(void *handle);
|
int (*sw_init)(void *handle);
|
||||||
/* tears down driver state, does not configure hw */
|
/** @sw_fini: tears down driver state, does not configure hw */
|
||||||
int (*sw_fini)(void *handle);
|
int (*sw_fini)(void *handle);
|
||||||
/* sets up the hw state */
|
/** @hw_init: sets up the hw state */
|
||||||
int (*hw_init)(void *handle);
|
int (*hw_init)(void *handle);
|
||||||
/* tears down the hw state */
|
/** @hw_fini: tears down the hw state */
|
||||||
int (*hw_fini)(void *handle);
|
int (*hw_fini)(void *handle);
|
||||||
|
/** @late_fini: final cleanup */
|
||||||
void (*late_fini)(void *handle);
|
void (*late_fini)(void *handle);
|
||||||
/* handles IP specific hw/sw changes for suspend */
|
/** @suspend: handles IP specific hw/sw changes for suspend */
|
||||||
int (*suspend)(void *handle);
|
int (*suspend)(void *handle);
|
||||||
/* handles IP specific hw/sw changes for resume */
|
/** @resume: handles IP specific hw/sw changes for resume */
|
||||||
int (*resume)(void *handle);
|
int (*resume)(void *handle);
|
||||||
/* returns current IP block idle status */
|
/** @is_idle: returns current IP block idle status */
|
||||||
bool (*is_idle)(void *handle);
|
bool (*is_idle)(void *handle);
|
||||||
/* poll for idle */
|
/** @wait_for_idle: poll for idle */
|
||||||
int (*wait_for_idle)(void *handle);
|
int (*wait_for_idle)(void *handle);
|
||||||
/* check soft reset the IP block */
|
/** @check_soft_reset: check soft reset the IP block */
|
||||||
bool (*check_soft_reset)(void *handle);
|
bool (*check_soft_reset)(void *handle);
|
||||||
/* pre soft reset the IP block */
|
/** @pre_soft_reset: pre soft reset the IP block */
|
||||||
int (*pre_soft_reset)(void *handle);
|
int (*pre_soft_reset)(void *handle);
|
||||||
/* soft reset the IP block */
|
/** @soft_reset: soft reset the IP block */
|
||||||
int (*soft_reset)(void *handle);
|
int (*soft_reset)(void *handle);
|
||||||
/* post soft reset the IP block */
|
/** @post_soft_reset: post soft reset the IP block */
|
||||||
int (*post_soft_reset)(void *handle);
|
int (*post_soft_reset)(void *handle);
|
||||||
/* enable/disable cg for the IP block */
|
/** @set_clockgating_state: enable/disable cg for the IP block */
|
||||||
int (*set_clockgating_state)(void *handle,
|
int (*set_clockgating_state)(void *handle,
|
||||||
enum amd_clockgating_state state);
|
enum amd_clockgating_state state);
|
||||||
/* enable/disable pg for the IP block */
|
/** @set_powergating_state: enable/disable pg for the IP block */
|
||||||
int (*set_powergating_state)(void *handle,
|
int (*set_powergating_state)(void *handle,
|
||||||
enum amd_powergating_state state);
|
enum amd_powergating_state state);
|
||||||
/* get current clockgating status */
|
/** @get_clockgating_state: get current clockgating status */
|
||||||
void (*get_clockgating_state)(void *handle, u32 *flags);
|
void (*get_clockgating_state)(void *handle, u32 *flags);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user