Skip to content

Commit f2c4882

Browse files
committed
Merge branch 'linux-4.6' of git://github.com/skeggsb/linux into drm-next
- GM20x secure boot support (hence, acceleration, finally \o/) - GM200 support - GM20B clock driver - Support for power sensors on some GPUs - Various other fixes all over the place * 'linux-4.6' of git://github.com/skeggsb/linux: (95 commits) drm/nouveau/clk/gm20b: add basic driver drm/nouveau/clk/gk20a: share reusable structures/functions drm/nouveau/clk/gk20a: set lowest frequency during init() drm/nouveau/clk/gk20a: split gk20a_clk_new() drm/nouveau/clk/gk20a: abstract pl_to_div drm/nouveau/clk/gk20a: put mnp values into their own struct drm/nouveau/clk/gk20a: emit parent rate as debug message drm/nouveau/clk/gk20a: only restore divider to 1:1 if needed drm/nouveau/clk/gk20a: only compute n_lo if needed drm/nouveau/clk/gk20a: fix VCO bit mask drm/nouveau/clk/gk20a: rename enable/disable functions drm/nouveau/clk/gk20a: reorganize variables in gk20a_pllg_calc_mnp() drm/nouveau/clk/gk20a: convert parameters to Khz drm/nouveau/volt: add GM20B driver drm/nouveau/volt/gk20a: split constructor drm/nouveau/volt/gk20a: share reusable members & functions drm/nouveau/ce/gm107: expose MaxwellDmaCopyA drm/nouveau/fifo/gm107: KeplerChannelGpfifoB, and 2048 channels drm/nouveau/fifo/gk110: expose KeplerChannelGpfifoB drm/nouveau/fifo/gk104: submit NOP after all PBDMA_INTR_0, not just DEVICE ...
2 parents 67d1c0a + 52829d4 commit f2c4882

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

145 files changed

+9146
-6512
lines changed

drivers/gpu/drm/nouveau/include/nvif/cla06f.h

Lines changed: 17 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,19 +3,27 @@
33

44
struct kepler_channel_gpfifo_a_v0 {
55
__u8 version;
6-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_GR 0x01
7-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPDEC 0x02
8-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSPPP 0x04
9-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_MSVLD 0x08
10-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE0 0x10
11-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_CE1 0x20
12-
#define KEPLER_CHANNEL_GPFIFO_A_V0_ENGINE_ENC 0x40
13-
__u8 engine;
6+
__u8 pad01[5];
147
__u16 chid;
8+
#define NVA06F_V0_ENGINE_SW 0x00000001
9+
#define NVA06F_V0_ENGINE_GR 0x00000002
10+
#define NVA06F_V0_ENGINE_SEC 0x00000004
11+
#define NVA06F_V0_ENGINE_MSVLD 0x00000010
12+
#define NVA06F_V0_ENGINE_MSPDEC 0x00000020
13+
#define NVA06F_V0_ENGINE_MSPPP 0x00000040
14+
#define NVA06F_V0_ENGINE_MSENC 0x00000080
15+
#define NVA06F_V0_ENGINE_VIC 0x00000100
16+
#define NVA06F_V0_ENGINE_NVDEC 0x00000200
17+
#define NVA06F_V0_ENGINE_NVENC0 0x00000400
18+
#define NVA06F_V0_ENGINE_NVENC1 0x00000800
19+
#define NVA06F_V0_ENGINE_CE0 0x00010000
20+
#define NVA06F_V0_ENGINE_CE1 0x00020000
21+
#define NVA06F_V0_ENGINE_CE2 0x00040000
22+
__u32 engines;
1523
__u32 ilength;
1624
__u64 ioffset;
1725
__u64 vm;
1826
};
1927

20-
#define KEPLER_CHANNEL_GPFIFO_A_V0_NTFY_UEVENT 0x00
28+
#define NVA06F_V0_NTFY_UEVENT 0x00
2129
#endif

