Lines Matching refs:atpx
39 struct radeon_atpx atpx; member
69 return radeon_atpx_priv.atpx.functions.power_cntl; in radeon_has_atpx_dgpu_power_cntl()
73 return radeon_atpx_priv.atpx.is_hybrid; in radeon_is_atpx_hybrid()
77 return radeon_atpx_priv.atpx.dgpu_req_power_for_displays; in radeon_atpx_dgpu_req_power_for_displays()
157 static int radeon_atpx_validate(struct radeon_atpx *atpx) in radeon_atpx_validate() argument
161 if (atpx->functions.px_params) { in radeon_atpx_validate()
166 info = radeon_atpx_call(atpx->handle, ATPX_FUNCTION_GET_PX_PARAMETERS, NULL); in radeon_atpx_validate()
189 atpx->functions.i2c_mux_cntl = true; in radeon_atpx_validate()
190 atpx->functions.disp_mux_cntl = true; in radeon_atpx_validate()
196 atpx->functions.disp_mux_cntl = true; in radeon_atpx_validate()
201 atpx->functions.power_cntl = true; in radeon_atpx_validate()
203 atpx->is_hybrid = false; in radeon_atpx_validate()
210 atpx->functions.power_cntl = !radeon_atpx_priv.bridge_pm_usable; in radeon_atpx_validate()
211 atpx->is_hybrid = true; in radeon_atpx_validate()
227 static int radeon_atpx_verify_interface(struct radeon_atpx *atpx) in radeon_atpx_verify_interface() argument
234 info = radeon_atpx_call(atpx->handle, ATPX_FUNCTION_VERIFY_INTERFACE, NULL); in radeon_atpx_verify_interface()
254 radeon_atpx_parse_functions(&atpx->functions, output.function_bits); in radeon_atpx_verify_interface()
271 static int radeon_atpx_set_discrete_state(struct radeon_atpx *atpx, u8 state) in radeon_atpx_set_discrete_state() argument
277 if (atpx->functions.power_cntl) { in radeon_atpx_set_discrete_state()
282 info = radeon_atpx_call(atpx->handle, in radeon_atpx_set_discrete_state()
307 static int radeon_atpx_switch_disp_mux(struct radeon_atpx *atpx, u16 mux_id) in radeon_atpx_switch_disp_mux() argument
313 if (atpx->functions.disp_mux_cntl) { in radeon_atpx_switch_disp_mux()
318 info = radeon_atpx_call(atpx->handle, in radeon_atpx_switch_disp_mux()
339 static int radeon_atpx_switch_i2c_mux(struct radeon_atpx *atpx, u16 mux_id) in radeon_atpx_switch_i2c_mux() argument
345 if (atpx->functions.i2c_mux_cntl) { in radeon_atpx_switch_i2c_mux()
350 info = radeon_atpx_call(atpx->handle, in radeon_atpx_switch_i2c_mux()
371 static int radeon_atpx_switch_start(struct radeon_atpx *atpx, u16 mux_id) in radeon_atpx_switch_start() argument
377 if (atpx->functions.switch_start) { in radeon_atpx_switch_start()
382 info = radeon_atpx_call(atpx->handle, in radeon_atpx_switch_start()
403 static int radeon_atpx_switch_end(struct radeon_atpx *atpx, u16 mux_id) in radeon_atpx_switch_end() argument
409 if (atpx->functions.switch_end) { in radeon_atpx_switch_end()
414 info = radeon_atpx_call(atpx->handle, in radeon_atpx_switch_end()
442 radeon_atpx_switch_start(&radeon_atpx_priv.atpx, gpu_id); in radeon_atpx_switchto()
443 radeon_atpx_switch_disp_mux(&radeon_atpx_priv.atpx, gpu_id); in radeon_atpx_switchto()
444 radeon_atpx_switch_i2c_mux(&radeon_atpx_priv.atpx, gpu_id); in radeon_atpx_switchto()
445 radeon_atpx_switch_end(&radeon_atpx_priv.atpx, gpu_id); in radeon_atpx_switchto()
467 radeon_atpx_set_discrete_state(&radeon_atpx_priv.atpx, state); in radeon_atpx_power_state()
493 radeon_atpx_priv.atpx.handle = atpx_handle; in radeon_atpx_pci_probe_handle()
508 r = radeon_atpx_verify_interface(&radeon_atpx_priv.atpx); in radeon_atpx_init()
513 r = radeon_atpx_validate(&radeon_atpx_priv.atpx); in radeon_atpx_init()
578 acpi_get_name(radeon_atpx_priv.atpx.handle, ACPI_FULL_PATHNAME, &buffer); in radeon_atpx_detect()