[PATCH 1/1] vfio-pci/nvlink2: Allow fallback to ibm,mmio-atsd[0]

Sam Bobroff sbobroff at linux.ibm.com
Fri Feb 7 13:39:15 AEDT 2020


On Thu, Feb 06, 2020 at 03:23:03PM +1100, Alexey Kardashevskiy wrote:
> 
> 
> On 06/02/2020 14:17, Sam Bobroff wrote:
> > Older versions of skiboot only provide a single value in the device	
> > tree property "ibm,mmio-atsd", even when multiple Address Translation
> > Shoot Down (ATSD) registers are present. This prevents NVLink2 devices
> > (other than the first) from being used with vfio-pci because vfio-pci
> > expects to be able to assign a dedicated ATSD register to each NVLink2
> > device.
> > 
> > However, ATSD registers can be shared among devices. This change
> > allows vfio-pci to fall back to sharing the register at index 0 if
> > necessary.
> > 
> > Signed-off-by: Sam Bobroff <sbobroff at linux.ibm.com>
> > ---
> >  drivers/vfio/pci/vfio_pci_nvlink2.c | 13 +++++++++++--
> >  1 file changed, 11 insertions(+), 2 deletions(-)
> > 
> > diff --git a/drivers/vfio/pci/vfio_pci_nvlink2.c b/drivers/vfio/pci/vfio_pci_nvlink2.c
> > index f2983f0f84be..851ba673882b 100644
> > --- a/drivers/vfio/pci/vfio_pci_nvlink2.c
> > +++ b/drivers/vfio/pci/vfio_pci_nvlink2.c
> > @@ -420,8 +420,17 @@ int vfio_pci_ibm_npu2_init(struct vfio_pci_device *vdev)
> >  
> >  	if (of_property_read_u64_index(hose->dn, "ibm,mmio-atsd", nvlink_index,
> >  			&mmio_atsd)) {
> > -		dev_warn(&vdev->pdev->dev, "No available ATSD found\n");
> > -		mmio_atsd = 0;
> > +		dev_warn(&vdev->pdev->dev,
> > +			 "No ibm,mmio-atsd[%d] found: trying ibm,mmio-atsd[0]\n",
> > +			 nvlink_index);
> 
> 
> We do not really need this warning (nvlink_index doesn't matter that
> much, we can work out from the device tree what happened), warnings
> below are enough (if you really want, you can print nvlink_index there).
> 
> Either way,
> 
> Reviewed-by: Alexey Kardashevskiy <aik at ozlabs.ru>
> 

Thanks,

I'll change it if there's some reason to do another version but
otherwise leave it as is.

Sam.
> 
> 
> 
> > +		if (of_property_read_u64_index(hose->dn, "ibm,mmio-atsd", 0,
> > +				&mmio_atsd)) {
> > +			dev_warn(&vdev->pdev->dev, "No available ATSD found\n");
> > +			mmio_atsd = 0;
> > +		} else {
> > +			dev_warn(&vdev->pdev->dev,
> > +				 "Using fallback ibm,mmio-atsd[0] for ATSD.\n");
> > +		}
> >  	}
> >  
> >  	if (of_property_read_u64(npu_node, "ibm,device-tgt-addr", &tgt)) {
> > 
> 
> -- 
> Alexey
-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 488 bytes
Desc: not available
URL: <http://lists.ozlabs.org/pipermail/linuxppc-dev/attachments/20200207/caa8073b/attachment.sig>


More information about the Linuxppc-dev mailing list