Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1540283 > unrolled thread

[PATCH] drm/nouveau: fix unknown chipset for GTX 1060

Started byChris Chiu <chiu@endlessm.com>
First post2016-12-12 12:30 +0100
Last post2016-12-20 09:40 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] drm/nouveau: fix unknown chipset for GTX 1060 Chris Chiu <chiu@endlessm.com> - 2016-12-12 12:30 +0100
    Re: [PATCH] drm/nouveau: fix unknown chipset for GTX 1060 Ben Skeggs <bskeggs@redhat.com> - 2016-12-12 12:50 +0100
    Re: [Nouveau] [PATCH] drm/nouveau: fix unknown chipset for GTX 1060 Karol Herbst <karolherbst@gmail.com> - 2016-12-20 09:40 +0100

#1540283 — [PATCH] drm/nouveau: fix unknown chipset for GTX 1060

FromChris Chiu <chiu@endlessm.com>
Date2016-12-12 12:30 +0100
Subject[PATCH] drm/nouveau: fix unknown chipset for GTX 1060
Message-ID<sNwXU-3Hf-19@gated-at.bofh.it>
Nouveau driver shows unknown chipset (136000a1) for GTX 1060, so it
only gives VGA resolution on screen. Use the same chipset as nv134
then it shows FullHD. This commit copies fields from nv134_chipset
to nv136_chipset for GTX 1060.

Signed-off-by: Chris Chiu <chiu@endlessm.com>
---
 drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 29 +++++++++++++++++++++++
 1 file changed, 29 insertions(+)

diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
index 7218a06..7c6eece 100644
--- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
@@ -2209,6 +2209,34 @@ nv134_chipset = {
 	.fifo = gp100_fifo_new,
 };
 
+static const struct nvkm_device_chip
+nv136_chipset = {
+	.name = "GP104",
+	.bar = gf100_bar_new,
+	.bios = nvkm_bios_new,
+	.bus = gf100_bus_new,
+	.devinit = gm200_devinit_new,
+	.fb = gp104_fb_new,
+	.fuse = gm107_fuse_new,
+	.gpio = gk104_gpio_new,
+	.i2c = gm200_i2c_new,
+	.ibus = gm200_ibus_new,
+	.imem = nv50_instmem_new,
+	.ltc = gp100_ltc_new,
+	.mc = gp100_mc_new,
+	.mmu = gf100_mmu_new,
+	.pci = gp100_pci_new,
+	.timer = gk20a_timer_new,
+	.top = gk104_top_new,
+	.ce[0] = gp104_ce_new,
+	.ce[1] = gp104_ce_new,
+	.ce[2] = 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 chipset (%08x)\n", boot0);
 			goto done;
-- 
2.1.4

[toc] | [next] | [standalone]


#1540289

FromBen Skeggs <bskeggs@redhat.com>
Date2016-12-12 12:50 +0100
Message-ID<sNxhg-3NJ-1@gated-at.bofh.it>
In reply to#1540283

[Multipart message — attachments visible in raw view] — view raw

On 12/12/2016 09:26 PM, Chris Chiu wrote:
> Nouveau driver shows unknown chipset (136000a1) for GTX 1060, so it
> only gives VGA resolution on screen. Use the same chipset as nv134
> then it shows FullHD. This commit copies fields from nv134_chipset
> to nv136_chipset for GTX 1060.
I have one of these sitting on my desk, but won't be merging support for
it until it's been confirmed that no additional changes are required vs
GP104.  We've been bitten by just making these kind of blind assumptions
before.

Thanks,
Ben.

> 
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
>  drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 29 +++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
> 
> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> index 7218a06..7c6eece 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> @@ -2209,6 +2209,34 @@ nv134_chipset = {
>  	.fifo = gp100_fifo_new,
>  };
>  
> +static const struct nvkm_device_chip
> +nv136_chipset = {
> +	.name = "GP104",
> +	.bar = gf100_bar_new,
> +	.bios = nvkm_bios_new,
> +	.bus = gf100_bus_new,
> +	.devinit = gm200_devinit_new,
> +	.fb = gp104_fb_new,
> +	.fuse = gm107_fuse_new,
> +	.gpio = gk104_gpio_new,
> +	.i2c = gm200_i2c_new,
> +	.ibus = gm200_ibus_new,
> +	.imem = nv50_instmem_new,
> +	.ltc = gp100_ltc_new,
> +	.mc = gp100_mc_new,
> +	.mmu = gf100_mmu_new,
> +	.pci = gp100_pci_new,
> +	.timer = gk20a_timer_new,
> +	.top = gk104_top_new,
> +	.ce[0] = gp104_ce_new,
> +	.ce[1] = gp104_ce_new,
> +	.ce[2] = 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 chipset (%08x)\n", boot0);
>  			goto done;
> 

[toc] | [prev] | [next] | [standalone]


#1544986 — Re: [Nouveau] [PATCH] drm/nouveau: fix unknown chipset for GTX 1060

FromKarol Herbst <karolherbst@gmail.com>
Date2016-12-20 09:40 +0100
SubjectRe: [Nouveau] [PATCH] drm/nouveau: fix unknown chipset for GTX 1060
Message-ID<sQo7M-3bu-15@gated-at.bofh.it>
In reply to#1540283
we already have that included in 4.10

2016-12-12 12:26 GMT+01:00 Chris Chiu <chiu@endlessm.com>:
> Nouveau driver shows unknown chipset (136000a1) for GTX 1060, so it
> only gives VGA resolution on screen. Use the same chipset as nv134
> then it shows FullHD. This commit copies fields from nv134_chipset
> to nv136_chipset for GTX 1060.
>
> Signed-off-by: Chris Chiu <chiu@endlessm.com>
> ---
>  drivers/gpu/drm/nouveau/nvkm/engine/device/base.c | 29 +++++++++++++++++++++++
>  1 file changed, 29 insertions(+)
>
> diff --git a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> index 7218a06..7c6eece 100644
> --- a/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> +++ b/drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
> @@ -2209,6 +2209,34 @@ nv134_chipset = {
>         .fifo = gp100_fifo_new,
>  };
>
> +static const struct nvkm_device_chip
> +nv136_chipset = {
> +       .name = "GP104",
> +       .bar = gf100_bar_new,
> +       .bios = nvkm_bios_new,
> +       .bus = gf100_bus_new,
> +       .devinit = gm200_devinit_new,
> +       .fb = gp104_fb_new,
> +       .fuse = gm107_fuse_new,
> +       .gpio = gk104_gpio_new,
> +       .i2c = gm200_i2c_new,
> +       .ibus = gm200_ibus_new,
> +       .imem = nv50_instmem_new,
> +       .ltc = gp100_ltc_new,
> +       .mc = gp100_mc_new,
> +       .mmu = gf100_mmu_new,
> +       .pci = gp100_pci_new,
> +       .timer = gk20a_timer_new,
> +       .top = gk104_top_new,
> +       .ce[0] = gp104_ce_new,
> +       .ce[1] = gp104_ce_new,
> +       .ce[2] = 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 chipset (%08x)\n", boot0);
>                         goto done;
> --
> 2.1.4
>
> _______________________________________________
> Nouveau mailing list
> Nouveau@lists.freedesktop.org
> https://lists.freedesktop.org/mailman/listinfo/nouveau

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web