From: Jani Nikula <jani.nikula@linux.intel.com>
To: Daniel Vetter <daniel@ffwll.ch>, Arun Chandran <achandran@mvista.com>
Cc: intel-gfx@lists.freedesktop.org
Subject: Re: Power saving using Display port HPD
Date: Thu, 10 Apr 2014 10:39:58 +0300 [thread overview]
Message-ID: <87fvlly6nl.fsf@intel.com> (raw)
In-Reply-To: <20140410072411.GL9262@phenom.ffwll.local>
On Thu, 10 Apr 2014, Daniel Vetter <daniel@ffwll.ch> wrote:
> On Thu, Apr 10, 2014 at 12:06:15PM +0530, Arun Chandran wrote:
>> I have connected only a DP monitor on Bayley Bay platform and booting
>> ubuntu 13.10 with the kernel
>> http://cgit.freedesktop.org/drm-intel/log/?h=drm-intel-fixes.
>>
>> I am experimenting with the HPD feature of display port with debug
>> messages enabled. (drm.debug=0xe).
>>
>> When I plug in/out DP cable I am able to see the below kernel messages
>> and ubuntu desktop is displayed on the DP monitor
>>
>> ##############################
>>
>>
>> root@arun-valley-view:~# uname -a
>> Linux arun-valley-view 3.14.0-00528-g67e9d82 #34 SMP PREEMPT Wed Apr 9
>> 18:48:30 IST 2014 i686 i686 i686 GNU/Linux
>>
>> root@arun-valley-view:~# dmesg -c
>>
>> [ 1028.506188] [drm:intel_hpd_irq_handler] hotplug event received,
>> stat 0x00100000
>> [ 1028.506217] [drm:intel_hpd_irq_handler] Received HPD interrupt on
>> PIN 5 - cnt: 0
>> [ 1028.513858] [drm:i915_hotplug_work_func] running encoder hotplug functions
>> [ 1028.513880] [drm:i915_hotplug_work_func] Connector eDP-1 (pin 5)
>> received hotplug event.
>> [ 1028.513896] [drm:i915_hotplug_work_func] Connector HDMI-A-2 (pin 5)
>> received hotplug event.
>> [ 1028.513913] [drm:_edp_panel_vdd_on] Turning eDP VDD on
>> [ 1028.513931] [drm:_edp_panel_vdd_on] PP_STATUS: 0x80000008
>> PP_CONTROL: 0xabcd000f
>> [ 1028.515064] [drm:intel_dp_get_dpcd] DPCD: 11 0a 84 01 01 00 01 80
>> 02 00 00 00 00 00 00
>> [ 1028.516563] [drm:intel_dp_check_link_status] TMDS-22: channel EQ
>> not ok, retraining
>> [ 1028.530884] [drm:intel_dp_set_signal_levels] Using signal levels 00000000
>> [ 1028.546113] [drm:intel_dp_set_signal_levels] Using signal levels 00000000
>> [ 1028.547233] [drm:intel_dp_start_link_train] clock recovery OK
>> [ 1028.548711] [drm:intel_dp_complete_link_train] Channel EQ done. DP
>> Training successful
>> [ 1028.549264] [drm:intel_dp_detect] [CONNECTOR:23:eDP-1]
>> [ 1028.549761] [drm:intel_dp_probe_oui] Sink OUI: 00e04c
>> [ 1028.550262] [drm:intel_dp_probe_oui] Branch OUI: 000000
>> [ 1028.550343] [drm:intel_hdmi_detect] [CONNECTOR:21:HDMI-A-2]
>> [ 1028.550595] [drm:gmbus_xfer] GMBUS [i915 gmbus dpc] NAK for addr: 0050 r(1)
>> [ 1028.550611] [drm:drm_do_probe_ddc_edid] drm: skipping non-existent
>> adapter i915 gmbus dpc
>>
>> ##################################
>>
>> After booting I am executing the below steps
>>
>> 1) unplug DP cable.
>>
>> 2) Mask the pin 18 (HPD) of DP cable using a paper strip then connect it
>> back
>> I have checked the dmesg output and the there is no messages related to
>> HPD. So kernel is
>> unaware that I have connected a DP monitor
>>
>> But still I see ubuntu desktop coming on the DP monitor. This means kernel
>> does not stop pumping display data after step 1.
>>
>> Is this the right behavior? . When kernel knows that the last existing
>> display is removed (via the HPD feature) it can save power by stopping the
>> data output to DP monitor (or shutting down the DP hardware related part.)
>>
>> Does anybody knows how to use the HPD feature to save power? Or anybody has
>> done this before?
>
> Yes, this is expected behaviour. Userspace asked the kernel to shovel
> pixels to the DP screen, the kernel obeyed. If you want to kill the pipe
> when unplugged, you need to make that policy decision in userspace.
Hmm, in my reply I was assuming this had happened. The dmesgs would
confirm.
Jani.
>
> This is similar to how dpms off is driven by userspace and not the kernel.
> -Daniel
> --
> Daniel Vetter
> Software Engineer, Intel Corporation
> +41 (0) 79 365 57 48 - http://blog.ffwll.ch
> _______________________________________________
> Intel-gfx mailing list
> Intel-gfx@lists.freedesktop.org
> http://lists.freedesktop.org/mailman/listinfo/intel-gfx
--
Jani Nikula, Intel Open Source Technology Center
next prev parent reply other threads:[~2014-04-10 7:40 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-04-10 6:36 Power saving using Display port HPD Arun Chandran
2014-04-10 7:22 ` Jani Nikula
2014-04-10 7:24 ` Daniel Vetter
2014-04-10 7:39 ` Jani Nikula [this message]
2014-04-10 10:28 ` Arun Chandran
2014-04-14 7:43 ` Arun Chandran
2014-04-14 7:47 ` Daniel Vetter
2014-04-14 8:17 ` Imre Deak
2014-04-15 19:32 ` Daniel Vetter
2014-04-15 20:01 ` Imre Deak
2014-04-15 21:13 ` Daniel Vetter
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=87fvlly6nl.fsf@intel.com \
--to=jani.nikula@linux.intel.com \
--cc=achandran@mvista.com \
--cc=daniel@ffwll.ch \
--cc=intel-gfx@lists.freedesktop.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.