mirror of
				https://git.zaroz.cloud/nintendo-back-up/yuzu/yuzu-mainline.git
				synced 2025-03-21 01:53:15 +00:00 
			
		
		
		
	service/am: Implement SetAutoSleepDisabled
Provides a basic implementation of SetAutoSleepDisabled. Until idle handling is implemented, this is about the best we can do. In the meantime, provide a rough documenting of specifics that occur when this function is called on actual hardware.
This commit is contained in:
		
							parent
							
								
									0b3901bdd0
								
							
						
					
					
						commit
						b81f6f67f5
					
				| @ -266,7 +266,7 @@ ISelfController::ISelfController(std::shared_ptr<NVFlinger::NVFlinger> nvflinger | |||||||
|         {65, nullptr, "ReportUserIsActive"}, |         {65, nullptr, "ReportUserIsActive"}, | ||||||
|         {66, nullptr, "GetCurrentIlluminance"}, |         {66, nullptr, "GetCurrentIlluminance"}, | ||||||
|         {67, nullptr, "IsIlluminanceAvailable"}, |         {67, nullptr, "IsIlluminanceAvailable"}, | ||||||
|         {68, nullptr, "SetAutoSleepDisabled"}, |         {68, &ISelfController::SetAutoSleepDisabled, "SetAutoSleepDisabled"}, | ||||||
|         {69, nullptr, "IsAutoSleepDisabled"}, |         {69, nullptr, "IsAutoSleepDisabled"}, | ||||||
|         {70, nullptr, "ReportMultimediaError"}, |         {70, nullptr, "ReportMultimediaError"}, | ||||||
|         {71, nullptr, "GetCurrentIlluminanceEx"}, |         {71, nullptr, "GetCurrentIlluminanceEx"}, | ||||||
| @ -454,6 +454,26 @@ void ISelfController::GetIdleTimeDetectionExtension(Kernel::HLERequestContext& c | |||||||
|     rb.Push<u32>(idle_time_detection_extension); |     rb.Push<u32>(idle_time_detection_extension); | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  | void ISelfController::SetAutoSleepDisabled(Kernel::HLERequestContext& ctx) { | ||||||
|  |     IPC::RequestParser rp{ctx}; | ||||||
|  |     is_auto_sleep_disabled = rp.Pop<bool>(); | ||||||
|  | 
 | ||||||
|  |     // On the system itself, if the previous state of is_auto_sleep_disabled
 | ||||||
|  |     // differed from the current value passed in, it'd signify the internal
 | ||||||
|  |     // window manager to update (and also increment some statistics like update counts)
 | ||||||
|  |     //
 | ||||||
|  |     // It'd also indicate this change to an idle handling context.
 | ||||||
|  |     //
 | ||||||
|  |     // However, given we're emulating this behavior, most of this can be ignored
 | ||||||
|  |     // and it's sufficient to simply set the member variable for querying via
 | ||||||
|  |     // IsAutoSleepDisabled().
 | ||||||
|  | 
 | ||||||
|  |     LOG_DEBUG(Service_AM, "called. is_auto_sleep_disabled={}", is_auto_sleep_disabled); | ||||||
|  | 
 | ||||||
|  |     IPC::ResponseBuilder rb{ctx, 2}; | ||||||
|  |     rb.Push(RESULT_SUCCESS); | ||||||
|  | } | ||||||
|  | 
 | ||||||
| void ISelfController::GetAccumulatedSuspendedTickValue(Kernel::HLERequestContext& ctx) { | void ISelfController::GetAccumulatedSuspendedTickValue(Kernel::HLERequestContext& ctx) { | ||||||
|     LOG_DEBUG(Service_AM, "called."); |     LOG_DEBUG(Service_AM, "called."); | ||||||
| 
 | 
 | ||||||
|  | |||||||
| @ -133,6 +133,7 @@ private: | |||||||
|     void SetHandlesRequestToDisplay(Kernel::HLERequestContext& ctx); |     void SetHandlesRequestToDisplay(Kernel::HLERequestContext& ctx); | ||||||
|     void SetIdleTimeDetectionExtension(Kernel::HLERequestContext& ctx); |     void SetIdleTimeDetectionExtension(Kernel::HLERequestContext& ctx); | ||||||
|     void GetIdleTimeDetectionExtension(Kernel::HLERequestContext& ctx); |     void GetIdleTimeDetectionExtension(Kernel::HLERequestContext& ctx); | ||||||
|  |     void SetAutoSleepDisabled(Kernel::HLERequestContext& ctx); | ||||||
|     void GetAccumulatedSuspendedTickValue(Kernel::HLERequestContext& ctx); |     void GetAccumulatedSuspendedTickValue(Kernel::HLERequestContext& ctx); | ||||||
|     void GetAccumulatedSuspendedTickChangedEvent(Kernel::HLERequestContext& ctx); |     void GetAccumulatedSuspendedTickChangedEvent(Kernel::HLERequestContext& ctx); | ||||||
| 
 | 
 | ||||||
| @ -142,6 +143,7 @@ private: | |||||||
| 
 | 
 | ||||||
|     u32 idle_time_detection_extension = 0; |     u32 idle_time_detection_extension = 0; | ||||||
|     u64 num_fatal_sections_entered = 0; |     u64 num_fatal_sections_entered = 0; | ||||||
|  |     bool is_auto_sleep_disabled = false; | ||||||
| }; | }; | ||||||
| 
 | 
 | ||||||
| class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> { | class ICommonStateGetter final : public ServiceFramework<ICommonStateGetter> { | ||||||
|  | |||||||
		Loading…
	
		Reference in New Issue
	
	Block a user
	 Lioncash
						Lioncash