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
nexedi
linux
Commits
7ada785f
Commit
7ada785f
authored
Mar 05, 2013
by
Ben Skeggs
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/nouveau: pass generic subdev to calculation routines
Signed-off-by:
Ben Skeggs
<
bskeggs@redhat.com
>
parent
aca78e91
Changes
7
Show whitespace changes
Inline
Side-by-side
Showing
7 changed files
with
17 additions
and
18 deletions
+17
-18
drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c
drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c
+1
-1
drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c
drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c
+1
-1
drivers/gpu/drm/nouveau/core/subdev/clock/nva3.c
drivers/gpu/drm/nouveau/core/subdev/clock/nva3.c
+2
-2
drivers/gpu/drm/nouveau/core/subdev/clock/nvc0.c
drivers/gpu/drm/nouveau/core/subdev/clock/nvc0.c
+1
-1
drivers/gpu/drm/nouveau/core/subdev/clock/pll.h
drivers/gpu/drm/nouveau/core/subdev/clock/pll.h
+2
-2
drivers/gpu/drm/nouveau/core/subdev/clock/pllnv04.c
drivers/gpu/drm/nouveau/core/subdev/clock/pllnv04.c
+8
-9
drivers/gpu/drm/nouveau/core/subdev/clock/pllnva3.c
drivers/gpu/drm/nouveau/core/subdev/clock/pllnva3.c
+2
-2
No files found.
drivers/gpu/drm/nouveau/core/subdev/clock/nv04.c
View file @
7ada785f
...
...
@@ -297,7 +297,7 @@ nv04_clock_pll_calc(struct nouveau_clock *clock, struct nvbios_pll *info,
int
clk
,
struct
nouveau_pll_vals
*
pv
)
{
int
N1
,
M1
,
N2
,
M2
,
P
;
int
ret
=
nv04_pll_calc
(
clock
,
info
,
clk
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
int
ret
=
nv04_pll_calc
(
nv_subdev
(
clock
)
,
info
,
clk
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
if
(
ret
)
{
pv
->
refclk
=
info
->
refclk
;
pv
->
N1
=
N1
;
...
...
drivers/gpu/drm/nouveau/core/subdev/clock/nv50.c
View file @
7ada785f
...
...
@@ -47,7 +47,7 @@ nv50_clock_pll_set(struct nouveau_clock *clk, u32 type, u32 freq)
return
ret
;
}
ret
=
nv04_pll_calc
(
clk
,
&
info
,
freq
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
ret
=
nv04_pll_calc
(
nv_subdev
(
clk
)
,
&
info
,
freq
,
&
N1
,
&
M1
,
&
N2
,
&
M2
,
&
P
);
if
(
!
ret
)
{
nv_error
(
clk
,
"failed pll calculation
\n
"
);
return
ret
;
...
...
drivers/gpu/drm/nouveau/core/subdev/clock/nva3.c
View file @
7ada785f
...
...
@@ -45,7 +45,7 @@ nva3_clock_pll_set(struct nouveau_clock *clk, u32 type, u32 freq)
if
(
ret
)
return
ret
;
ret
=
nva3_pll_calc
(
clk
,
&
info
,
freq
,
&
N
,
&
fN
,
&
M
,
&
P
);
ret
=
nva3_pll_calc
(
nv_subdev
(
clk
)
,
&
info
,
freq
,
&
N
,
&
fN
,
&
M
,
&
P
);
if
(
ret
<
0
)
return
ret
;
...
...
@@ -72,7 +72,7 @@ nva3_clock_pll_calc(struct nouveau_clock *clock, struct nvbios_pll *info,
{
int
ret
,
N
,
M
,
P
;
ret
=
nva3_pll_calc
(
clock
,
info
,
clk
,
&
N
,
NULL
,
&
M
,
&
P
);
ret
=
nva3_pll_calc
(
nv_subdev
(
clock
)
,
info
,
clk
,
&
N
,
NULL
,
&
M
,
&
P
);
if
(
ret
>
0
)
{
pv
->
refclk
=
info
->
refclk
;
...
...
drivers/gpu/drm/nouveau/core/subdev/clock/nvc0.c
View file @
7ada785f
...
...
@@ -45,7 +45,7 @@ nvc0_clock_pll_set(struct nouveau_clock *clk, u32 type, u32 freq)
if
(
ret
)
return
ret
;
ret
=
nva3_pll_calc
(
clk
,
&
info
,
freq
,
&
N
,
&
fN
,
&
M
,
&
P
);
ret
=
nva3_pll_calc
(
nv_subdev
(
clk
)
,
&
info
,
freq
,
&
N
,
&
fN
,
&
M
,
&
P
);
if
(
ret
<
0
)
return
ret
;
...
...
drivers/gpu/drm/nouveau/core/subdev/clock/pll.h
View file @
7ada785f
#ifndef __NOUVEAU_PLL_H__
#define __NOUVEAU_PLL_H__
int
nv04_pll_calc
(
struct
nouveau_
clock
*
,
struct
nvbios_pll
*
,
u32
freq
,
int
nv04_pll_calc
(
struct
nouveau_
subdev
*
,
struct
nvbios_pll
*
,
u32
freq
,
int
*
N1
,
int
*
M1
,
int
*
N2
,
int
*
M2
,
int
*
P
);
int
nva3_pll_calc
(
struct
nouveau_
clock
*
,
struct
nvbios_pll
*
,
u32
freq
,
int
nva3_pll_calc
(
struct
nouveau_
subdev
*
,
struct
nvbios_pll
*
,
u32
freq
,
int
*
N
,
int
*
fN
,
int
*
M
,
int
*
P
);
#endif
drivers/gpu/drm/nouveau/core/subdev/clock/pllnv04.c
View file @
7ada785f
...
...
@@ -21,14 +21,13 @@
* SOFTWARE.
*/
#include <subdev/clock.h>
#include <subdev/bios.h>
#include <subdev/bios/pll.h>
#include "pll.h"
static
int
getMNP_single
(
struct
nouveau_
clock
*
clock
,
struct
nvbios_pll
*
info
,
int
clk
,
getMNP_single
(
struct
nouveau_
subdev
*
subdev
,
struct
nvbios_pll
*
info
,
int
clk
,
int
*
pN
,
int
*
pM
,
int
*
pP
)
{
/* Find M, N and P for a single stage PLL
...
...
@@ -39,7 +38,7 @@ getMNP_single(struct nouveau_clock *clock, struct nvbios_pll *info, int clk,
* "clk" parameter in kHz
* returns calculated clock
*/
int
cv
=
nouveau_bios
(
clock
)
->
version
.
chip
;
int
cv
=
nouveau_bios
(
subdev
)
->
version
.
chip
;
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
;
...
...
@@ -124,7 +123,7 @@ getMNP_single(struct nouveau_clock *clock, struct nvbios_pll *info, int clk,
}
static
int
getMNP_double
(
struct
nouveau_
clock
*
clock
,
struct
nvbios_pll
*
info
,
int
clk
,
getMNP_double
(
struct
nouveau_
subdev
*
subdev
,
struct
nvbios_pll
*
info
,
int
clk
,
int
*
pN1
,
int
*
pM1
,
int
*
pN2
,
int
*
pM2
,
int
*
pP
)
{
/* Find M, N and P for a two stage PLL
...
...
@@ -135,7 +134,7 @@ getMNP_double(struct nouveau_clock *clock, struct nvbios_pll *info, int clk,
* "clk" parameter in kHz
* returns calculated clock
*/
int
chip_version
=
nouveau_bios
(
clock
)
->
version
.
chip
;
int
chip_version
=
nouveau_bios
(
subdev
)
->
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
;
...
...
@@ -223,20 +222,20 @@ getMNP_double(struct nouveau_clock *clock, struct nvbios_pll *info, int clk,
}
int
nv04_pll_calc
(
struct
nouveau_
clock
*
clk
,
struct
nvbios_pll
*
info
,
u32
freq
,
nv04_pll_calc
(
struct
nouveau_
subdev
*
subdev
,
struct
nvbios_pll
*
info
,
u32
freq
,
int
*
N1
,
int
*
M1
,
int
*
N2
,
int
*
M2
,
int
*
P
)
{
int
ret
;
if
(
!
info
->
vco2
.
max_freq
)
{
ret
=
getMNP_single
(
clk
,
info
,
freq
,
N1
,
M1
,
P
);
ret
=
getMNP_single
(
subdev
,
info
,
freq
,
N1
,
M1
,
P
);
*
N2
=
1
;
*
M2
=
1
;
}
else
{
ret
=
getMNP_double
(
clk
,
info
,
freq
,
N1
,
M1
,
N2
,
M2
,
P
);
ret
=
getMNP_double
(
subdev
,
info
,
freq
,
N1
,
M1
,
N2
,
M2
,
P
);
}
if
(
!
ret
)
nv_error
(
clk
,
"unable to compute acceptable pll values
\n
"
);
nv_error
(
subdev
,
"unable to compute acceptable pll values
\n
"
);
return
ret
;
}
drivers/gpu/drm/nouveau/core/subdev/clock/pllnva3.c
View file @
7ada785f
...
...
@@ -29,7 +29,7 @@
#include "pll.h"
int
nva3_pll_calc
(
struct
nouveau_
clock
*
clock
,
struct
nvbios_pll
*
info
,
nva3_pll_calc
(
struct
nouveau_
subdev
*
subdev
,
struct
nvbios_pll
*
info
,
u32
freq
,
int
*
pN
,
int
*
pfN
,
int
*
pM
,
int
*
P
)
{
u32
best_err
=
~
0
,
err
;
...
...
@@ -72,7 +72,7 @@ nva3_pll_calc(struct nouveau_clock *clock, struct nvbios_pll *info,
}
if
(
unlikely
(
best_err
==
~
0
))
{
nv_error
(
clock
,
"unable to find matching pll values
\n
"
);
nv_error
(
subdev
,
"unable to find matching pll values
\n
"
);
return
-
EINVAL
;
}
...
...
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