drivers/gpu/drm/nouveau/include/nvif/class.h

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -37,6 +37,7 @@
3737
#define G82_CHANNEL_GPFIFO /* cl826f.h */ 0x0000826f
3838
#define FERMI_CHANNEL_GPFIFO /* cl906f.h */ 0x0000906f
3939
#define KEPLER_CHANNEL_GPFIFO_A /* cla06f.h */ 0x0000a06f
40+
#define KEPLER_CHANNEL_GPFIFO_B /* cla06f.h */ 0x0000a16f
4041
#define MAXWELL_CHANNEL_GPFIFO_A /* cla06f.h */ 0x0000b06f
4142

4243
#define NV50_DISP /* cl5070.h */ 0x00005070
@@ -48,7 +49,7 @@
4849
#define GK104_DISP /* cl5070.h */ 0x00009170
4950
#define GK110_DISP /* cl5070.h */ 0x00009270
5051
#define GM107_DISP /* cl5070.h */ 0x00009470
51-
#define GM204_DISP /* cl5070.h */ 0x00009570
52+
#define GM200_DISP /* cl5070.h */ 0x00009570
5253

5354
#define NV31_MPEG 0x00003174
5455
#define G82_MPEG 0x00008274
@@ -84,7 +85,7 @@
8485
#define GK104_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000917d
8586
#define GK110_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000927d
8687
#define GM107_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000947d
87-
#define GM204_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000957d
88+
#define GM200_DISP_CORE_CHANNEL_DMA /* cl507d.h */ 0x0000957d
8889

8990
#define NV50_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000507e
9091
#define G82_DISP_OVERLAY_CHANNEL_DMA /* cl507e.h */ 0x0000827e

drivers/gpu/drm/nouveau/include/nvif/device.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -62,6 +62,7 @@ u64 nvif_device_time(struct nvif_device *);
6262
#define nvxx_gpio(a) nvxx_device(a)->gpio
6363
#define nvxx_clk(a) nvxx_device(a)->clk
6464
#define nvxx_i2c(a) nvxx_device(a)->i2c
65+
#define nvxx_iccsense(a) nvxx_device(a)->iccsense
6566
#define nvxx_therm(a) nvxx_device(a)->therm
6667
#define nvxx_volt(a) nvxx_device(a)->volt
6768

drivers/gpu/drm/nouveau/include/nvkm/core/device.h

