Re: [PATCH v2 11/11] drm/exynos: remove struct exynos_drm_encoder layer
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
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
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 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
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
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
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
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
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
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
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
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 =