mfd: intel-lpss: Try to enable Memory-Write-Invalidate
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 15 Nov 2016 10:37:04 +0000 (12:37 +0200)
committerLee Jones <lee.jones@linaro.org>
Tue, 29 Nov 2016 08:21:36 +0000 (08:21 +0000)
Enable MWI mechanism if PCI bus master supports it.

It might be potential benefit in some cases. Documentation [1] says that
standard Memory Write might supply more current data than in the CPU modified
cache line and "trashing a line in the cache may trash some data that is more
current that in the memory line". This allows to avoid potential retries and
other performance degradation issues on the bus.

[1] PCI System Architecture, 4th edition, ISBN: 0-201-30974-2, pp.117-119.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Acked-by: Mika Westerberg <mika.westerberg@linux.intel.com>
Signed-off-by: Lee Jones <lee.jones@linaro.org>
drivers/mfd/intel-lpss-pci.c

index 3228fd182a99ecfd32391f90d41d61be46b0251c..4f561869b966d15555048a3525c3be529e2cefd2 100644 (file)
@@ -41,6 +41,7 @@ static int intel_lpss_pci_probe(struct pci_dev *pdev,
 
        /* Probably it is enough to set this for iDMA capable devices only */
        pci_set_master(pdev);
+       pci_try_set_mwi(pdev);
 
        ret = intel_lpss_probe(&pdev->dev, info);
        if (ret)