From: Jernej Skrabec
The H616 (and related SoC packages sharing the same die) carry the new
DE33 display engine.
Add the mixer configuration and a compatible string for the H616 to the
mixer.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
Reviewed-by: Chen
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
Reviewed-by: Chen-Yu Tsai
---
Changelog v10
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
Reviewed-by: Chen-Yu Tsai
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting
map.
The DE33 also appears to remove the global double buffer control
register, present in the DE2 and DE3.
Extend the mixer to support the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Signed-off-by: Chris Morgan
Acked-by: Maxime Ripard
Reviewed-by: Chen-Yu Tsai
DE33 mixer requires 3 register blocks instead of 1. To
keep things simple the maxItems value for registers is conditionally
removed for the H616 and replaced with the block names from the vendor
BSP kernel.
Add a display engine mixer binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
Acked-by: Maxime Ripard
Reviewed-by: Chen
From: Jernej Skrabec
The Allwinner DE2 and DE3 display engine mixers are currently identified
by a simple boolean flag. This will not scale to support additional DE
variants.
Convert the boolean flag to an enum.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre
drm: sun4i: de33: vi_scaler: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add mixer configuration for the H616
Ryan Walklin (1):
dt-bindings: allwinner: add H616 DE33 mixer binding
.../allwinner,sun8i-a83t-de2-mixer.yaml | 34 +++-
drivers/gpu/drm/sun4i/sun8i_csc.c
From: Jernej Skrabec
The H616 (and related SoC packages sharing the same die) carry the new
DE33 display engine.
Add the mixer configuration and a compatible string for the H616 to the
mixer.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
--
Changelog v7
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
--
Changelog v10..v11:
- Convert de_type
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
Acked-by: Maxime Ripard
---
Changelog v1
map.
The DE33 also appears to remove the global double buffer control
register, present in the DE2 and DE3.
Extend the mixer to support the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Signed-off-by: Chris Morgan
Acked-by: Maxime Ripard
---
Changelog v4..v5:
- Whitespace
DE33 mixer requires 3 register blocks instead of 1. To
keep things simple the maxItems value for registers is conditionally
removed for the H616 and replaced with the block names from the vendor
BSP kernel.
Add a display engine mixer binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting changes
---
drivers/gpu
: de2/de3: use generic register reference function for layer
configuration
drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: vi_scaler: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add mixer configuration for the H616
Ryan Walklin (1):
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Acked-by: Maxime Ripard
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index
From: Jernej Skrabec
The Allwinner DE2 and DE3 display engine mixers are currently identified
by a simple boolean flag. This will not scale to support additional DE
variants.
Convert the boolean flag to an enum.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre
On Thu, 15 May 2025, at 3:07 AM, Maxime Ripard wrote:
> On Sun, May 11, 2025 at 10:31:19PM +1200, Ryan Walklin wrote:
>> +enum sun8i_mixer_type {
>> +sun8i_mixer_de2,
>> +sun8i_mixer_de3,
>> +sun8i_mixer_de33,
>> +};
>
> enum variants typicall
On Thu, 15 May 2025, at 8:00 PM, Chen-Yu Tsai wrote:
> On Sun, May 11, 2025 at 6:42 PM Ryan Walklin wrote:
>> Add a display engine bus binding for the DE33.
>
> Since this just falls back to the A64 compatible, there's no matching
> driver change. Can you send this toget
From: Jernej Skrabec
The H616 (and related SoC packages sharing the same die) carry the new
DE33 display engine.
Add the mixer configuration and a compatible string for the H616 to the
mixer.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
--
Changelog v7..v8:
- Separate DE33
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a display engine bus binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
Signed-off-by: Chris Morgan
---
Changelog v1..v2:
- Correct DE2 bus enum to reflect fallback
-tree driver.
Add the required clock description struct and compatible string to the
DE2 driver.
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Lowercase hex value
Changelog v2..v3:
- Correct #include for writel()
Changelog v4..v5:
- Whitespace fix
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c
drm: sun4i: de2/de3: use generic register reference function for layer
configuration
drm: sun4i: de33: vi_scaler: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add mixer configuration for the H616
Ryan Walklin
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index 7fe5ce20082a..43c413052a22 100644
map.
The DE33 also appears to remove the global double buffer control
register, present in the DE2 and DE3.
Extend the mixer to support the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Signed-off-by: Chris Morgan
---
Changelog v4..v5:
- Whitespace fixes
- Correct strict
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 20
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting changes
---
drivers/gpu/drm/sun4i/sun8i_mixer.c
DE33 mixer requires 3 register blocks instead of 1. The maxItems
value for registers is therefore conditionally removed for the H616 and
replaced with the block names from the vendor BSP kernel.
Add a display engine mixer binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
From: Jernej Skrabec
The Allwinner DE2 and DE3 display engine mixers are currently identified
by a simple boolean flag. This will not scale to support additional DE
variants.
Convert the boolean flag to an enum.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
Changelog v1..v2:
- Combine base
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a clock binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting changes
---
drivers/gpu/drm/sun4i/sun8i_mixer.c
On Tue, 25 Feb 2025, at 6:56 AM, Andre Przywara wrote:
Apologies Andre, I came to review your comments on the TCON series and realised
I had missed responding to this comment before sending v8.
>> + - allwinner,sun50i-h616-de33-mixer-0
>>
>>reg:
>> -maxItems: 1
>> +minItems:
engine mixer binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
Changelog v5..v6:
- increase reg maxItems to 3 and add conditional for h616-de33
-tree driver.
Add the required clock description struct and compatible string to the
DE2 driver.
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Lowercase hex value
Changelog v2..v3:
- Correct #include for writel()
Changelog v4..v5:
- Whitespace fix
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c
From: Jernej Skrabec
The H616 (and related SoC packages sharing the same die) carry the new
DE33 display engine.
Add the mixer configuration and a compatible string for the H616 to the
mixer.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
--
Changelog v7..v8:
- Separate DE33
map.
The DE33 also appears to remove the global double buffer control
register, present in the DE2 and DE3.
Extend the mixer to support the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Whitespace fixes
- Correct strict mode warnings from checkpatch.pl
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 20
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a clock binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a display engine bus binding for the DE33 and increase reg maxItems
to 3 to accommodate additional register blocks.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v1..v2
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index 7fe5ce20082a..43c413052a22 100644
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
Changelog v1..v2:
- Combine base
From: Jernej Skrabec
The Allwinner DE2 and DE3 display engine mixers are currently identified
by a simple boolean flag. This will not scale to support additional DE
variants.
Convert the boolean flag to an enum.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre
configuration
drm: sun4i: de33: vi_scaler: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: mixer: add mixer configuration for the H616
Ryan Walklin (4):
dt-bindings: allwinner: add H616 DE33 bus binding
dt-bindings
On Sun, 23 Feb 2025, at 8:15 PM, Jernej Škrabec wrote:
>> +if (mixer->cfg->de_type == sun8i_mixer_de33)
>> +regmap_write(mixer->top_regs, SUN50I_MIXER_GLOBAL_DBUFF,
>> + SUN8I_MIXER_GLOBAL_DBUFF_ENABLE);
>
> This was my mistake. There is no such thing as
>
On Sat, 22 Feb 2025, at 10:30 PM, Jernej Škrabec wrote:
> Dne nedelja, 16. februar 2025 ob 19:36:08 Srednjeevropski standardni
> čas je Ryan Walklin napisal(a):
>> +struct regmap *top_regs;
>> +struct regmap *disp_regs;
>
> Thi
On Sat, 22 Feb 2025, at 10:28 PM, Jernej Škrabec wrote:
> Sorry, completely forgot. YUV420 HDMI code relies on my previous work,
> with which
> Maxime wasn't happy with:
>
> https://lore.kernel.org/linux-sunxi/20230924192604.3262187-1-jernej.skra...@gmail.com/
>
> So unless switching HDMI to br
On Sat, 22 Feb 2025, at 7:57 AM, Jernej Škrabec wrote:
> Hi Ryan,
>
> sorry for very late review, but here we go...
No problem, thanks for the review!
> This patchset actually introduces 3 disticnt features, which should IMO
> be separated
> and thus making reviewing patches easier.
>
> 1. nativ
Like earlier DE versions, the DE33 has a CSC (Color Space Correction)
module. which provides color space conversion between BT2020/BT709, and
dynamic range conversion between SDR/ST2084/HLG.
Add support for the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Tested-by: Philippe
.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun50i_fmt.c | 21 +++--
drivers/gpu/drm/sun4i/sun50i_fmt.h | 1 +
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun50i_fmt.c
b/drivers/gpu/drm/sun4i
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 19
-tree driver.
Add the required clock description struct and compatible string to the
DE2 driver.
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Lowercase hex value
Changelog v2..v3:
- Correct #include for writel()
Changelog v4..v5:
- Whitespace fix
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c
-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Whitespace fixes
- Correct strict mode warnings from checkpatch.pl
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 109
drivers/gpu/drm/sun4i/sun8i_mixer.h | 13 +++-
2 files changed, 105 insertions
engine mixer binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
Changelog v5..v6:
- increase reg maxItems to 3 and add conditional for h616-de33
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a clock binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
er, I haven't
observed any SoC with such feature.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Correct strict mode warnings from checkpatch.pl
Changelog v5..v6:
- convert uint64_t to u64 as suggested by checkpatch.pl
---
drivers/gpu/drm/sun4
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a display engine bus binding for the DE33 and increase reg maxItems
to 3 to accommodate additional register blocks.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v1..v2
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting changes
---
drivers/gpu/drm/sun4i/sun8i_mixer.c
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index baf2d024898a9..db962ccd66964 100644
vi_scaler_disable() function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 3 +--
drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 21 +++--
drivers/gpu/drm/sun4i/sun8i_vi_scaler.h | 2 +-
3 files changed, 13 insertions(+), 13 deletions
From: Jernej Skrabec
Now that YUV formats are available, enable support in the VI scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Changelog v4..v5:
- Add commit description
---
drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 85 +
1 file changed, 58
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
Changelog v1..v2:
- Combine base
From: Jernej Skrabec
The Allwinner DE2 and DE3 display engine mixers are currently identified
by a simple boolean flag. This will not scale to support additional DE
variants.
Convert the boolean flag to an enum.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre
From: Jernej Skrabec
Account for U/V channel subsampling by reducing the dot clock and
resolution with a divider in the DE3 timing controller if a YUV format
is selected.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
--
Changelog v5..v6:
- Update to obtain color format from mixer
From: Jernej Skrabec
Add coefficients and support for YUV formats to the display engine
colorspace and dynamic range correction submodule.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
--
Changelog v6..v7:
- Restore sun8i_csc_get_de3_yuv_table() helper omitted from previous
.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Changelog v5..v6:
- Pass mixer instead of engine now that mixer holds color information.
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c
b
Because the format is stored in the mixer configuration, the formatter
module setup function no longer requires the color format to be passed
separately.
Remove this from the setup function declaration and access the format
via the mixer object.
Signed-off-by: Ryan Walklin
--
Changelog v5..v6
mixer configuration.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Remove trailing whitespace
Changelog v5..v6:
- Move color format and encoding flags to mixer and add struct.
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 54 +++--
drivers
-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 1 +
drivers/gpu/drm/sun4i/sun8i_mixer.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c
b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index 8b41d33baa309
From: Jernej Skrabec
The DE3 display engine supports YUV formats in addition to RGB.
Add an optional format enumeration function to the engine.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sunxi_engine.h | 29
1 file
From: Jernej Skrabec
The display engine formatter (FMT) module is present in the DE3 engine
and provides YUV444 to YUV422/YUV420 conversion, format re-mapping and
color depth conversion.
Add support for this module.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu
From: Jernej Skrabec
drm_universal_plane_init() can already call some callbacks, like
format_mod_supported, during initialization. Because of that, fields
should be initialized beforehand.
Signed-off-by: Jernej Skrabec
Co-developed-by: Ryan Walklin
Signed-off-by: Ryan Walklin
Reviewed-by
-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 89 ++
drivers/gpu/drm/sun4i/sun8i_csc.h | 9 ++-
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 11 +---
3 files changed, 40 insertions(+), 69
h use cases, add
a call to CSC setup function also in UI layer code. For DE2, this will
be a no-op, but it will allow DE3 to output signal in multiple formats.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 8 +---
drivers/gpu/drm/
esn't make any functional change.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
--
Changelog v5..v6:
- Rename format enum from format_type to sun8i_format_type
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 22 +++---
drivers/gpu
drm: sun4i: de33: fmt: add Display Engine 3.3 (DE33) support
Ryan Walklin (6):
drm: sun4i: de3: refactor YUV formatter module setup
dt-bindings: allwinner: add H616 DE33 bus binding
dt-bindings: allwinner: add H616 DE33 clock binding
dt-bindings: allwinner: add H616 DE33 mixer binding
clk
On Sun, 16 Feb 2025, at 9:50 PM, Ryan Walklin wrote:
> From: Jernej Skrabec
>
> Add coefficients and support for YUV formats to the display engine
> colorspace and dynamic range correction submodule.
>
> Signed-off-by: Jernej Skrabec
> Signed-off-by: Ryan Walklin
> -
conditional based on the DE type.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.h | 6 ++
1 file changed, 6 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.h
b/drivers/gpu/drm/sun4i/sun8i_mixer.h
index baf2d024898a9..db962ccd66964 100644
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a clock binding for the DE33.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v2..v3:
- Separate content into three patches for three separate subsystems
vi_scaler_disable() function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 3 +--
drivers/gpu/drm/sun4i/sun8i_vi_scaler.c | 21 +++--
drivers/gpu/drm/sun4i/sun8i_vi_scaler.h | 2 +-
3 files changed, 13 insertions(+), 13 deletions
-tree driver.
Add the required clock description struct and compatible string to the
DE2 driver.
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Lowercase hex value
Changelog v2..v3:
- Correct #include for writel()
Changelog v4..v5:
- Whitespace fix
---
drivers/clk/sunxi-ng/ccu-sun8i-de2.c
er, I haven't
observed any SoC with such feature.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Correct strict mode warnings from checkpatch.pl
Changelog v5..v6:
- convert uint64_t to u64 as suggested by checkpatch.pl
---
drivers/gpu/drm/sun4
From: Jernej Skrabec
Use the new blender register lookup function where required in the layer
commit and update code.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v2..v3:
- Refactor for 6.11 layer init/modesetting changes
---
drivers/gpu/drm/sun4i/sun8i_mixer.c
The Allwinner H616 and variants have a new display engine revision
(DE33).
Add a display engine bus binding for the DE33 and increase reg maxItems
to 3 to accommodate additional register blocks.
Signed-off-by: Ryan Walklin
Acked-by: Conor Dooley
Reviewed-by: Chen-Yu Tsai
---
Changelog v1..v2
-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Whitespace fixes
- Correct strict mode warnings from checkpatch.pl
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 109
drivers/gpu/drm/sun4i/sun8i_mixer.h | 13 +++-
2 files changed, 105 insertions
From: Jernej Skrabec
Now that the DE variant can be selected by enum, take the oppportunity
to factor out some common initialisation code to a separate function.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
Changelog v1..v2:
- Combine base
-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 89 ++
drivers/gpu/drm/sun4i/sun8i_csc.h | 9 ++-
drivers/gpu/drm/sun4i/sun8i_vi_layer.c | 11 +---
3 files changed, 40 insertions(+), 69
mixer configuration.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
Changelog v4..v5:
- Remove trailing whitespace
Changelog v5..v6:
- Move color format and encoding flags to mixer and add struct.
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 54 +++--
drivers
h use cases, add
a call to CSC setup function also in UI layer code. For DE2, this will
be a no-op, but it will allow DE3 to output signal in multiple formats.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 8 +---
drivers/gpu/drm/
From: Jernej Skrabec
Add coefficients and support for YUV formats to the display engine
colorspace and dynamic range correction submodule.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 151 +-
1 file changed, 149
.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Changelog v5..v6:
- Pass mixer instead of engine now that mixer holds color information.
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 6 --
1 file changed, 4 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun8i_csc.c
b
Because the format is stored in the mixer configuration, the formatter
module setup function no longer requires the color format to be passed
separately.
Remove this from the setup function declaration and access the format
via the mixer object.
Signed-off-by: Ryan Walklin
--
Changelog v5..v6
From: Jernej Skrabec
Account for U/V channel subsampling by reducing the dot clock and
resolution with a divider in the DE3 timing controller if a YUV format
is selected.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
--
Changelog v5..v6:
- Update to obtain color format from mixer
-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_mixer.c | 1 +
drivers/gpu/drm/sun4i/sun8i_mixer.h | 2 ++
2 files changed, 3 insertions(+)
diff --git a/drivers/gpu/drm/sun4i/sun8i_mixer.c
b/drivers/gpu/drm/sun4i/sun8i_mixer.c
index 8b41d33baa309
esn't make any functional change.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Reviewed-by: Andre Przywara
--
Changelog v5..v6:
- Rename format enum from format_type to sun8i_format_type
---
drivers/gpu/drm/sun4i/sun8i_csc.c | 22 +++---
drivers/gpu
reference function for layer
configuration
drm: sun4i: de3: Implement AFBC support
drm: sun4i: de33: mixer: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: vi_scaler: add Display Engine 3.3 (DE33) support
drm: sun4i: de33: fmt: add Display Engine 3.3 (DE33) support
Ryan Walklin (6
Like earlier DE versions, the DE33 has a CSC (Color Space Correction)
module. which provides color space conversion between BT2020/BT709, and
dynamic range conversion between SDR/ST2084/HLG.
Add support for the DE33.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
Tested-by: Philippe
.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun50i_fmt.c | 21 +++--
drivers/gpu/drm/sun4i/sun50i_fmt.h | 1 +
2 files changed, 20 insertions(+), 2 deletions(-)
diff --git a/drivers/gpu/drm/sun4i/sun50i_fmt.c
b/drivers/gpu/drm/sun4i
From: Jernej Skrabec
The vi_scaler appears to be used in preference to the ui_scaler module
for hardware video scaling in the DE33.
Enable support for this scaler.
Signed-off-by: Jernej Skrabec
Signed-off-by: Ryan Walklin
---
drivers/gpu/drm/sun4i/sun8i_ui_layer.c | 19
1 - 100 of 291 matches
Mail list logo