[PATCH 2/2] powerpc/pseries: Check if EEH is enabled on DDW mechanism code
Guilherme G. Piccoli
gpiccoli at linux.vnet.ibm.com
Wed Feb 3 23:26:36 AEDT 2016
On 02/02/2016 09:48 PM, Gavin Shan wrote:
> On Tue, Jan 19, 2016 at 06:18:20PM -0200, Guilherme G. Piccoli wrote:
>> - /* only attempt to use a new window if 64-bit DMA is requested */
>> - if (!disable_ddw && dma_mask == DMA_BIT_MASK(64)) {
>> + /* We should check if EEH is enabled here, since DDW mechanism has
>> + * an intrinsic dependency of EEH config addr information. Also, we
>> + * only attempt to use a new window if 64-bit DMA is requested */
>> + if (eeh_enabled() && !disable_ddw && dma_mask == DMA_BIT_MASK(64)) {
>> dn = pci_device_to_OF_node(pdev);
>> dev_dbg(dev, "node is %s\n", dn->full_name);
>>
>
> There are two types of addresses: (1) PCI config address (2) PE config address.
> (1) is used to indentify one PCI device which is included in the PE. (2) is the
> PCI config address of PE's primary bus in pHyp. Both of them can be used to identify
> the PE. It means the (1) PCI config address, which is retrieved from pci_dn, can be
> passed to hypervisor. Then we don't have to disable DDW when EEH is disabled.
>
> Guilherme, did you hit the crash on pHyp or PowerKVM?
Gavin, thanks very much for the clarification. So, we can interchange
edev->config_addr with pdn->pci_ext_config_space ?
This would solve the issue with DDW being enabled when EEH is not.
I hit the issue on PowerVM (PHyp). I wasn't able to perform hotplug in
qemu that time I was testing this - I can re-test on qemu. Can we use
pci_dn config address in qemu guest too?
Cheers,
Guilherme
More information about the Linuxppc-dev
mailing list