Messages in this thread Patch in this message | | | From | Tomas Winkler <> | Subject | [char-misc-next 2/2] mei: me: set dma mask using DMA mapping API | Date | Tue, 17 Dec 2013 15:56:57 +0200 |
| |
ME device is 64bit DMA capable We assume both coherent and consistent memory to match
Signed-off-by: Tomas Winkler <tomas.winkler@intel.com> --- drivers/misc/mei/pci-me.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+)
diff --git a/drivers/misc/mei/pci-me.c b/drivers/misc/mei/pci-me.c index 7dfaa32..8b1deea 100644 --- a/drivers/misc/mei/pci-me.c +++ b/drivers/misc/mei/pci-me.c @@ -144,6 +144,21 @@ static int mei_me_probe(struct pci_dev *pdev, const struct pci_device_id *ent) dev_err(&pdev->dev, "failed to get pci regions.\n"); goto disable_device; } + + if (dma_set_mask(&pdev->dev, DMA_BIT_MASK(64)) || + dma_set_coherent_mask(&pdev->dev, DMA_BIT_MASK(64))) { + + err = dma_set_mask(&pdev->dev, DMA_BIT_MASK(32)); + if (err) + err = dma_set_coherent_mask(&pdev->dev, + DMA_BIT_MASK(32)); + } + if (err) { + dev_err(&pdev->dev, "No usable DMA configuration, aborting\n"); + goto release_regions; + } + + /* allocates and initializes the mei dev structure */ dev = mei_me_dev_init(pdev); if (!dev) { -- 1.8.3.1
| |