Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-15 Thread Inki Dae
2015-08-13 0:54 GMT+09:00 Gustavo Padovan gust...@padovan.org:
 2015-08-12 Gustavo Padovan gustavo.pado...@collabora.co.uk:

 Hi Inki,

 2015-08-11 Inki Dae inki@samsung.com:

  On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
   Hi Inki,
  
   2015-08-07 Inki Dae inki@samsung.com:
  
   Hi Gustavo,
  
   On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
   From: Gustavo Padovan gustavo.pado...@collabora.co.uk
  
   struct exynos_drm_encoder was justing wrapping struct drm_encoder, it 
   had
   only a drm_encoder member and the internal exynos_drm_encoders ops that
   was directly mapped to the drm_encoder helper funcs.
  
   So now exynos DRM uses struct drm_encoder directly, this removes
   completely the struct exynos_drm_encoder.
  
  
   Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
   is applied. Below is the booting logs,
   [1.171318] console [ttySAC2] enabled
   [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
   base_baud = 0) is a S3C6400/10
   [1.185545] [drm] Initialized drm 1.1.0 20060810
   [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
   fimd_component_ops)
   [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
   exynos_dsi_component_ops)
   [1.207688] [drm] Supports vblank timestamp caching Rev 2 
   (21.10.2013).
   [1.214313] [drm] No driver support for vblank timestamp query.
   [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
  
   Booting is locked up here. This patch looks good to me so I tried to
   find why locked up and I found the booting is locked up as soon as
   console_lock function is called. Can you and other guys look into this
   issue?
  
   I've realized that I left a fix for patch 01 behind, it could be the
   cause of this issue. I've just resent this patch with the added v2 fix
   up.
 
  With above change, still locked up. So your updated patch doesn't
  resolve this issue.
 
  Anyway, I tested it with fbdev emulation relevant patch series[1] and
  the booting was ok with disabling fbdev emulation as Daniel commented.
  However, I think the booting should also be ok with fbdev emulation so I
  don't want for your last patch to be merged to mainline until the issue
  is resolved.

 I've tried to reproduce your issue with these patches on a odroid-x2
 (exynos4412) but it seems to work fine for me with fbdev emulation
 enabled. In snow and peach-pi it also works fine. We would need
 to debug better on your side to figure out what is breaking for you.

 Can you please git bisect this? So we can figure out which commit is
 causing the issue. That would be great.

I already commented above, your last patch - 11/11. Without 11/11, it
worked well. Did you test odroid-x2 with LVDS based Display panel? If
so, it's not different because I tested it with Trats2 board with
MIPI-DSI + Display panel. AFAIK, Odroid-x2 board doesn't support
MIPI-DSI panel. I will have a pull request soon without 11/11. After
that, I think we could find and resolve the issue later.

Thanks,
Inki Dae


 Gustavo
 ___
 dri-devel mailing list
 dri-de...@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/dri-devel
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-15 Thread Gustavo Padovan
Hi Inki,

2015-08-15 Inki Dae inki@samsung.com:

 2015-08-13 0:54 GMT+09:00 Gustavo Padovan gust...@padovan.org:
  2015-08-12 Gustavo Padovan gustavo.pado...@collabora.co.uk:
 
  Hi Inki,
 
  2015-08-11 Inki Dae inki@samsung.com:
 
   On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
Hi Inki,
   
2015-08-07 Inki Dae inki@samsung.com:
   
Hi Gustavo,
   
On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
From: Gustavo Padovan gustavo.pado...@collabora.co.uk
   
struct exynos_drm_encoder was justing wrapping struct drm_encoder, 
it had
only a drm_encoder member and the internal exynos_drm_encoders ops 
that
was directly mapped to the drm_encoder helper funcs.
   
So now exynos DRM uses struct drm_encoder directly, this removes
completely the struct exynos_drm_encoder.
   
   
Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
is applied. Below is the booting logs,
[1.171318] console [ttySAC2] enabled
[1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
base_baud = 0) is a S3C6400/10
[1.185545] [drm] Initialized drm 1.1.0 20060810
[1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
fimd_component_ops)
[1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
exynos_dsi_component_ops)
[1.207688] [drm] Supports vblank timestamp caching Rev 2 
(21.10.2013).
[1.214313] [drm] No driver support for vblank timestamp query.
[1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
   
Booting is locked up here. This patch looks good to me so I tried to
find why locked up and I found the booting is locked up as soon as
console_lock function is called. Can you and other guys look into this
issue?
   
I've realized that I left a fix for patch 01 behind, it could be the
cause of this issue. I've just resent this patch with the added v2 fix
up.
  
   With above change, still locked up. So your updated patch doesn't
   resolve this issue.
  
   Anyway, I tested it with fbdev emulation relevant patch series[1] and
   the booting was ok with disabling fbdev emulation as Daniel commented.
   However, I think the booting should also be ok with fbdev emulation so I
   don't want for your last patch to be merged to mainline until the issue
   is resolved.
 
  I've tried to reproduce your issue with these patches on a odroid-x2
  (exynos4412) but it seems to work fine for me with fbdev emulation
  enabled. In snow and peach-pi it also works fine. We would need
  to debug better on your side to figure out what is breaking for you.
 
  Can you please git bisect this? So we can figure out which commit is
  causing the issue. That would be great.
 
 I already commented above, your last patch - 11/11. Without 11/11, it
 worked well. Did you test odroid-x2 with LVDS based Display panel? If
 so, it's not different because I tested it with Trats2 board with
 MIPI-DSI + Display panel. AFAIK, Odroid-x2 board doesn't support
 MIPI-DSI panel. I will have a pull request soon without 11/11. After
 that, I think we could find and resolve the issue later.

Ah, I thougth your talking about whole patchset! I think I figured out
what was happend the .mode_fixup() and .mode_set() helpers for the DSI
drm_encoder was not set and leading to a null pointer at some pointer.
That is problably what you were experiencing. Could you please try the
new version of patch 11/11 that I've just sent to the mailing list?
And thanks for merging these patches!

Gustavo
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-12 Thread Gustavo Padovan
Hi Inki,

2015-08-11 Inki Dae inki@samsung.com:

 On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
  Hi Inki,
  
  2015-08-07 Inki Dae inki@samsung.com:
  
  Hi Gustavo,
 
  On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
  From: Gustavo Padovan gustavo.pado...@collabora.co.uk
 
  struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
  only a drm_encoder member and the internal exynos_drm_encoders ops that
  was directly mapped to the drm_encoder helper funcs.
 
  So now exynos DRM uses struct drm_encoder directly, this removes
  completely the struct exynos_drm_encoder.
 
 
  Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
  is applied. Below is the booting logs,
  [1.171318] console [ttySAC2] enabled
  [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
  base_baud = 0) is a S3C6400/10
  [1.185545] [drm] Initialized drm 1.1.0 20060810
  [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
  fimd_component_ops)
  [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
  exynos_dsi_component_ops)
  [1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
  [1.214313] [drm] No driver support for vblank timestamp query.
  [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
 
  Booting is locked up here. This patch looks good to me so I tried to
  find why locked up and I found the booting is locked up as soon as
  console_lock function is called. Can you and other guys look into this
  issue?
  
  I've realized that I left a fix for patch 01 behind, it could be the
  cause of this issue. I've just resent this patch with the added v2 fix
  up.
 
 With above change, still locked up. So your updated patch doesn't
 resolve this issue.
 
 Anyway, I tested it with fbdev emulation relevant patch series[1] and
 the booting was ok with disabling fbdev emulation as Daniel commented.
 However, I think the booting should also be ok with fbdev emulation so I
 don't want for your last patch to be merged to mainline until the issue
 is resolved.

I've tried to reproduce your issue with these patches on a odroid-x2
(exynos4412) but it seems to work fine for me with fbdev emulation
enabled. In snow and peach-pi it also works fine. We would need
to debug better on your side to figure out what is breaking for you.

Gustavo
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-12 Thread Gustavo Padovan
2015-08-12 Gustavo Padovan gustavo.pado...@collabora.co.uk:

 Hi Inki,
 
 2015-08-11 Inki Dae inki@samsung.com:
 
  On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
   Hi Inki,
   
   2015-08-07 Inki Dae inki@samsung.com:
   
   Hi Gustavo,
  
   On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
   From: Gustavo Padovan gustavo.pado...@collabora.co.uk
  
   struct exynos_drm_encoder was justing wrapping struct drm_encoder, it 
   had
   only a drm_encoder member and the internal exynos_drm_encoders ops that
   was directly mapped to the drm_encoder helper funcs.
  
   So now exynos DRM uses struct drm_encoder directly, this removes
   completely the struct exynos_drm_encoder.
  
  
   Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
   is applied. Below is the booting logs,
   [1.171318] console [ttySAC2] enabled
   [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
   base_baud = 0) is a S3C6400/10
   [1.185545] [drm] Initialized drm 1.1.0 20060810
   [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
   fimd_component_ops)
   [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
   exynos_dsi_component_ops)
   [1.207688] [drm] Supports vblank timestamp caching Rev 2 
   (21.10.2013).
   [1.214313] [drm] No driver support for vblank timestamp query.
   [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
  
   Booting is locked up here. This patch looks good to me so I tried to
   find why locked up and I found the booting is locked up as soon as
   console_lock function is called. Can you and other guys look into this
   issue?
   
   I've realized that I left a fix for patch 01 behind, it could be the
   cause of this issue. I've just resent this patch with the added v2 fix
   up.
  
  With above change, still locked up. So your updated patch doesn't
  resolve this issue.
  
  Anyway, I tested it with fbdev emulation relevant patch series[1] and
  the booting was ok with disabling fbdev emulation as Daniel commented.
  However, I think the booting should also be ok with fbdev emulation so I
  don't want for your last patch to be merged to mainline until the issue
  is resolved.
 
 I've tried to reproduce your issue with these patches on a odroid-x2
 (exynos4412) but it seems to work fine for me with fbdev emulation
 enabled. In snow and peach-pi it also works fine. We would need
 to debug better on your side to figure out what is breaking for you.

Can you please git bisect this? So we can figure out which commit is
causing the issue. That would be great.

Gustavo
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-11 Thread Inki Dae
On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
 Hi Inki,
 
 2015-08-07 Inki Dae inki@samsung.com:
 
 Hi Gustavo,

 On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
 From: Gustavo Padovan gustavo.pado...@collabora.co.uk

 struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
 only a drm_encoder member and the internal exynos_drm_encoders ops that
 was directly mapped to the drm_encoder helper funcs.

 So now exynos DRM uses struct drm_encoder directly, this removes
 completely the struct exynos_drm_encoder.


 Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
 is applied. Below is the booting logs,
 [1.171318] console [ttySAC2] enabled
 [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
 base_baud = 0) is a S3C6400/10
 [1.185545] [drm] Initialized drm 1.1.0 20060810
 [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
 fimd_component_ops)
 [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
 exynos_dsi_component_ops)
 [1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [1.214313] [drm] No driver support for vblank timestamp query.
 [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0

 Booting is locked up here. This patch looks good to me so I tried to
 find why locked up and I found the booting is locked up as soon as
 console_lock function is called. Can you and other guys look into this
 issue?
 
 I've realized that I left a fix for patch 01 behind, it could be the
 cause of this issue. I've just resent this patch with the added v2 fix
 up.

With above change, still locked up. So your updated patch doesn't
resolve this issue.

Anyway, I tested it with fbdev emulation relevant patch series[1] and
the booting was ok with disabling fbdev emulation as Daniel commented.
However, I think the booting should also be ok with fbdev emulation so I
don't want for your last patch to be merged to mainline until the issue
is resolved.

[1] http://www.spinics.net/lists/dri-devel/msg86617.html
http://lists.freedesktop.org/archives/dri-devel/2015-March/078975.html

Thanks,
Inki Dae

 
   Gustavo
 --
 To unsubscribe from this list: send the line unsubscribe linux-samsung-soc 
 in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html
 

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-11 Thread Daniel Vetter
On Tue, Aug 11, 2015 at 09:13:54PM +0900, Inki Dae wrote:
 On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
  Hi Inki,
  
  2015-08-07 Inki Dae inki@samsung.com:
  
  Hi Gustavo,
 
  On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
  From: Gustavo Padovan gustavo.pado...@collabora.co.uk
 
  struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
  only a drm_encoder member and the internal exynos_drm_encoders ops that
  was directly mapped to the drm_encoder helper funcs.
 
  So now exynos DRM uses struct drm_encoder directly, this removes
  completely the struct exynos_drm_encoder.
 
 
  Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
  is applied. Below is the booting logs,
  [1.171318] console [ttySAC2] enabled
  [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
  base_baud = 0) is a S3C6400/10
  [1.185545] [drm] Initialized drm 1.1.0 20060810
  [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
  fimd_component_ops)
  [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
  exynos_dsi_component_ops)
  [1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
  [1.214313] [drm] No driver support for vblank timestamp query.
  [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
 
  Booting is locked up here. This patch looks good to me so I tried to
  find why locked up and I found the booting is locked up as soon as
  console_lock function is called. Can you and other guys look into this
  issue?
  
  I've realized that I left a fix for patch 01 behind, it could be the
  cause of this issue. I've just resent this patch with the added v2 fix
  up.
 
 With above change, still locked up. So your updated patch doesn't
 resolve this issue.
 
 Anyway, I tested it with fbdev emulation relevant patch series[1] and
 the booting was ok with disabling fbdev emulation as Daniel commented.
 However, I think the booting should also be ok with fbdev emulation so I
 don't want for your last patch to be merged to mainline until the issue
 is resolved.

Without fbdev you need to start a kms client (X, whatever) to force a
modeset. Otherwise you won't reproduce anything. And sometimes it requires
a bit of trickery to create a sequence of modeset calls which exactly
match what fbcon would do.
-Daniel

 
 [1] http://www.spinics.net/lists/dri-devel/msg86617.html
 http://lists.freedesktop.org/archives/dri-devel/2015-March/078975.html
 
 Thanks,
 Inki Dae
 
  
  Gustavo
  --
  To unsubscribe from this list: send the line unsubscribe 
  linux-samsung-soc in
  the body of a message to majord...@vger.kernel.org
  More majordomo info at  http://vger.kernel.org/majordomo-info.html
  
 
 ___
 dri-devel mailing list
 dri-de...@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/dri-devel

-- 
Daniel Vetter
Software Engineer, Intel Corporation
http://blog.ffwll.ch
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-11 Thread Inki Dae
On 2015년 08월 12일 00:03, Daniel Vetter wrote:
 On Tue, Aug 11, 2015 at 09:13:54PM +0900, Inki Dae wrote:
 On 2015년 08월 11일 09:38, Gustavo Padovan wrote:
 Hi Inki,

 2015-08-07 Inki Dae inki@samsung.com:

 Hi Gustavo,

 On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
 From: Gustavo Padovan gustavo.pado...@collabora.co.uk

 struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
 only a drm_encoder member and the internal exynos_drm_encoders ops that
 was directly mapped to the drm_encoder helper funcs.

 So now exynos DRM uses struct drm_encoder directly, this removes
 completely the struct exynos_drm_encoder.


 Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
 is applied. Below is the booting logs,
 [1.171318] console [ttySAC2] enabled
 [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
 base_baud = 0) is a S3C6400/10
 [1.185545] [drm] Initialized drm 1.1.0 20060810
 [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
 fimd_component_ops)
 [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
 exynos_dsi_component_ops)
 [1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [1.214313] [drm] No driver support for vblank timestamp query.
 [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0

 Booting is locked up here. This patch looks good to me so I tried to
 find why locked up and I found the booting is locked up as soon as
 console_lock function is called. Can you and other guys look into this
 issue?

 I've realized that I left a fix for patch 01 behind, it could be the
 cause of this issue. I've just resent this patch with the added v2 fix
 up.

 With above change, still locked up. So your updated patch doesn't
 resolve this issue.

 Anyway, I tested it with fbdev emulation relevant patch series[1] and
 the booting was ok with disabling fbdev emulation as Daniel commented.
 However, I think the booting should also be ok with fbdev emulation so I
 don't want for your last patch to be merged to mainline until the issue
 is resolved.
 
 Without fbdev you need to start a kms client (X, whatever) to force a

Of course I know. Without fbdev, modeset never be performed at booting
time. However, without fbdev, we cannot use text console and that is
definitely a problem.

Thanks,
Inki Dae

 modeset. Otherwise you won't reproduce anything. And sometimes it requires
 a bit of trickery to create a sequence of modeset calls which exactly
 match what fbcon would do.
 -Daniel
 

 [1] http://www.spinics.net/lists/dri-devel/msg86617.html
 http://lists.freedesktop.org/archives/dri-devel/2015-March/078975.html

 Thanks,
 Inki Dae


 Gustavo
 --
 To unsubscribe from this list: send the line unsubscribe 
 linux-samsung-soc in
 the body of a message to majord...@vger.kernel.org
 More majordomo info at  http://vger.kernel.org/majordomo-info.html


 ___
 dri-devel mailing list
 dri-de...@lists.freedesktop.org
 http://lists.freedesktop.org/mailman/listinfo/dri-devel
 

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-10 Thread Gustavo Padovan
Hi Inki,

2015-08-07 Inki Dae inki@samsung.com:

 Hi Gustavo,
 
 On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
  From: Gustavo Padovan gustavo.pado...@collabora.co.uk
  
  struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
  only a drm_encoder member and the internal exynos_drm_encoders ops that
  was directly mapped to the drm_encoder helper funcs.
  
  So now exynos DRM uses struct drm_encoder directly, this removes
  completely the struct exynos_drm_encoder.
  
 
 Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
 is applied. Below is the booting logs,
 [1.171318] console [ttySAC2] enabled
 [1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
 base_baud = 0) is a S3C6400/10
 [1.185545] [drm] Initialized drm 1.1.0 20060810
 [1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
 fimd_component_ops)
 [1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
 exynos_dsi_component_ops)
 [1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
 [1.214313] [drm] No driver support for vblank timestamp query.
 [1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0
 
 Booting is locked up here. This patch looks good to me so I tried to
 find why locked up and I found the booting is locked up as soon as
 console_lock function is called. Can you and other guys look into this
 issue?

I've realized that I left a fix for patch 01 behind, it could be the
cause of this issue. I've just resent this patch with the added v2 fix
up.

Gustavo
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-07 Thread Inki Dae
Hi Daniel,

On 2015년 08월 07일 21:28, Daniel Vetter wrote:
 On Fri, Aug 7, 2015 at 1:50 PM, Inki Dae inki@samsung.com wrote:

 Booting is locked up here. This patch looks good to me so I tried to
 find why locked up and I found the booting is locked up as soon as
 console_lock function is called. Can you and other guys look into this
 issue?
 
 It's not locked up, you simply won't see any dmesg output after that.
 Use Archit's Kconfig support in drm-misc to disable fbdev emulation
 and try again.

I didn't really look into this patch series. I will check it with this
patch series next week and give Acked-by to you.

Thanks,
Inki Dae

 -Daniel
 

--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-07 Thread Inki Dae
Hi Gustavo,

On 2015년 08월 06일 22:31, Gustavo Padovan wrote:
 From: Gustavo Padovan gustavo.pado...@collabora.co.uk
 
 struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
 only a drm_encoder member and the internal exynos_drm_encoders ops that
 was directly mapped to the drm_encoder helper funcs.
 
 So now exynos DRM uses struct drm_encoder directly, this removes
 completely the struct exynos_drm_encoder.
 

Trats2 board, which uses Exynos4412 Soc, doesn't work after this patch
is applied. Below is the booting logs,
[1.171318] console [ttySAC2] enabled
[1.175522] 1383.serial: ttySAC3 at MMIO 0x1383 (irq = 60,
base_baud = 0) is a S3C6400/10
[1.185545] [drm] Initialized drm 1.1.0 20060810
[1.194104] exynos-drm exynos-drm: bound 11c0.fimd (ops
fimd_component_ops)
[1.200352] exynos-drm exynos-drm: bound 11c8.dsi (ops
exynos_dsi_component_ops)
[1.207688] [drm] Supports vblank timestamp caching Rev 2 (21.10.2013).
[1.214313] [drm] No driver support for vblank timestamp query.
[1.220218] [drm] Initialized exynos 1.0.0 20110530 on minor 0

Booting is locked up here. This patch looks good to me so I tried to
find why locked up and I found the booting is locked up as soon as
console_lock function is called. Can you and other guys look into this
issue?

Thanks,
Inki Dae

 Signed-off-by: Gustavo Padovan gustavo.pado...@collabora.co.uk
 ---
  drivers/gpu/drm/exynos/Makefile |   7 +-
  drivers/gpu/drm/exynos/exynos7_drm_decon.c  |   2 +-
  drivers/gpu/drm/exynos/exynos_dp_core.c |  68 --
  drivers/gpu/drm/exynos/exynos_dp_core.h |   2 +-
  drivers/gpu/drm/exynos/exynos_drm_core.c|   1 -
  drivers/gpu/drm/exynos/exynos_drm_crtc.c|   1 -
  drivers/gpu/drm/exynos/exynos_drm_dpi.c |  51 --
  drivers/gpu/drm/exynos/exynos_drm_drv.c |   1 -
  drivers/gpu/drm/exynos/exynos_drm_drv.h |  47 ++---
  drivers/gpu/drm/exynos/exynos_drm_dsi.c |  80 +++--
  drivers/gpu/drm/exynos/exynos_drm_encoder.c | 105 
 
  drivers/gpu/drm/exynos/exynos_drm_encoder.h |  22 --
  drivers/gpu/drm/exynos/exynos_drm_fimd.c|   2 +-
  drivers/gpu/drm/exynos/exynos_drm_vidi.c|  71 ++-
  drivers/gpu/drm/exynos/exynos_hdmi.c|  85 +-
  15 files changed, 236 insertions(+), 309 deletions(-)
  delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_encoder.c
  delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_encoder.h
 
 diff --git a/drivers/gpu/drm/exynos/Makefile b/drivers/gpu/drm/exynos/Makefile
 index 7de0b10..61c2906 100644
 --- a/drivers/gpu/drm/exynos/Makefile
 +++ b/drivers/gpu/drm/exynos/Makefile
 @@ -3,10 +3,9 @@
  # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
  
  ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/exynos
 -exynosdrm-y := exynos_drm_drv.o exynos_drm_encoder.o \
 - exynos_drm_crtc.o exynos_drm_fbdev.o exynos_drm_fb.o \
 - exynos_drm_buf.o exynos_drm_gem.o exynos_drm_core.o \
 - exynos_drm_plane.o exynos_drm_dmabuf.o
 +exynosdrm-y := exynos_drm_drv.o exynos_drm_crtc.o exynos_drm_fbdev.o \
 + exynos_drm_fb.o exynos_drm_buf.o exynos_drm_gem.o \
 + exynos_drm_core.o exynos_drm_plane.o exynos_drm_dmabuf.o
  
  exynosdrm-$(CONFIG_DRM_EXYNOS_IOMMU) += exynos_drm_iommu.o
  exynosdrm-$(CONFIG_DRM_EXYNOS_FIMD)  += exynos_drm_fimd.o
 diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c 
 b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
 index e1a2ce7..0792654 100644
 --- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
 +++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
 @@ -61,7 +61,7 @@ struct decon_context {
   atomic_twait_vsync_event;
  
   struct exynos_drm_panel_info panel;
 - struct exynos_drm_encoder *encoder;
 + struct drm_encoder *encoder;
  };
  
  static const struct of_device_id decon_driver_dt_match[] = {
 diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c 
 b/drivers/gpu/drm/exynos/exynos_dp_core.c
 index 4d49d25..92864ef 100644
 --- a/drivers/gpu/drm/exynos/exynos_dp_core.c
 +++ b/drivers/gpu/drm/exynos/exynos_dp_core.c
 @@ -32,18 +32,18 @@
  #include drm/drm_panel.h
  
  #include exynos_dp_core.h
 -#include exynos_drm_encoder.h
 +#include exynos_drm_crtc.h
  
  #define ctx_from_connector(c)container_of(c, struct 
 exynos_dp_device, \
   connector)
  
  static inline struct exynos_drm_crtc *dp_to_crtc(struct exynos_dp_device *dp)
  {
 - return to_exynos_crtc(dp-encoder.base.crtc);
 + return to_exynos_crtc(dp-encoder.crtc);
  }
  
  static inline struct exynos_dp_device *encoder_to_dp(
 - struct exynos_drm_encoder *e)
 + struct drm_encoder *e)
  {
   return container_of(e, struct exynos_dp_device, encoder);
  }
 @@ -889,7 +889,7 @@ 

Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-07 Thread Daniel Vetter
On Fri, Aug 7, 2015 at 1:50 PM, Inki Dae inki@samsung.com wrote:

 Booting is locked up here. This patch looks good to me so I tried to
 find why locked up and I found the booting is locked up as soon as
 console_lock function is called. Can you and other guys look into this
 issue?

It's not locked up, you simply won't see any dmesg output after that.
Use Archit's Kconfig support in drm-misc to disable fbdev emulation
and try again.
-Daniel
-- 
Daniel Vetter
Software Engineer, Intel Corporation
+41 (0) 79 365 57 48 - http://blog.ffwll.ch
--
To unsubscribe from this list: send the line unsubscribe linux-samsung-soc in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer

2015-08-06 Thread Gustavo Padovan
From: Gustavo Padovan gustavo.pado...@collabora.co.uk

struct exynos_drm_encoder was justing wrapping struct drm_encoder, it had
only a drm_encoder member and the internal exynos_drm_encoders ops that
was directly mapped to the drm_encoder helper funcs.

So now exynos DRM uses struct drm_encoder directly, this removes
completely the struct exynos_drm_encoder.

Signed-off-by: Gustavo Padovan gustavo.pado...@collabora.co.uk
---
 drivers/gpu/drm/exynos/Makefile |   7 +-
 drivers/gpu/drm/exynos/exynos7_drm_decon.c  |   2 +-
 drivers/gpu/drm/exynos/exynos_dp_core.c |  68 --
 drivers/gpu/drm/exynos/exynos_dp_core.h |   2 +-
 drivers/gpu/drm/exynos/exynos_drm_core.c|   1 -
 drivers/gpu/drm/exynos/exynos_drm_crtc.c|   1 -
 drivers/gpu/drm/exynos/exynos_drm_dpi.c |  51 --
 drivers/gpu/drm/exynos/exynos_drm_drv.c |   1 -
 drivers/gpu/drm/exynos/exynos_drm_drv.h |  47 ++---
 drivers/gpu/drm/exynos/exynos_drm_dsi.c |  80 +++--
 drivers/gpu/drm/exynos/exynos_drm_encoder.c | 105 
 drivers/gpu/drm/exynos/exynos_drm_encoder.h |  22 --
 drivers/gpu/drm/exynos/exynos_drm_fimd.c|   2 +-
 drivers/gpu/drm/exynos/exynos_drm_vidi.c|  71 ++-
 drivers/gpu/drm/exynos/exynos_hdmi.c|  85 +-
 15 files changed, 236 insertions(+), 309 deletions(-)
 delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_encoder.c
 delete mode 100644 drivers/gpu/drm/exynos/exynos_drm_encoder.h

diff --git a/drivers/gpu/drm/exynos/Makefile b/drivers/gpu/drm/exynos/Makefile
index 7de0b10..61c2906 100644
--- a/drivers/gpu/drm/exynos/Makefile
+++ b/drivers/gpu/drm/exynos/Makefile
@@ -3,10 +3,9 @@
 # Direct Rendering Infrastructure (DRI) in XFree86 4.1.0 and higher.
 
 ccflags-y := -Iinclude/drm -Idrivers/gpu/drm/exynos
-exynosdrm-y := exynos_drm_drv.o exynos_drm_encoder.o \
-   exynos_drm_crtc.o exynos_drm_fbdev.o exynos_drm_fb.o \
-   exynos_drm_buf.o exynos_drm_gem.o exynos_drm_core.o \
-   exynos_drm_plane.o exynos_drm_dmabuf.o
+exynosdrm-y := exynos_drm_drv.o exynos_drm_crtc.o exynos_drm_fbdev.o \
+   exynos_drm_fb.o exynos_drm_buf.o exynos_drm_gem.o \
+   exynos_drm_core.o exynos_drm_plane.o exynos_drm_dmabuf.o
 
 exynosdrm-$(CONFIG_DRM_EXYNOS_IOMMU) += exynos_drm_iommu.o
 exynosdrm-$(CONFIG_DRM_EXYNOS_FIMD)+= exynos_drm_fimd.o
diff --git a/drivers/gpu/drm/exynos/exynos7_drm_decon.c 
b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
index e1a2ce7..0792654 100644
--- a/drivers/gpu/drm/exynos/exynos7_drm_decon.c
+++ b/drivers/gpu/drm/exynos/exynos7_drm_decon.c
@@ -61,7 +61,7 @@ struct decon_context {
atomic_twait_vsync_event;
 
struct exynos_drm_panel_info panel;
-   struct exynos_drm_encoder *encoder;
+   struct drm_encoder *encoder;
 };
 
 static const struct of_device_id decon_driver_dt_match[] = {
diff --git a/drivers/gpu/drm/exynos/exynos_dp_core.c 
b/drivers/gpu/drm/exynos/exynos_dp_core.c
index 4d49d25..92864ef 100644
--- a/drivers/gpu/drm/exynos/exynos_dp_core.c
+++ b/drivers/gpu/drm/exynos/exynos_dp_core.c
@@ -32,18 +32,18 @@
 #include drm/drm_panel.h
 
 #include exynos_dp_core.h
-#include exynos_drm_encoder.h
+#include exynos_drm_crtc.h
 
 #define ctx_from_connector(c)  container_of(c, struct exynos_dp_device, \
connector)
 
 static inline struct exynos_drm_crtc *dp_to_crtc(struct exynos_dp_device *dp)
 {
-   return to_exynos_crtc(dp-encoder.base.crtc);
+   return to_exynos_crtc(dp-encoder.crtc);
 }
 
 static inline struct exynos_dp_device *encoder_to_dp(
-   struct exynos_drm_encoder *e)
+   struct drm_encoder *e)
 {
return container_of(e, struct exynos_dp_device, encoder);
 }
@@ -889,7 +889,7 @@ static void exynos_dp_hotplug(struct work_struct *work)
drm_helper_hpd_irq_event(dp-drm_dev);
 }
 
-static void exynos_dp_commit(struct exynos_drm_encoder *encoder)
+static void exynos_dp_commit(struct drm_encoder *encoder)
 {
struct exynos_dp_device *dp = encoder_to_dp(encoder);
int ret;
@@ -995,7 +995,7 @@ static struct drm_encoder *exynos_dp_best_encoder(
 {
struct exynos_dp_device *dp = ctx_from_connector(connector);
 
-   return dp-encoder.base;
+   return dp-encoder;
 }
 
 static struct drm_connector_helper_funcs exynos_dp_connector_helper_funcs = {
@@ -1020,10 +1020,9 @@ static int exynos_drm_attach_lcd_bridge(struct 
exynos_dp_device *dp,
return 0;
 }
 
-static int exynos_dp_create_connector(struct exynos_drm_encoder 
*exynos_encoder)
+static int exynos_dp_create_connector(struct drm_encoder *encoder)
 {
-   struct exynos_dp_device *dp = encoder_to_dp(exynos_encoder);
-   struct drm_encoder *encoder = exynos_encoder-base;
+   struct exynos_dp_device *dp =