Sasha Levin
2021-Aug-24 00:53 UTC
[Nouveau] [PATCH AUTOSEL 5.13 20/26] drm/nouveau: recognise GA107
From: Ben Skeggs <bskeggs at redhat.com>
[ Upstream commit fa25f28ef2cef19bc9ffeb827b8ecbf48af7f892 ]
Still no GA106 as I don't have HW to verif.
Signed-off-by: Ben Skeggs <bskeggs at redhat.com>
Reviewed-by: Lyude Paul <lyude at redhat.com>
Signed-off-by: Sasha Levin <sashal at kernel.org>
---
.../gpu/drm/nouveau/nvkm/engine/device/base.c | 21 +++++++++++++++++++
1 file changed, 21 insertions(+)
diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
index b930f539feec..93ddf63d1114 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
@@ -2624,6 +2624,26 @@ nv174_chipset = {
.dma = { 0x00000001, gv100_dma_new },
};
+static const struct nvkm_device_chip
+nv177_chipset = {
+ .name = "GA107",
+ .bar = { 0x00000001, tu102_bar_new },
+ .bios = { 0x00000001, nvkm_bios_new },
+ .devinit = { 0x00000001, ga100_devinit_new },
+ .fb = { 0x00000001, ga102_fb_new },
+ .gpio = { 0x00000001, ga102_gpio_new },
+ .i2c = { 0x00000001, gm200_i2c_new },
+ .imem = { 0x00000001, nv50_instmem_new },
+ .mc = { 0x00000001, ga100_mc_new },
+ .mmu = { 0x00000001, tu102_mmu_new },
+ .pci = { 0x00000001, gp100_pci_new },
+ .privring = { 0x00000001, gm200_privring_new },
+ .timer = { 0x00000001, gk20a_timer_new },
+ .top = { 0x00000001, ga100_top_new },
+ .disp = { 0x00000001, ga102_disp_new },
+ .dma = { 0x00000001, gv100_dma_new },
+};
+
static int
nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size,
struct nvkm_notify *notify)
@@ -3049,6 +3069,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func,
case 0x168: device->chip = &nv168_chipset; break;
case 0x172: device->chip = &nv172_chipset; break;
case 0x174: device->chip = &nv174_chipset; break;
+ case 0x177: device->chip = &nv177_chipset; break;
default:
if (nvkm_boolopt(device->cfgopt, "NvEnableUnsupportedChipsets",
false)) {
switch (device->chipset) {
--
2.30.2
Lyude Paul
2021-Aug-24 17:08 UTC
[Nouveau] [PATCH AUTOSEL 5.13 20/26] drm/nouveau: recognise GA107
This is more hardware enablement, I'm not sure this should be going into stable either. Ben? On Mon, 2021-08-23 at 20:53 -0400, Sasha Levin wrote:> From: Ben Skeggs <bskeggs at redhat.com> > > [ Upstream commit fa25f28ef2cef19bc9ffeb827b8ecbf48af7f892 ] > > Still no GA106 as I don't have HW to verif. > > Signed-off-by: Ben Skeggs <bskeggs at redhat.com> > Reviewed-by: Lyude Paul <lyude at redhat.com> > Signed-off-by: Sasha Levin <sashal at kernel.org> > --- > ?.../gpu/drm/nouveau/nvkm/engine/device/base.c | 21 +++++++++++++++++++ > ?1 file changed, 21 insertions(+) > > diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c > b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c > index b930f539feec..93ddf63d1114 100644 > --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c > +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c > @@ -2624,6 +2624,26 @@ nv174_chipset = { > ????????.dma????? = { 0x00000001, gv100_dma_new }, > ?}; > ? > +static const struct nvkm_device_chip > +nv177_chipset = { > +???????.name = "GA107", > +???????.bar????? = { 0x00000001, tu102_bar_new }, > +???????.bios???? = { 0x00000001, nvkm_bios_new }, > +???????.devinit? = { 0x00000001, ga100_devinit_new }, > +???????.fb?????? = { 0x00000001, ga102_fb_new }, > +???????.gpio???? = { 0x00000001, ga102_gpio_new }, > +???????.i2c????? = { 0x00000001, gm200_i2c_new }, > +???????.imem???? = { 0x00000001, nv50_instmem_new }, > +???????.mc?????? = { 0x00000001, ga100_mc_new }, > +???????.mmu????? = { 0x00000001, tu102_mmu_new }, > +???????.pci????? = { 0x00000001, gp100_pci_new }, > +???????.privring = { 0x00000001, gm200_privring_new }, > +???????.timer??? = { 0x00000001, gk20a_timer_new }, > +???????.top????? = { 0x00000001, ga100_top_new }, > +???????.disp???? = { 0x00000001, ga102_disp_new }, > +???????.dma????? = { 0x00000001, gv100_dma_new }, > +}; > + > ?static int > ?nvkm_device_event_ctor(struct nvkm_object *object, void *data, u32 size, > ?????????????????????? struct nvkm_notify *notify) > @@ -3049,6 +3069,7 @@ nvkm_device_ctor(const struct nvkm_device_func *func, > ????????????????case 0x168: device->chip = &nv168_chipset; break; > ????????????????case 0x172: device->chip = &nv172_chipset; break; > ????????????????case 0x174: device->chip = &nv174_chipset; break; > +???????????????case 0x177: device->chip = &nv177_chipset; break; > ????????????????default: > ????????????????????????if (nvkm_boolopt(device->cfgopt, > "NvEnableUnsupportedChipsets", false)) { > ????????????????????????????????switch (device->chipset) {-- Cheers, Lyude Paul (she/her) Software Engineer at Red Hat