Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Keyboard shortcuts
?
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
L
linux
Project overview
Project overview
Details
Activity
Releases
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Issues
0
Issues
0
List
Boards
Labels
Milestones
Merge Requests
0
Merge Requests
0
Analytics
Analytics
Repository
Value Stream
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Create a new issue
Commits
Issue Boards
Open sidebar
Kirill Smelkov
linux
Commits
46484438
Commit
46484438
authored
Aug 20, 2015
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau/bios: convert to new-style nvkm_subdev
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
32932281
Changes
42
Expand all
Hide whitespace changes
Inline
Side-by-side
Showing
42 changed files
with
158 additions
and
249 deletions
+158
-249
drivers/gpu/drm/nouveau/dispnv04/disp.h
drivers/gpu/drm/nouveau/dispnv04/disp.h
+1
-1
drivers/gpu/drm/nouveau/include/nvif/device.h
drivers/gpu/drm/nouveau/include/nvif/device.h
+1
-1
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h
+1
-7
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
+68
-69
drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c
drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c
+0
-9
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
+0
-7
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
+0
-3
drivers/gpu/drm/nouveau/nvkm/engine/device/nv04.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv04.c
+0
-2
drivers/gpu/drm/nouveau/nvkm/engine/device/nv10.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv10.c
+0
-8
drivers/gpu/drm/nouveau/nvkm/engine/device/nv20.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv20.c
+0
-4
drivers/gpu/drm/nouveau/nvkm/engine/device/nv30.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv30.c
+0
-5
drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c
+0
-16
drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
+0
-14
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c
+18
-42
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
+8
-8
drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
+6
-5
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
+1
-0
drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
+2
-2
drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c
drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.c
+3
-2
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.c
drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.c
+2
-2
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.c
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.c
+3
-3
drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
+5
-4
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.c
drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.c
+2
-2
drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c
drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c
+1
-1
drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c
drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c
+1
-1
No files found.
drivers/gpu/drm/nouveau/dispnv04/disp.h
View file @
46484438
...
...
@@ -172,7 +172,7 @@ nouveau_bios_run_init_table(struct drm_device *dev, u16 table,
struct
nouveau_drm
*
drm
=
nouveau_drm
(
dev
);
struct
nvkm_bios
*
bios
=
nvxx_bios
(
&
drm
->
device
);
struct
nvbios_init
init
=
{
.
subdev
=
nv_subdev
(
bios
)
,
.
subdev
=
&
bios
->
subdev
,
.
bios
=
bios
,
.
offset
=
table
,
.
outp
=
outp
,
...
...
drivers/gpu/drm/nouveau/include/nvif/device.h
View file @
46484438
...
...
@@ -50,7 +50,7 @@ u64 nvif_device_time(struct nvif_device *);
struct nvif_device *_device = (a); \
nv_device(_device->object.priv); \
})
#define nvxx_bios(a) nv
km_bios(nvxx_device(a))
#define nvxx_bios(a) nv
xx_device(a)->bios
#define nvxx_fb(a) nvkm_fb(nvxx_device(a))
#define nvxx_mmu(a) nvkm_mmu(nvxx_device(a))
#define nvxx_bar(a) nvxx_device(a)->bar
...
...
drivers/gpu/drm/nouveau/include/nvkm/subdev/bios.h
View file @
46484438
...
...
@@ -19,12 +19,6 @@ struct nvkm_bios {
}
version
;
};
static
inline
struct
nvkm_bios
*
nvkm_bios
(
void
*
obj
)
{
return
(
void
*
)
nvkm_subdev
(
obj
,
NVDEV_SUBDEV_VBIOS
);
}
u8
nvbios_checksum
(
const
u8
*
data
,
int
size
);
u16
nvbios_findstr
(
const
u8
*
data
,
int
size
,
const
char
*
str
,
int
len
);
int
nvbios_memcmp
(
struct
nvkm_bios
*
,
u32
addr
,
const
char
*
,
u32
len
);
...
...
@@ -33,5 +27,5 @@ int nvbios_memcmp(struct nvkm_bios *, u32 addr, const char *, u32 len);
#define nvbios_rd16(b,o) get_unaligned_le16(&(b)->data[(o)])
#define nvbios_rd32(b,o) get_unaligned_le32(&(b)->data[(o)])
extern
struct
nvkm_oclass
nvkm_bios_oclass
;
int
nvkm_bios_new
(
struct
nvkm_device
*
,
int
,
struct
nvkm_bios
**
)
;
#endif
drivers/gpu/drm/nouveau/nvkm/engine/device/base.c
View file @
46484438
This diff is collapsed.
Click to expand it.
drivers/gpu/drm/nouveau/nvkm/engine/device/gf100.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ gf100_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0xc0
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -59,7 +58,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xc4
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -90,7 +88,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xc3
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -120,7 +117,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xce
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -151,7 +147,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xcf
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -181,7 +176,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xc1
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -211,7 +205,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf108_pm_oclass
;
break
;
case
0xc8
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -242,7 +235,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf100_pm_oclass
;
break
;
case
0xd9
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gf110_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gf110_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -272,7 +264,6 @@ gf100_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gf117_pm_oclass
;
break
;
case
0xd7
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gf110_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gf117_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/gk104.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ gk104_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0xe4
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -60,7 +59,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
case
0xe7
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -92,7 +90,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gk104_pm_oclass
;
break
;
case
0xe6
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -144,7 +141,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_SUBDEV_PMU
]
=
gk20a_pmu_oclass
;
break
;
case
0xf0
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -176,7 +172,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
break
;
case
0xf1
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gf110_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -208,7 +203,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
&
gk110_pm_oclass
;
break
;
case
0x106
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
@@ -239,7 +233,6 @@ gk104_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_MSPPP
]
=
&
gf100_msppp_oclass
;
break
;
case
0x108
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gk104_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gf100_fuse_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/gm100.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ gm100_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x117
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gf110_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gm107_fuse_oclass
;
...
...
@@ -66,7 +65,6 @@ gm100_identify(struct nvkm_device *device)
#endif
break
;
case
0x124
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gm204_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gm107_fuse_oclass
;
...
...
@@ -105,7 +103,6 @@ gm100_identify(struct nvkm_device *device)
#endif
break
;
case
0x126
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
gk104_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
gm204_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
gm107_fuse_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv04.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv04_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x04
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_DEVINIT
]
=
nv04_devinit_oclass
;
...
...
@@ -45,7 +44,6 @@ nv04_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x05
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_DEVINIT
]
=
nv05_devinit_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv10.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv10_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x10
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -44,7 +43,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x15
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -62,7 +60,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x16
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -80,7 +77,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x1a
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -98,7 +94,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x11
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -116,7 +111,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x17
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -134,7 +128,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x1f
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -152,7 +145,6 @@ nv10_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x18
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv20.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv20_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x20
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -46,7 +45,6 @@ nv20_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x25
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -64,7 +62,6 @@ nv20_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x28
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -82,7 +79,6 @@ nv20_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x2a
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv30.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv30_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x30
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -46,7 +45,6 @@ nv30_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x35
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -64,7 +62,6 @@ nv30_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x31
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -83,7 +80,6 @@ nv30_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x36
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
@@ -102,7 +98,6 @@ nv30_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_DISP
]
=
nv04_disp_oclass
;
break
;
case
0x34
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv04_clk_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv40.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv40_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x40
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -50,7 +49,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x41
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -72,7 +70,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x42
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -94,7 +91,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x43
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -116,7 +112,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x45
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -138,7 +133,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x47
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -160,7 +154,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x49
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -182,7 +175,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x4b
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -204,7 +196,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x44
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -226,7 +217,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x46
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -248,7 +238,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x4a
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -270,7 +259,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x4c
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -292,7 +280,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x4e
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv4e_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -314,7 +301,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x63
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -336,7 +322,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x67
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
@@ -358,7 +343,6 @@ nv40_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv40_pm_oclass
;
break
;
case
0x68
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv10_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv04_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_CLK
]
=
&
nv40_clk_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/device/nv50.c
View file @
46484438
...
...
@@ -28,7 +28,6 @@ nv50_identify(struct nvkm_device *device)
{
switch
(
device
->
chipset
)
{
case
0x50
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv50_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv50_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -52,7 +51,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
nv50_pm_oclass
;
break
;
case
0x84
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv50_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv50_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -79,7 +77,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0x86
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv50_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv50_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -106,7 +103,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0x92
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
nv50_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv50_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -133,7 +129,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0x94
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -160,7 +155,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0x96
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -187,7 +181,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0x98
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -214,7 +207,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0xa0
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
nv50_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -241,7 +233,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gt200_pm_oclass
;
break
;
case
0xaa
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -268,7 +259,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0xac
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -295,7 +285,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
g84_pm_oclass
;
break
;
case
0xa3
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -324,7 +313,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gt215_pm_oclass
;
break
;
case
0xa5
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -352,7 +340,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gt215_pm_oclass
;
break
;
case
0xa8
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
@@ -380,7 +367,6 @@ nv50_identify(struct nvkm_device *device)
device
->
oclass
[
NVDEV_ENGINE_PM
]
=
gt215_pm_oclass
;
break
;
case
0xaf
:
device
->
oclass
[
NVDEV_SUBDEV_VBIOS
]
=
&
nvkm_bios_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_GPIO
]
=
g94_gpio_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_I2C
]
=
g94_i2c_oclass
;
device
->
oclass
[
NVDEV_SUBDEV_FUSE
]
=
&
nv50_fuse_oclass
;
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/gf119.c
View file @
46484438
...
...
@@ -209,14 +209,15 @@ gf119_disp_intr_unk1_0(struct nv50_disp *disp, int head)
static
void
gf119_disp_intr_unk2_0
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_subdev
*
subdev
=
&
disp
->
base
.
engine
.
subdev
;
struct
nvkm_output
*
outp
=
exec_script
(
disp
,
head
,
2
);
/* see note in nv50_disp_intr_unk20_0() */
if
(
outp
&&
outp
->
info
.
type
==
DCB_OUTPUT_DP
)
{
struct
nvkm_output_dp
*
outpdp
=
nvkm_output_dp
(
outp
);
struct
nvbios_init
init
=
{
.
subdev
=
nv_subdev
(
disp
)
,
.
bios
=
nvkm_bios
(
disp
)
,
.
subdev
=
subdev
,
.
bios
=
subdev
->
device
->
bios
,
.
outp
=
&
outp
->
info
,
.
crtc
=
head
,
.
offset
=
outpdp
->
info
.
script
[
4
],
...
...
drivers/gpu/drm/nouveau/nvkm/engine/disp/nv50.c
View file @
46484438
...
...
@@ -319,6 +319,7 @@ nv50_disp_intr_unk10_0(struct nv50_disp *disp, int head)
static
void
nv50_disp_intr_unk20_0
(
struct
nv50_disp
*
disp
,
int
head
)
{
struct
nvkm_subdev
*
subdev
=
&
disp
->
base
.
engine
.
subdev
;
struct
nvkm_output
*
outp
=
exec_script
(
disp
,
head
,
2
);
/* the binary driver does this outside of the supervisor handling
...
...
@@ -337,8 +338,8 @@ nv50_disp_intr_unk20_0(struct nv50_disp *disp, int head)
if
(
outp
&&
outp
->
info
.
type
==
DCB_OUTPUT_DP
)
{
struct
nvkm_output_dp
*
outpdp
=
nvkm_output_dp
(
outp
);
struct
nvbios_init
init
=
{
.
subdev
=
nv_subdev
(
disp
)
,
.
bios
=
nvkm_bios
(
disp
)
,
.
subdev
=
subdev
,
.
bios
=
subdev
->
device
->
bios
,
.
outp
=
&
outp
->
info
,
.
crtc
=
head
,
.
offset
=
outpdp
->
info
.
script
[
4
],
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/base.c
View file @
46484438
...
...
@@ -83,20 +83,29 @@ nvbios_extend(struct nvkm_bios *bios, u32 length)
return
0
;
}
static
int
nvkm_bios_ctor
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
void
*
data
,
u32
size
,
struct
nvkm_object
**
pobject
)
static
void
*
nvkm_bios_dtor
(
struct
nvkm_subdev
*
subdev
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
subdev
);
kfree
(
bios
->
data
);
return
bios
;
}
static
const
struct
nvkm_subdev_func
nvkm_bios
=
{
.
dtor
=
nvkm_bios_dtor
,
};
int
nvkm_bios_new
(
struct
nvkm_device
*
device
,
int
index
,
struct
nvkm_bios
**
pbios
)
{
struct
nvkm_bios
*
bios
;
struct
bit_entry
bit_i
;
int
ret
;
ret
=
nvkm_subdev_create
(
parent
,
engine
,
oclass
,
0
,
"VBIOS"
,
"bios"
,
&
bios
);
*
pobject
=
nv_object
(
bios
);
if
(
ret
)
return
ret
;
if
(
!
(
bios
=
*
pbios
=
kzalloc
(
sizeof
(
*
bios
),
GFP_KERNEL
)))
return
-
ENOMEM
;
nvkm_subdev_ctor
(
&
nvkm_bios
,
device
,
index
,
0
,
&
bios
->
subdev
);
ret
=
nvbios_shadow
(
bios
);
if
(
ret
)
...
...
@@ -136,36 +145,3 @@ nvkm_bios_ctor(struct nvkm_object *parent, struct nvkm_object *engine,
bios
->
version
.
minor
,
bios
->
version
.
micro
,
bios
->
version
.
patch
);
return
0
;
}
static
void
nvkm_bios_dtor
(
struct
nvkm_object
*
object
)
{
struct
nvkm_bios
*
bios
=
(
void
*
)
object
;
kfree
(
bios
->
data
);
nvkm_subdev_destroy
(
&
bios
->
subdev
);
}
static
int
nvkm_bios_init
(
struct
nvkm_object
*
object
)
{
struct
nvkm_bios
*
bios
=
(
void
*
)
object
;
return
nvkm_subdev_init_old
(
&
bios
->
subdev
);
}
static
int
nvkm_bios_fini
(
struct
nvkm_object
*
object
,
bool
suspend
)
{
struct
nvkm_bios
*
bios
=
(
void
*
)
object
;
return
nvkm_subdev_fini_old
(
&
bios
->
subdev
,
suspend
);
}
struct
nvkm_oclass
nvkm_bios_oclass
=
{
.
handle
=
NV_SUBDEV
(
VBIOS
,
0x00
),
.
ofuncs
=
&
(
struct
nvkm_ofuncs
)
{
.
ctor
=
nvkm_bios_ctor
,
.
dtor
=
nvkm_bios_dtor
,
.
init
=
nvkm_bios_init
,
.
fini
=
nvkm_bios_fini
,
},
};
drivers/gpu/drm/nouveau/nvkm/subdev/bios/init.c
View file @
46484438
...
...
@@ -141,7 +141,7 @@ init_conn(struct nvbios_init *init)
static
inline
u32
init_nvreg
(
struct
nvbios_init
*
init
,
u32
reg
)
{
struct
nvkm_devinit
*
devinit
=
nvkm_devinit
(
init
->
bios
)
;
struct
nvkm_devinit
*
devinit
=
init
->
bios
->
subdev
.
device
->
devinit
;
/* C51 (at least) sometimes has the lower bits set which the VBIOS
* interprets to mean that access needs to go through certain IO
...
...
@@ -154,7 +154,7 @@ init_nvreg(struct nvbios_init *init, u32 reg)
/* GF8+ display scripts need register addresses mangled a bit to
* select a specific CRTC/OR
*/
if
(
nv_device
(
init
->
bios
)
->
card_type
>=
NV_50
)
{
if
(
init
->
bios
->
subdev
.
device
->
card_type
>=
NV_50
)
{
if
(
reg
&
0x80000000
)
{
reg
+=
init_crtc
(
init
)
*
0x800
;
reg
&=
~
0x80000000
;
...
...
@@ -337,7 +337,7 @@ init_wrauxr(struct nvbios_init *init, u32 addr, u8 data)
static
void
init_prog_pll
(
struct
nvbios_init
*
init
,
u32
id
,
u32
freq
)
{
struct
nvkm_devinit
*
devinit
=
nvkm_devinit
(
init
->
bios
)
;
struct
nvkm_devinit
*
devinit
=
init
->
bios
->
subdev
.
device
->
devinit
;
if
(
devinit
->
pll_set
&&
init_exec
(
init
))
{
int
ret
=
devinit
->
pll_set
(
devinit
,
id
,
freq
);
if
(
ret
)
...
...
@@ -1447,7 +1447,7 @@ init_zm_index_io(struct nvbios_init *init)
static
void
init_compute_mem
(
struct
nvbios_init
*
init
)
{
struct
nvkm_devinit
*
devinit
=
nvkm_devinit
(
init
->
bios
)
;
struct
nvkm_devinit
*
devinit
=
init
->
bios
->
subdev
.
device
->
devinit
;
trace
(
"COMPUTE_MEM
\n
"
);
init
->
offset
+=
1
;
...
...
@@ -1624,7 +1624,7 @@ init_io(struct nvbios_init *init)
* needed some day.. it's almost certainly wrong, but, it also
* somehow makes things work...
*/
if
(
nv_device
(
init
->
bios
)
->
card_type
>=
NV_50
&&
if
(
bios
->
subdev
.
device
->
card_type
>=
NV_50
&&
port
==
0x03c3
&&
data
==
0x01
)
{
init_mask
(
init
,
0x614100
,
0xf0800000
,
0x00800000
);
init_mask
(
init
,
0x00e18c
,
0x00020000
,
0x00020000
);
...
...
@@ -1930,7 +1930,7 @@ init_ram_restrict_pll(struct nvbios_init *init)
static
void
init_gpio
(
struct
nvbios_init
*
init
)
{
struct
nvkm_gpio
*
gpio
=
nvkm_gpio
(
init
->
bios
)
;
struct
nvkm_gpio
*
gpio
=
init
->
bios
->
subdev
.
device
->
gpio
;
trace
(
"GPIO
\n
"
);
init
->
offset
+=
1
;
...
...
@@ -2158,7 +2158,7 @@ static void
init_gpio_ne
(
struct
nvbios_init
*
init
)
{
struct
nvkm_bios
*
bios
=
init
->
bios
;
struct
nvkm_gpio
*
gpio
=
nvkm_gpio
(
bios
)
;
struct
nvkm_gpio
*
gpio
=
bios
->
subdev
.
device
->
gpio
;
struct
dcb_gpio_func
func
;
u8
count
=
nvbios_rd08
(
bios
,
init
->
offset
+
1
);
u8
idx
=
0
,
ver
,
len
;
...
...
@@ -2287,7 +2287,7 @@ nvbios_exec(struct nvbios_init *init)
int
nvbios_init
(
struct
nvkm_subdev
*
subdev
,
bool
execute
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
subdev
)
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
int
ret
=
0
;
int
i
=
-
1
;
u16
data
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/perf.c
View file @
46484438
...
...
@@ -115,7 +115,7 @@ nvbios_perfEp(struct nvkm_bios *bios, int idx,
info
->
shader
=
nvbios_rd16
(
bios
,
perf
+
0x06
)
*
1000
;
info
->
core
=
info
->
shader
+
(
signed
char
)
nvbios_rd08
(
bios
,
perf
+
0x08
)
*
1000
;
switch
(
nv_device
(
bios
)
->
chipset
)
{
switch
(
bios
->
subdev
.
device
->
chipset
)
{
case
0x49
:
case
0x4b
:
info
->
memory
=
nvbios_rd16
(
bios
,
perf
+
0x0b
)
*
1000
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/pll.c
View file @
46484438
...
...
@@ -111,7 +111,8 @@ pll_limits_table(struct nvkm_bios *bios, u8 *ver, u8 *hdr, u8 *cnt, u8 *len)
static
struct
pll_mapping
*
pll_map
(
struct
nvkm_bios
*
bios
)
{
switch
(
nv_device
(
bios
)
->
card_type
)
{
struct
nvkm_device
*
device
=
bios
->
subdev
.
device
;
switch
(
device
->
card_type
)
{
case
NV_04
:
case
NV_10
:
case
NV_11
:
...
...
@@ -122,12 +123,12 @@ pll_map(struct nvkm_bios *bios)
case
NV_40
:
return
nv40_pll_mapping
;
case
NV_50
:
if
(
nv_device
(
bios
)
->
chipset
==
0x50
)
if
(
device
->
chipset
==
0x50
)
return
nv50_pll_mapping
;
else
if
(
nv_device
(
bios
)
->
chipset
<
0xa3
||
nv_device
(
bios
)
->
chipset
==
0xaa
||
nv_device
(
bios
)
->
chipset
==
0xac
)
if
(
device
->
chipset
<
0xa3
||
device
->
chipset
==
0xaa
||
device
->
chipset
==
0xac
)
return
g84_pll_mapping
;
default:
return
NULL
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/priv.h
View file @
46484438
#ifndef __NVKM_BIOS_PRIV_H__
#define __NVKM_BIOS_PRIV_H__
#define nvkm_bios(p) container_of((p), struct nvkm_bios, subdev)
#include <subdev/bios.h>
struct
nvbios_source
{
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/ramcfg.c
View file @
46484438
...
...
@@ -50,7 +50,7 @@ nvbios_ramcfg_count(struct nvkm_bios *bios)
u8
nvbios_ramcfg_index
(
struct
nvkm_subdev
*
subdev
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
subdev
)
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
u8
strap
=
nvbios_ramcfg_strap
(
subdev
);
u32
xlat
=
0x00000000
;
struct
bit_entry
bit_M
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadow.c
View file @
46484438
...
...
@@ -134,7 +134,7 @@ shadow_fw_read(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
static
void
*
shadow_fw_init
(
struct
nvkm_bios
*
bios
,
const
char
*
name
)
{
struct
device
*
dev
=
&
nv_device
(
bios
)
->
pdev
->
dev
;
struct
device
*
dev
=
&
bios
->
subdev
.
device
->
pdev
->
dev
;
const
struct
firmware
*
fw
;
int
ret
=
request_firmware
(
&
fw
,
name
,
dev
);
if
(
ret
)
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowacpi.c
View file @
46484438
...
...
@@ -88,7 +88,7 @@ acpi_read_slow(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
static
void
*
acpi_init
(
struct
nvkm_bios
*
bios
,
const
char
*
name
)
{
if
(
!
nouveau_acpi_rom_supported
(
nv_device
(
bios
)
->
pdev
))
if
(
!
nouveau_acpi_rom_supported
(
bios
->
subdev
.
device
->
pdev
))
return
ERR_PTR
(
-
ENODEV
);
return
NULL
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowof.c
View file @
46484438
...
...
@@ -43,7 +43,7 @@ of_read(void *data, u32 offset, u32 length, struct nvkm_bios *bios)
static
void
*
of_init
(
struct
nvkm_bios
*
bios
,
const
char
*
name
)
{
struct
pci_dev
*
pdev
=
nv_device
(
bios
)
->
pdev
;
struct
pci_dev
*
pdev
=
bios
->
subdev
.
device
->
pdev
;
struct
device_node
*
dn
;
struct
priv
*
priv
;
if
(
!
(
dn
=
pci_device_to_OF_node
(
pdev
)))
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/shadowpci.c
View file @
46484438
...
...
@@ -51,7 +51,7 @@ pcirom_fini(void *data)
static
void
*
pcirom_init
(
struct
nvkm_bios
*
bios
,
const
char
*
name
)
{
struct
pci_dev
*
pdev
=
nv_device
(
bios
)
->
pdev
;
struct
pci_dev
*
pdev
=
bios
->
subdev
.
device
->
pdev
;
struct
priv
*
priv
=
NULL
;
int
ret
;
...
...
@@ -83,7 +83,7 @@ nvbios_pcirom = {
static
void
*
platform_init
(
struct
nvkm_bios
*
bios
,
const
char
*
name
)
{
struct
pci_dev
*
pdev
=
nv_device
(
bios
)
->
pdev
;
struct
pci_dev
*
pdev
=
bios
->
subdev
.
device
->
pdev
;
struct
priv
*
priv
;
int
ret
=
-
ENOMEM
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/bios/therm.c
View file @
46484438
...
...
@@ -203,7 +203,7 @@ nvbios_therm_fan_parse(struct nvkm_bios *bios, struct nvbios_therm_fan *fan)
}
/* starting from fermi, fan management is always linear */
if
(
nv_device
(
bios
)
->
card_type
>=
NV_C0
&&
if
(
bios
->
subdev
.
device
->
card_type
>=
NV_C0
&&
fan
->
fan_mode
==
NVBIOS_THERM_FAN_OTHER
)
{
fan
->
fan_mode
=
NVBIOS_THERM_FAN_LINEAR
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/base.c
View file @
46484438
...
...
@@ -39,7 +39,7 @@ static u32
nvkm_clk_adjust
(
struct
nvkm_clk
*
clk
,
bool
adjust
,
u8
pstate
,
u8
domain
,
u32
input
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_bios
*
bios
=
clk
->
subdev
.
device
->
bios
;
struct
nvbios_boostE
boostE
;
u8
ver
,
hdr
,
cnt
,
len
;
u16
data
;
...
...
@@ -136,7 +136,7 @@ nvkm_cstate_del(struct nvkm_cstate *cstate)
static
int
nvkm_cstate_new
(
struct
nvkm_clk
*
clk
,
int
idx
,
struct
nvkm_pstate
*
pstate
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_bios
*
bios
=
clk
->
subdev
.
device
->
bios
;
struct
nvkm_domain
*
domain
=
clk
->
domains
;
struct
nvkm_cstate
*
cstate
=
NULL
;
struct
nvbios_cstepX
cstepX
;
...
...
@@ -305,7 +305,7 @@ nvkm_pstate_del(struct nvkm_pstate *pstate)
static
int
nvkm_pstate_new
(
struct
nvkm_clk
*
clk
,
int
idx
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_bios
*
bios
=
clk
->
subdev
.
device
->
bios
;
struct
nvkm_domain
*
domain
=
clk
->
domains
-
1
;
struct
nvkm_pstate
*
pstate
;
struct
nvkm_cstate
*
cstate
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gf100.c
View file @
46484438
...
...
@@ -240,7 +240,8 @@ calc_src(struct gf100_clk *clk, int idx, u32 freq, u32 *dsrc, u32 *ddiv)
static
u32
calc_pll
(
struct
gf100_clk
*
clk
,
int
idx
,
u32
freq
,
u32
*
coef
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clk
);
struct
nvkm_subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
struct
nvbios_pll
limits
;
int
N
,
M
,
P
,
ret
;
...
...
@@ -252,7 +253,7 @@ calc_pll(struct gf100_clk *clk, int idx, u32 freq, u32 *coef)
if
(
!
limits
.
refclk
)
return
0
;
ret
=
gt215_pll_calc
(
nv_subdev
(
clk
)
,
&
limits
,
freq
,
&
N
,
NULL
,
&
M
,
&
P
);
ret
=
gt215_pll_calc
(
subdev
,
&
limits
,
freq
,
&
N
,
NULL
,
&
M
,
&
P
);
if
(
ret
<=
0
)
return
0
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gk104.c
View file @
46484438
...
...
@@ -261,7 +261,8 @@ calc_src(struct gk104_clk *clk, int idx, u32 freq, u32 *dsrc, u32 *ddiv)
static
u32
calc_pll
(
struct
gk104_clk
*
clk
,
int
idx
,
u32
freq
,
u32
*
coef
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clk
);
struct
nvkm_subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
struct
nvbios_pll
limits
;
int
N
,
M
,
P
,
ret
;
...
...
@@ -273,7 +274,7 @@ calc_pll(struct gk104_clk *clk, int idx, u32 freq, u32 *coef)
if
(
!
limits
.
refclk
)
return
0
;
ret
=
gt215_pll_calc
(
nv_subdev
(
clk
)
,
&
limits
,
freq
,
&
N
,
NULL
,
&
M
,
&
P
);
ret
=
gt215_pll_calc
(
subdev
,
&
limits
,
freq
,
&
N
,
NULL
,
&
M
,
&
P
);
if
(
ret
<=
0
)
return
0
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/gt215.c
View file @
46484438
...
...
@@ -231,8 +231,8 @@ int
gt215_pll_info
(
struct
nvkm_clk
*
clock
,
int
idx
,
u32
pll
,
u32
khz
,
struct
gt215_clk_info
*
info
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
clock
);
struct
gt215_clk
*
clk
=
(
void
*
)
clock
;
struct
nvkm_subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvbios_pll
limits
;
int
P
,
N
,
M
,
diff
;
int
ret
;
...
...
@@ -248,7 +248,7 @@ gt215_pll_info(struct nvkm_clk *clock, int idx, u32 pll, u32 khz,
}
/* Try with PLL */
ret
=
nvbios_pll_parse
(
bios
,
pll
,
&
limits
);
ret
=
nvbios_pll_parse
(
subdev
->
device
->
bios
,
pll
,
&
limits
);
if
(
ret
)
return
ret
;
...
...
@@ -256,7 +256,7 @@ gt215_pll_info(struct nvkm_clk *clock, int idx, u32 pll, u32 khz,
if
(
ret
!=
limits
.
refclk
)
return
-
EINVAL
;
ret
=
gt215_pll_calc
(
nv_subdev
(
clk
)
,
&
limits
,
khz
,
&
N
,
NULL
,
&
M
,
&
P
);
ret
=
gt215_pll_calc
(
subdev
,
&
limits
,
khz
,
&
N
,
NULL
,
&
M
,
&
P
);
if
(
ret
>=
0
)
{
info
->
pll
=
(
P
<<
16
)
|
(
N
<<
8
)
|
M
;
}
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/mcp77.c
View file @
46484438
...
...
@@ -164,11 +164,11 @@ static u32
calc_pll
(
struct
mcp77_clk
*
clk
,
u32
reg
,
u32
clock
,
int
*
N
,
int
*
M
,
int
*
P
)
{
struct
nvkm_
bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_
subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvbios_pll
pll
;
int
ret
;
ret
=
nvbios_pll_parse
(
bios
,
reg
,
&
pll
);
ret
=
nvbios_pll_parse
(
subdev
->
device
->
bios
,
reg
,
&
pll
);
if
(
ret
)
return
0
;
...
...
@@ -177,7 +177,7 @@ calc_pll(struct mcp77_clk *clk, u32 reg,
if
(
!
pll
.
refclk
)
return
0
;
return
nv04_pll_calc
(
nv_subdev
(
clk
)
,
&
pll
,
clock
,
N
,
M
,
NULL
,
NULL
,
P
);
return
nv04_pll_calc
(
subdev
,
&
pll
,
clock
,
N
,
M
,
NULL
,
NULL
,
P
);
}
static
inline
u32
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv04.c
View file @
46484438
...
...
@@ -48,8 +48,9 @@ nv04_clk_pll_calc(struct nvkm_clk *clock, struct nvbios_pll *info,
int
nv04_clk_pll_prog
(
struct
nvkm_clk
*
clk
,
u32
reg1
,
struct
nvkm_pll_vals
*
pv
)
{
struct
nvkm_devinit
*
devinit
=
nvkm_devinit
(
clk
);
int
cv
=
nvkm_bios
(
clk
)
->
version
.
chip
;
struct
nvkm_device
*
device
=
clk
->
subdev
.
device
;
struct
nvkm_devinit
*
devinit
=
device
->
devinit
;
int
cv
=
device
->
bios
->
version
.
chip
;
if
(
cv
==
0x30
||
cv
==
0x31
||
cv
==
0x35
||
cv
==
0x36
||
cv
>=
0x40
)
{
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv40.c
View file @
46484438
...
...
@@ -133,18 +133,18 @@ static int
nv40_clk_calc_pll
(
struct
nv40_clk
*
clk
,
u32
reg
,
u32
khz
,
int
*
N1
,
int
*
M1
,
int
*
N2
,
int
*
M2
,
int
*
log2P
)
{
struct
nvkm_
bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_
subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvbios_pll
pll
;
int
ret
;
ret
=
nvbios_pll_parse
(
bios
,
reg
,
&
pll
);
ret
=
nvbios_pll_parse
(
subdev
->
device
->
bios
,
reg
,
&
pll
);
if
(
ret
)
return
ret
;
if
(
khz
<
pll
.
vco1
.
max_freq
)
pll
.
vco2
.
max_freq
=
0
;
ret
=
nv04_pll_calc
(
nv_subdev
(
clk
)
,
&
pll
,
khz
,
N1
,
M1
,
N2
,
M2
,
log2P
);
ret
=
nv04_pll_calc
(
subdev
,
&
pll
,
khz
,
N1
,
M1
,
N2
,
M2
,
log2P
);
if
(
ret
==
0
)
return
-
ERANGE
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/nv50.c
View file @
46484438
...
...
@@ -324,11 +324,11 @@ nv50_clk_read(struct nvkm_clk *obj, enum nv_clk_src src)
static
u32
calc_pll
(
struct
nv50_clk
*
clk
,
u32
reg
,
u32
idx
,
int
*
N
,
int
*
M
,
int
*
P
)
{
struct
nvkm_
bios
*
bios
=
nvkm_bios
(
clk
)
;
struct
nvkm_
subdev
*
subdev
=
&
clk
->
base
.
subdev
;
struct
nvbios_pll
pll
;
int
ret
;
ret
=
nvbios_pll_parse
(
bios
,
reg
,
&
pll
);
ret
=
nvbios_pll_parse
(
subdev
->
device
->
bios
,
reg
,
&
pll
);
if
(
ret
)
return
0
;
...
...
@@ -337,7 +337,7 @@ calc_pll(struct nv50_clk *clk, u32 reg, u32 idx, int *N, int *M, int *P)
if
(
!
pll
.
refclk
)
return
0
;
return
nv04_pll_calc
(
nv_subdev
(
clk
)
,
&
pll
,
idx
,
N
,
M
,
NULL
,
NULL
,
P
);
return
nv04_pll_calc
(
subdev
,
&
pll
,
idx
,
N
,
M
,
NULL
,
NULL
,
P
);
}
static
inline
u32
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/clk/pllnv04.c
View file @
46484438
...
...
@@ -37,7 +37,7 @@ getMNP_single(struct nvkm_subdev *subdev, struct nvbios_pll *info, int clk,
* "clk" parameter in kHz
* returns calculated clock
*/
struct
nvkm_bios
*
bios
=
nvkm_bios
(
subdev
)
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
int
minvco
=
info
->
vco1
.
min_freq
,
maxvco
=
info
->
vco1
.
max_freq
;
int
minM
=
info
->
vco1
.
min_m
,
maxM
=
info
->
vco1
.
max_m
;
int
minN
=
info
->
vco1
.
min_n
,
maxN
=
info
->
vco1
.
max_n
;
...
...
@@ -136,7 +136,7 @@ getMNP_double(struct nvkm_subdev *subdev, struct nvbios_pll *info, int clk,
* "clk" parameter in kHz
* returns calculated clock
*/
int
chip_version
=
nvkm_bios
(
subdev
)
->
version
.
chip
;
int
chip_version
=
subdev
->
device
->
bios
->
version
.
chip
;
int
minvco1
=
info
->
vco1
.
min_freq
,
maxvco1
=
info
->
vco1
.
max_freq
;
int
minvco2
=
info
->
vco2
.
min_freq
,
maxvco2
=
info
->
vco2
.
max_freq
;
int
minU1
=
info
->
vco1
.
min_inputfreq
,
minU2
=
info
->
vco2
.
min_inputfreq
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/devinit/nv04.c
View file @
46484438
...
...
@@ -355,7 +355,8 @@ setPLL_double_lowregs(struct nvkm_devinit *init, u32 NMNMreg,
int
nv04_devinit_pll_set
(
struct
nvkm_devinit
*
devinit
,
u32
type
,
u32
freq
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
devinit
);
struct
nvkm_subdev
*
subdev
=
&
devinit
->
subdev
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
struct
nvkm_pll_vals
pv
;
struct
nvbios_pll
info
;
int
cv
=
bios
->
version
.
chip
;
...
...
@@ -366,8 +367,7 @@ nv04_devinit_pll_set(struct nvkm_devinit *devinit, u32 type, u32 freq)
if
(
ret
)
return
ret
;
ret
=
nv04_pll_calc
(
nv_subdev
(
devinit
),
&
info
,
freq
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
ret
=
nv04_pll_calc
(
subdev
,
&
info
,
freq
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
if
(
!
ret
)
return
-
EINVAL
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/gpio/base.c
View file @
46484438
...
...
@@ -44,7 +44,7 @@ nvkm_gpio_find(struct nvkm_gpio *gpio, int idx, u8 tag, u8 line,
struct
dcb_gpio_func
*
func
)
{
struct
nvkm_device
*
device
=
gpio
->
subdev
.
device
;
struct
nvkm_bios
*
bios
=
nvkm_bios
(
gpio
)
;
struct
nvkm_bios
*
bios
=
device
->
bios
;
u8
ver
,
len
;
u16
data
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/base.c
View file @
46484438
...
...
@@ -43,8 +43,9 @@ mxm_shadow_rom_fetch(struct nvkm_i2c_bus *bus, u8 addr,
static
bool
mxm_shadow_rom
(
struct
nvkm_mxm
*
mxm
,
u8
version
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
mxm
);
struct
nvkm_i2c
*
i2c
=
nvkm_i2c
(
mxm
);
struct
nvkm_device
*
device
=
mxm
->
subdev
.
device
;
struct
nvkm_bios
*
bios
=
device
->
bios
;
struct
nvkm_i2c
*
i2c
=
device
->
i2c
;
struct
nvkm_i2c_bus
*
bus
=
NULL
;
u8
i2cidx
,
mxms
[
6
],
addr
,
size
;
...
...
@@ -229,8 +230,8 @@ int
nvkm_mxm_create_
(
struct
nvkm_object
*
parent
,
struct
nvkm_object
*
engine
,
struct
nvkm_oclass
*
oclass
,
int
length
,
void
**
pobject
)
{
struct
nvkm_device
*
device
=
nv_device
(
parent
)
;
struct
nvkm_bios
*
bios
=
nvkm_bios
(
device
)
;
struct
nvkm_device
*
device
=
(
void
*
)
parent
;
struct
nvkm_bios
*
bios
=
device
->
bios
;
struct
nvkm_mxm
*
mxm
;
u8
ver
,
len
;
u16
data
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/mxm/nv50.c
View file @
46484438
...
...
@@ -49,7 +49,7 @@ mxm_match_tmds_partner(struct nvkm_mxm *mxm, u8 *data, void *info)
static
bool
mxm_match_dcb
(
struct
nvkm_mxm
*
mxm
,
u8
*
data
,
void
*
info
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
mxm
)
;
struct
nvkm_bios
*
bios
=
mxm
->
subdev
.
device
->
bios
;
struct
context
*
ctx
=
info
;
u64
desc
=
*
(
u64
*
)
data
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/therm/fanpwm.c
View file @
46484438
...
...
@@ -87,8 +87,8 @@ int
nvkm_fanpwm_create
(
struct
nvkm_therm
*
obj
,
struct
dcb_gpio_func
*
func
)
{
struct
nvkm_therm_priv
*
therm
=
container_of
(
obj
,
typeof
(
*
therm
),
base
);
struct
nvkm_device
*
device
=
nv_device
(
therm
)
;
struct
nvkm_bios
*
bios
=
nvkm_bios
(
therm
)
;
struct
nvkm_device
*
device
=
therm
->
base
.
subdev
.
device
;
struct
nvkm_bios
*
bios
=
device
->
bios
;
struct
nvkm_fanpwm
*
fan
;
struct
nvbios_therm_fan
info
;
u32
divs
,
duty
;
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/therm/temp.c
View file @
46484438
...
...
@@ -251,7 +251,7 @@ nvkm_therm_sensor_ctor(struct nvkm_therm *obj)
{
struct
nvkm_therm_priv
*
therm
=
container_of
(
obj
,
typeof
(
*
therm
),
base
);
struct
nvkm_subdev
*
subdev
=
&
therm
->
base
.
subdev
;
struct
nvkm_bios
*
bios
=
nvkm_bios
(
therm
)
;
struct
nvkm_bios
*
bios
=
subdev
->
device
->
bios
;
nvkm_alarm_init
(
&
therm
->
sensor
.
therm_poll_alarm
,
alarm_timer_callback
);
...
...
drivers/gpu/drm/nouveau/nvkm/subdev/volt/base.c
View file @
46484438
...
...
@@ -64,7 +64,7 @@ nvkm_volt_set(struct nvkm_volt *volt, u32 uv)
static
int
nvkm_volt_map
(
struct
nvkm_volt
*
volt
,
u8
id
)
{
struct
nvkm_bios
*
bios
=
nvkm_bios
(
volt
)
;
struct
nvkm_bios
*
bios
=
volt
->
subdev
.
device
->
bios
;
struct
nvbios_vmap_entry
info
;
u8
ver
,
len
;
u16
vmap
;
...
...
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment