public inbox for intel-gfx@lists.freedesktop.org
 help / color / mirror / Atom feed
* proposal for DVFS (Dynamic Voltage Frequency Scaling)
@ 2015-01-15 13:50 Thulasimani, Sivakumar
  2015-01-15 19:37 ` Daniel Vetter
  0 siblings, 1 reply; 9+ messages in thread
From: Thulasimani, Sivakumar @ 2015-01-15 13:50 UTC (permalink / raw)
  To: intel-gfx@lists.freedesktop.org; +Cc: Purushothaman, Vijay A


[-- Attachment #1.1: Type: text/plain, Size: 3120 bytes --]

Hi,
                I'll be working on implementing Dynamic Voltage Frequency Scaling in i915, whose rough proposal is provided below. Please go through the options and provide your feedback.

What is DVFS ?
                Any SKU is capable of running at more than one display CD clock value but is configured to a default value during boot and is left untouched afterwards. Lowering this Display CD clock  will result in better power savings while raising this will result in capability to support larger resolution displays. So the best scenario is to always detect the attached displays and adjust the CD Clock to the minimum required by the displays. DVFS is the process of dynamically changing the display CD clock based on attached displays.

Usecases: ( considers low resolution LFP is used with 4K HDMI panel)

?  EDP (19x10) LFP panel alone is present at boot and can be driven with lower CD clock, thus saving power.

?  EDP (19x10) LFP panel was present at boot and 4K HDMI display is hot plugged in to the system. CD clock can be increased to the required value and then we can drive 4K panel. Thus save power while only LFP is in use but also provide the ability to support 4K displays.

?  4K HDMI display is unplugged from the system, CD clock can now be lowered to the value required to drive LFP alone to save power.

?  Boot with LFP and 4K HDMI connected, the CD clock will be programmed to the value required to drive 4K HDMI.

Technical Restrictions:

?  DVFS can be performed only when all displays are turned off (pipe/port/plane,etc)

Ux Restrictions:

?  Flash/flicker should be avoided as much as possible( i.e during unplug of HDMI avoid immediately lowering the CD clock after hotunplug since it will result in flicker on LFP )

Possible Solutions :

?  Policy + implementation in driver

o   Driver will set the cd clock during boot based on attached panels

o   Post boot driver has to track each modeset for CD clock and resolution support.

o   If any change in CD clock is needed, driver has to disable all displays , change the cd clock and enable back all displays

o   Pros:

*         Changes are contained within driver

o   Cons:

*         Complexity increases within driver

*         User land/ HWC will be blind to internal operations

?  Policy in HWC and implementation in driver

o   Driver will set the cd clock during boot based on attached panels

o   Post boot, driver will fail any modeset that cannot be supported

o   HWC will be responsible for disabling all displays, issuing IOCTL to change CD clock and enabling required displays

o   Pros:

*         Driver implementation will be simple and clean

*         User land/HWC will be aware of operations and handle any special cases such as video playback

o   Cons:

*         Solution requires HWC & Driver changes.

Our recommendation is for HWC + Driver changes considering our primary target of Android and the pros/cons mentioned there.

Sorry for the long mail :), Please provide your feedback or questions on this.

regards,
Sivakumar


[-- Attachment #1.2: Type: text/html, Size: 15528 bytes --]

[-- Attachment #2: Type: text/plain, Size: 159 bytes --]

_______________________________________________
Intel-gfx mailing list
Intel-gfx@lists.freedesktop.org
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

^ permalink raw reply	[flat|nested] 9+ messages in thread

end of thread, other threads:[~2015-02-11 10:42 UTC | newest]

Thread overview: 9+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-01-15 13:50 proposal for DVFS (Dynamic Voltage Frequency Scaling) Thulasimani, Sivakumar
2015-01-15 19:37 ` Daniel Vetter
2015-01-16  4:26   ` Thulasimani, Sivakumar
2015-01-21  8:47     ` Thulasimani, Sivakumar
2015-01-21  9:10       ` Jani Nikula
2015-02-11  8:32     ` Thulasimani, Sivakumar
2015-02-11  8:51       ` Daniel Vetter
2015-02-11  8:54         ` Daniel Vetter
2015-02-11 10:42           ` Thulasimani, Sivakumar

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox