qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [RFC PATCH 1/4] include/standard-headers/linux/pci_regs: temp hack t


From: Michael S. Tsirkin
Subject: Re: [RFC PATCH 1/4] include/standard-headers/linux/pci_regs: temp hack to add necessary DOE definitions.
Date: Tue, 2 Feb 2021 18:13:47 -0500

On Tue, Feb 02, 2021 at 07:39:51AM -0800, Ben Widawsky wrote:
> On 21-02-01 23:16:26, Jonathan Cameron wrote:
> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@huawei.com>
> > ---
> >  include/standard-headers/linux/pci_regs.h | 33 ++++++++++++++++++++++-
> >  1 file changed, 32 insertions(+), 1 deletion(-)
> > 
> > diff --git a/include/standard-headers/linux/pci_regs.h 
> > b/include/standard-headers/linux/pci_regs.h
> > index e709ae8235..7e852d3dd0 100644
> > --- a/include/standard-headers/linux/pci_regs.h
> > +++ b/include/standard-headers/linux/pci_regs.h
> > @@ -730,7 +730,8 @@
> >  #define PCI_EXT_CAP_ID_DVSEC       0x23    /* Designated Vendor-Specific */
> >  #define PCI_EXT_CAP_ID_DLF 0x25    /* Data Link Feature */
> >  #define PCI_EXT_CAP_ID_PL_16GT     0x26    /* Physical Layer 16.0 GT/s */
> > -#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_PL_16GT
> > +#define PCI_EXT_CAP_ID_DOE 0x2E    /* Data Object Exchange */
> > +#define PCI_EXT_CAP_ID_MAX PCI_EXT_CAP_ID_DOE
> >  
> >  #define PCI_EXT_CAP_DSN_SIZEOF     12
> >  #define PCI_EXT_CAP_MCAST_ENDPOINT_SIZEOF 40
> > @@ -1092,4 +1093,34 @@
> >  #define  PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_MASK            0x000000F0
> >  #define  PCI_PL_16GT_LE_CTRL_USP_TX_PRESET_SHIFT   4
> >  
> > +/* Data Object Exchange */
> > +#define PCI_DOE_CAP                0x04
> > +#define  PCI_DOE_CAP_INT_SUPPORT                   0x00000001
> > +#define  PCI_DOE_CAP_INT_MSG_NUM                   0x00000FFE
> > +
> > +#define PCI_DOE_CTRL               0x08
> > +#define  PCI_DOE_CTRL_DOE_ABORT                            0x00000001
> > +#define  PCI_DOE_CTRL_DOE_INT_EN                   0x00000002
> > +#define  PCI_DOE_CTRL_DOE_GO                               0x80000000
> > +
> > +#define PCI_DOE_STATUS             0x0c
> > +#define  PCI_DOE_STATUS_DOE_BUSY                   0x00000001
> > +#define  PCI_DOE_STATUS_INT_STATUS                 0x00000002
> > +#define  PCI_DOE_STATUS_DOE_ERROR                  0x00000004
> > +#define  PCI_DOE_STATUS_DATA_OBJECT_READY          0x80000000
> > +
> > +#define PCI_DOE_WRITE_MAILBOX      0x10
> > +#define PCI_DOE_READ_MAILBOX       0x14
> > +
> > +/* Data Object Format DOE ECN 6.xx.1 */
> > +#define PCI_DATA_OBJ_DW0_VID                               0x0000ffff
> > +#define PCI_DATA_OBJ_DW0_TYPE                              0x00ff0000
> > +#define PCI_DATA_OBJ_DW1_LEN                               0x0003ffff
> > +
> > +/* DOE Discover Data Object */
> > +#define PCI_DOE_DIS_OBJ_TYPE        0x1
> > +#define PCI_DOE_DIS_REQ_D0_DW0_INDEX                       0x000000ff
> > +#define PCI_DOE_DIS_RSP_DO_DW0_VID                 0x0000ffff
> > +#define PCI_DOE_DIS_RSP_D0_DW0_PROT                        0x00ff0000
> > +#define PCI_DOE_DIS_RSP_D0_DW0_NEXT_INDEX          0xff000000
> >  #endif /* LINUX_PCI_REGS_H */
> 
> I think a lot of these should have had _MASK at the end.
> 
> As for the accuracy of the values, lgtm.

just add them in the source file where they are used.
standard-headers are over-written by scripts, adding
your own macros there won't help.




reply via email to

[Prev in Thread] Current Thread [Next in Thread]