Abstract:
A system and method for resolving the blank screen issue when switching between graphics processing units. The system and method provide a graphics adapter LCD timing controller (Tcon) with a frame buffer specifically dedicated to storing previously presented screen data for use when switching graphic processing units. The system further includes a protocol comparator unit within a serial-to-parallel converter and a memory controller coupled to the protocol comparator.

Description:
BACKGROUND OF THE INVENTION 
     1. Field of the Invention 
     The present invention relates to information handling systems and more particularly to seamless switching between graphics controllers. 
     2. Description of the Related Art 
     As the value and use of information continues to increase, individuals and businesses seek additional ways to process and store information. One option available to users is information handling systems. An information handling system generally processes, compiles, stores, and/or communicates information or data for business, personal, or other purposes thereby allowing users to take advantage of the value of the information. Because technology and information handling needs and requirements vary between different users or applications, information handling systems may also vary regarding what information is handled, how the information is handled, how much information is processed, stored, or communicated, and how quickly and efficiently the information may be processed, stored, or communicated. The variations in information handling systems allow for information handling systems to be general or configured for a specific user or specific use such as financial transaction processing, airline reservations, enterprise data storage, or global communications. In addition, information handling systems may include a variety of hardware and software components that may be configured to process, store, and communicate information and may include one or more computer systems, data storage systems, and networking systems. 
     It is known to provide information handling systems with a graphics controller. For example,  FIG. 1 , labeled Prior Art, shows an example of a liquid crystal display (LCD) timing controller (Tcon) module. 
     Certain graphics controller platforms, such as the graphic controller on the Centrino 2 platform available from Intel, Inc., allow dynamic switching of graphics controllers between a discrete graphics processing unit (dGPU) and an integrated graphics processing unit (iGPU). These types of graphics platforms allow dynamic switching graphic controller between the dGPU and the iGPU to provide performance enhancements (e.g., when controlling graphics via the dGPU) or power saving (e.g., when controlling graphics via the iGPU and powering down the dGPU). The control mechanism for the switching may be triggered by a power source (such as an alternating current/direct current (AC/DC) source), or by activating a hot key or button on the information handling system. 
     One issue for graphics platforms which incorporate the ability to switch between the dGPU and the iGPU is that with certain of these platforms a blank (e.g., black) screen occurs (often for several seconds) on a display coupled to the controller when the graphic controllers are switching to from one type to another type. 
     Accordingly, it would be desirable to provide a system for resolving the blank screen issue when switching between graphics controllers. 
     SUMMARY OF THE INVENTION 
     In accordance with the present invention, a system and method for resolving the blank screen issue when switching between graphics processing units is set forth. 
     More specifically, the system provides a graphics adapter LCD timing controller (Tcon) with a frame buffer specifically dedicated to storing previously presented screen data for use when switching graphic processing units. The system further includes a protocol comparator unit within a serial-to-parallel converter and a memory controller coupled to the protocol comparator. 
     In one embodiment, the invention relates to a method for switching between graphics processing units comprising: providing a graphics adapter timing controller (Tcon) with a frame buffer, storing previously presented screen data within the frame buffer; and, providing the previously presented screen data to a display device upon switching control between a first graphics adapter and a second graphics adapter. 
     In another embodiment, the invention relates to an apparatus for switching between graphics processing units comprising: means for providing a graphics adapter timing controller (Tcon) with a frame buffer; means for storing previously presented screen data within the frame buffer; and, means for providing the previously presented screen data to a display device upon switching control between a first graphics adapter and a second graphics adapter. 
     In another embodiment, the invention relates to an information handling system comprising: a processor; memory coupled to the processor; and, a graphics adapter timing controller (Tcon) coupled to the processor, the graphics adapter Tcon comprising a frame buffer, the frame buffer storing previously presented screen data, the graphics adapter Tcon providing the previously presented screen data to a display device upon switching control between a first graphics adapter and a second graphics adapter. 
    
    
     
       BRIEF DESCRIPTION OF THE DRAWINGS 
       The present invention may be better understood, and its numerous objects, features and advantages made apparent to those skilled in the art by referencing the accompanying drawings. The use of the same reference number throughout the several figures designates a like or similar element 
         FIG. 1 , labeled Prior Art, shows a block diagram of a known timing controller (Tcon) module 
         FIG. 2  shows a system block diagram of an information handling system. 
         FIG. 3  shows a block diagram of a graphics architecture of an information handling system. 
         FIG. 4  shows a block diagram of a Tcon module in accordance with the present invention. 
         FIG. 5  shows a combined block diagram signal diagram of the operation of a Tcon module in accordance with the present invention. 
         FIG. 6  shows a signal diagram of during transition from a first graphics device to a second graphics device. 
     
    
    
     DETAILED DESCRIPTION 
     Referring briefly to  FIG. 2 , a system block diagram of an information handling system  200  is shown. The information handling system  200  includes a processor  202 , input/output (I/O) devices  204 , such as a display, a keyboard, a mouse, and associated controllers (each of which may be coupled remotely to the information handling system  200 ), a memory  206  including volatile memory such as random access memory (RAM) and non-volatile memory such as a hard disk and drive, and other storage devices  208 , such as an optical disk and drive and other memory devices, and various other subsystems  210 , all interconnected via one or more buses  212 . 
     In the information handling system  200 , the I/O devices  204  include a first graphics controller  220  and a second graphics controller  222 . The information handling system  200  further includes a synchronization module  230  for enabling transition of control between the first and second graphics controllers  220 ,  222 . The information handling system  200  further includes a basic input output system  230  and an operating system  232  stored on the memory and including instructions executable by the processor  202 . 
     In reviewing graphics platforms having the switchable architecture, it has been determined that a screenshot is composed of complete data packets from a graphics device via a low voltage differential signal/embedded DisplayPort (LVDS/eDP) interface. Without the synchronization module  230 , it would be difficult to make the different graphics devices simultaneously drive LVDS/eDP packets to the LCD timing controller LCD Tcon. When the LCD Tcon packet source is switched from the first graphic device  220  (e.g., an integrated graphics device) to the second graphics device  222  (e.g., a discrete graphics device), the first graphics device  220  may not complete a transmission of data packets before the transition is completed, thus potentially resulting in the blank screen due to the data stream being interrupted. The same issue can be observed when transitioning from the second graphics device  222  to the first graphics device  220 . If the LCD Tcon cannot obtain complete data packets during the graphics device transition then the blank screen issue occurs until the LCD Tcon obtains the complete data packets again from the graphics device to which control is transitioned. 
     For purposes of this disclosure, an information handling system may include any instrumentality or aggregate of instrumentalities operable to compute, classify, process, transmit, receive, retrieve, originate, switch, store, display, manifest, detect, record, reproduce, handle, or utilize any form of information, intelligence, or data for business, scientific, control, or other purposes. For example, an information handling system may be a personal computer, a network storage device, or any other suitable device and may vary in size, shape, performance, functionality, and price. The information handling system may include random access memory (RAM), one or more processing resources such as a central processing unit (CPU) or hardware or software control logic, ROM, and/or other types of nonvolatile memory. Additional components of the information handling system may include one or more disk drives, one or more network ports for communicating with external devices as well as various input and output (I/O) devices, such as a keyboard, a mouse, and a video display. The information handling system may also include one or more buses operable to transmit communications between the various hardware components. 
       FIG. 3  shows a block diagram of a graphics architecture of an information handling system. More specifically, the graphics architecture  300  includes an integrated graphics controller  310  and a discrete graphics controller  312 . The graphics architecture  300  includes a driver module  320 , which is coupled to the BIOS  230  and the operating system  232  of the information handling system. The driver module  320  includes an integrated graphics controller driver  322  and a discrete graphics controller driver  324 , which correspond to integrated graphics controller  310  and discrete graphics controller  312 , respectively. The driver module  320  further includes a switchable graphics layer driver  326 . 
     The graphics controllers  310 ,  312  may be coupled to any of a plurality of display devices including a Liquid Crystal display/embedded DisplayPort (LCD/eDP) panel type display device  340 , a cathode ray tube (CRT) type display device  342 , a television (TV) type display device  344  and/or a digital video type display device  346  (e.g, a High Definition Multimedia Interface (HDMI), Digital Video Interactive (DVI), or display port). 
     An LVDS synchronization and multiplexer module  350  is coupled between the graphics controllers  310 ,  312  and the LCD/eDP panel  340 . A CRT synchronization and multiplexer module  352  is coupled between the graphics controllers  310 ,  312  and the LCD/eDP panel  340 . 
     Referring to  FIG. 4 , a block diagram of a LCD timing controller (Tcon) module  400  is shown. The Tcon module  400  includes a serial to parallel converter and protocol comparator  410 , a memory controller  412  and a frame buffer  414 , which collectively make up one embodiment of a synchronization module for enabling transition of control between the first and second graphics controllers. 
     The Tcon module  400  further includes a low voltage differential signal/embedded DisplayPort (LVDS/eDP) circuit  420 , a control circuit  422 , and a spread spectrum clock generation (SSCG) circuit  424  as well as a Gamma module  430 , a line buffer module  434 , a reduced swing differential signaling (RSDS) circuit  436  and a timing generation circuit  438 . The Tcon module  400  further includes an electrically erasable programmable read only memory (EEPROM)  420  for storing extended display identification data (EDID). The Tcon module  400  further includes another EEPROM  442  for storing other display data. 
     The SSCG circuit  424  provides electro magnetic interference (EMI) reduction via programming options allowing system designers to optimize various EMI generating parameters. The Gamma module  430  provides a gamma compression function referred to as gamma encoding which is used to encode linear luminance or red/green/blue (RGB) values into video signals of digital video file values. The line buffer module  434  provides a linear address space for storing display data within the Tcon module  400 . The RSDS circuit  436  and the timing generation circuit  438  provide timing outputs for driving an LCD type display device. 
     During normal operation, the converter receives (LVDS/eDP) data packets from the active GPU and transfers serial data to parallel data. The parallel data is stored in the frame buffer and is also transferred to the processing unit to drive the thin film transistor liquid crystal display (TFT LCD). A GPU transfer control signal (GPU_SW) is provided to the controller of the Tcon. This GPU transfer control signal is coupled to from an information handling system motherboard to EDID_SW. The extended display identification data select signal (EDID_SELECT) is activated prior to the graphics device select signal (GPU_SELECT) during a GPU transition procedure. The EDID_SELECT signal provides an indication to the Tcon module that the video source will soon be provided by a different graphics device. The protocol comparator then monitors the received data packets. The protocol comparator reports receipt of an error detected signal (ERROR_DET) to the memory controller when the data packets are disrupted (i.e., broken) during the graphics device transition. When the ERROR_DET signal is asserted, the memory controller fetches previous screen data from the frame buffer and provides this screen data to the processing unit to drive the TFT LCD device. Thus the LCD device will keep presenting the previous screen (i.e., the screen data stored within the frame buffer) until the serial-parallel converter receives complete data packets from new graphics device and the protocol comparator de-asserts the ERROR_DET signal. 
     When the ERROR_DET signal is deasserted, the Tcon module returns to normal operation. Because the Tcon module keep presenting the previous display screen during the graphics device transition, the black screen is effectively eliminated. 
       FIG. 5  shows a combined block diagram signal diagram of the operation of a Tcon module in accordance with the present invention. More specifically, the Tcon module (e.g., Tcon module  400 ) uses a graphics controller switch signal (GPU_SW) to determine when to switch between graphics controllers. The Tcon module  400  generates a LVDS/eDP signal and display data channel/auxiliary (DDC/AUX) signals which are provided to multiplexers  510 ,  512 , respectively. The DDC/AUX signals are used to read LCD EDID data by the graphics controller. The EDID data defines LCD specific parameters (e.g., size, timing, resolution, etc.). The graphics controller drives the output through the LVDS/eDP signal based upon these LCD parameters. 
     Based upon the state of the graphics controller switch signal, the Tcon module  400  generates an extended display identification data select signal (EDID_SELECT) signal (in certain embodiments, the EDID_SELECT signal is active low). The EDID_SELECT signal is generated by an embedded controller coupled to the system BIOS. This signal is defined to switch the multiplexers of the LVDS/eDP and DDC/AUS signals from one graphics adapter to the other. This EDID_SELECT signal is also provided to the Tcon module  400  to indicate when an adapter transition occurs and that EDID data can be fetched again. The extended display identification data select signal is provided to multiplexers  510 ,  512 , which in turn provide the LVDS/eDP signal and the DDC/AUX signal to the graphics adapters. 
       FIG. 6  shows a signal diagram of during transition from a first graphics device to a second graphics device. More specifically, under control of the GPU_SELECT signal, the Tcon module  400  allows the LCD display to display data from the frame buffer during the process of switching graphics control between the first and second graphics controllers. 
     The present invention is well adapted to attain the advantages mentioned as well as others inherent therein. While the present invention has been depicted, described, and is defined by reference to particular embodiments of the invention, such references do not imply a limitation on the invention, and no such limitation is to be inferred. The invention is capable of considerable modification, alteration, and equivalents in form and function, as will occur to those ordinarily skilled in the pertinent arts. The depicted and described embodiments are examples only, and are not exhaustive of the scope of the invention. 
     Also for example, the above-discussed embodiments include software modules that perform certain tasks. The software modules discussed herein may include script, batch, or other executable files. The software modules may be stored on a machine-readable or computer-readable storage medium such as a disk drive. Storage devices used for storing software modules in accordance with an embodiment of the invention may be magnetic floppy disks, hard disks, or optical discs such as CD-ROMs or CD-Rs, for example. A storage device used for storing firmware or hardware modules in accordance with an embodiment of the invention may also include a semiconductor-based memory, which may be permanently, removably, or remotely coupled to a microprocessor/memory system. Thus, the modules may be stored within a computer system memory to configure the computer system to perform the functions of the module. Other new and various types of computer-readable storage media may be used to store the modules discussed herein. Additionally, those skilled in the art will recognize that the separation of functionality into modules is for illustrative purposes. Alternative embodiments may merge the functionality of multiple modules into a single module or may impose an alternate decomposition of functionality of modules. For example, a software module for calling sub-modules may be decomposed so that each sub-module performs its function and passes control directly to another sub-module. 
     Consequently, the invention is intended to be limited only by the spirit and scope of the appended claims, giving full cognizance to equivalents in all respects.