2023-07-28 15:26:38

by Johannes Zink

[permalink] [raw]
Subject: [PATCH v4 0/3] Support non-default LVDS data mapping for simple panel

Some LVDS panels, such as the innolux,g101ice-l01 support multiple LVDS
data mapping modes, which can be configured by strapping a dataformat
pin on the display to a specific voltage.

This can be particularly useful for using the jeida-18 format, which
requires only 3 instead of 4 LVDS lanes.

This series moves the data-mapping property for LVDS panels in a
separate file and optionally adds it to simple-panel when matching to
the innolux,g101ice-l01 compatible. This property allows to override
the default data mapping set in the panel description in simple-panel.

The last patch in this series actually adds the driver support for
parsing the data format override device tree property and modifying the
corresponding values for bit per color and media bus format in the panel
descriptor.

Best regards
Johannes

---

Changelog:

v3 -> v4: - driver: worked in Dan's Feedback:
- return with proper error in case the call into
panel_simple_override_nondefault_lvds_datamapping()
failed
- drop the unneeded and ambiguous ret local value

- Link to v3: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v3-0-78ede374d3d9@pengutronix.de
v2 -> v3: - dt bindings: Worked in Conor's and Laurent's Feedback
(thanks for your review): Drop the chomping indicator
- dt bindings: Worked in Laurent's Feedback: fix typos
- driver: worked in Laurent's review findings:
- extract function for fixing up the bus format
- only call this function on LVDS panels
- fix typo
- Link to v2: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v2-0-87196f0d0b64@pengutronix.de

v1 -> v2: - dt bindings: Worked in Rob's review findings (thanks for your
review), refactored to use common include instead of duplication
- driver: added missing error unwinding goto, as found by Dan
Carpenter's test robot:
Reported-by: kernel test robot <[email protected]>
Reported-by: Dan Carpenter <[email protected]>
Link: https://lore.kernel.org/r/[email protected]/

To: David Airlie <[email protected]>
To: Daniel Vetter <[email protected]>
To: Rob Herring <[email protected]>
To: Krzysztof Kozlowski <[email protected]>
To: Conor Dooley <[email protected]>
To: Laurent Pinchart <[email protected]>
To: Thierry Reding <[email protected]>
To: Neil Armstrong <[email protected]>
To: Sam Ravnborg <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: Laurent Pinchart <[email protected]>
Cc: [email protected]
Cc: [email protected]
Cc: [email protected]
Signed-off-by: Johannes Zink <[email protected]>

---

---
Johannes Zink (3):
dt-bindings: display: move LVDS data-mapping definition to separate file
dt-bindings: display: simple: support non-default data-mapping
drm/panel-simple: allow LVDS format override

.../bindings/display/lvds-data-mapping.yaml | 84 ++++++++++++++++++++++
.../devicetree/bindings/display/lvds.yaml | 77 +++-----------------
.../bindings/display/panel/panel-simple.yaml | 26 ++++++-
drivers/gpu/drm/panel/panel-simple.c | 53 ++++++++++++++
4 files changed, 171 insertions(+), 69 deletions(-)
---
base-commit: 52920704df878050123dfeb469aa6ab8022547c1
change-id: 20230523-simplepanel_support_nondefault_datamapping-13c3f2ea28f8

Best regards,
--
Johannes Zink <[email protected]>



2023-07-28 15:26:42

by Johannes Zink

[permalink] [raw]
Subject: [PATCH v4 2/3] dt-bindings: display: simple: support non-default data-mapping

Some Displays support more than just a single default LVDS data mapping,
which can be used to run displays on only 3 LVDS lanes in the jeida-18
data-mapping mode.

Add an optional data-mapping property to allow overriding the default
data mapping. As it does not generally apply to any display and bus, use
it selectively on the innolux,g101ice-l01, which supports changing the
data mapping via a strapping pin.

Signed-off-by: Johannes Zink <[email protected]>

---

Changes:

v3 -> v4: none

v2 -> v3: - worked in Laurent's review findings (thanks for reviewing
my work): fix typos in commit message

