Commit 9a6e6c14 authored by Lucas De Marchi's avatar Lucas De Marchi Committed by Rodrigo Vivi

drm/xe/mmio: Use non-atomic writeq/readq variant for 32b

writeq() and readq() and other functions working on 64 bit variables
are not provided by 32b arch. For that it's needed to choose between
linux/io-64-nonatomic-hi-lo.h and linux/io-64-nonatomic-lo-hi.h,
spliting the read/write in 2 accesses. For xe driver, it doesn't matter
much, so just choose one and include in xe_mmio.h.

This also removes some ifdef CONFIG_64BIT we had around because of the
missing 64bit functions.
Signed-off-by: default avatarLucas De Marchi <lucas.demarchi@intel.com>
Reviewed-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
Signed-off-by: default avatarRodrigo Vivi <rodrigo.vivi@intel.com>
parent 857912c3
...@@ -48,7 +48,6 @@ static int xe_set_dma_info(struct xe_device *xe) ...@@ -48,7 +48,6 @@ static int xe_set_dma_info(struct xe_device *xe)
return err; return err;
} }
#ifdef CONFIG_64BIT
static int static int
_resize_bar(struct xe_device *xe, int resno, resource_size_t size) _resize_bar(struct xe_device *xe, int resno, resource_size_t size)
{ {
...@@ -132,9 +131,6 @@ static int xe_resize_lmem_bar(struct xe_device *xe, resource_size_t lmem_size) ...@@ -132,9 +131,6 @@ static int xe_resize_lmem_bar(struct xe_device *xe, resource_size_t lmem_size)
pci_write_config_dword(pdev, PCI_COMMAND, pci_cmd); pci_write_config_dword(pdev, PCI_COMMAND, pci_cmd);
return ret; return ret;
} }
#else
static int xe_resize_lmem_bar(struct xe_device *xe, resource_size_t lmem_size) { return 0; }
#endif
static bool xe_pci_resource_valid(struct pci_dev *pdev, int bar) static bool xe_pci_resource_valid(struct pci_dev *pdev, int bar)
{ {
...@@ -236,10 +232,7 @@ int xe_mmio_probe_vram(struct xe_device *xe) ...@@ -236,10 +232,7 @@ int xe_mmio_probe_vram(struct xe_device *xe)
drm_warn(&xe->drm, "Restricting VRAM size to PCI resource size (0x%llx->0x%llx)\n", drm_warn(&xe->drm, "Restricting VRAM size to PCI resource size (0x%llx->0x%llx)\n",
lmem_size, (u64)xe->mem.vram.size); lmem_size, (u64)xe->mem.vram.size);
#ifdef CONFIG_64BIT
xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.size); xe->mem.vram.mapping = ioremap_wc(xe->mem.vram.io_start, xe->mem.vram.size);
#endif
xe->mem.vram.size = min_t(u64, xe->mem.vram.size, usable_size); xe->mem.vram.size = min_t(u64, xe->mem.vram.size, usable_size);
drm_info(&xe->drm, "TOTAL VRAM: %pa, %pa\n", &xe->mem.vram.io_start, &xe->mem.vram.size); drm_info(&xe->drm, "TOTAL VRAM: %pa, %pa\n", &xe->mem.vram.io_start, &xe->mem.vram.size);
......
...@@ -7,6 +7,7 @@ ...@@ -7,6 +7,7 @@
#define _XE_MMIO_H_ #define _XE_MMIO_H_
#include <linux/delay.h> #include <linux/delay.h>
#include <linux/io-64-nonatomic-lo-hi.h>
#include "xe_gt_types.h" #include "xe_gt_types.h"
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment