This patch set fixes vendor names of the panels and fixes a problem on omapdrm with enabling VDD_DSI for OMAP3 which is needed for displaying the Red and Green channel on OMAP3530 (Pandora).
H. Nikolaus Schaller (4): omapdrm: fix compatible string for td028ttec1 DTS: GTA04: fix panel compatibility string DTS: Pandora: fix panel compatibility string omapdss: fix problem enabling VDDS_DSI on OMAP3530 (OpenPandora)
.../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- arch/arm/boot/dts/omap3-gta04.dtsi | 2 +- arch/arm/boot/dts/omap3-pandora-common.dtsi | 2 +- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 6 files changed, 9 insertions(+), 10 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
The vendor name was "toppoly" but other panels and the vendor list have defined it as "tpo". So let's fix it in driver and bindings.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com --- .../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
diff --git a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt similarity index 84% rename from Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt rename to Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index 7175dc3740ac..ed34253d9fb1 100644 --- a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@ -2,7 +2,7 @@ Toppoly TD028TTEC1 Panel ========================
Required properties: -- compatible: "toppoly,td028ttec1" +- compatible: "tpo,td028ttec1"
Optional properties: - label: a symbolic name for the panel @@ -14,7 +14,7 @@ Example -------
lcd-panel: td028ttec1@0 { - compatible = "toppoly,td028ttec1"; + compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol; diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 0a38a0e8c925..2dab491478c2 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -452,7 +452,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = { - { .compatible = "omapdss,toppoly,td028ttec1", }, + { .compatible = "omapdss,tpo,td028ttec1", }, {}, };
@@ -471,7 +471,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c index 57e9e146ff74..39e1754746d2 100644 --- a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c +++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c @@ -455,7 +455,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = { - { .compatible = "omapdss,toppoly,td028ttec1", }, + { .compatible = "omapdss,tpo,td028ttec1", }, {}, };
@@ -474,7 +474,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL");
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:29 EET H. Nikolaus Schaller wrote:
The vendor name was "toppoly" but other panels and the vendor list have defined it as "tpo". So let's fix it in driver and bindings.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
.../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
diff --git a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt similarity index 84% rename from Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt rename to Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index 7175dc3740ac..ed34253d9fb1 100644 --- a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@
-2,7 +2,7 @@ Toppoly TD028TTEC1 Panel
Required properties: -- compatible: "toppoly,td028ttec1" +- compatible: "tpo,td028ttec1"
Optional properties:
- label: a symbolic name for the panel
@@ -14,7 +14,7 @@ Example
lcd-panel: td028ttec1@0 {
- compatible = "toppoly,td028ttec1";
- compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol;
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 0a38a0e8c925..2dab491478c2 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -452,7 +452,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", },
Doesn't this break backward compatibility with existing DT ?
{}, };
@@ -471,7 +471,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c index 57e9e146ff74..39e1754746d2 100644 --- a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c +++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c @@ -455,7 +455,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", }, {},
};
@@ -474,7 +474,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL");
Hi Laurent,
Am 09.11.2017 um 04:33 schrieb Laurent Pinchart laurent.pinchart@ideasonboard.com:
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:29 EET H. Nikolaus Schaller wrote:
The vendor name was "toppoly" but other panels and the vendor list have defined it as "tpo". So let's fix it in driver and bindings.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
.../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
diff --git a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt similarity index 84% rename from Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt rename to Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index 7175dc3740ac..ed34253d9fb1 100644 --- a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@
-2,7 +2,7 @@ Toppoly TD028TTEC1 Panel
Required properties: -- compatible: "toppoly,td028ttec1" +- compatible: "tpo,td028ttec1"
Optional properties:
- label: a symbolic name for the panel
@@ -14,7 +14,7 @@ Example
lcd-panel: td028ttec1@0 {
- compatible = "toppoly,td028ttec1";
- compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol;
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 0a38a0e8c925..2dab491478c2 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -452,7 +452,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", },
Doesn't this break backward compatibility with existing DT ?
Yes, it does. But I am only aware of the GTA04 which uses it and there is a separate fix).
{}, };
@@ -471,7 +471,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL"); diff --git a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c index 57e9e146ff74..39e1754746d2 100644 --- a/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c +++ b/drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c @@ -455,7 +455,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", }, {},
};
@@ -474,7 +474,7 @@ static struct spi_driver td028ttec1_spi_driver = {
module_spi_driver(td028ttec1_spi_driver);
-MODULE_ALIAS("spi:toppoly,td028ttec1"); +MODULE_ALIAS("spi:tpo,td028ttec1"); MODULE_AUTHOR("H. Nikolaus Schaller hns@goldelico.com"); MODULE_DESCRIPTION("Toppoly TD028TTEC1 panel driver"); MODULE_LICENSE("GPL");
-- Regards,
Laurent Pinchart
Hi Nikolaus,
On Thursday, 9 November 2017 08:05:15 EET H. Nikolaus Schaller wrote:
Am 09.11.2017 um 04:33 schrieb Laurent Pinchart: On Wednesday, 8 November 2017 23:09:29 EET H. Nikolaus Schaller wrote:
The vendor name was "toppoly" but other panels and the vendor list have defined it as "tpo". So let's fix it in driver and bindings.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
.../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
diff --git a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt similarity index 84% rename from Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt rename to Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index 7175dc3740ac..ed34253d9fb1 100644
a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@ -2,7 +2,7 @@ Toppoly TD028TTEC1 Panel ========================
Required properties: -- compatible: "toppoly,td028ttec1" +- compatible: "tpo,td028ttec1"
Optional properties:
- label: a symbolic name for the panel
@@ -14,7 +14,7 @@ Example
lcd-panel: td028ttec1@0 {
- compatible = "toppoly,td028ttec1";
compatible = "tpo,td028ttec1";
reg = <0>; spi-max-frequency = <100000>; spi-cpol;
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 0a38a0e8c925..2dab491478c2 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -452,7 +452,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", },
Doesn't this break backward compatibility with existing DT ?
Yes, it does. But I am only aware of the GTA04 which uses it and there is a separate fix).
DT is supposed to be an ABI. In theory at least, one could boot a GTA04 with an existing DT and a new kernel, and no regression should be noticed. There could also be other devices using this panel that you are not aware of.
For how to apply the theory to real life, I'll defer to Tomi :-)
{}, };
[snip]
Hi Laurent,
Am 09.11.2017 um 07:35 schrieb Laurent Pinchart laurent.pinchart@ideasonboard.com:
Hi Nikolaus,
On Thursday, 9 November 2017 08:05:15 EET H. Nikolaus Schaller wrote:
Am 09.11.2017 um 04:33 schrieb Laurent Pinchart: On Wednesday, 8 November 2017 23:09:29 EET H. Nikolaus Schaller wrote:
The vendor name was "toppoly" but other panels and the vendor list have defined it as "tpo". So let's fix it in driver and bindings.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
.../display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} | 4 ++-- drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c | 4 ++-- drivers/video/fbdev/omap2/omapfb/displays/panel-tpo-td028ttec1.c | 4 ++-- 3 files changed, 6 insertions(+), 6 deletions(-) rename Documentation/devicetree/bindings/display/panel/{toppoly,td028ttec1.txt => tpo,td028ttec1.txt} (84%)
diff --git a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt similarity index 84% rename from Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt rename to Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt index 7175dc3740ac..ed34253d9fb1 100644
a/Documentation/devicetree/bindings/display/panel/toppoly,td028ttec1.txt +++ b/Documentation/devicetree/bindings/display/panel/tpo,td028ttec1.txt @@ -2,7 +2,7 @@ Toppoly TD028TTEC1 Panel ========================
Required properties: -- compatible: "toppoly,td028ttec1" +- compatible: "tpo,td028ttec1"
Optional properties:
- label: a symbolic name for the panel
@@ -14,7 +14,7 @@ Example
lcd-panel: td028ttec1@0 {
- compatible = "toppoly,td028ttec1";
compatible = "tpo,td028ttec1";
reg = <0>; spi-max-frequency = <100000>; spi-cpol;
diff --git a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c index 0a38a0e8c925..2dab491478c2 100644 --- a/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c +++ b/drivers/gpu/drm/omapdrm/displays/panel-tpo-td028ttec1.c @@ -452,7 +452,7 @@ static int td028ttec1_panel_remove(struct spi_device *spi) }
static const struct of_device_id td028ttec1_of_match[] = {
- { .compatible = "omapdss,toppoly,td028ttec1", },
- { .compatible = "omapdss,tpo,td028ttec1", },
Doesn't this break backward compatibility with existing DT ?
Yes, it does. But I am only aware of the GTA04 which uses it and there is a separate fix).
DT is supposed to be an ABI. In theory at least, one could boot a GTA04 with an existing DT and a new kernel, and no regression should be noticed.
Yes, indeed...
There could also be other devices using this panel that you are not aware of.
For how to apply the theory to real life, I'll defer to Tomi :-)
Yes, Tomi should decide if we should keep the old compatible string in the driver (in second place so to avoid a speed penalty)...
BR and thanks, Nikolaus Schaller
Vendor string is "tpo" and not "toppoly".
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com --- arch/arm/boot/dts/omap3-gta04.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/omap3-gta04.dtsi b/arch/arm/boot/dts/omap3-gta04.dtsi index 4504908c23fe..ec27ed67a22a 100644 --- a/arch/arm/boot/dts/omap3-gta04.dtsi +++ b/arch/arm/boot/dts/omap3-gta04.dtsi @@ -86,7 +86,7 @@
/* lcd panel */ lcd: td028ttec1@0 { - compatible = "toppoly,td028ttec1"; + compatible = "tpo,td028ttec1"; reg = <0>; spi-max-frequency = <100000>; spi-cpol;
We can remove the "omapdss," prefix.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com --- arch/arm/boot/dts/omap3-pandora-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/omap3-pandora-common.dtsi b/arch/arm/boot/dts/omap3-pandora-common.dtsi index 53e007abdc71..64d967ec8c58 100644 --- a/arch/arm/boot/dts/omap3-pandora-common.dtsi +++ b/arch/arm/boot/dts/omap3-pandora-common.dtsi @@ -626,7 +626,7 @@
lcd: lcd@1 { reg = <1>; /* CS1 */ - compatible = "omapdss,tpo,td043mtea1"; + compatible = "tpo,td043mtea1"; spi-max-frequency = <100000>; spi-cpol; spi-cpha;
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:31 EET H. Nikolaus Schaller wrote:
We can remove the "omapdss," prefix.
I agree but you should explain why.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
arch/arm/boot/dts/omap3-pandora-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/omap3-pandora-common.dtsi b/arch/arm/boot/dts/omap3-pandora-common.dtsi index 53e007abdc71..64d967ec8c58 100644 --- a/arch/arm/boot/dts/omap3-pandora-common.dtsi +++ b/arch/arm/boot/dts/omap3-pandora-common.dtsi @@ -626,7 +626,7 @@
lcd: lcd@1 { reg = <1>; /* CS1 */
compatible = "omapdss,tpo,td043mtea1";
spi-max-frequency = <100000>; spi-cpol; spi-cpha;compatible = "tpo,td043mtea1";
Am 09.11.2017 um 04:36 schrieb Laurent Pinchart laurent.pinchart@ideasonboard.com:
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:31 EET H. Nikolaus Schaller wrote:
We can remove the "omapdss," prefix.
I agree but you should explain why.
I can add a sentence if someone helps me to formulate it correctly. Or Tomi, please add when accepting the patch.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
arch/arm/boot/dts/omap3-pandora-common.dtsi | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/arch/arm/boot/dts/omap3-pandora-common.dtsi b/arch/arm/boot/dts/omap3-pandora-common.dtsi index 53e007abdc71..64d967ec8c58 100644 --- a/arch/arm/boot/dts/omap3-pandora-common.dtsi +++ b/arch/arm/boot/dts/omap3-pandora-common.dtsi @@ -626,7 +626,7 @@
lcd: lcd@1 { reg = <1>; /* CS1 */
compatible = "omapdss,tpo,td043mtea1";
spi-max-frequency = <100000>; spi-cpol; spi-cpha;compatible = "tpo,td043mtea1";
-- Regards,
Laurent Pinchart
commit d178e034d565 ("drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code")
introduced a new match table which turned out to be wrong, at least for the 600 MHz OpenPandora using the OMAP3530.
The effect was strange: only the Blue channel of the RGB panel was driven while Red and Green stayed black. So a coloured picture turned into blue/black.
The GTA04 with DM3730 didn't show the effect.
It turned out that VDDS_DSI was not properly initialized on OMAP3530, because the .family string is just "OMAP3" for these processors and not "OMAP3xxx".
Therefore we match the .machine attribute.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com --- drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 4ed5fde11313..aae3626910bb 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -566,8 +566,7 @@ static int dpi_verify_pll(struct dss_pll *pll) }
static const struct soc_device_attribute dpi_soc_devices[] = { - { .family = "OMAP3[456]*" }, - { .family = "[AD]M37*" }, + { .machine = "OMAP3[456]*" }, { /* sentinel */ } };
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:32 EET H. Nikolaus Schaller wrote:
commit d178e034d565 ("drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code")
introduced a new match table which turned out to be wrong, at least for the 600 MHz OpenPandora using the OMAP3530.
The effect was strange: only the Blue channel of the RGB panel was driven while Red and Green stayed black. So a coloured picture turned into blue/black.
The GTA04 with DM3730 didn't show the effect.
It turned out that VDDS_DSI was not properly initialized on OMAP3530, because the .family string is just "OMAP3" for these processors and not "OMAP3xxx".
Therefore we match the .machine attribute.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
I've already submitted a similar patch (but without the problem pointed out below) in the mail thread where we discussed the issue. It is customary to use the first patch posted (unless it is utterly broken of course). Could you thus please include it in this series in replacement of this patch ?
drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 4ed5fde11313..aae3626910bb 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -566,8 +566,7 @@ static int dpi_verify_pll(struct dss_pll *pll) }
static const struct soc_device_attribute dpi_soc_devices[] = {
- { .family = "OMAP3[456]*" },
- { .family = "[AD]M37*" },
- { .machine = "OMAP3[456]*" },
You also need
{ .machine = "[AD]M37*" },
otherwise there will be no match for the OMAP3-like AM37xx and DM37xx SoCs.
Another option would be to match on { .family = "OMAP3*" } but there could be spurious matches, even though I haven't identified any.
{ /* sentinel */ } };
Hi Laurent,
Am 09.11.2017 um 04:45 schrieb Laurent Pinchart laurent.pinchart@ideasonboard.com:
Hi Nikolaus,
Thank you for the patch.
On Wednesday, 8 November 2017 23:09:32 EET H. Nikolaus Schaller wrote:
commit d178e034d565 ("drm: omapdrm: Move FEAT_DPI_USES_VDDS_DSI feature to dpi code")
introduced a new match table which turned out to be wrong, at least for the 600 MHz OpenPandora using the OMAP3530.
The effect was strange: only the Blue channel of the RGB panel was driven while Red and Green stayed black. So a coloured picture turned into blue/black.
The GTA04 with DM3730 didn't show the effect.
It turned out that VDDS_DSI was not properly initialized on OMAP3530, because the .family string is just "OMAP3" for these processors and not "OMAP3xxx".
Therefore we match the .machine attribute.
Signed-off-by: H. Nikolaus Schaller hns@goldelico.com
I've already submitted a similar patch (but without the problem pointed out below) in the mail thread where we discussed the issue. It is customary to use the first patch posted (unless it is utterly broken of course).
Ah sorry. My workflow isn't well prepared for that and I already had committed something to my private branch...
Could you thus please include it in this series in replacement of this patch ?
Well, you can as well reject my patch (it is just a proposal) and take yours as a replacement. Especially as you better understand all the potential values for .family and .machine than me.
Should be less work for both of us.
drivers/gpu/drm/omapdrm/dss/dpi.c | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/omapdrm/dss/dpi.c b/drivers/gpu/drm/omapdrm/dss/dpi.c index 4ed5fde11313..aae3626910bb 100644 --- a/drivers/gpu/drm/omapdrm/dss/dpi.c +++ b/drivers/gpu/drm/omapdrm/dss/dpi.c @@ -566,8 +566,7 @@ static int dpi_verify_pll(struct dss_pll *pll) }
static const struct soc_device_attribute dpi_soc_devices[] = {
- { .family = "OMAP3[456]*" },
- { .family = "[AD]M37*" },
- { .machine = "OMAP3[456]*" },
You also need
{ .machine = "[AD]M37*" },
otherwise there will be no match for the OMAP3-like AM37xx and DM37xx SoCs.
Ah, ok. I wasn't aware that there are some AM37 and DM37 chips with and some without OMAP3 prefix.
Another option would be to match on { .family = "OMAP3*" } but there could be spurious matches, even though I haven't identified any.
{ /* sentinel */ } };
BR and thanks, Nikolaus Schaller