From: Dave Jiang Date: Tue, 13 Dec 2016 18:15:27 +0000 (-0700) Subject: dmaengine: ioatdma: workaround SKX ioatdma version X-Git-Tag: v4.4.80~22 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=328a9cdcbab906014b154ef5adb81dfce8d57923;p=thirdparty%2Fkernel%2Fstable.git dmaengine: ioatdma: workaround SKX ioatdma version [ Upstream commit 34a31f0af84158955a9747fb5c6712da5bbb5331 ] The Skylake ioatdma is technically CBDMA 3.2+ and contains the same hardware bits with some additional 3.3 features, but it's not really 3.3 where the driver is concerned. Signed-off-by: Dave Jiang Signed-off-by: Vinod Koul Signed-off-by: Sasha Levin Signed-off-by: Greg Kroah-Hartman --- diff --git a/drivers/dma/ioat/init.c b/drivers/dma/ioat/init.c index 44aa0404b934d..abb75ebd65eae 100644 --- a/drivers/dma/ioat/init.c +++ b/drivers/dma/ioat/init.c @@ -1357,6 +1357,8 @@ static int ioat_pci_probe(struct pci_dev *pdev, const struct pci_device_id *id) device->version = readb(device->reg_base + IOAT_VER_OFFSET); if (device->version >= IOAT_VER_3_0) { + if (is_skx_ioat(pdev)) + device->version = IOAT_VER_3_2; err = ioat3_dma_probe(device, ioat_dca_enabled); if (device->version >= IOAT_VER_3_3)