Merge tag 'for_linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mst/vhost
[linux-block.git] / include / linux / hisi_acc_qm.h
index a59fbffa238f7fb3a8ae21769707be220cd705fb..a7d54d4d41fdb1df9f1e179a4a6ae41ac52b0044 100644 (file)
@@ -271,6 +271,20 @@ struct hisi_qm_poll_data {
        u16 *qp_finish_id;
 };
 
+/**
+ * struct qm_err_isolate
+ * @isolate_lock: protects device error log
+ * @err_threshold: user config error threshold which triggers isolation
+ * @is_isolate: device isolation state
+ * @uacce_hw_errs: index into qm device error list
+ */
+struct qm_err_isolate {
+       struct mutex isolate_lock;
+       u32 err_threshold;
+       bool is_isolate;
+       struct list_head qm_hw_errs;
+};
+
 struct hisi_qm {
        enum qm_hw_ver ver;
        enum qm_fun_type fun_type;
@@ -340,6 +354,7 @@ struct hisi_qm {
        struct qm_shaper_factor *factor;
        u32 mb_qos;
        u32 type_rate;
+       struct qm_err_isolate isolate_data;
 };
 
 struct hisi_qp_status {