qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH 3/3] ioh3420: Support ARI forwarding


From: Marcel Apfelbaum
Subject: Re: [Qemu-devel] [PATCH 3/3] ioh3420: Support ARI forwarding
Date: Wed, 20 Aug 2014 11:57:28 +0300

On Wed, 2014-08-20 at 08:53 +0200, Knut Omang wrote:
> Enable the PCIe capability bit that indicates that this port is able to 
> support
> and forward requests to > 8 functions for ARI capable devices.
> 
> Signed-off-by: Knut Omang <address@hidden>
> ---
>  hw/pci-bridge/ioh3420.c | 7 +++++++
>  1 file changed, 7 insertions(+)
> 
> diff --git a/hw/pci-bridge/ioh3420.c b/hw/pci-bridge/ioh3420.c
> index 8f6c8b0..c14ea6b 100644
> --- a/hw/pci-bridge/ioh3420.c
> +++ b/hw/pci-bridge/ioh3420.c
> @@ -92,8 +92,10 @@ static void ioh3420_reset(DeviceState *qdev)
>  
>  static int ioh3420_initfn(PCIDevice *d)
>  {
> +    PCIBridge* br = PCI_BRIDGE(d);
>      PCIEPort *p = PCIE_PORT(d);
>      PCIESlot *s = PCIE_SLOT(d);
> +    uint8_t *exp_cap;
>      int rc;
>      char tmp[100];
>      sprintf(tmp, "pcie_port.%d", s->slot);
> @@ -121,6 +123,10 @@ static int ioh3420_initfn(PCIDevice *d)
>      if (rc < 0) {
>          goto err_msi;
>      }
> +    /* Support ARI forwarding */
> +    exp_cap = d->config + d->exp.exp_cap;
> +    pci_word_test_and_set_mask(exp_cap + PCI_EXP_DEVCAP2, 
> PCI_EXP_DEVCAP2_ARI);
> +
Hi,

I think is better to move the implementation to a function, say 
pcie_cap_ari_init
and place it into hw/pci/pcie.c so other devices like downstream ports can use 
it.

Thanks,
Marcel

>      pcie_cap_deverr_init(d);
>      pcie_cap_slot_init(d, s->slot);
>      pcie_chassis_create(s->chassis);
> @@ -151,6 +157,7 @@ err_bridge:
>  static void ioh3420_exitfn(PCIDevice *d)
>  {
>      PCIESlot *s = PCIE_SLOT(d);
> +    PCIBridge* br = PCI_BRIDGE(d);
>  
>      pcie_aer_exit(d);
>      pcie_chassis_del_slot(s);






reply via email to

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