Message ID | 20211022172413.195559-1-markyacoub@chromium.org (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | mediatek: Set default value for Panel Orientation connector prop. | expand |
On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > From: Mark Yacoub <markyacoub@google.com> > > [Why] > Creating the prop uses UNKNOWN as the initial value, which is not a > supported value if the props is to be supported. > > [How] > Set the panel orientation default value to NORMAL right after creating > the prop. Reviewed-by: Sean Paul <seanpaul@chromium.org> > > Tested on Jacuzzi(MTK) > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > --- > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > 1 file changed, 2 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > index 0ad7157660afa..b7c2528a8f41c 100644 > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > DRM_ERROR("Unable to init panel orientation\n"); > goto err_cleanup_encoder; > } > + drm_connector_set_panel_orientation(dsi->connector, > + DRM_MODE_PANEL_ORIENTATION_NORMAL); > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > -- > 2.33.0.1079.g6e70778dc9-goog >
Hey CK, can we have this merged? Thank you! On Mon, Oct 25, 2021 at 9:13 PM Sean Paul <sean@poorly.run> wrote: > > On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > > From: Mark Yacoub <markyacoub@chromium.org> > > > > [Why] > > Creating the prop uses UNKNOWN as the initial value, which is not a > > supported value if the props is to be supported. > > > > [How] > > Set the panel orientation default value to NORMAL right after creating > > the prop. > > Reviewed-by: Sean Paul <seanpaul@chromium.org> > > > > > Tested on Jacuzzi(MTK) > > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > > --- > > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > > index 0ad7157660afa..b7c2528a8f41c 100644 > > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > > DRM_ERROR("Unable to init panel orientation\n"); > > goto err_cleanup_encoder; > > } > > + drm_connector_set_panel_orientation(dsi->connector, > > + DRM_MODE_PANEL_ORIENTATION_NORMAL); > > > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > > > -- > > 2.33.0.1079.g6e70778dc9-goog > > > > -- > Sean Paul, Software Engineer, Google / Chromium OS
Hi, Mark: Mark Yacoub <markyacoub@chromium.org> 於 2021年12月14日 週二 下午11:13寫道: > > Hey CK, can we have this merged? > Thank you! > > On Mon, Oct 25, 2021 at 9:13 PM Sean Paul <sean@poorly.run> wrote: > > > > On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > > > From: Mark Yacoub <markyacoub@chromium.org> > > > > > > [Why] > > > Creating the prop uses UNKNOWN as the initial value, which is not a > > > supported value if the props is to be supported. > > > > > > [How] > > > Set the panel orientation default value to NORMAL right after creating > > > the prop. > > > > Reviewed-by: Sean Paul <seanpaul@chromium.org> > > > > > > > > Tested on Jacuzzi(MTK) > > > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > > > > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > > > --- > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > > > 1 file changed, 2 insertions(+) > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > index 0ad7157660afa..b7c2528a8f41c 100644 > > > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > > > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > > > DRM_ERROR("Unable to init panel orientation\n"); > > > goto err_cleanup_encoder; > > > } > > > + drm_connector_set_panel_orientation(dsi->connector, > > > + DRM_MODE_PANEL_ORIENTATION_NORMAL); In drm_connector_set_panel_orientation() [1], I find that the orientation could be set only once. Once you set it to normal, it could not be set to other orientation. Right? [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_connector.c?h=v5.16-rc5#n2302 Regards, Chun-Kuang. > > > > > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > > > > > -- > > > 2.33.0.1079.g6e70778dc9-goog > > > > > > > -- > > Sean Paul, Software Engineer, Google / Chromium OS
On Wed, Dec 15, 2021 at 11:14 AM Chun-Kuang Hu <chunkuang.hu@kernel.org> wrote: > > Hi, Mark: > > Mark Yacoub <markyacoub@chromium.org> 於 2021年12月14日 週二 下午11:13寫道: > > > > Hey CK, can we have this merged? > > Thank you! > > > > On Mon, Oct 25, 2021 at 9:13 PM Sean Paul <sean@poorly.run> wrote: > > > > > > On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > > > > From: Mark Yacoub <markyacoub@chromium.org> > > > > > > > > [Why] > > > > Creating the prop uses UNKNOWN as the initial value, which is not a > > > > supported value if the props is to be supported. > > > > > > > > [How] > > > > Set the panel orientation default value to NORMAL right after creating > > > > the prop. > > > > > > Reviewed-by: Sean Paul <seanpaul@chromium.org> > > > > > > > > > > > Tested on Jacuzzi(MTK) > > > > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > > > > > > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > > > > --- > > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > index 0ad7157660afa..b7c2528a8f41c 100644 > > > > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > > > > DRM_ERROR("Unable to init panel orientation\n"); > > > > goto err_cleanup_encoder; > > > > } > > > > + drm_connector_set_panel_orientation(dsi->connector, > > > > + DRM_MODE_PANEL_ORIENTATION_NORMAL); > > In drm_connector_set_panel_orientation() [1], I find that the > orientation could be set only once. Once you set it to normal, it > could not be set to other orientation. Right? > Hello, Yeah this looks true, and makes sense according to the documentation: https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#:~:text=one%20standardized%20property%3A-,panel%20orientation%3A,-On%20some%20devices Panel orientation has to do with the how the hardware is mounted, in contrast with the Rotation property. All the HW we have right now has a normal panel orientation so it makes sense to be set this way. Among other drivers, panel orientation is always set right after the property is initialized. > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_connector.c?h=v5.16-rc5#n2302 > > Regards, > Chun-Kuang. > > > > > > > > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > > > > > > > -- > > > > 2.33.0.1079.g6e70778dc9-goog > > > > > > > > > > -- > > > Sean Paul, Software Engineer, Google / Chromium OS
Hi, Mark: Mark Yacoub <markyacoub@chromium.org> 於 2021年12月16日 週四 上午1:25寫道: > > On Wed, Dec 15, 2021 at 11:14 AM Chun-Kuang Hu <chunkuang.hu@kernel.org> wrote: > > > > Hi, Mark: > > > > Mark Yacoub <markyacoub@chromium.org> 於 2021年12月14日 週二 下午11:13寫道: > > > > > > Hey CK, can we have this merged? > > > Thank you! > > > > > > On Mon, Oct 25, 2021 at 9:13 PM Sean Paul <sean@poorly.run> wrote: > > > > > > > > On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > > > > > From: Mark Yacoub <markyacoub@chromium.org> > > > > > > > > > > [Why] > > > > > Creating the prop uses UNKNOWN as the initial value, which is not a > > > > > supported value if the props is to be supported. > > > > > > > > > > [How] > > > > > Set the panel orientation default value to NORMAL right after creating > > > > > the prop. > > > > > > > > Reviewed-by: Sean Paul <seanpaul@chromium.org> > > > > > > > > > > > > > > Tested on Jacuzzi(MTK) > > > > > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > > > > > > > > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > > > > > --- > > > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > > > > > 1 file changed, 2 insertions(+) > > > > > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > index 0ad7157660afa..b7c2528a8f41c 100644 > > > > > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > > > > > DRM_ERROR("Unable to init panel orientation\n"); > > > > > goto err_cleanup_encoder; > > > > > } > > > > > + drm_connector_set_panel_orientation(dsi->connector, > > > > > + DRM_MODE_PANEL_ORIENTATION_NORMAL); > > > > In drm_connector_set_panel_orientation() [1], I find that the > > orientation could be set only once. Once you set it to normal, it > > could not be set to other orientation. Right? > > > Hello, > Yeah this looks true, and makes sense according to the documentation: > https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#:~:text=one%20standardized%20property%3A-,panel%20orientation%3A,-On%20some%20devices > > Panel orientation has to do with the how the hardware is mounted, in > contrast with the Rotation property. All the HW we have right now has > a normal panel orientation so it makes sense to be set this way. Among Many evidence [1], [2], [3], show that Chromebook plan to have other orientation on mt8183, so I think you should consider this. [1] https://patchwork.kernel.org/project/linux-mediatek/patch/20210409045314.3420733-2-hsinyi@chromium.org/ [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c?h=v5.16-rc5#n1474 [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts?h=v5.16-rc5#n22 Regards, Chun-Kuang. > other drivers, panel orientation is always set right after the > property is initialized. > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_connector.c?h=v5.16-rc5#n2302 > > > > Regards, > > Chun-Kuang. > > > > > > > > > > > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > > > > > > > > > -- > > > > > 2.33.0.1079.g6e70778dc9-goog > > > > > > > > > > > > > -- > > > > Sean Paul, Software Engineer, Google / Chromium OS
This makes sense. Thanks for pointing that out I wasn't aware of it. I'll take a closer look and try to come up with something better. Thanks Chun-Kuang! On Thu, Dec 16, 2021 at 11:53 AM Chun-Kuang Hu <chunkuang.hu@kernel.org> wrote: > > Hi, Mark: > > Mark Yacoub <markyacoub@chromium.org> 於 2021年12月16日 週四 上午1:25寫道: > > > > On Wed, Dec 15, 2021 at 11:14 AM Chun-Kuang Hu <chunkuang.hu@kernel.org> wrote: > > > > > > Hi, Mark: > > > > > > Mark Yacoub <markyacoub@chromium.org> 於 2021年12月14日 週二 下午11:13寫道: > > > > > > > > Hey CK, can we have this merged? > > > > Thank you! > > > > > > > > On Mon, Oct 25, 2021 at 9:13 PM Sean Paul <sean@poorly.run> wrote: > > > > > > > > > > On Fri, Oct 22, 2021 at 01:24:03PM -0400, Mark Yacoub wrote: > > > > > > From: Mark Yacoub <markyacoub@chromium.org> > > > > > > > > > > > > [Why] > > > > > > Creating the prop uses UNKNOWN as the initial value, which is not a > > > > > > supported value if the props is to be supported. > > > > > > > > > > > > [How] > > > > > > Set the panel orientation default value to NORMAL right after creating > > > > > > the prop. > > > > > > > > > > Reviewed-by: Sean Paul <seanpaul@chromium.org> > > > > > > > > > > > > > > > > > Tested on Jacuzzi(MTK) > > > > > > Fixes IGT@kms_properties@get_properties-sanity-{atomic,non-atomic} > > > > > > > > > > > > Signed-off-by: Mark Yacoub <markyacoub@chromium.org> > > > > > > --- > > > > > > drivers/gpu/drm/mediatek/mtk_dsi.c | 2 ++ > > > > > > 1 file changed, 2 insertions(+) > > > > > > > > > > > > diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > > index 0ad7157660afa..b7c2528a8f41c 100644 > > > > > > --- a/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > > +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c > > > > > > @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) > > > > > > DRM_ERROR("Unable to init panel orientation\n"); > > > > > > goto err_cleanup_encoder; > > > > > > } > > > > > > + drm_connector_set_panel_orientation(dsi->connector, > > > > > > + DRM_MODE_PANEL_ORIENTATION_NORMAL); > > > > > > In drm_connector_set_panel_orientation() [1], I find that the > > > orientation could be set only once. Once you set it to normal, it > > > could not be set to other orientation. Right? > > > > > Hello, > > Yeah this looks true, and makes sense according to the documentation: > > https://01.org/linuxgraphics/gfx-docs/drm/gpu/drm-kms.html#:~:text=one%20standardized%20property%3A-,panel%20orientation%3A,-On%20some%20devices > > > > Panel orientation has to do with the how the hardware is mounted, in > > contrast with the Rotation property. All the HW we have right now has > > a normal panel orientation so it makes sense to be set this way. Among > > Many evidence [1], [2], [3], show that Chromebook plan to have other > orientation on mt8183, so I think you should consider this. > > [1] https://patchwork.kernel.org/project/linux-mediatek/patch/20210409045314.3420733-2-hsinyi@chromium.org/ > [2] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/panel/panel-boe-tv101wum-nl6.c?h=v5.16-rc5#n1474 > [3] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/arch/arm64/boot/dts/mediatek/mt8183-kukui-krane-sku176.dts?h=v5.16-rc5#n22 > > Regards, > Chun-Kuang. > > > > > other drivers, panel orientation is always set right after the > > property is initialized. > > > > > [1] https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/tree/drivers/gpu/drm/drm_connector.c?h=v5.16-rc5#n2302 > > > > > > Regards, > > > Chun-Kuang. > > > > > > > > > > > > > > > drm_connector_attach_encoder(dsi->connector, &dsi->encoder); > > > > > > > > > > > > -- > > > > > > 2.33.0.1079.g6e70778dc9-goog > > > > > > > > > > > > > > > > -- > > > > > Sean Paul, Software Engineer, Google / Chromium OS
diff --git a/drivers/gpu/drm/mediatek/mtk_dsi.c b/drivers/gpu/drm/mediatek/mtk_dsi.c index 0ad7157660afa..b7c2528a8f41c 100644 --- a/drivers/gpu/drm/mediatek/mtk_dsi.c +++ b/drivers/gpu/drm/mediatek/mtk_dsi.c @@ -1039,6 +1039,8 @@ static int mtk_dsi_encoder_init(struct drm_device *drm, struct mtk_dsi *dsi) DRM_ERROR("Unable to init panel orientation\n"); goto err_cleanup_encoder; } + drm_connector_set_panel_orientation(dsi->connector, + DRM_MODE_PANEL_ORIENTATION_NORMAL); drm_connector_attach_encoder(dsi->connector, &dsi->encoder);