v1 -> v2: - worked in Rob's review findings (thanks for reviewing my
work): use extracted common property instead of duplicating
the property
- refined commit message
- add an example dts for automated checking
---
.../bindings/display/panel/panel-simple.yaml | 26 +++++++++++++++++++++-
1 file changed, 25 insertions(+), 1 deletion(-)

diff --git a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
index 1d4936fc5182..e25e33f67d71 100644
--- a/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
+++ b/Documentation/devicetree/bindings/display/panel/panel-simple.yaml
@@ -21,9 +21,9 @@ description: |

allOf:
- $ref: panel-common.yaml#
+ - $ref: ../lvds-data-mapping.yaml#

properties:
-
compatible:
enum:
# compatible must be listed in alphabetical order, ordered by compatible.
@@ -359,6 +359,17 @@ properties:
power-supply: true
no-hpd: true
hpd-gpios: true
+ data-mapping: true
+
+if:
+ not:
+ properties:
+ compatible:
+ contains:
+ const: innolux,g101ice-l01
+then:
+ properties:
+ data-mapping: false

additionalProperties: false

@@ -378,3 +389,16 @@ examples:
};
};
};
+ - |
+ panel_lvds: panel-lvds {
+ compatible = "innolux,g101ice-l01";
+ power-supply = <&vcc_lcd_reg>;
+
+ data-mapping = "jeida-24";
+
+ port {
+ panel_in_lvds: endpoint {
+ remote-endpoint = <&ltdc_out_lvds>;
+ };
+ };
+ };

--
2.39.2


2023-07-29 11:47:03

by Conor Dooley

[permalink] [raw]
Subject: Re: [PATCH v4 2/3] dt-bindings: display: simple: support non-default data-mapping

On Fri, Jul 28, 2023 at 04:16:56PM +0200, Johannes Zink wrote:
> Some Displays support more than just a single default LVDS data mapping,
> which can be used to run displays on only 3 LVDS lanes in the jeida-18
> data-mapping mode.
>
> Add an optional data-mapping property to allow overriding the default
> data mapping. As it does not generally apply to any display and bus, use
> it selectively on the innolux,g101ice-l01, which supports changing the
> data mapping via a strapping pin.
>
> Signed-off-by: Johannes Zink <[email protected]>
>
> ---
>
> Changes:
>
> v3 -> v4: none
>
> v2 -> v3: - worked in Laurent's review findings (thanks for reviewing
> my work): fix typos in commit message

I gave you one for this patch too, no?
https://lore.kernel.org/all/20230523-jaywalker-modify-500ec1d79223@spud/
Any reason in particular you didn't pick up the tags? Here it is
against, since all that appears to have changed is some typos.

Reviewed-by: Conor Dooley <[email protected]>



Attachments:
(No filename) (1.02 kB)
signature.asc (235.00 B)
Download all attachments

2023-07-31 07:01:17

by Johannes Zink

[permalink] [raw]
Subject: Re: [PATCH v4 2/3] dt-bindings: display: simple: support non-default data-mapping

Hi Conor,

On 7/29/23 12:19, Conor Dooley wrote:
> On Fri, Jul 28, 2023 at 04:16:56PM +0200, Johannes Zink wrote:
>> Some Displays support more than just a single default LVDS data mapping,
>> which can be used to run displays on only 3 LVDS lanes in the jeida-18
>> data-mapping mode.
>>
>> Add an optional data-mapping property to allow overriding the default
>> data mapping. As it does not generally apply to any display and bus, use
>> it selectively on the innolux,g101ice-l01, which supports changing the
>> data mapping via a strapping pin.
>>
>> Signed-off-by: Johannes Zink <[email protected]>
>>
>> ---
>>
>> Changes:
>>
>> v3 -> v4: none
>>
>> v2 -> v3: - worked in Laurent's review findings (thanks for reviewing
>> my work): fix typos in commit message
>
> I gave you one for this patch too, no? > https://lore.kernel.org/all/20230523-jaywalker-modify-500ec1d79223@spud/
> Any reason in particular you didn't pick up the tags? Here it is
> against, since all that appears to have changed is some typos.

sorry, I forgot to add the Tags, There is no functional changes in patch 1-3 of 4.

Johannes

>
> Reviewed-by: Conor Dooley <[email protected]>
>
>

