Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com --- drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
+ if (mode->flags & DRM_MODE_FLAG_INTERLACE) + return MODE_NO_INTERLACE; if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)
Hi, Bibby:
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
Acked-by: CK Hu ck.hu@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
Hi, Bibby:
I've applied this patch to my branch mediatek-drm-fixes-4.12-rc1, thanks.
Regards, CK
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
On Tue, May 23, 2017 at 05:28:15PM +0800, CK Hu wrote:
Hi, Bibby:
I've applied this patch to my branch mediatek-drm-fixes-4.12-rc1, thanks.
Regards, CK
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
You probably want to check out Jose's mode_valid work, since only filtering in the connector's ->mode_valid callback isn't enough. You also need to filter in ->mode_fixup (or some other place called at atomic_check time). -Daniel
On Tue, 2017-05-23 at 15:12 +0200, Daniel Vetter wrote:
On Tue, May 23, 2017 at 05:28:15PM +0800, CK Hu wrote:
Hi, Bibby:
I've applied this patch to my branch mediatek-drm-fixes-4.12-rc1, thanks.
Regards, CK
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
You probably want to check out Jose's mode_valid work, since only filtering in the connector's ->mode_valid callback isn't enough. You also need to filter in ->mode_fixup (or some other place called at atomic_check time). -Daniel
Hi, Daniel:
Yes, I still need to filter in ->mode_fixup.
Hi, Bibby:
Because Jose's work plan to use mode_valid to replace mode_fixup, so it's better to refine this patch after Jose's work is done. And I would now remove this patch from my branch.
Regards, CK
On Wed, May 24, 2017 at 05:20:45PM +0800, CK Hu wrote:
On Tue, 2017-05-23 at 15:12 +0200, Daniel Vetter wrote:
On Tue, May 23, 2017 at 05:28:15PM +0800, CK Hu wrote:
Hi, Bibby:
I've applied this patch to my branch mediatek-drm-fixes-4.12-rc1, thanks.
Regards, CK
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
You probably want to check out Jose's mode_valid work, since only filtering in the connector's ->mode_valid callback isn't enough. You also need to filter in ->mode_fixup (or some other place called at atomic_check time). -Daniel
Hi, Daniel:
Yes, I still need to filter in ->mode_fixup.
Hi, Bibby:
Because Jose's work plan to use mode_valid to replace mode_fixup, so it's better to refine this patch after Jose's work is done. And I would now remove this patch from my branch.
Btw if you have a revised version of your patch on top of Jose's series, a tested-by on that would be awesome. The more people find it useful, the faster it will land. -Daniel
On Wed, 2017-05-24 at 14:24 +0200, Daniel Vetter wrote:
On Wed, May 24, 2017 at 05:20:45PM +0800, CK Hu wrote:
On Tue, 2017-05-23 at 15:12 +0200, Daniel Vetter wrote:
On Tue, May 23, 2017 at 05:28:15PM +0800, CK Hu wrote:
Hi, Bibby:
I've applied this patch to my branch mediatek-drm-fixes-4.12-rc1, thanks.
Regards, CK
On Tue, 2017-01-24 at 13:10 +0800, Bibby Hsieh wrote:
Current Mediatek DRM driver does not support interlaced mode, and will hang if such resolution is used: Filter those to prevent kernel hangs, until the DRM driver is fixed properly.
Signed-off-by: Bibby Hsieh bibby.hsieh@mediatek.com
drivers/gpu/drm/mediatek/mtk_hdmi.c | 2 ++ 1 file changed, 2 insertions(+)
diff --git a/drivers/gpu/drm/mediatek/mtk_hdmi.c b/drivers/gpu/drm/mediatek/mtk_hdmi.c index 0e8c4d9..e33678d 100644 --- a/drivers/gpu/drm/mediatek/mtk_hdmi.c +++ b/drivers/gpu/drm/mediatek/mtk_hdmi.c @@ -1244,6 +1244,8 @@ static int mtk_hdmi_conn_mode_valid(struct drm_connector *conn, return MODE_BAD; }
- if (mode->flags & DRM_MODE_FLAG_INTERLACE)
if (mode->clock < 27000) return MODE_CLOCK_LOW; if (mode->clock > 297000)return MODE_NO_INTERLACE;
You probably want to check out Jose's mode_valid work, since only filtering in the connector's ->mode_valid callback isn't enough. You also need to filter in ->mode_fixup (or some other place called at atomic_check time). -Daniel
Hi, Daniel:
Yes, I still need to filter in ->mode_fixup.
Hi, Bibby:
Because Jose's work plan to use mode_valid to replace mode_fixup, so it's better to refine this patch after Jose's work is done. And I would now remove this patch from my branch.
Btw if you have a revised version of your patch on top of Jose's series, a tested-by on that would be awesome. The more people find it useful, the faster it will land. -Daniel
Hi, Daniel:
I understand.
Hi Bibby:
If you have time, please help to test Jose's patches with the problem you have met. Otherwise, it would be a long process.
Regards, CK
dri-devel@lists.freedesktop.org