* [PATCH v2 0/3] staging: drm/imx: parallel-display fixes @ 2014-11-03 14:54 Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support Markus Pargmann ` (2 more replies) 0 siblings, 3 replies; 7+ messages in thread From: Markus Pargmann @ 2014-11-03 14:54 UTC (permalink / raw) To: linux-arm-kernel Hi, Last version of this series did not apply on 3.18-rc1 as it was based on 3.17-rc. I rebased the series and solved the conflict, there are no other changes to the series. It is now based on v3.18-rc3. Best Regards, Markus Markus Pargmann (1): imx-drm: parallel-display: Fix dpms mode handling Philipp Zabel (2): staging: drm/imx: parallel-display: Add 24-bit BGR support imx-drm: parallel-display: Fix drm_panel support .../bindings/staging/imx-drm/fsl-imx-drm.txt | 4 ++-- drivers/staging/imx-drm/parallel-display.c | 24 +++++++++++++++++++--- 2 files changed, 23 insertions(+), 5 deletions(-) -- 2.1.1 ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support 2014-11-03 14:54 [PATCH v2 0/3] staging: drm/imx: parallel-display fixes Markus Pargmann @ 2014-11-03 14:54 ` Markus Pargmann 2014-11-04 0:15 ` Greg Kroah-Hartman 2014-11-03 14:54 ` [PATCH v2 2/3] imx-drm: parallel-display: Fix drm_panel support Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling Markus Pargmann 2 siblings, 1 reply; 7+ messages in thread From: Markus Pargmann @ 2014-11-03 14:54 UTC (permalink / raw) To: linux-arm-kernel From: Philipp Zabel <p.zabel@pengutronix.de> Add support for the BGR24 format to the IPUv3 parallel display. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Markus Pargmann <mpa@pengutronix.de> --- Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt | 4 ++-- drivers/staging/imx-drm/parallel-display.c | 2 ++ 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt index e75f0e549fff..f3497037679e 100644 --- a/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt +++ b/Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt @@ -60,8 +60,8 @@ Required properties: - compatible: Should be "fsl,imx-parallel-display" Optional properties: - interface_pix_fmt: How this display is connected to the - display interface. Currently supported types: "rgb24", "rgb565", "bgr666" - and "lvds666". + display interface. Currently supported types: "rgb24", "bgr24", "rgb565", + "bgr666", and "lvds666". - edid: verbatim EDID data block describing attached display. - ddc: phandle describing the i2c bus handling the display data channel diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c index 015a454b87e1..b2719c4a0561 100644 --- a/drivers/staging/imx-drm/parallel-display.c +++ b/drivers/staging/imx-drm/parallel-display.c @@ -230,6 +230,8 @@ static int imx_pd_bind(struct device *dev, struct device *master, void *data) else if (!strcmp(fmt, "lvds666")) imxpd->interface_pix_fmt = v4l2_fourcc('L', 'V', 'D', '6'); + else if (!strcmp(fmt, "bgr24")) + imxpd->interface_pix_fmt = V4L2_PIX_FMT_BGR24; } panel_node = of_parse_phandle(np, "fsl,panel", 0); -- 2.1.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support 2014-11-03 14:54 ` [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support Markus Pargmann @ 2014-11-04 0:15 ` Greg Kroah-Hartman 0 siblings, 0 replies; 7+ messages in thread From: Greg Kroah-Hartman @ 2014-11-04 0:15 UTC (permalink / raw) To: linux-arm-kernel On Mon, Nov 03, 2014 at 03:54:46PM +0100, Markus Pargmann wrote: > From: Philipp Zabel <p.zabel@pengutronix.de> > > Add support for the BGR24 format to the IPUv3 parallel display. > > Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> > Signed-off-by: Markus Pargmann <mpa@pengutronix.de> > --- > Documentation/devicetree/bindings/staging/imx-drm/fsl-imx-drm.txt | 4 ++-- > drivers/staging/imx-drm/parallel-display.c | 2 ++ > 2 files changed, 4 insertions(+), 2 deletions(-) Please work to get this driver out of staging instead of adding new features to it :( ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 2/3] imx-drm: parallel-display: Fix drm_panel support 2014-11-03 14:54 [PATCH v2 0/3] staging: drm/imx: parallel-display fixes Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support Markus Pargmann @ 2014-11-03 14:54 ` Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling Markus Pargmann 2 siblings, 0 replies; 7+ messages in thread From: Markus Pargmann @ 2014-11-03 14:54 UTC (permalink / raw) To: linux-arm-kernel From: Philipp Zabel <philipp.zabel@gmail.com> Call drm_panel_enable/disable in reaction to encoder_commit and encoder_disable callbacks. Signed-off-by: Philipp Zabel <p.zabel@pengutronix.de> Signed-off-by: Markus Pargmann <mpa@pengutronix.de> --- drivers/staging/imx-drm/parallel-display.c | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c index b2719c4a0561..0992bbf01adc 100644 --- a/drivers/staging/imx-drm/parallel-display.c +++ b/drivers/staging/imx-drm/parallel-display.c @@ -128,6 +128,10 @@ static void imx_pd_encoder_prepare(struct drm_encoder *encoder) static void imx_pd_encoder_commit(struct drm_encoder *encoder) { + struct imx_parallel_display *imxpd = enc_to_imxpd(encoder); + + drm_panel_prepare(imxpd->panel); + drm_panel_enable(imxpd->panel); } static void imx_pd_encoder_mode_set(struct drm_encoder *encoder, @@ -138,6 +142,10 @@ static void imx_pd_encoder_mode_set(struct drm_encoder *encoder, static void imx_pd_encoder_disable(struct drm_encoder *encoder) { + struct imx_parallel_display *imxpd = enc_to_imxpd(encoder); + + drm_panel_disable(imxpd->panel); + drm_panel_unprepare(imxpd->panel); } static struct drm_connector_funcs imx_pd_connector_funcs = { -- 2.1.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling 2014-11-03 14:54 [PATCH v2 0/3] staging: drm/imx: parallel-display fixes Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 2/3] imx-drm: parallel-display: Fix drm_panel support Markus Pargmann @ 2014-11-03 14:54 ` Markus Pargmann 2014-11-03 15:19 ` Lucas Stach 2 siblings, 1 reply; 7+ messages in thread From: Markus Pargmann @ 2014-11-03 14:54 UTC (permalink / raw) To: linux-arm-kernel We have to call drm_panel_prepare() and drm_panel_unprepare() when switching on or off. This patch also replaces the if statement with an switch statement to only catch ON and OFF modes. Signed-off-by: Markus Pargmann <mpa@pengutronix.de> --- drivers/staging/imx-drm/parallel-display.c | 14 +++++++++++--- 1 file changed, 11 insertions(+), 3 deletions(-) diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c index 0992bbf01adc..62788177c9d4 100644 --- a/drivers/staging/imx-drm/parallel-display.c +++ b/drivers/staging/imx-drm/parallel-display.c @@ -106,10 +106,18 @@ static void imx_pd_encoder_dpms(struct drm_encoder *encoder, int mode) { struct imx_parallel_display *imxpd = enc_to_imxpd(encoder); - if (mode != DRM_MODE_DPMS_ON) - drm_panel_disable(imxpd->panel); - else + switch (mode) { + case DRM_MODE_DPMS_ON: + drm_panel_prepare(imxpd->panel); drm_panel_enable(imxpd->panel); + break; + case DRM_MODE_DPMS_OFF: + drm_panel_disable(imxpd->panel); + drm_panel_unprepare(imxpd->panel); + break; + default: + break; + } } static bool imx_pd_encoder_mode_fixup(struct drm_encoder *encoder, -- 2.1.1 ^ permalink raw reply related [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling 2014-11-03 14:54 ` [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling Markus Pargmann @ 2014-11-03 15:19 ` Lucas Stach 2014-11-03 15:28 ` Markus Pargmann 0 siblings, 1 reply; 7+ messages in thread From: Lucas Stach @ 2014-11-03 15:19 UTC (permalink / raw) To: linux-arm-kernel Am Montag, den 03.11.2014, 15:54 +0100 schrieb Markus Pargmann: > We have to call drm_panel_prepare() and drm_panel_unprepare() when > switching on or off. This patch also replaces the if statement with an > switch statement to only catch ON and OFF modes. ... which is wrong. A driver is expected to map all 4 DPMS states to something sane, so the if statement did exactly the right thing here. Regards, Lucas > > Signed-off-by: Markus Pargmann <mpa@pengutronix.de> > --- > drivers/staging/imx-drm/parallel-display.c | 14 +++++++++++--- > 1 file changed, 11 insertions(+), 3 deletions(-) > > diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c > index 0992bbf01adc..62788177c9d4 100644 > --- a/drivers/staging/imx-drm/parallel-display.c > +++ b/drivers/staging/imx-drm/parallel-display.c > @@ -106,10 +106,18 @@ static void imx_pd_encoder_dpms(struct drm_encoder *encoder, int mode) > { > struct imx_parallel_display *imxpd = enc_to_imxpd(encoder); > > - if (mode != DRM_MODE_DPMS_ON) > - drm_panel_disable(imxpd->panel); > - else > + switch (mode) { > + case DRM_MODE_DPMS_ON: > + drm_panel_prepare(imxpd->panel); > drm_panel_enable(imxpd->panel); > + break; > + case DRM_MODE_DPMS_OFF: > + drm_panel_disable(imxpd->panel); > + drm_panel_unprepare(imxpd->panel); > + break; > + default: > + break; > + } > } > > static bool imx_pd_encoder_mode_fixup(struct drm_encoder *encoder, -- Pengutronix e.K. | Lucas Stach | Industrial Linux Solutions | http://www.pengutronix.de/ | ^ permalink raw reply [flat|nested] 7+ messages in thread
* [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling 2014-11-03 15:19 ` Lucas Stach @ 2014-11-03 15:28 ` Markus Pargmann 0 siblings, 0 replies; 7+ messages in thread From: Markus Pargmann @ 2014-11-03 15:28 UTC (permalink / raw) To: linux-arm-kernel On Mon, Nov 03, 2014 at 04:19:15PM +0100, Lucas Stach wrote: > Am Montag, den 03.11.2014, 15:54 +0100 schrieb Markus Pargmann: > > We have to call drm_panel_prepare() and drm_panel_unprepare() when > > switching on or off. This patch also replaces the if statement with an > > switch statement to only catch ON and OFF modes. > > ... which is wrong. A driver is expected to map all 4 DPMS states to > something sane, so the if statement did exactly the right thing here. Thanks for the clarification, I will rework this and send a new version. Best regards, Markus > > Regards, > Lucas > > > > > Signed-off-by: Markus Pargmann <mpa@pengutronix.de> > > --- > > drivers/staging/imx-drm/parallel-display.c | 14 +++++++++++--- > > 1 file changed, 11 insertions(+), 3 deletions(-) > > > > diff --git a/drivers/staging/imx-drm/parallel-display.c b/drivers/staging/imx-drm/parallel-display.c > > index 0992bbf01adc..62788177c9d4 100644 > > --- a/drivers/staging/imx-drm/parallel-display.c > > +++ b/drivers/staging/imx-drm/parallel-display.c > > @@ -106,10 +106,18 @@ static void imx_pd_encoder_dpms(struct drm_encoder *encoder, int mode) > > { > > struct imx_parallel_display *imxpd = enc_to_imxpd(encoder); > > > > - if (mode != DRM_MODE_DPMS_ON) > > - drm_panel_disable(imxpd->panel); > > - else > > + switch (mode) { > > + case DRM_MODE_DPMS_ON: > > + drm_panel_prepare(imxpd->panel); > > drm_panel_enable(imxpd->panel); > > + break; > > + case DRM_MODE_DPMS_OFF: > > + drm_panel_disable(imxpd->panel); > > + drm_panel_unprepare(imxpd->panel); > > + break; > > + default: > > + break; > > + } > > } > > > > static bool imx_pd_encoder_mode_fixup(struct drm_encoder *encoder, > > -- > Pengutronix e.K. | Lucas Stach | > Industrial Linux Solutions | http://www.pengutronix.de/ | > > -- Pengutronix e.K. | | Industrial Linux Solutions | http://www.pengutronix.de/ | Peiner Str. 6-8, 31137 Hildesheim, Germany | Phone: +49-5121-206917-0 | Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 | -------------- next part -------------- A non-text attachment was scrubbed... Name: signature.asc Type: application/pgp-signature Size: 836 bytes Desc: Digital signature URL: <http://lists.infradead.org/pipermail/linux-arm-kernel/attachments/20141103/8f064600/attachment.sig> ^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2014-11-04 0:15 UTC | newest] Thread overview: 7+ messages (download: mbox.gz follow: Atom feed -- links below jump to the message on this page -- 2014-11-03 14:54 [PATCH v2 0/3] staging: drm/imx: parallel-display fixes Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 1/3] staging: drm/imx: parallel-display: Add 24-bit BGR support Markus Pargmann 2014-11-04 0:15 ` Greg Kroah-Hartman 2014-11-03 14:54 ` [PATCH v2 2/3] imx-drm: parallel-display: Fix drm_panel support Markus Pargmann 2014-11-03 14:54 ` [PATCH v2 3/3] imx-drm: parallel-display: Fix dpms mode handling Markus Pargmann 2014-11-03 15:19 ` Lucas Stach 2014-11-03 15:28 ` Markus Pargmann
This is a public inbox, see mirroring instructions for how to clone and mirror all data and code used for this inbox; as well as URLs for NNTP newsgroup(s).