Lines changed: 73 additions & 54 deletions
Original file line numberDiff line numberDiff line change
@@ -22,30 +22,41 @@ enum nvkm_devidx {
2222
NVKM_SUBDEV_BAR,
2323
NVKM_SUBDEV_PMU,
2424
NVKM_SUBDEV_VOLT,
25+
NVKM_SUBDEV_ICCSENSE,
2526
NVKM_SUBDEV_THERM,
2627
NVKM_SUBDEV_CLK,
28+
NVKM_SUBDEV_SECBOOT,
2729

28-
NVKM_ENGINE_DMAOBJ,
29-
NVKM_ENGINE_IFB,
30-
NVKM_ENGINE_FIFO,
31-
NVKM_ENGINE_SW,
32-
NVKM_ENGINE_GR,
33-
NVKM_ENGINE_MPEG,
34-
NVKM_ENGINE_ME,
35-
NVKM_ENGINE_VP,
36-
NVKM_ENGINE_CIPHER,
3730
NVKM_ENGINE_BSP,
38-
NVKM_ENGINE_MSPPP,
31+
3932
NVKM_ENGINE_CE0,
4033
NVKM_ENGINE_CE1,
4134
NVKM_ENGINE_CE2,
42-
NVKM_ENGINE_VIC,
43-
NVKM_ENGINE_MSENC,
35+
NVKM_ENGINE_CE_LAST = NVKM_ENGINE_CE2,
36+
37+
NVKM_ENGINE_CIPHER,
4438
NVKM_ENGINE_DISP,
45-
NVKM_ENGINE_PM,
39+
NVKM_ENGINE_DMAOBJ,
40+
NVKM_ENGINE_FIFO,
41+
NVKM_ENGINE_GR,
42+
NVKM_ENGINE_IFB,
43+
NVKM_ENGINE_ME,
44+
NVKM_ENGINE_MPEG,
45+
NVKM_ENGINE_MSENC,
46+
NVKM_ENGINE_MSPDEC,
47+
NVKM_ENGINE_MSPPP,
4648
NVKM_ENGINE_MSVLD,
49+
50+
NVKM_ENGINE_NVENC0,
51+
NVKM_ENGINE_NVENC1,
52+
NVKM_ENGINE_NVENC_LAST = NVKM_ENGINE_NVENC1,
53+
54+
NVKM_ENGINE_NVDEC,
55+
NVKM_ENGINE_PM,
4756
NVKM_ENGINE_SEC,
48-
NVKM_ENGINE_MSPDEC,
57+
NVKM_ENGINE_SW,
58+
NVKM_ENGINE_VIC,
59+
NVKM_ENGINE_VP,
4960

5061
NVKM_SUBDEV_NR
5162
};
@@ -109,13 +120,15 @@ struct nvkm_device {
109120
struct nvkm_gpio *gpio;
110121
struct nvkm_i2c *i2c;
111122
struct nvkm_subdev *ibus;
123+
struct nvkm_iccsense *iccsense;
112124
struct nvkm_instmem *imem;
113125
struct nvkm_ltc *ltc;
114126
struct nvkm_mc *mc;
115127
struct nvkm_mmu *mmu;
116128
struct nvkm_subdev *mxm;
117129
struct nvkm_pci *pci;
118130
struct nvkm_pmu *pmu;
131+
struct nvkm_secboot *secboot;
119132
struct nvkm_therm *therm;
120133
struct nvkm_timer *timer;
121134
struct nvkm_volt *volt;
@@ -134,6 +147,8 @@ struct nvkm_device {
134147
struct nvkm_engine *mspdec;
135148
struct nvkm_engine *msppp;
136149
struct nvkm_engine *msvld;
150+
struct nvkm_engine *nvenc[2];
151+
struct nvkm_engine *nvdec;
137152
struct nvkm_pm *pm;
138153
struct nvkm_engine *sec;
139154
struct nvkm_sw *sw;
@@ -164,46 +179,50 @@ struct nvkm_device_quirk {
164179
struct nvkm_device_chip {
165180
const char *name;
166181

167-
int (*bar )(struct nvkm_device *, int idx, struct nvkm_bar **);
168-
int (*bios )(struct nvkm_device *, int idx, struct nvkm_bios **);
169-
int (*bus )(struct nvkm_device *, int idx, struct nvkm_bus **);
170-
int (*clk )(struct nvkm_device *, int idx, struct nvkm_clk **);
171-
int (*devinit)(struct nvkm_device *, int idx, struct nvkm_devinit **);
172-
int (*fb )(struct nvkm_device *, int idx, struct nvkm_fb **);
173-
int (*fuse )(struct nvkm_device *, int idx, struct nvkm_fuse **);
174-
int (*gpio )(struct nvkm_device *, int idx, struct nvkm_gpio **);
175-
int (*i2c )(struct nvkm_device *, int idx, struct nvkm_i2c **);
176-
int (*ibus )(struct nvkm_device *, int idx, struct nvkm_subdev **);
177-
int (*imem )(struct nvkm_device *, int idx, struct nvkm_instmem **);
178-
int (*ltc )(struct nvkm_device *, int idx, struct nvkm_ltc **);
179-
int (*mc )(struct nvkm_device *, int idx, struct nvkm_mc **);
180-
int (*mmu )(struct nvkm_device *, int idx, struct nvkm_mmu **);
181-
int (*mxm )(struct nvkm_device *, int idx, struct nvkm_subdev **);
182-
int (*pci )(struct nvkm_device *, int idx, struct nvkm_pci **);
183-
int (*pmu )(struct nvkm_device *, int idx, struct nvkm_pmu **);
184-
int (*therm )(struct nvkm_device *, int idx, struct nvkm_therm **);
185-
int (*timer )(struct nvkm_device *, int idx, struct nvkm_timer **);
186-
int (*volt )(struct nvkm_device *, int idx, struct nvkm_volt **);
187-
188-
int (*bsp )(struct nvkm_device *, int idx, struct nvkm_engine **);
189-
int (*ce[3] )(struct nvkm_device *, int idx, struct nvkm_engine **);
190-
int (*cipher )(struct nvkm_device *, int idx, struct nvkm_engine **);
191-
int (*disp )(struct nvkm_device *, int idx, struct nvkm_disp **);
192-
int (*dma )(struct nvkm_device *, int idx, struct nvkm_dma **);
193-
int (*fifo )(struct nvkm_device *, int idx, struct nvkm_fifo **);
194-
int (*gr )(struct nvkm_device *, int idx, struct nvkm_gr **);
195-
int (*ifb )(struct nvkm_device *, int idx, struct nvkm_engine **);
196-
int (*me )(struct nvkm_device *, int idx, struct nvkm_engine **);
197-
int (*mpeg )(struct nvkm_device *, int idx, struct nvkm_engine **);
198-
int (*msenc )(struct nvkm_device *, int idx, struct nvkm_engine **);
199-
int (*mspdec )(struct nvkm_device *, int idx, struct nvkm_engine **);
200-
int (*msppp )(struct nvkm_device *, int idx, struct nvkm_engine **);
201-
int (*msvld )(struct nvkm_device *, int idx, struct nvkm_engine **);
202-
int (*pm )(struct nvkm_device *, int idx, struct nvkm_pm **);
203-
int (*sec )(struct nvkm_device *, int idx, struct nvkm_engine **);
204-
int (*sw )(struct nvkm_device *, int idx, struct nvkm_sw **);
205-
int (*vic )(struct nvkm_device *, int idx, struct nvkm_engine **);
206-
int (*vp )(struct nvkm_device *, int idx, struct nvkm_engine **);
182+
int (*bar )(struct nvkm_device *, int idx, struct nvkm_bar **);
183+
int (*bios )(struct nvkm_device *, int idx, struct nvkm_bios **);
184+
int (*bus )(struct nvkm_device *, int idx, struct nvkm_bus **);
185+
int (*clk )(struct nvkm_device *, int idx, struct nvkm_clk **);
186+
int (*devinit )(struct nvkm_device *, int idx, struct nvkm_devinit **);
187+
int (*fb )(struct nvkm_device *, int idx, struct nvkm_fb **);
188+
int (*fuse )(struct nvkm_device *, int idx, struct nvkm_fuse **);
189+
int (*gpio )(struct nvkm_device *, int idx, struct nvkm_gpio **);
190+
int (*i2c )(struct nvkm_device *, int idx, struct nvkm_i2c **);
191+
int (*ibus )(struct nvkm_device *, int idx, struct nvkm_subdev **);
192+
int (*iccsense)(struct nvkm_device *, int idx, struct nvkm_iccsense **);
193+
int (*imem )(struct nvkm_device *, int idx, struct nvkm_instmem **);
194+
int (*ltc )(struct nvkm_device *, int idx, struct nvkm_ltc **);
195+
int (*mc )(struct nvkm_device *, int idx, struct nvkm_mc **);
196+
int (*mmu )(struct nvkm_device *, int idx, struct nvkm_mmu **);
197+
int (*mxm )(struct nvkm_device *, int idx, struct nvkm_subdev **);
198+
int (*pci )(struct nvkm_device *, int idx, struct nvkm_pci **);
199+
int (*pmu )(struct nvkm_device *, int idx, struct nvkm_pmu **);
200+
int (*secboot )(struct nvkm_device *, int idx, struct nvkm_secboot **);
201+
int (*therm )(struct nvkm_device *, int idx, struct nvkm_therm **);
202+
int (*timer )(struct nvkm_device *, int idx, struct nvkm_timer **);
203+
int (*volt )(struct nvkm_device *, int idx, struct nvkm_volt **);
204+
205+
int (*bsp )(struct nvkm_device *, int idx, struct nvkm_engine **);
206+
int (*ce[3] )(struct nvkm_device *, int idx, struct nvkm_engine **);
207+
int (*cipher )(struct nvkm_device *, int idx, struct nvkm_engine **);
208+
int (*disp )(struct nvkm_device *, int idx, struct nvkm_disp **);
209+
int (*dma )(struct nvkm_device *, int idx, struct nvkm_dma **);
210+
int (*fifo )(struct nvkm_device *, int idx, struct nvkm_fifo **);
211+
int (*gr )(struct nvkm_device *, int idx, struct nvkm_gr **);
212+
int (*ifb )(struct nvkm_device *, int idx, struct nvkm_engine **);
213+
int (*me )(struct nvkm_device *, int idx, struct nvkm_engine **);
214+
int (*mpeg )(struct nvkm_device *, int idx, struct nvkm_engine **);
215+
int (*msenc )(struct nvkm_device *, int idx, struct nvkm_engine **);
216+
int (*mspdec )(struct nvkm_device *, int idx, struct nvkm_engine **);
217+
int (*msppp )(struct nvkm_device *, int idx, struct nvkm_engine **);
218+
int (*msvld )(struct nvkm_device *, int idx, struct nvkm_engine **);
219+
int (*nvenc[2])(struct nvkm_device *, int idx, struct nvkm_engine **);
220+
int (*nvdec )(struct nvkm_device *, int idx, struct nvkm_engine **);
221+
int (*pm )(struct nvkm_device *, int idx, struct nvkm_pm **);
222+
int (*sec )(struct nvkm_device *, int idx, struct nvkm_engine **);
223+
int (*sw )(struct nvkm_device *, int idx, struct nvkm_sw **);
224+
int (*vic )(struct nvkm_device *, int idx, struct nvkm_engine **);
225+
int (*vp )(struct nvkm_device *, int idx, struct nvkm_engine **);
207226
};
208227

209228
struct nvkm_device *nvkm_device_find(u64 name);
Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
#ifndef __NVKM_FIRMWARE_H__
2+
#define __NVKM_FIRMWARE_H__
3+
4+
#include <core/device.h>
5+
6+
int nvkm_firmware_get(struct nvkm_device *device, const char *fwname,
7+
const struct firmware **fw);
8+
9+
void nvkm_firmware_put(const struct firmware *fw);
10+
11+
#endif

drivers/gpu/drm/nouveau/include/nvkm/core/gpuobj.h

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -37,4 +37,8 @@ int nvkm_gpuobj_wrap(struct nvkm_memory *, struct nvkm_gpuobj **);
3737
int nvkm_gpuobj_map(struct nvkm_gpuobj *, struct nvkm_vm *, u32 access,
3838
struct nvkm_vma *);
3939
void nvkm_gpuobj_unmap(struct nvkm_vma *);
40+
void nvkm_gpuobj_memcpy_to(struct nvkm_gpuobj *dst, u32 dstoffset, void *src,
41+
u32 length);
42+
void nvkm_gpuobj_memcpy_from(void *dst, struct nvkm_gpuobj *src, u32 srcoffset,
43+
u32 length);
4044
#endif

drivers/gpu/drm/nouveau/include/nvkm/engine/ce.h

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,6 @@
55
int gt215_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
66
int gf100_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
77
int gk104_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
8-
int gm204_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
8+
int gm107_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
9+
int gm200_ce_new(struct nvkm_device *, int, struct nvkm_engine **);
910
#endif

drivers/gpu/drm/nouveau/include/nvkm/engine/disp.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -31,5 +31,5 @@ int gf119_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
3131
int gk104_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
3232
int gk110_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
3333
int gm107_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
34-
int gm204_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
34+
int gm200_disp_new(struct nvkm_device *, int, struct nvkm_disp **);
3535
#endif

drivers/gpu/drm/nouveau/include/nvkm/engine/fifo.h

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -60,8 +60,10 @@ int nv50_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6060
int g84_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6161
int gf100_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6262
int gk104_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
63+
int gk110_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6364
int gk208_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6465
int gk20a_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
65-
int gm204_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
66+
int gm107_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
67+
int gm200_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6668
int gm20b_fifo_new(struct nvkm_device *, int, struct nvkm_fifo **);
6769
#endif

drivers/gpu/drm/nouveau/include/nvkm/engine/gr.h

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -40,7 +40,6 @@ int gk110b_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
4040
int gk208_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
4141
int gk20a_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
4242
int gm107_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
43-
int gm204_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
44-
int gm206_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
43+
int gm200_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
4544
int gm20b_gr_new(struct nvkm_device *, int, struct nvkm_gr **);
4645
#endif
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#ifndef __NVKM_MSENC_H__
2+
#define __NVKM_MSENC_H__
3+
#include <core/engine.h>
4+
#endif
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#ifndef __NVKM_NVDEC_H__
2+
#define __NVKM_NVDEC_H__
3+
#include <core/engine.h>
4+
#endif
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#ifndef __NVKM_NVENC_H__
2+
#define __NVKM_NVENC_H__
3+
#include <core/engine.h>
4+
#endif
Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,4 @@
1+
#ifndef __NVKM_VIC_H__
2+
#define __NVKM_VIC_H__
3+
#include <core/engine.h>
4+
#endif

drivers/gpu/drm/nouveau/include/nvkm/subdev/bios/extdev.h

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,6 +5,9 @@ enum nvbios_extdev_type {
55
NVBIOS_EXTDEV_VT1103M = 0x40,
66
NVBIOS_EXTDEV_PX3540 = 0x41,
77
NVBIOS_EXTDEV_VT1105M = 0x42, /* or close enough... */
8+
NVBIOS_EXTDEV_INA219 = 0x4c,
9+
NVBIOS_EXTDEV_INA209 = 0x4d,
10+
NVBIOS_EXTDEV_INA3221 = 0x4e,
811
NVBIOS_EXTDEV_ADT7473 = 0x70, /* can also be a LM64 */
912
NVBIOS_EXTDEV_HDCP_EEPROM = 0x90,
1013
NVBIOS_EXTDEV_NONE = 0xff,
Lines changed: 16 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,16 @@
1+
#ifndef __NVBIOS_ICCSENSE_H__
2+
#define __NVBIOS_ICCSENSE_H__
3+
struct pwr_rail_t {
4+
u8 mode;
5+
u8 extdev_id;
6+
u8 resistor_mohm;
7+
u8 rail;
8+
};
9+
10+
struct nvbios_iccsense {
11+
int nr_entry;
12+
struct pwr_rail_t *rail;
13+
};
14+
15+
int nvbios_iccsense_parse(struct nvkm_bios *, struct nvbios_iccsense *);
16+
#endif

drivers/gpu/drm/nouveau/include/nvkm/subdev/clk.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -121,4 +121,5 @@ int gt215_clk_new(struct nvkm_device *, int, struct nvkm_clk **);
121121
int gf100_clk_new(struct nvkm_device *, int, struct nvkm_clk **);
122122
int gk104_clk_new(struct nvkm_device *, int, struct nvkm_clk **);
123123
int gk20a_clk_new(struct nvkm_device *, int, struct nvkm_clk **);
124+
int gm20b_clk_new(struct nvkm_device *, int, struct nvkm_clk **);
124125
#endif

drivers/gpu/drm/nouveau/include/nvkm/subdev/devinit.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,5 +27,5 @@ int gt215_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
2727
int mcp89_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
2828
int gf100_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
2929
int gm107_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
30-
int gm204_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
30+
int gm200_devinit_new(struct nvkm_device *, int, struct nvkm_devinit **);
3131
#endif

0 commit comments

Comments
 (0)