[PATCH -v3 11/11] drm/exynos: atomic dpms support

Joonyoung Shim jy0922.shim at samsung.com
Tue Apr 7 00:22:29 PDT 2015


Hi,

On 04/07/2015 03:26 AM, Gustavo Padovan wrote:
> Hi Inki,
> 
> 2015-04-05 Inki Dae <inki.dae at samsung.com>:
> 
>> Hi,
>>
>> 2015-04-04 3:09 GMT+09:00 Gustavo Padovan <gustavo at padovan.org>:
>>> From: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
>>>
>>> Run dpms operations through the atomic intefaces. This basically removes
>>> the .dpms() callback from econders and crtcs and use .disable() and
>>> .enable() to turn the crtc on and off.
>>>
>>> v2: Address comments by Joonyoung:
>>>         - make hdmi code call ->disable() instead of ->dpms()
>>>         - do not use WARN_ON on crtc enable/disable
>>>
>>> Signed-off-by: Gustavo Padovan <gustavo.padovan at collabora.co.uk>
>>> ---
>>>  drivers/gpu/drm/exynos/exynos_dp_core.c       |  2 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_connector.c |  2 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_crtc.c      | 99 +++++++++++++++------------
>>>  drivers/gpu/drm/exynos/exynos_drm_dpi.c       |  2 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_drv.h       |  4 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_dsi.c       |  2 +-
>>>  drivers/gpu/drm/exynos/exynos_drm_encoder.c   | 27 ++------
>>>  drivers/gpu/drm/exynos/exynos_drm_vidi.c      |  2 +-
>>>  drivers/gpu/drm/exynos/exynos_hdmi.c          |  6 +-
>>>  9 files changed, 70 insertions(+), 76 deletions(-)
>>>
>>
>> ...snip...
>>
>>> diff --git a/drivers/gpu/drm/exynos/exynos_hdmi.c b/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> index 5b597bc..2ea7d01 100644
>>> --- a/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> +++ b/drivers/gpu/drm/exynos/exynos_hdmi.c
>>> @@ -1051,7 +1051,7 @@ static void hdmi_connector_destroy(struct drm_connector *connector)
>>>  }
>>>
>>>  static struct drm_connector_funcs hdmi_connector_funcs = {
>>> -       .dpms = drm_helper_connector_dpms,
>>> +       .dpms = drm_atomic_helper_connector_dpms,
>>>         .fill_modes = drm_helper_probe_single_connector_modes,
>>>         .detect = hdmi_detect,
>>>         .destroy = hdmi_connector_destroy,
>>> @@ -2127,8 +2127,8 @@ static void hdmi_dpms(struct exynos_drm_display *display, int mode)
>>>                  */
>>>                 if (crtc)
>>>                         funcs = crtc->helper_private;
>>> -               if (funcs && funcs->dpms)
>>> -                       (*funcs->dpms)(crtc, mode);
>>> +               if (funcs && funcs->disable)
>>> +                       (*funcs->disable)(crtc, mode);
>>
>> This patch makes funcs->disable callback to be called instead of
>> funcs->dpms callback. However, funcs->disable callback isn't required
>> for second argument so the build is failed like below,
>>
>> drivers/gpu/drm/exynos/exynos_hdmi.c: In function 'hdmi_dpms':
>> drivers/gpu/drm/exynos/exynos_hdmi.c:2131:4: error: too many arguments
>> to function 'funcs->disable'
>>

You needs to rebase patchset from latest repository of Inki Dae with
this fix because i got some conflict to apply this patchset.

Anyway, i just tested it from hdmi output part on odroid-xu3 board.

Tested-by: Joonyoung Shim <jy0922.shim at samsung.com>

Thanks.

>> Please, keep in mind that you should build it and at least have a
>> basic test before posting.
> 
> Sure, I think this happened because I've been using exynos_defconfig to test
> my kernels and HDMI is not there. Maybe should we add the EXYNOS_DRM_HDMI to
> defconfig? What do you think?
> 
> 	Gustavo
> --
> To unsubscribe from this list: send the line "unsubscribe linux-samsung-soc" in
> the body of a message to majordomo at vger.kernel.org
> More majordomo info at  http://vger.kernel.org/majordomo-info.html
> 



More information about the dri-devel mailing list