On 2023/8/3 16:08, Tian, Kevin wrote:
From: Lu Baolu <baolu.lu@xxxxxxxxxxxxxxx>
Sent: Thursday, July 27, 2023 1:49 PM
@@ -4630,7 +4621,6 @@ static int intel_iommu_disable_iopf(struct device
*dev)
* fault handler and removing device from iopf queue should never
* fail.
*/
- WARN_ON(iommu_unregister_device_fault_handler(dev));
WARN_ON(iopf_queue_remove_device(iommu->iopf_queue, dev));
the comment should be updated too.
Ack.
mutex_init(¶m->lock);
+ param->fault_param = kzalloc(sizeof(*param->fault_param),
GFP_KERNEL);
+ if (!param->fault_param) {
+ kfree(param);
+ return -ENOMEM;
+ }
+ mutex_init(¶m->fault_param->lock);
+ INIT_LIST_HEAD(¶m->fault_param->faults);
let's also move 'partial' from struct iopf_device_param into struct
iommu_fault_param. That logic is not specific to sva.
meanwhile probably iopf_device_param can be renamed to
iopf_sva_param since all the remaining fields are only used by
the sva handler.
current naming (iommu_fault_param vs. iopf_device_param) is a
bit confusing when reading related code.
My understanding is that iommu_fault_param is for all kinds of iommu
faults. Currently they probably include recoverable IO page faults or
unrecoverable DMA faults.
While, iopf_device_param is for the recoverable IO page faults. I agree
that this naming is not specific and even confusing. Perhaps renaming it
to something like iommu_iopf_param?
Best regards,
baolu