gpu: host1x: Enable general interrupts for actmon

Host1x general interrupts include actmon-related interrupts, axi
timeout interrupts, and illegal access interrupts. This change enables
actmon-related interrupts only.

Bug 3788919

Signed-off-by: Johnny Liu <johnliu@nvidia.com>
Change-Id: Iea1f1622a11afa72f70f8d10efebd857a51cc4e2
Reviewed-on: https://git-master.nvidia.com/r/c/linux-nv-oot/+/2889825
Reviewed-by: Mikko Perttunen <mperttunen@nvidia.com>
Reviewed-by: svc-mobile-coverity <svc-mobile-coverity@nvidia.com>
Reviewed-by: svc-mobile-cert <svc-mobile-cert@nvidia.com>
GVS: Gerrit_Virtual_Submit <buildbot_gerritrpt@nvidia.com>
This commit is contained in:
Johnny Liu
2023-04-18 10:42:28 +00:00
committed by mobile promotions
parent 8733469474
commit 03fd3f1188
9 changed files with 251 additions and 27 deletions

View File

@@ -27,6 +27,13 @@ enum host1x_class {
HOST1X_CLASS_NVDEC1 = 0xF5,
};
enum host1x_actmon_wmark_event {
HOST1X_ACTMON_AVG_WMARK_BELOW,
HOST1X_ACTMON_AVG_WMARK_ABOVE,
HOST1X_ACTMON_CONSEC_WMARK_BELOW,
HOST1X_ACTMON_CONSEC_WMARK_ABOVE,
};
struct host1x;
struct host1x_client;
struct iommu_group;
@@ -69,6 +76,7 @@ static inline void host1x_bo_cache_destroy(struct host1x_bo_cache *cache)
* @suspend: host1x client suspend code
* @resume: host1x client resume code
* @get_rate: host1x client get clock rate code
* @actmon_event: host1x client actmon event handling code in threaded interrupt context
*/
struct host1x_client_ops {
int (*early_init)(struct host1x_client *client);
@@ -78,6 +86,8 @@ struct host1x_client_ops {
int (*suspend)(struct host1x_client *client);
int (*resume)(struct host1x_client *client);
unsigned long (*get_rate)(struct host1x_client *client);
void (*actmon_event)(struct host1x_client *client,
enum host1x_actmon_wmark_event event);
};
struct host1x_actmon;