Re: [PATCH v6 1/6] iommu: Add cache_invalidate_user op

Yi Liu
2023-12-07T06:50:41Z

On 2023/12/7 02:50, Jason Gunthorpe wrote:
> On Wed, Dec 06, 2023 at 10:43:34AM -0800, Nicolin Chen wrote:
>> On Wed, Dec 06, 2023 at 02:32:09PM -0400, Jason Gunthorpe wrote:
>>> On Fri, Nov 17, 2023 at 05:07:12AM -0800, Yi Liu wrote:
>>
>>>> @@ -465,6 +492,9 @@ struct iommu_domain_ops {
>>>> size_t size);
>>>> void (*iotlb_sync)(struct iommu_domain *domain,
>>>> struct iommu_iotlb_gather *iotlb_gather);
>>>> + int (*cache_invalidate_user)(struct iommu_domain *domain,
>>>> + struct iommu_user_data_array *array,
>>>> + u32 *error_code);
>>>
>>> Regarding the other conversation I worry a u32 error_code is too small.
>>>
>>> Unfortunately there is no obvious place to put something better so if
>>> we reach it we will have to add more error_code space via normal
>>> extension.
>>>
>>> Maybe expand this to u64? That is 64 bits of error register data and
>>> the consumer index. It should do for SMMUv3 at least?
>>
>> I think Yi is moving the error_code to the entry data structure,
>> where we can even define a list of error_codes as a driver data
>> needs. So, I assume this u32 pointer would be gone too.
>
> Oh, lets see that then..

yes, I'm going to move it.

--
Regards,
Yi Liu