On Wed, Sep 30, 2020 at 08:47:00PM +0200, Thomas Gleixner wrote:

> > +   pci_read_config_dword(pdev, SIOVCAP(dvsec), &val32);
> > +   if ((val32 & 0x1) && idxd->hw.gen_cap.max_ims_mult) {
> > +           idxd->ims_size = idxd->hw.gen_cap.max_ims_mult * 256ULL;
> > +           dev_dbg(dev, "IMS size: %u\n", idxd->ims_size);
> > +           set_bit(IDXD_FLAG_SIOV_SUPPORTED, &idxd->flags);
> > +           dev_dbg(&pdev->dev, "IMS supported for device\n");
> > +           return;
> > +   }
> > +
> > +   dev_dbg(&pdev->dev, "SIOV unsupported for device\n");
> 
> It's really hard to find the code inside all of this dev_dbg()
> noise. But why is this capability check done in this driver? Is this
> capability stuff really IDXD specific or is the next device which
> supports this going to copy and pasta the above?

It is the weirdest thing, IMHO. Intel defined a dvsec cap in their
SIOV cookbook, but as far as I can see it serves no purpose at
all.

Last time I asked I got some unclear mumbling about "OEMs".

I expect you'll see all Intel drivers copying this code.

Jason

Reply via email to