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
39aee490
Commit
39aee490
authored
Apr 10, 2013
by
Alex Deucher
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
drm/radeon: add cik tile mode array query
Signed-off-by:
Alex Deucher
<
alexander.deucher@amd.com
>
parent
0672e27b
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
14 additions
and
8 deletions
+14
-8
drivers/gpu/drm/radeon/cik.c
drivers/gpu/drm/radeon/cik.c
+4
-0
drivers/gpu/drm/radeon/radeon.h
drivers/gpu/drm/radeon/radeon.h
+1
-0
drivers/gpu/drm/radeon/radeon_drv.c
drivers/gpu/drm/radeon/radeon_drv.c
+2
-1
drivers/gpu/drm/radeon/radeon_kms.c
drivers/gpu/drm/radeon/radeon_kms.c
+7
-7
No files found.
drivers/gpu/drm/radeon/cik.c
View file @
39aee490
...
@@ -1059,6 +1059,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
...
@@ -1059,6 +1059,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
gb_tile_moden
=
0
;
gb_tile_moden
=
0
;
break
;
break
;
}
}
rdev
->
config
.
cik
.
tile_mode_array
[
reg_offset
]
=
gb_tile_moden
;
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
}
}
for
(
reg_offset
=
0
;
reg_offset
<
num_secondary_tile_mode_states
;
reg_offset
++
)
{
for
(
reg_offset
=
0
;
reg_offset
<
num_secondary_tile_mode_states
;
reg_offset
++
)
{
...
@@ -1277,6 +1278,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
...
@@ -1277,6 +1278,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
gb_tile_moden
=
0
;
gb_tile_moden
=
0
;
break
;
break
;
}
}
rdev
->
config
.
cik
.
tile_mode_array
[
reg_offset
]
=
gb_tile_moden
;
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
}
}
}
else
if
(
num_rbs
<
4
)
{
}
else
if
(
num_rbs
<
4
)
{
...
@@ -1402,6 +1404,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
...
@@ -1402,6 +1404,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
gb_tile_moden
=
0
;
gb_tile_moden
=
0
;
break
;
break
;
}
}
rdev
->
config
.
cik
.
tile_mode_array
[
reg_offset
]
=
gb_tile_moden
;
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
}
}
}
}
...
@@ -1619,6 +1622,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
...
@@ -1619,6 +1622,7 @@ static void cik_tiling_mode_table_init(struct radeon_device *rdev)
gb_tile_moden
=
0
;
gb_tile_moden
=
0
;
break
;
break
;
}
}
rdev
->
config
.
cik
.
tile_mode_array
[
reg_offset
]
=
gb_tile_moden
;
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
WREG32
(
GB_TILE_MODE0
+
(
reg_offset
*
4
),
gb_tile_moden
);
}
}
for
(
reg_offset
=
0
;
reg_offset
<
num_secondary_tile_mode_states
;
reg_offset
++
)
{
for
(
reg_offset
=
0
;
reg_offset
<
num_secondary_tile_mode_states
;
reg_offset
++
)
{
...
...
drivers/gpu/drm/radeon/radeon.h
View file @
39aee490
...
@@ -1587,6 +1587,7 @@ struct cik_asic {
...
@@ -1587,6 +1587,7 @@ struct cik_asic {
unsigned
multi_gpu_tile_size
;
unsigned
multi_gpu_tile_size
;
unsigned
tile_config
;
unsigned
tile_config
;
uint32_t
tile_mode_array
[
32
];
};
};
union
radeon_asic_config
{
union
radeon_asic_config
{
...
...
drivers/gpu/drm/radeon/radeon_drv.c
View file @
39aee490
...
@@ -74,9 +74,10 @@
...
@@ -74,9 +74,10 @@
* 2.31.0 - Add fastfb support for rs690
* 2.31.0 - Add fastfb support for rs690
* 2.32.0 - new info request for rings working
* 2.32.0 - new info request for rings working
* 2.33.0 - Add SI tiling mode array query
* 2.33.0 - Add SI tiling mode array query
* 2.34.0 - Add CIK tiling mode array query
*/
*/
#define KMS_DRIVER_MAJOR 2
#define KMS_DRIVER_MAJOR 2
#define KMS_DRIVER_MINOR 3
3
#define KMS_DRIVER_MINOR 3
4
#define KMS_DRIVER_PATCHLEVEL 0
#define KMS_DRIVER_PATCHLEVEL 0
int
radeon_driver_load_kms
(
struct
drm_device
*
dev
,
unsigned
long
flags
);
int
radeon_driver_load_kms
(
struct
drm_device
*
dev
,
unsigned
long
flags
);
int
radeon_driver_unload_kms
(
struct
drm_device
*
dev
);
int
radeon_driver_unload_kms
(
struct
drm_device
*
dev
);
...
...
drivers/gpu/drm/radeon/radeon_kms.c
View file @
39aee490
...
@@ -423,15 +423,15 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
...
@@ -423,15 +423,15 @@ int radeon_info_ioctl(struct drm_device *dev, void *data, struct drm_file *filp)
break
;
break
;
case
RADEON_INFO_SI_TILE_MODE_ARRAY
:
case
RADEON_INFO_SI_TILE_MODE_ARRAY
:
if
(
rdev
->
family
>=
CHIP_BONAIRE
)
{
if
(
rdev
->
family
>=
CHIP_BONAIRE
)
{
DRM_DEBUG_KMS
(
"tile mode array is not implemented yet
\n
"
);
value
=
rdev
->
config
.
cik
.
tile_mode_array
;
value_size
=
sizeof
(
uint32_t
)
*
32
;
}
else
if
(
rdev
->
family
>=
CHIP_TAHITI
)
{
value
=
rdev
->
config
.
si
.
tile_mode_array
;
value_size
=
sizeof
(
uint32_t
)
*
32
;
}
else
{
DRM_DEBUG_KMS
(
"tile mode array is si+ only!
\n
"
);
return
-
EINVAL
;
return
-
EINVAL
;
}
}
if
(
rdev
->
family
<
CHIP_TAHITI
)
{
DRM_DEBUG_KMS
(
"tile mode array is si only!
\n
"
);
return
-
EINVAL
;
}
value
=
rdev
->
config
.
si
.
tile_mode_array
;
value_size
=
sizeof
(
uint32_t
)
*
32
;
break
;
break
;
default:
default:
DRM_DEBUG_KMS
(
"Invalid request %d
\n
"
,
info
->
request
);
DRM_DEBUG_KMS
(
"Invalid request %d
\n
"
,
info
->
request
);
...
...
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