--
Pengutronix e.K. | Johannes Zink |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686| Fax: +49-5121-206917-5555 |


2023-09-13 09:33:56

by Johannes Zink

[permalink] [raw]
Subject: Re: [PATCH v4 0/3] Support non-default LVDS data mapping for simple panel

Hi everyone,

gentle ping - is there any feedback you can give me for moving this series forward?

Best regards
Johannes

On 7/28/23 16:16, Johannes Zink wrote:
> Some LVDS panels, such as the innolux,g101ice-l01 support multiple LVDS
> data mapping modes, which can be configured by strapping a dataformat
> pin on the display to a specific voltage.
>
> This can be particularly useful for using the jeida-18 format, which
> requires only 3 instead of 4 LVDS lanes.
>
> This series moves the data-mapping property for LVDS panels in a
> separate file and optionally adds it to simple-panel when matching to
> the innolux,g101ice-l01 compatible. This property allows to override
> the default data mapping set in the panel description in simple-panel.
>
> The last patch in this series actually adds the driver support for
> parsing the data format override device tree property and modifying the
> corresponding values for bit per color and media bus format in the panel
> descriptor.
>
> Best regards
> Johannes
>
> ---
>
> Changelog:
>
> v3 -> v4: - driver: worked in Dan's Feedback:
> - return with proper error in case the call into
> panel_simple_override_nondefault_lvds_datamapping()
> failed
> - drop the unneeded and ambiguous ret local value
>
> - Link to v3: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v3-0-78ede374d3d9@pengutronix.de
> v2 -> v3: - dt bindings: Worked in Conor's and Laurent's Feedback
> (thanks for your review): Drop the chomping indicator
> - dt bindings: Worked in Laurent's Feedback: fix typos
> - driver: worked in Laurent's review findings:
> - extract function for fixing up the bus format
> - only call this function on LVDS panels
> - fix typo
> - Link to v2: https://lore.kernel.org/r/20230523-simplepanel_support_nondefault_datamapping-v2-0-87196f0d0b64@pengutronix.de
>
> v1 -> v2: - dt bindings: Worked in Rob's review findings (thanks for your
> review), refactored to use common include instead of duplication
> - driver: added missing error unwinding goto, as found by Dan
> Carpenter's test robot:
> Reported-by: kernel test robot <[email protected]>
> Reported-by: Dan Carpenter <[email protected]>
> Link: https://lore.kernel.org/r/[email protected]/
>
> To: David Airlie <[email protected]>
> To: Daniel Vetter <[email protected]>
> To: Rob Herring <[email protected]>
> To: Krzysztof Kozlowski <[email protected]>
> To: Conor Dooley <[email protected]>
> To: Laurent Pinchart <[email protected]>
> To: Thierry Reding <[email protected]>
> To: Neil Armstrong <[email protected]>
> To: Sam Ravnborg <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: Laurent Pinchart <[email protected]>
> Cc: [email protected]
> Cc: [email protected]
> Cc: [email protected]
> Signed-off-by: Johannes Zink <[email protected]>
>
> ---
>
> ---
> Johannes Zink (3):
> dt-bindings: display: move LVDS data-mapping definition to separate file
> dt-bindings: display: simple: support non-default data-mapping
> drm/panel-simple: allow LVDS format override
>
> .../bindings/display/lvds-data-mapping.yaml | 84 ++++++++++++++++++++++
> .../devicetree/bindings/display/lvds.yaml | 77 +++-----------------
> .../bindings/display/panel/panel-simple.yaml | 26 ++++++-
> drivers/gpu/drm/panel/panel-simple.c | 53 ++++++++++++++
> 4 files changed, 171 insertions(+), 69 deletions(-)
> ---
> base-commit: 52920704df878050123dfeb469aa6ab8022547c1
> change-id: 20230523-simplepanel_support_nondefault_datamapping-13c3f2ea28f8
>
> Best regards,

--
Pengutronix e.K. | Johannes Zink |
Steuerwalder Str. 21 | https://www.pengutronix.de/ |
31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
Amtsgericht Hildesheim, HRA 2686| Fax: +49-5121-206917-5555 |