[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