lkml.org 
[lkml]   [2020]   [Aug]   [31]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
SubjectRe: [PATCH V2 2/3] vhost: vdpa: report iova range
From
Date

On 2020/8/23 下午2:40, Eli Cohen wrote:
>> +static void vhost_vdpa_set_iova_range(struct vhost_vdpa *v)
>> +{
>> + struct vdpa_iova_range *range = &v->range;
>> + struct iommu_domain_geometry geo;
>> + struct vdpa_device *vdpa = v->vdpa;
>> + const struct vdpa_config_ops *ops = vdpa->config;
>> +
>> + if (ops->get_iova_range) {
>> + *range = ops->get_iova_range(vdpa);
>> + } else if (v->domain &&
>> + !iommu_domain_get_attr(v->domain,
>> + DOMAIN_ATTR_GEOMETRY, &geo) &&
>> + geo.force_aperture) {
>> + range->first = geo.aperture_start;
>> + range->last = geo.aperture_end;
>> + } else {
>> + range->first = 0;
>> + range->last = ULLONG_MAX;
>> + }
> Shouldn't we require drivers that publish VIRTIO_F_ACCESS_PLATFORM to
> implement get_iova_range?


Probably not, since ACCESS_PLATFORM does not exclude the device that
depends on the chipset IOMMU to work. So in that case, we should query
IOMMU driver instead of vDPA device driver.

Thanks


>
>> +}

\
 
 \ /
  Last update: 2020-08-31 10:40    [W:0.075 / U:0.176 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site