search for: nvkm_device_func

Displaying 20 results from an estimated 42 matches for "nvkm_device_func".

2020 Apr 28
3
[PATCH v3 1/3] device: rework mmio mapping code to get rid of second map
...15 insertions(+), 12 deletions(-) diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index 8ebbe1656..37589f365 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -2935,7 +2935,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, struct nvkm_subdev *subdev; u64 mmio_base, mmio_size; u32 boot0, strap; - void __iomem *map; + void __iomem *map = NULL; int ret = -EEXIST, i; unsigned chipset; @@ -2961,12 +2961,17 @@ nvkm_device_ctor(const struct nvkm_device_func *func, mmio_base = device->func->resourc...
2020 Apr 17
2
[PATCH 1/3] device: use the correct mmio size when mapping
...ed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index 8ebbe1656..17676c75a 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -2963,7 +2963,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, /* identify the chipset, and determine classes of subdev/engines */ if (detect) { - map = ioremap(mmio_base, 0x102000); + map = ioremap(mmio_base, mmio_size); if (ret = -ENOMEM, map == NULL) goto done; -- 2.25.2
2020 Apr 17
2
[PATCH v2 1/3] device: use the correct mmio size when mapping
...ed, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index 8ebbe1656..17676c75a 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -2963,7 +2963,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, /* identify the chipset, and determine classes of subdev/engines */ if (detect) { - map = ioremap(mmio_base, 0x102000); + map = ioremap(mmio_base, mmio_size); if (ret = -ENOMEM, map == NULL) goto done; -- 2.25.2
2020 Oct 05
2
[PATCH] device: return error for unknown chipsets
...+ 1 file changed, 1 insertion(+) diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index 9f4ac2672..68d665414 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -3149,6 +3149,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, case 0x168: device->chip = &nv168_chipset; break; default: nvdev_error(device, "unknown chipset (%08x)\n", boot0); + ret = -ENOSYS; goto done; } -- 2.26.2
2020 Oct 13
3
[PATCH] drm/nouveau/device: fix changing endianess code to work on older GPUs
..., 0x000000); + if (nvkm_rd32(device, 0x000004) != (big_endian ? 0x01000001 : 0x00000000)) + return !big_endian; /* Assume GPU is LE on any unexpected read-back. */ + } + + /* CPU/GPU endianness should (hopefully) match. */ return true; } @@ -2987,14 +3004,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, if (detect) { /* switch mmio to cpu's native endianness */ if (!nvkm_device_endianness(device)) { - nvkm_wr32(device, 0x000004, 0x01000001); - nvkm_rd32(device, 0x000000); - if (!nvkm_device_endianness(device)) { - nvdev_error(device, - "GPU not supported on...
2016 Dec 12
2
[PATCH] drm/nouveau: fix unknown chipset for GTX 1060
...= gp104_ce_new, + .ce[3] = gp104_ce_new, + .disp = gp104_disp_new, + .dma = gf119_dma_new, + .fifo = gp100_fifo_new, +}; + static int nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, struct nvkm_notify *notify) @@ -2644,6 +2672,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, case 0x12b: device->chip = &nv12b_chipset; break; case 0x130: device->chip = &nv130_chipset; break; case 0x134: device->chip = &nv134_chipset; break; + case 0x136: device->chip = &nv136_chipset; break; default: nvdev_error(device, "unknown ch...
2020 Apr 28
0
[PATCH v3 2/3] device: detect if changing endianness failed
...device) } } +static inline bool +nvkm_device_endianness(void __iomem *pri) +{ + u32 boot1 = ioread32_native(pri + 0x000004) & 0x01000001; +#ifdef __BIG_ENDIAN + if (!boot1) + return false; +#else + if (boot1) + return false; +#endif + return true; +} + int nvkm_device_ctor(const struct nvkm_device_func *func, const struct nvkm_device_quirk *quirk, @@ -2973,13 +2987,15 @@ nvkm_device_ctor(const struct nvkm_device_func *func, /* identify the chipset, and determine classes of subdev/engines */ if (detect) { /* switch mmio to cpu's native endianness */ -#ifndef __BIG_ENDIAN - if (iore...
2020 Oct 06
1
[PATCH] device: return error for unknown chipsets
...(+) > > diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c > index 9f4ac2672..68d665414 100644 > --- a/drm/nouveau/nvkm/engine/device/base.c > +++ b/drm/nouveau/nvkm/engine/device/base.c > @@ -3149,6 +3149,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > case 0x168: device->chip = &nv168_chipset; break; > default: > nvdev_error(device, "unknown chipset (%08x)\n", boot0); > + ret = -ENOSYS; > goto done; > } >
2017 Feb 14
1
[PATCH] drm/nouveau/core: recognise GP107 chipset
...= gp104_ce_new, + .ce[3] = gp104_ce_new, + .disp = gp104_disp_new, + .dma = gf119_dma_new, + .fifo = gp100_fifo_new, +}; + static int nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, struct nvkm_notify *notify) @@ -2673,6 +2701,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, case 0x130: device->chip = &nv130_chipset; break; case 0x134: device->chip = &nv134_chipset; break; case 0x136: device->chip = &nv136_chipset; break; + case 0x137: device->chip = &nv137_chipset; break; default: nvdev_error(device, "unknown ch...
2015 Oct 07
2
Chipset & Family
...hanged, 1 insertion(+), 1 deletion(-) diff --git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c index bbc9824..932a29a 100644 --- a/drm/nouveau/nvkm/engine/device/base.c +++ b/drm/nouveau/nvkm/engine/device/base.c @@ -2467,7 +2467,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, goto done; } - nvdev_info(device, "NVIDIA %s (%08x)\n", + nvdev_info(device, "GPU NVIDIA Chipset: %s (%08x)\n", device->chip->name, boot0); /* determine frequency of timing crystal */ -- 2.6.0
2020 Oct 06
1
[PATCH] device: return error for unknown chipsets
...nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c > > > index 9f4ac2672..68d665414 100644 > > > --- a/drm/nouveau/nvkm/engine/device/base.c > > > +++ b/drm/nouveau/nvkm/engine/device/base.c > > > @@ -3149,6 +3149,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > > > case 0x168: device->chip = &nv168_chipset; break; > > > default: > > > nvdev_error(device, "unknown chipset (%08x)\n", boot0); > > > + ret = -ENOSYS; > > &gt...
2016 Sep 18
5
[PATCH 1/2] Revert "bus: remove cpu_coherent flag"
...6 ++++++ 5 files changed, 11 insertions(+), 1 deletion(-) diff --git a/drm/nouveau/include/nvkm/core/device.h b/drm/nouveau/include/nvkm/core/device.h index 7ea8aa7..6bc712f 100644 --- a/drm/nouveau/include/nvkm/core/device.h +++ b/drm/nouveau/include/nvkm/core/device.h @@ -175,6 +175,7 @@ struct nvkm_device_func { void (*fini)(struct nvkm_device *, bool suspend); resource_size_t (*resource_addr)(struct nvkm_device *, unsigned bar); resource_size_t (*resource_size)(struct nvkm_device *, unsigned bar); + bool cpu_coherent; }; struct nvkm_device_quirk { diff --git a/drm/nouveau/nouveau_bo.c b/drm/no...
2016 Dec 12
0
[PATCH] drm/nouveau: fix unknown chipset for GTX 1060
...; + .disp = gp104_disp_new, > + .dma = gf119_dma_new, > + .fifo = gp100_fifo_new, > +}; > + > static int > nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, > struct nvkm_notify *notify) > @@ -2644,6 +2672,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > case 0x12b: device->chip = &nv12b_chipset; break; > case 0x130: device->chip = &nv130_chipset; break; > case 0x134: device->chip = &nv134_chipset; break; > + case 0x136: device->chip = &nv136_chipset; break; > default: > nvdev_...
2017 Feb 14
0
[PATCH] drm/nouveau/core: recognise GP107 chipset
...w, > + .dma = gf119_dma_new, > + .fifo = gp100_fifo_new, > +}; > + > static int > nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, > struct nvkm_notify *notify) > @@ -2673,6 +2701,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > case 0x130: device->chip = &nv130_chipset; break; > case 0x134: device->chip = &nv134_chipset; break; > case 0x136: device->chip = &nv136_chipset; break; > + case 0x137: device->chip = &nv...
2017 Jul 03
0
[PATCH] initial support (display-only) for GP108
..._new, + .ce[2] = gp102_ce_new, + .ce[3] = gp102_ce_new, + .disp = gp102_disp_new, + .dma = gf119_dma_new, + .fifo = gp100_fifo_new, +}; + +static const struct nvkm_device_chip nv13b_chipset = { .name = "GP10B", .bar = gk20a_bar_new, @@ -2782,6 +2811,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, case 0x134: device->chip = &nv134_chipset; break; case 0x136: device->chip = &nv136_chipset; break; case 0x137: device->chip = &nv137_chipset; break; + case 0x138: device->chip = &nv138_chipset; break; case 0x13b: device->chip = &nv13b_chipset;...
2020 Oct 06
0
[PATCH] device: return error for unknown chipsets
...--git a/drm/nouveau/nvkm/engine/device/base.c b/drm/nouveau/nvkm/engine/device/base.c > > index 9f4ac2672..68d665414 100644 > > --- a/drm/nouveau/nvkm/engine/device/base.c > > +++ b/drm/nouveau/nvkm/engine/device/base.c > > @@ -3149,6 +3149,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > > case 0x168: device->chip = &nv168_chipset; break; > > default: > > nvdev_error(device, "unknown chipset (%08x)\n", boot0); > > + ret = -ENOSYS; > > g...
2020 Oct 13
0
[PATCH] drm/nouveau/device: fix changing endianess code to work on older GPUs
...: 0x00000000)) > + return !big_endian; /* Assume GPU is LE on any unexpected read-back. */ > + } > + > + /* CPU/GPU endianness should (hopefully) match. */ > return true; > } > > @@ -2987,14 +3004,10 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > if (detect) { > /* switch mmio to cpu's native endianness */ > if (!nvkm_device_endianness(device)) { > - nvkm_wr32(device, 0x000004, 0x01000001); > - nvkm_rd32(device, 0x000000); > -...
2016 Sep 19
0
[PATCH 1/2] Revert "bus: remove cpu_coherent flag"
...insertions(+), 1 deletion(-) > > diff --git a/drm/nouveau/include/nvkm/core/device.h b/drm/nouveau/include/nvkm/core/device.h > index 7ea8aa7..6bc712f 100644 > --- a/drm/nouveau/include/nvkm/core/device.h > +++ b/drm/nouveau/include/nvkm/core/device.h > @@ -175,6 +175,7 @@ struct nvkm_device_func { > void (*fini)(struct nvkm_device *, bool suspend); > resource_size_t (*resource_addr)(struct nvkm_device *, unsigned bar); > resource_size_t (*resource_size)(struct nvkm_device *, unsigned bar); > + bool cpu_coherent; > }; > > struct nvkm_devi...
2018 Feb 05
0
[PATCH 2/3] drm/nouveau/disp: quirk for SOR crossbar routing
...diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h index 560265b15ec2..d384cb03ad85 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h @@ -184,6 +184,7 @@ struct nvkm_device_func { struct nvkm_device_quirk { u8 tv_pin_mask; u8 tv_gpio; + u8 outp_links_skip; }; struct nvkm_device_chip { diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c index be9e7f8c3b23..47303bdb7ee0 100644 --- a/drivers/gpu/drm/nouveau/n...
2018 Feb 05
0
[PATCH v2 2/3] drm/nouveau/disp: quirk for SOR crossbar routing
...diff --git a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h index 560265b15ec2..d384cb03ad85 100644 --- a/drivers/gpu/drm/nouveau/include/nvkm/core/device.h +++ b/drivers/gpu/drm/nouveau/include/nvkm/core/device.h @@ -184,6 +184,7 @@ struct nvkm_device_func { struct nvkm_device_quirk { u8 tv_pin_mask; u8 tv_gpio; + u8 outp_links_skip; }; struct nvkm_device_chip { diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c b/drivers/gpu/drm/nouveau/nvkm/engine/disp/outp.c index be9e7f8c3b23..a574746ddd82 100644 --- a/drivers/gpu/drm/nouveau/n...