diff options
author | Luca Tettamanti <kronos.it@gmail.com> | 2012-08-16 11:11:18 -0400 |
---|---|---|
committer | Alex Deucher <alexander.deucher@amd.com> | 2012-09-20 13:10:35 -0400 |
commit | fd64ca8a9d9d7e92fc81fe0b23dcf324246fd356 (patch) | |
tree | 7b381a32ab4f034b7583be4aa2b1c3b58ae32b96 /drivers/gpu/drm/radeon/radeon.h | |
parent | 86504672f7d79986a8ef618fb120044220e3d1eb (diff) |
drm/radeon: implement radeon_atif_verify_interface
Wrap the call to VERIFY_INTERFACE and add the parsing of the support
vectors.
v2: use a packed struct for handling the output of ACPI calls, hides
ugly pointer arithmetics (Lee, Chun-Yi <jlee@suse.com>).
v3: fix radeon_atif_parse_functions handling (Alex Deucher)
Signed-off-by: Luca Tettamanti <kronos.it@gmail.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
Diffstat (limited to 'drivers/gpu/drm/radeon/radeon.h')
-rw-r--r-- | drivers/gpu/drm/radeon/radeon.h | 40 |
1 files changed, 40 insertions, 0 deletions
diff --git a/drivers/gpu/drm/radeon/radeon.h b/drivers/gpu/drm/radeon/radeon.h index 5dbd591818fe..763f3333776e 100644 --- a/drivers/gpu/drm/radeon/radeon.h +++ b/drivers/gpu/drm/radeon/radeon.h | |||
@@ -1424,6 +1424,44 @@ struct r600_vram_scratch { | |||
1424 | u64 gpu_addr; | 1424 | u64 gpu_addr; |
1425 | }; | 1425 | }; |
1426 | 1426 | ||
1427 | /* | ||
1428 | * ACPI | ||
1429 | */ | ||
1430 | struct radeon_atif_notification_cfg { | ||
1431 | bool enabled; | ||
1432 | int command_code; | ||
1433 | }; | ||
1434 | |||
1435 | struct radeon_atif_notifications { | ||
1436 | bool display_switch; | ||
1437 | bool expansion_mode_change; | ||
1438 | bool thermal_state; | ||
1439 | bool forced_power_state; | ||
1440 | bool system_power_state; | ||
1441 | bool display_conf_change; | ||
1442 | bool px_gfx_switch; | ||
1443 | bool brightness_change; | ||
1444 | bool dgpu_display_event; | ||
1445 | }; | ||
1446 | |||
1447 | struct radeon_atif_functions { | ||
1448 | bool system_params; | ||
1449 | bool sbios_requests; | ||
1450 | bool select_active_disp; | ||
1451 | bool lid_state; | ||
1452 | bool get_tv_standard; | ||
1453 | bool set_tv_standard; | ||
1454 | bool get_panel_expansion_mode; | ||
1455 | bool set_panel_expansion_mode; | ||
1456 | bool temperature_change; | ||
1457 | bool graphics_device_types; | ||
1458 | }; | ||
1459 | |||
1460 | struct radeon_atif { | ||
1461 | struct radeon_atif_notifications notifications; | ||
1462 | struct radeon_atif_functions functions; | ||
1463 | struct radeon_atif_notification_cfg notification_cfg; | ||
1464 | }; | ||
1427 | 1465 | ||
1428 | /* | 1466 | /* |
1429 | * Core structure, functions and helpers. | 1467 | * Core structure, functions and helpers. |
@@ -1516,6 +1554,8 @@ struct radeon_device { | |||
1516 | /* virtual memory */ | 1554 | /* virtual memory */ |
1517 | struct radeon_vm_manager vm_manager; | 1555 | struct radeon_vm_manager vm_manager; |
1518 | struct mutex gpu_clock_mutex; | 1556 | struct mutex gpu_clock_mutex; |
1557 | /* ACPI interface */ | ||
1558 | struct radeon_atif atif; | ||
1519 | }; | 1559 | }; |
1520 | 1560 | ||
1521 | int radeon_device_init(struct radeon_device *rdev, | 1561 | int radeon_device_init(struct radeon_device *rdev, |