A processing method and related apparatus
Patent Information
- Application Number
- CN202611332656.2
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2026-08-28
- Publication Date
- 2026-10-20
AI Technical Summary
然而,在开机过程中,从用户按下电源键到屏幕显示第一帧画面之间涉及多个软件层与硬件层的串行交互,整体耗时较长,导致开机到亮屏的时间过长,不仅增加了开机过程的功耗,也严重影响了用户体验
Smart Images

Figure FT_1 
Figure FT_2 
Figure FT_3
Abstract
Description
Technical Field
[0001] This application relates to the field of equipment processing technology, and in particular to a processing method and related apparatus. Background Technology
[0002] Electronic display devices are frequently turned on and off during use, especially portable smart display devices, where users have high requirements for power-on response speed. However, the power-on process involves multiple software and hardware layers interacting sequentially from when the user presses the power button to when the first frame of the image appears on the screen. This process is time-consuming, resulting in an excessively long time from power-on to screen illumination. This not only increases power consumption during the power-on process but also seriously affects the user experience. Summary of the Invention
[0003] In view of the above problems, this application provides a processing method and related apparatus, the specific solution of which is as follows:
[0004] The first aspect of this application provides a processing method, including:
[0005] In response to a wake-up notification, the driver layer activates the initialization execution unit during the display driver detection process. The initialization execution unit is used to perform display device initialization after being activated.
[0006] The driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification.
[0007] In one possible implementation, the driver layer activates the initialization execution unit during the display driver probing process, including:
[0008] The driver layer receives the wake-up interrupt command sent by the hardware layer, triggers the display driver to detect and identify the wake-up type of the wake-up source;
[0009] During the display driver detection process, the driver layer activates the initialization execution unit in response to the wake-up source being a screen-on wake-up type.
[0010] In one possible implementation, after the initialization execution unit completes the initialization of the display device, it enters a sleep state.
[0011] In one possible implementation, after triggering the display driver probe, the following is also included:
[0012] The driver layer determines whether the initialization execution unit exists;
[0013] In response to the absence of the initialization execution unit, the driver layer creates the initialization execution unit so that during the display driver detection process, in response to the wake-up source being a screen-on wake-up type, the initialization execution unit is activated.
[0014] In one possible implementation, display device initialization includes the display driver initialization and the screen initialization, and the initialization execution unit performs display device initialization, including:
[0015] The initialization execution unit performs display driver initialization;
[0016] The initialization execution unit performs screen initialization in response to the completion of the display driver initialization.
[0017] In one possible implementation, the initialization execution unit performs display device initialization, including:
[0018] The initialization execution unit utilizes the first sub-execution unit to perform display driver initialization;
[0019] During the display driver initialization process executed by the first sub-execution unit, in response to the achievement of the screen initialization execution condition, the initialization execution unit utilizes the second sub-execution unit to execute the screen initialization. The display device initialization includes the display driver initialization and the screen initialization.
[0020] In one possible implementation, the driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification, including:
[0021] The driver layer receives a screen-on notification. The screen-on notification is triggered by the display driver to enable the power supply and is then passed from the application framework layer to the driver layer.
[0022] The driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification.
[0023] One possible implementation also includes:
[0024] In response to the wake-up notification, the driver layer triggers the power management module to enable via the display driver detection, instructing the application framework layer to send the screen-on notification to the driver layer; wherein, the power management module enabling is executed in parallel with the activation initialization execution unit.
[0025] A second aspect of this application provides a processing apparatus applied to a driving layer, comprising:
[0026] An initialization activation unit is activated in response to a wake-up notification during the display driver detection process. Once activated, the initialization execution unit performs display device initialization.
[0027] The screen-on drive unit is used to drive the screen to turn on in response to the completion of the initialization of the display device, according to the screen-on notification.
[0028] A third aspect of this application provides an electronic device, comprising: a display panel, a display controller, and a processor;
[0029] The processor includes an initialization activation module and a screen-on driver module;
[0030] The initialization activation module is used to activate the initialization execution unit in response to a wake-up notification during the display driver detection process. After the initialization execution unit is activated, it performs display device initialization.
[0031] The screen-on driver module is used to respond to the completion of the initialization of the display device and drive the display controller to light up the display panel according to the screen-on notification. Attached Figure Description
[0032] To more clearly illustrate the technical solutions in the embodiments of this application or related technologies, the drawings used in the description of the embodiments or prior art will be briefly introduced below. Obviously, the drawings described below are only embodiments of this application. For those skilled in the art, other drawings can be obtained based on the provided drawings without creative effort.
[0033] Figure 1 A flowchart illustrating a processing method provided in an embodiment of this application;
[0034] Figure 2 A flowchart illustrating another processing method provided in an embodiment of this application;
[0035] Figure 3 A flowchart illustrating another processing method provided in an embodiment of this application;
[0036] Figure 4 A flowchart illustrating another processing method provided in an embodiment of this application;
[0037] Figure 5 A schematic diagram of a layered interaction process of a processing system provided in this application;
[0038] Figure 6a A first timing diagram provided for an embodiment of this application;
[0039] Figure 6b A second timing diagram provided for embodiments of this application;
[0040] Figure 6c A third timing diagram provided for embodiments of this application;
[0041] Figure 7 A schematic diagram of the structure of a processing device provided in this application;
[0042] Figure 8 This is a schematic diagram of the structure of an electronic device provided in this application. Detailed Implementation
[0043] The embodiments of this application are described below with reference to the accompanying drawings. The terminology used in the implementation section of this application is for explaining specific embodiments only and is not intended to limit the scope of this application.
[0044] The embodiments of this application will now be described with reference to the accompanying drawings. Those skilled in the art will recognize that, with technological advancements and the emergence of new scenarios, the technical solutions provided in the embodiments of this application are equally applicable to similar technical problems.
[0045] The terms "first," "second," etc., used in the specification, claims, and accompanying drawings of this application are used to distinguish similar elements and are not necessarily used to describe a specific order or sequence. It should be understood that such terms are interchangeable where appropriate; this is merely a way of distinguishing elements with the same properties in the description of embodiments of this application. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover non-exclusive inclusion, so that a process, method, system, product, or apparatus that comprises a series of units is not necessarily limited to those units, but may include other units not explicitly listed or inherent to those processes, methods, products, or apparatuses.
[0046] In related technologies, from the time a user presses the power button to the time the screen displays the first frame, the display device initialization operation is usually triggered and executed only after the screen-on notification sending process reaches a certain stage. The screen-on notification sending process refers to the transmission process from the power management module being enabled, through the application framework layer, to the driver layer. It can be seen that the display device initialization operation is triggered late and the initialization itself is time-consuming, resulting in a long time from power-on to screen-on and a poor user experience.
[0047] In view of this, the present application provides a processing method to shorten the time from power-on to screen illumination. It should be noted that the processing method provided in the present application is applicable to, but not limited to, the power-on and screen illumination scenarios of smart display devices. For example, it can be applied to the power-on process of portable smart display devices (such as smartphones, tablets, smartwatches, portable monitors, etc.), and can also be applied to various other electronic devices that require a fast response to user screen illumination operations.
[0048] Reference Figure 1 , Figure 1 This is a flowchart illustrating a processing method provided in an embodiment of this application, as shown below. Figure 1As shown in the embodiment of this application, a processing method may include steps S101 to S102, which will be described in detail below.
[0049] S101. In response to the wake-up notification, the driver layer activates the initialization execution unit during the display driver detection process.
[0050] In this embodiment, after receiving the wake-up notification, the driver layer triggers display driver probing. Display driver probing refers to the kernel detecting the existence of a display controller device, loading the corresponding driver for it, and executing the device-driver binding initialization process, also known as device probe. During display driver probing, the kernel completes operations such as hardware resource allocation, register initialization, and device node creation for the display controller, enabling the display controller to have a basic operating environment.
[0051] In this embodiment, the initialization execution unit is used to perform display device initialization after being activated. Specifically, the initialization execution unit includes different types of execution entities created by the driver layer for performing display device initialization. Optionally, the type of execution entity includes at least one of kernel threads, processes, work items, or other executable entities. After being activated, the initialization execution unit performs display device initialization operations to bring the display device into a normal working state.
[0052] In this embodiment, the initialization execution unit is activated during the display driver detection process, rather than after the screen-on notification sending process reaches a specific stage. Therefore, the display device initialization can be executed in parallel with the entire screen-on notification sending process.
[0053] S102, The driver layer responds to the completion of display device initialization and drives the screen to turn on according to the screen-on notification.
[0054] In this embodiment, the driver layer monitors the progress of the display device initialization, and only when the display device initialization is completed and a screen-on notification is received, the driver layer drives the screen to turn on.
[0055] In one optional embodiment, after the initialization execution unit completes the display device initialization operation, it generates a completion flag. The driver layer determines whether the display device initialization is complete by listening to the completion flag.
[0056] In one optional embodiment, the driver layer calls the display processing unit, the backlight driver, and the screen panel driver to work together to transmit frame buffer image data to the screen and configure the backlight brightness, thereby driving the screen to output a visible image.
[0057] Understandably, if a screen-on notification has been sent but the display device initialization is not yet complete, the driver layer will wait for the initialization to complete before driving the screen to turn on, in order to avoid display defects such as black screen, screen distortion, screen tearing, or abnormal brightness caused by the display driver or screen panel not being initialized.
[0058] As can be seen from the above technical solutions, the processing method provided in this application embodiment, in response to the wake-up notification, activates the initialization execution unit to perform display device initialization during the display driver detection process, advances the triggering time of display device initialization, and enables the display device initialization to be executed in parallel with the upper-layer display business main process. As a result, in response to the completion of display device initialization, the driver layer drives the screen to turn on according to the screen-on notification, shortens the overall time from power-on to screen-on, and improves the power-on response speed and user experience.
[0059] Based on the above embodiments, see Figure 2 , Figure 2 This is a flowchart illustrating another processing method provided in an embodiment of this application. Figure 2 The diagram illustrates S101, which details the implementation process of the driver layer activating the initialization execution unit during the display driver detection process. Figure 2 As shown, an embodiment of this application provides a processing method including:
[0060] S201. The driver layer receives the wake-up interrupt command sent by the hardware layer, triggers the display driver to detect and identify the wake-up type of the wake-up source.
[0061] In this embodiment, after the hardware layer detects a wake-up source (e.g., a user pressing the power button), it transmits a wake-up interrupt instruction IRQ to the driver layer. Upon receiving the IRQ, the driver layer synchronously triggers a device probe. At the same time, the driver layer parses the interrupt source identifier carried by the wake-up interrupt instruction, determines the wake-up type corresponding to the current wake-up source based on the interrupt source identifier, and identifies the wake-up type. The wake-up source is divided into screen-on wake-up type and non-screen-on wake-up type. For example, power-on triggered by the power button belongs to the screen-on wake-up type, while WiFi and Bluetooth network wake-up belong to the non-screen-on wake-up type.
[0062] S202. During the display driver detection process, the driver layer activates the initialization execution unit in response to the wake-up source being the screen-on wake-up type.
[0063] In this embodiment, during the display driver detection process, the driver layer retrieves the wake-up source type of the identified current wake-up source to determine whether the current wake-up source belongs to the screen-on wake-up type. If so, the initialization execution unit is activated within the display driver detection process to perform the display device initialization operation through the initialization execution unit, so that the display device enters the ready state in advance.
[0064] Understandably, if the current wake-up source is determined to be a non-screen-on wake-up type, the activation initialization execution unit will not be executed. In this case, the display device initialization process will not be started, thus avoiding meaningless hardware operations in non-screen-on scenarios.
[0065] As can be seen from the above technical solutions, the processing method provided in this application adds wake-up source type identification and judgment during the display driver detection process. It only activates the initialization execution unit to perform display device initialization in screen-on wake-up scenarios, allowing display device initialization to be executed in parallel with the upper-layer display service mainline process, thus shortening the overall time from power-on to screen-on. Simultaneously, the initialization process is skipped in non-screen-on wake-up scenarios, avoiding unnecessary hardware initialization overhead, reducing system power consumption, and improving resource utilization.
[0066] In one optional embodiment, after the initialization execution unit completes the initialization of the display device, it enters a sleep state.
[0067] In this embodiment, after completing the current display device initialization operation, the initialization execution unit automatically enters a sleep state by the driver layer to avoid occupying system resources for a long time or maintaining an unnecessary active state. By preserving the execution unit context during sleep, the initialization execution unit does not need to be recreated when the display device initialization is needed again, thereby further shortening the initialization startup time in scenarios with multiple power-on cycles.
[0068] In an optional embodiment, the processing method provided in this application further includes, after triggering the display driver detection:
[0069] The driver layer determines whether an initialization execution unit exists. If no initialization execution unit exists, an initialization execution unit is created so that during the display driver detection process, the initialization execution unit is activated in response to the wake-up source being the screen-on wake-up type.
[0070] In this embodiment, during the display driver detection process, the driver layer performs an existence check of the initialization execution unit. Optionally, after triggering the display driver detection, the driver layer searches the kernel process list to determine whether there is an already created initialization execution unit. If it does not exist, it is determined that an initialization execution unit has never been created or that the historical execution unit has been destroyed. The creation operation of the initialization execution unit is completed synchronously in this display driver detection process.
[0071] Furthermore, the newly created initialization execution unit will not run immediately after creation, but will enter a sleep waiting state. When the driver layer determines that the current wake-up source is the screen-on wake-up type, it will directly wake up the newly created initialization execution unit that is in a sleep state, and let it perform the display device initialization.
[0072] In summary, this solution distinguishes between two activation scenarios for the initialization execution unit:
[0073] Scenario 1 involves the device's first screen-on wake-up. After triggering the display driver detection, the driver layer determines that no initialization execution unit exists, then synchronously creates a new execution unit and puts it into sleep mode. Upon screen-on wake-up, the execution unit is directly woken up. The creation operation and the wake-up source type identification operation are executed synchronously, ensuring that a ready initialization execution unit is available for activation when screen-on wake-up is determined, without interrupting the timing logic of the parallel initialization of the display device and the upper-layer display business mainline process.
[0074] Scenario 2 involves a device not experiencing its first screen wake-up. After triggering the display driver detection, the driver layer determines if a previous initialization execution unit that went into sleep mode after a screen wake-up has occurred exists. In this case, the creation step is skipped, and the initialization execution unit is directly woken up and reused upon screen wake-up.
[0075] As can be seen from the above technical solutions, the processing method provided in this application embodiment, through the logic of pre-verification and on-demand creation of initialization execution units, creates and puts the initialization execution unit to sleep in advance when it is determined that there is no initialization execution unit, and reuses the initialization execution unit directly when it exists. This avoids the repeated application and release of kernel thread resources caused by creating an initialization execution unit every time the screen is turned on and woken up, reduces memory allocation overhead, and further improves the wake-up response speed of the initialization execution unit.
[0076] In one optional embodiment, display device initialization includes display driver initialization and screen initialization. The specific method by which the initialization execution unit performs display device initialization includes:
[0077] The initialization execution unit performs display driver initialization, and in response to the completion of display driver initialization, performs screen initialization.
[0078] In this embodiment, after the initialization execution unit is activated, it first performs display driver initialization to complete operations such as register configuration, interrupt configuration, and frame buffer allocation for the display controller. After the display driver initialization is completed, the initialization execution unit continues to perform screen initialization. Specifically, it sends an initialization command sequence to the screen module through the display interface to bring the screen from standby mode to normal working mode. The initialization command sequence includes power timing commands, sleep mode exit commands, and display parameter setting commands.
[0079] As can be seen from the above technical solutions, the processing method provided in this application embodiment executes the initialization execution unit in the order of display driver initialization first and screen initialization second, ensuring that the underlying display driver is ready when the screen is initialized, avoiding screen initialization failure or display abnormality due to driver not being ready, and improving the stability and reliability of display device initialization.
[0080] In one optional embodiment, the specific implementation method of the initialization execution unit performing display device initialization includes:
[0081] The initialization execution unit uses the first sub-execution unit to perform display driver initialization. During the display driver initialization process of the first sub-execution unit, in response to the achievement of the screen initialization execution condition, the second sub-execution unit is used to perform screen initialization.
[0082] In this embodiment, display device initialization includes display driver initialization and screen initialization. The first sub-execution unit and the second sub-execution unit are subordinate execution bodies created or called by the initialization execution unit, and the subordinate execution bodies include at least one of process, thread, task, or work item.
[0083] In one optional embodiment, the first sub-execution unit and the second sub-execution unit are sub-processes called by the initialization execution unit. Specifically, after being activated, the initialization execution unit calls the first and second sub-execution units. The first sub-execution unit is used to perform display driver initialization, including operations such as register configuration, interrupt configuration, and frame buffer allocation for the display controller.
[0084] In this embodiment, during the display driver initialization process performed by the first sub-execution unit, the initialization execution unit continuously monitors whether the execution conditions for screen initialization have been met. Optionally, the execution conditions include that the display driver initialization has reached the target stage, so that screen initialization can begin execution on this basis without causing an exception due to the driver not being ready. For example, the target stage includes the completion of frame buffer allocation and the completion of configuration of the display controller's basic registers.
[0085] In response to the achievement of the execution condition, the initialization execution unit uses the second sub-execution unit to perform screen initialization, and sends an initialization command sequence to the screen module through the display interface, so that the screen enters the normal working mode from the standby state.
[0086] In summary, display driver initialization and screen initialization can be partially executed in parallel under the constraints of screen initialization execution conditions, further reducing the total time spent on display device initialization.
[0087] As can be seen from the above technical solutions, the processing method provided in this application embodiment performs display driver initialization through the first sub-execution unit, and performs screen initialization in parallel through the second sub-execution unit after the execution conditions for screen initialization are met. Thus, display driver initialization and screen initialization are partially executed in parallel under the constraint of the execution conditions for screen initialization, further shortening the total time of display device initialization and further improving the response speed from power-on to screen lighting.
[0088] In an alternative embodiment, see Figure 3, Figure 3 This is a flowchart illustrating another processing method provided in an embodiment of this application. Figure 3 This example illustrates S102, which describes the specific implementation process of the driver layer responding to the completion of display device initialization and driving the screen to turn on according to the screen-on notification. Figure 3 As shown, this method includes:
[0089] S301, the driver layer receives the screen-on notification.
[0090] In this embodiment, the screen-on notification is triggered by the display driver detecting and enabling the power supply, and then passed from the application framework layer to the driver layer.
[0091] Specifically, after the display driver detects and triggers power enable, the power management service starts, and the screen-on notification is sent down layer by layer through the local service layer and the hardware abstraction layer, and finally passed to the driver layer. The driver layer receives the screen-on notification as an upper-level instruction to trigger the screen to turn on.
[0092] S302, The driver layer responds to the completion of display device initialization and drives the screen to turn on according to the screen-on notification.
[0093] In this embodiment, after receiving the screen-on notification, the driver layer determines whether the display device initialization has been completed. If it has, the driver immediately drives the screen to turn on according to the notification. If it has not, the driver waits until the initialization execution unit completes the display device initialization before driving the screen to turn on according to the notification.
[0094] As can be seen from the above technical solutions, the processing method provided in this application embodiment involves the driver layer receiving a screen-on notification and driving the screen to turn on in response to the completion of the display device initialization. If the initialization is not yet complete when the screen-on notification arrives, the driver layer waits, ensuring that the screen-on operation is executed after the underlying hardware is ready, thus avoiding display abnormalities such as black screen or distorted screen caused by hardware not being ready.
[0095] In one optional embodiment, the processing method provided in this application further includes: in response to a wake-up notification, the driver layer triggers the power management module to enable via a display driver detection, so as to instruct the application framework layer to send a screen-on notification to the driver layer.
[0096] In this embodiment, the power management module enables and activates the initialization execution unit in parallel.
[0097] Specifically, after receiving the wake-up notification, the driver layer executes the following in parallel during the display driver probing process:
[0098] The activation initialization execution unit performs display device initialization and triggers the power management module to enable via display driver detection, instructing the application framework layer to send a screen-on notification to the driver layer. These two parallel processes are executed synchronously in sequence; the display device initialization and screen-on notification sending processes run in parallel without blocking each other.
[0099] Understandably, once the power management module is enabled, the main upper-layer display service process starts. This process includes operations such as sending screen-on notifications layer by layer, layer compositing, image sending and brushing, DPU configuration, and brightness adjustment. The entire main upper-layer display service process runs in parallel with the initialization of the display device.
[0100] As can be seen from the above technical solutions, the processing method provided in this application embodiment enables the power management module to be enabled and the activation operation of the initialization execution unit to be executed in parallel, so that the screen-on notification and the subsequent upper-layer display business main process can be synchronized with the initialization of the display device, making full use of time slice overlap, further compressing the overall time from power-on to screen-on, and improving the power-on response speed.
[0101] Based on the above embodiments, the processing method provided in this application executes the display device initialization pre-processing to the display driver detection stage in parallel through the driver layer, and combines wake-up source filtering and initialization execution unit reuse mechanism to reduce the time from power-on to screen-on, thereby improving screen-on response speed. Based on this, see [link to relevant documentation]. Figure 4 , Figure 4 This is a flowchart illustrating another processing method provided in an embodiment of this application. Figure 4 An example of an optional embodiment is provided, illustrating a specific implementation flow of a processing method provided in this application, such as... Figure 4 As shown, this method includes:
[0102] S401, The driver layer receives a wake-up notification from the hardware layer and triggers the display driver detection.
[0103] In this embodiment, after the hardware layer detects a wake-up source, it sends a wake-up notification to the driver layer. Upon receiving the wake-up notification, the driver layer triggers a device probe.
[0104] S402. During the display driver detection process, the driver layer identifies and marks the wake-up type of the wake-up source.
[0105] S403. During the display driver detection process, the driver layer checks whether there is an available initialization execution unit locally. If not, the driver layer creates an initialization execution unit and puts the newly created initialization execution unit into a sleep waiting state.
[0106] In this embodiment, S402 and S403 are executed in parallel, that is, the driver layer synchronously completes the identification of the wake-up source type and the verification, creation or reuse of the initialization execution unit during the display driver detection process.
[0107] It should be noted that if an initialization execution unit already exists in a dormant state, then that initialization execution unit will be reused directly.
[0108] S404, the driver layer determines whether the wake-up source is a screen-on wake-up type.
[0109] S405. If the screen wake-up type is determined, the driver layer activates the initialization execution unit, which then performs the display device initialization process.
[0110] In this embodiment, the activated initialization execution unit includes the initialization execution unit created this time, or an existing initialization execution unit.
[0111] In this embodiment, the initialization execution unit performs display device initialization processing, including display driver initialization and screen initialization. Specifically, the initialization execution unit can use a first sub-execution unit to perform display driver initialization, and during the execution of the first sub-execution unit, in response to the achievement of the execution conditions for screen initialization, use a second sub-execution unit to perform screen initialization, so that the two can be partially executed in parallel under the premise of satisfying the constraints, thereby further shortening the initialization time.
[0112] S406. If the type is determined to be non-screen wake-up, the driver layer will not wake up the initialization execution unit and will not trigger the initialization of the display device.
[0113] S407. While activating the initialization execution unit, the driver layer transmits a wake-up notification to trigger the power management module to enable.
[0114] In this embodiment, the operation of the driver layer to wake up the initialization execution unit is executed in parallel with the operation of the driver layer to trigger the power management module to enable, without blocking each other. The driver layer waits to receive the screen-on notification sent back layer by layer from the application framework layer.
[0115] S408, the driver layer continuously detects two conditions: whether a screen-on notification has been received, and whether a display device initialization completion flag has been obtained.
[0116] S409. When a screen-on notification is received and the display device initialization is complete, the driver layer executes screen-on.
[0117] It should be noted that if the screen-on notification arrives first but initialization is not yet complete, it will wait.
[0118] As can be seen from the above technical solution, the driver layer triggers two processing links in parallel to overlap the initialization time of the underlying display device with the processing time of the upper layer business. At the same time, combined with wake-up source filtering and initialization execution unit reuse mechanism, it reduces unnecessary hardware operations and kernel resource overhead while shortening the overall boot-up and screen-on time, and avoids display abnormalities such as black screen, screen distortion, and screen tearing caused by hardware not being ready.
[0119] In one optional embodiment, the processing method provided in this application can be applied to a processing system. Taking the Android system as an example, the processing system includes, from bottom to top: a hardware layer, a driver layer, a hardware abstraction layer (HAL), a native service layer, a framework layer, and an application layer (APP).
[0120] It should be noted that the above processing system architecture is illustrated using the Android system as an example. The processing method provided in this application embodiment can also be applied to processing systems in other operating systems. For other operating systems, operations similar to those described in the Android system are performed through corresponding functional layers.
[0121] Reference Figure 5 , Figure 5 This is a schematic diagram of a layered interaction flow of a processing system provided in an embodiment of this application. Figure 5 As shown, the layered interaction process includes:
[0122] When the hardware layer receives a user operation or a system-triggered wake-up operation, it generates a corresponding wake-up notification and reports it to the driver layer. For example, wake-up operations include screen wake-up triggered by the user pressing the power button, network wake-up triggered by the system receiving a remote wake-up data packet through the network communication module, and Bluetooth wake-up triggered by the system receiving a wake-up signal from a paired device through the Bluetooth module.
[0123] The driver layer receives wake-up notification information from the hardware layer, first completes interrupt event processing, identifies and records the wake-up type of the current wake-up source, then triggers device node detection, creates a device driver instance, completes the creation of the initialization thread, if the current wake-up source is a screen-on wake-up type, wakes up the available initialization thread to execute the display device initialization, and generates an initialization completion signal after the display device initialization is completed.
[0124] The driver layer transmits the wake-up notification to the Framework layer through the display driver detection, triggering the power management module to enable.
[0125] After the power management module is enabled, the application layer (APP) and the framework layer establish interaction. The APP layer executes image brushing and brightness configuration through the drawing control module and the backlight management module, respectively, and the framework layer initiates the screen-on notification process. Specifically, the framework layer sends the screen-on notification, image data, and backlight configuration instructions down to the driver layer level by level through the interface composition service Surface Flinger (SF) of the Native Service layer and the hardware composition service HWC of the HAL layer.
[0126] The driver layer receives the screen-on notification, image data, and backlight configuration instructions. After confirming that the display device initialization is complete, it enables the display object. Following this, it executes the display processing unit (DPU) frame configuration and backlight configuration in parallel. The DPU completes the image transmission to the display screen in the hardware layer, and the backlight configuration sets the brightness. Once both image transmission and brightness setting are complete, the screen is turned on and the display image is output. As can be seen from the above technical solution, the processing method provided in this application, by moving the time-consuming display device initialization operation during boot to the display driver detection stage and executing it in parallel by an independent thread, allows the display device initialization and the upper-layer display service mainline process to run concurrently, shortening the overall boot-to-screen-on time and improving boot response speed and user experience. Simultaneously, through a wake-up source type identification mechanism, the initialization execution unit is activated only in screen-on wake-up scenarios, skipping the initialization process in non-screen-on wake-up scenarios, avoiding unnecessary hardware operations and reducing system power consumption. Furthermore, through the reuse mechanism of the initialization execution unit, repeated creation of thread resources is avoided, reducing kernel resource overhead and further improving response efficiency in multiple screen-on scenarios.
[0127] Figure 6a illustrates the serial processing flow from button triggering to screen lighting in related technologies. As shown in Figure 6a, after the hardware layer receives the button trigger signal, it is passed upwards. The driver layer sequentially performs device detection, and then flows upwards layer by layer to the power management module (PMS) of the application framework layer, and then sequentially through the interface composition service (SF) of the local service layer and the hardware composition service (HWC) of the hardware abstraction layer. After the flow returns to the driver layer, the display driver and screen initialization are executed. Subsequently, the data is passed back level by level to complete operations such as image sending, brightness setting, and DPU configuration. All processing stages are arranged sequentially, and the total time is the sum of the time of each stage. The total duration before screen lighting is approximately T1.
[0128] Figure 6b illustrates the screen-on process of another related technology. As shown in Figure 6b, after the hardware layer receives the button trigger signal, it is passed upwards. The driver layer performs device detection, and the process flows upwards to the power management module (PMS) of the application framework layer, and then sequentially through the interface composition service (SF) of the local service layer and the hardware composition service (HWC) of the hardware abstraction layer. After the HWC stage, the business processes of display driver, screen initialization and image sending, and brightness setting are executed in parallel. However, the display driver and screen initialization still need to wait for the process to reach the HWC stage before they can start, and the initialization process cannot be advanced. The total time of this scheme is approximately T2, which is less than T1, but the performance optimization is limited.
[0129] Figure 6c illustrates the timing flow of the processing method provided in this application embodiment. As shown in Figure 6c, after the hardware layer receives the button trigger signal, it passes it upward to the driver layer. The driver layer creates a new thread during the device detection phase to start screen initialization and display driver initialization in advance. This allows the display device initialization process to be executed in parallel with the upper-layer business main process (Power Management Module (PMS) processing, screen-on notification distribution, local service layer interface synthesis service (SF) processing, and hardware abstraction layer hardware synthesis service (HWC) processing) from the beginning of the process. The driver layer continuously listens for the screen-on notification and the display device initialization completion flag. Only when both conditions are met simultaneously will the DPU be executed to complete the screen-on configuration. The total time of this scheme is approximately T3, which is significantly less than T1 and T2. The time from device wake-up to screen-on can be shortened by approximately 30%.
[0130] Combination Figure 6a , Figure 6b and Figure 6c As can be seen from the timing comparison shown, this application executes the display device initialization in parallel from the display driver detection stage, so that the time-consuming display device initialization and the upper-layer display business main process overlap in time. At the same time, combined with the wake-up source type filtering and initialization execution unit reuse mechanism, it reduces unnecessary hardware operations and kernel resource overhead while shortening the overall power-on screen time, and avoids display abnormalities caused by hardware not being ready.
[0131] The above describes a processing method provided by an embodiment of this application. The following will describe the related apparatus for performing the above processing method.
[0132] This application also provides a processing device in its embodiments. Figure 7 This is a schematic diagram of the structure of a processing device provided in an embodiment of this application, such as... Figure 7 As shown,
[0133] The initialization activation unit 701, in response to a wake-up notification, activates the initialization execution unit during the display driver detection process. After the initialization execution unit is activated, it performs display device initialization.
[0134] The screen-on drive unit 702 is used to drive the screen to turn on in response to the completion of the initialization of the display device, according to the screen-on notification.
[0135] It should be noted that the specific structure of the processing device and the implementation of each functional unit provided in this application embodiment can be found in the above embodiments.
[0136] This application also provides an electronic device. Figure 8 This is a schematic diagram of the structure of an electronic device provided in an embodiment of this application, such as... Figure 8 As shown, the electronic device 800 includes: a display panel 801, a display controller 802, and a processor 803; wherein, the processor includes an initialization activation module 804 and a screen-on drive module 805;
[0137] The initialization activation module is used to activate the initialization execution unit in response to a wake-up notification during the display driver detection process. After the initialization execution unit is activated, it performs display device initialization.
[0138] The screen-on driver module is used to respond to the completion of the initialization of the display device and drive the display controller to light up the display panel according to the screen-on notification.
[0139] In summary, the processor activates the initialization execution unit during the display driver detection phase through the initialization activation module to perform display device initialization, enabling the display device initialization and screen-on notification sending process to be executed in parallel. After the display device initialization is completed, the screen-on driver module drives the display controller to light up the display panel, shortening the overall time from wake-up to screen lighting up, and improving the boot response speed of electronic devices and user experience.
[0140] It should be noted that the specific functions of each hardware module can be found in the above embodiments, and will not be repeated in this embodiment.
[0141] It should be further noted that the electronic devices in the embodiments of this application may include, but are not limited to, terminal devices with display screens such as smartphones, tablets, smartwatches, portable displays, laptops, and desktop computers.
[0142] An electronic device provided in this application embodiment further includes a memory connected to the processor, wherein: the memory is used to store a computer program; and the processor is used to execute the computer program so that the electronic device can implement the processing method described in any of the above embodiments.
[0143] Optionally, the electronic device may include a processing unit (e.g., a central processing unit, a graphics processing unit, etc.) that can perform various appropriate actions and processes according to a program stored in a read-only memory (ROM) or a program loaded from a storage device into random access memory (RAM). When the electronic device is powered on, the RAM also stores various programs and data required for the operation of the electronic device. The processing unit, ROM, and RAM are interconnected via a bus. Input / output (I / O) interfaces are also connected to the bus.
[0144] Typically, the following devices can be connected to an I / O interface: input devices such as touchscreens, touchpads, keyboards, mice, cameras, microphones, accelerometers, gyroscopes, etc.; output devices such as liquid crystal displays (LCDs), speakers, vibrators, etc.; storage devices such as memory cards, hard drives, etc.; and communication devices. Communication devices allow electronic devices to communicate wirelessly or wiredly with other devices to exchange data.
[0145] This application also provides a computer program product including computer-readable instructions that, when executed on an electronic device, cause the electronic device to implement any of the processing methods provided in this application.
[0146] This application also provides a computer-readable storage medium that carries one or more computer programs. When the one or more computer programs are executed by an electronic device, the electronic device can implement any of the processing methods provided in this application.
[0147] It should also be noted that the device embodiments described above are merely illustrative. The units described as separate components may or may not be physically separate, and the components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple network units. Some or all of the modules can be selected to achieve the purpose of this embodiment according to actual needs. In addition, in the device embodiment drawings provided in this application, the connection relationship between modules indicates that they have a communication connection, which can be implemented as one or more communication buses or signal lines.
[0148] Through the above description of the embodiments, those skilled in the art can clearly understand that this application can be implemented by means of software plus necessary general-purpose hardware, or it can be implemented by special-purpose hardware including application-specific integrated circuits, special-purpose CPUs, special-purpose memory, special-purpose components, etc. Generally, any function performed by a computer program can be easily implemented by corresponding hardware, and the specific hardware structure used to implement the same function can also be diverse, such as analog circuits, digital circuits, or special-purpose circuits. However, for this application, software program implementation is more often the preferred implementation method. Based on this understanding, the technical solution of this application, in essence, or the part that contributes to the prior art, can be embodied in the form of a software product. This computer software product is stored in a readable storage medium, such as a computer floppy disk, USB flash drive, mobile hard disk, ROM, RAM, magnetic disk, or optical disk, etc., and includes several instructions to cause a computer device (which may be a personal computer, training equipment, or network device, etc.) to execute the methods described in the various embodiments of this application.
[0149] In the above embodiments, implementation can be achieved, in whole or in part, through software, hardware, firmware, or any combination thereof. When implemented in software, it can be implemented, in whole or in part, as a computer program product.
[0150] The computer program product includes one or more computer instructions. When the computer program instructions are loaded and executed on a computer, all or part of the processes or functions described in the embodiments of this application are generated. The computer may be a general-purpose computer, a special-purpose computer, a computer network, or other programmable device. The computer instructions may be stored in a computer-readable storage medium or transmitted from one computer-readable storage medium to another. For example, the computer instructions may be transmitted from one website, computer, training device, or data center to another website, computer, training device, or data center via wired (e.g., coaxial cable, fiber optic, digital subscriber line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.) means. The computer-readable storage medium may be any available medium that a computer can store or a data storage device such as a training device or data center that integrates one or more available media. The available media may be magnetic media (e.g., floppy disks, hard disks, magnetic tapes), optical media (e.g., DVDs), or semiconductor media (e.g., solid-state drives (SSDs)).
Claims
1. A processing method, comprising: In response to a wake-up notification, the driver layer activates the initialization execution unit during the display driver detection process. The initialization execution unit is used to perform display device initialization after being activated. The driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification.
2. The processing method according to claim 1, wherein the driver layer activates the initialization execution unit during the display driver detection process, comprising: The driver layer receives the wake-up interrupt command sent by the hardware layer, triggers the display driver to detect and identify the wake-up type of the wake-up source; During the display driver detection process, the driver layer activates the initialization execution unit in response to the wake-up source being a screen-on wake-up type.
3. According to the processing method of claim 2, after the initialization execution unit completes the initialization of the display device, it enters a sleep state.
4. The processing method according to claim 2 or 3, further comprising, after triggering the display driver detection: The driver layer determines whether the initialization execution unit exists; In response to the absence of the initialization execution unit, the driver layer creates the initialization execution unit so that during the display driver detection process, in response to the wake-up source being a screen-on wake-up type, the initialization execution unit is activated.
5. The processing method according to claim 1, wherein the display device initialization includes the display driver initialization and the screen initialization, and the initialization execution unit performs display device initialization, including: The initialization execution unit performs display driver initialization; The initialization execution unit performs screen initialization in response to the completion of the display driver initialization.
6. The processing method according to claim 1, wherein the initialization execution unit performs display device initialization, comprising: The initialization execution unit utilizes the first sub-execution unit to perform display driver initialization; During the display driver initialization process executed by the first sub-execution unit, in response to the achievement of the screen initialization execution condition, the initialization execution unit utilizes the second sub-execution unit to execute the screen initialization. The display device initialization includes the display driver initialization and the screen initialization.
7. The processing method according to claim 1, wherein the driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification, including: The driver layer receives a screen-on notification. The screen-on notification is triggered by the display driver to enable the power supply and is then passed from the application framework layer to the driver layer. The driver layer responds to the completion of the display device initialization by driving the screen to turn on according to the screen-on notification.
8. The processing method according to claim 7, further comprising: In response to the wake-up notification, the driver layer triggers the power management module to enable via the display driver detection, instructing the application framework layer to send the screen-on notification to the driver layer; wherein, the power management module enabling is executed in parallel with the activation initialization execution unit.
9. A processing apparatus applied to a driving layer, comprising: An initialization activation unit is activated in response to a wake-up notification during the display driver detection process. Once activated, the initialization execution unit performs display device initialization. The screen-on drive unit is used to drive the screen to turn on in response to the completion of the initialization of the display device, according to the screen-on notification.
10. An electronic device, comprising: Display panel, display controller, and processor; The processor includes an initialization activation module and a screen-on driver module; The initialization activation module is used to activate the initialization execution unit in response to a wake-up notification during the display driver detection process. After the initialization execution unit is activated, it performs display device initialization. The screen-on driver module is used to respond to the completion of the initialization of the display device and drive the display controller to light up the display panel according to the screen-on notification.
