https://bugzilla.kernel.org/show_bug.cgi?id=117131 --- Comment #3 from Jason Vas Dias <jason.vas.dias@xxxxxxxxx> --- (In reply to 3pb33h+1ymmkx54pslys from comment #2) > Check this bug https://bugs.freedesktop.org/show_bug.cgi?id=95078 > Does it work if you revert that commit? Thanks for the info ! But 'git revert e64c952efb8e0c15ae82cec8e455ab4910690ef1' didn't work, and the code looks rather different now than it did for that commit back in March: > commit e64c952efb8e0c15ae82cec8e455ab4910690ef1 > Author: Alex Deucher <alexander.deucher@xxxxxxx> > Date: Wed Mar 2 11:47:29 2016 -0500 > > drm/radeon: disable runtime pm on PX laptops without dGPU power control There is no 'radeon_has_atpx_dgpu_power_cntl' function being called in radeon_atpx_handler.c as was added with that commit in the 'v4.5' branch. Maybe if I try disabling radeon power management with radeon.dpm=0 ? But I think the problem is triggered via this function making an ACPI call that goes wrong ? : /** * radeon_atpx_call - call an ATPX method * * @handle: acpi handle * @function: the ATPX function to execute * @params: ATPX function params * * Executes the requested ATPX function (all asics). * Returns a pointer to the acpi output buffer. */ static union acpi_object *radeon_atpx_call(acpi_handle handle, int function, struct acpi_buffer *params) { acpi_status status; union acpi_object atpx_arg_elements[2]; struct acpi_object_list atpx_arg; struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL }; atpx_arg.count = 2; atpx_arg.pointer = &atpx_arg_elements[0]; atpx_arg_elements[0].type = ACPI_TYPE_INTEGER; atpx_arg_elements[0].integer.value = function; if (params) { atpx_arg_elements[1].type = ACPI_TYPE_BUFFER; atpx_arg_elements[1].buffer.length = params->length; atpx_arg_elements[1].buffer.pointer = params->pointer; } else { /* We need a second fake parameter */ atpx_arg_elements[1].type = ACPI_TYPE_INTEGER; atpx_arg_elements[1].integer.value = 0; } status = acpi_evaluate_object(handle, NULL, &atpx_arg, &buffer); /* Fail only if calling the method fails and ATPX is supported */ if (ACPI_FAILURE(status) && status != AE_NOT_FOUND) { printk("failed to evaluate ATPX got %s\n", acpi_format_exception(status)); kfree(buffer.pointer); return NULL; } return buffer.pointer; } The question is, how fatal to vga_switcheroo is this ACPI call failure ? investigating ... -- You are receiving this mail because: You are watching the assignee of the bug. _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel