[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH v2 02/12] pci: introduce a pci_sbdf_t field to pci_dev
> -----Original Message----- > From: Xen-devel [mailto:xen-devel-bounces@xxxxxxxxxxxxxxxxxxxx] On Behalf Of > Roger Pau Monne > Sent: 06 June 2019 10:02 > To: xen-devel@xxxxxxxxxxxxxxxxxxxx > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx>; Wei Liu <wl@xxxxxxx>; Konrad > Rzeszutek Wilk > <konrad.wilk@xxxxxxxxxx>; George Dunlap <George.Dunlap@xxxxxxxxxx>; Andrew > Cooper > <Andrew.Cooper3@xxxxxxxxxx>; Ian Jackson <Ian.Jackson@xxxxxxxxxx>; Tim > (Xen.org) <tim@xxxxxxx>; Julien > Grall <julien.grall@xxxxxxx>; Jan Beulich <jbeulich@xxxxxxxx>; Roger Pau > Monne <roger.pau@xxxxxxxxxx> > Subject: [Xen-devel] [PATCH v2 02/12] pci: introduce a pci_sbdf_t field to > pci_dev > > And use an union with the current seg, bus and devfn fields to make > fields point to the same underlying data. > > No functional change. > > Suggested-by: Jan Beulich <jbeulich@xxxxxxxx> > Signed-off-by: Roger Pau Monné <roger.pau@xxxxxxxxxx> Reviewed-by: Paul Durrant <paul.durrant@xxxxxxxxxx> > --- > Cc: Andrew Cooper <andrew.cooper3@xxxxxxxxxx> > Cc: George Dunlap <George.Dunlap@xxxxxxxxxxxxx> > Cc: Ian Jackson <ian.jackson@xxxxxxxxxxxxx> > Cc: Jan Beulich <jbeulich@xxxxxxxx> > Cc: Julien Grall <julien.grall@xxxxxxx> > Cc: Konrad Rzeszutek Wilk <konrad.wilk@xxxxxxxxxx> > Cc: Stefano Stabellini <sstabellini@xxxxxxxxxx> > Cc: Tim Deegan <tim@xxxxxxx> > Cc: Wei Liu <wl@xxxxxxx> > --- > xen/drivers/vpci/header.c | 7 ++----- > xen/include/xen/pci.h | 12 +++++++++--- > 2 files changed, 11 insertions(+), 8 deletions(-) > > diff --git a/xen/drivers/vpci/header.c b/xen/drivers/vpci/header.c > index efb6ca90e3..046b1c610e 100644 > --- a/xen/drivers/vpci/header.c > +++ b/xen/drivers/vpci/header.c > @@ -461,9 +461,6 @@ static int init_bars(struct pci_dev *pdev) > unsigned int i, num_bars, rom_reg; > struct vpci_header *header = &pdev->vpci->header; > struct vpci_bar *bars = header->bars; > - pci_sbdf_t sbdf = { > - .sbdf = PCI_SBDF3(pdev->seg, pdev->bus, pdev->devfn), > - }; > int rc; > > switch ( pci_conf_read8(pdev->seg, pdev->bus, slot, func, > PCI_HEADER_TYPE) > @@ -530,7 +527,7 @@ static int init_bars(struct pci_dev *pdev) > else > bars[i].type = VPCI_BAR_MEM32; > > - rc = pci_size_mem_bar(sbdf, reg, &addr, &size, > + rc = pci_size_mem_bar(pdev->sbdf, reg, &addr, &size, > (i == num_bars - 1) ? PCI_BAR_LAST : 0); > if ( rc < 0 ) > { > @@ -560,7 +557,7 @@ static int init_bars(struct pci_dev *pdev) > } > > /* Check expansion ROM. */ > - rc = pci_size_mem_bar(sbdf, rom_reg, &addr, &size, PCI_BAR_ROM); > + rc = pci_size_mem_bar(pdev->sbdf, rom_reg, &addr, &size, PCI_BAR_ROM); > if ( rc > 0 && size ) > { > struct vpci_bar *rom = &header->bars[num_bars]; > diff --git a/xen/include/xen/pci.h b/xen/include/xen/pci.h > index ec98274675..f4908abd8b 100644 > --- a/xen/include/xen/pci.h > +++ b/xen/include/xen/pci.h > @@ -83,9 +83,15 @@ struct pci_dev { > struct arch_msix *msix; > > struct domain *domain; > - const u16 seg; > - const u8 bus; > - const u8 devfn; > + > + union { > + struct { > + const uint8_t devfn; > + const uint8_t bus; > + const uint16_t seg; > + }; > + const pci_sbdf_t sbdf; > + }; > > u8 phantom_stride; > > -- > 2.20.1 (Apple Git-117) > > > _______________________________________________ > Xen-devel mailing list > Xen-devel@xxxxxxxxxxxxxxxxxxxx > https://lists.xenproject.org/mailman/listinfo/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxxx https://lists.xenproject.org/mailman/listinfo/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |