Re: [PATCH v4 1/4] drm/rockchip: vop: limit maximium resolution to hardware capabilities

2023-02-07 Thread Dan Johansen
.feature = VOP_FEATURE_INTERNAL_RGB,
+   .max_xres = 2048,
+   .max_yres = 1536,
  };
  
  static const struct vop_scl_extension rk3288_win_full_scl_ext = {

@@ -732,6 +744,13 @@ static const struct vop_data rk3288_vop = {
.win = rk3288_vop_win_data,
.win_size = ARRAY_SIZE(rk3288_vop_win_data),
.lut_size = 1024,
+   /*
+* This is the maximum resolution for the VOPB, the VOPL can only do
+* 2560x1600, but we can't distinguish them as they have the same
+* compatible.
+*/
+   .max_xres = 3840,
+   .max_yres = 2160,
  };
  
  static const int rk3368_vop_intrs[] = {

@@ -833,6 +852,8 @@ static const struct vop_data rk3368_vop = {
.misc = &rk3368_misc,
.win = rk3368_vop_win_data,
.win_size = ARRAY_SIZE(rk3368_vop_win_data),
+   .max_xres = 4096,
+   .max_yres = 2160,
  };
  
  static const struct vop_intr rk3366_vop_intr = {

@@ -854,6 +875,8 @@ static const struct vop_data rk3366_vop = {
.misc = &rk3368_misc,
.win = rk3368_vop_win_data,
.win_size = ARRAY_SIZE(rk3368_vop_win_data),
+   .max_xres = 4096,
+   .max_yres = 2160,
  };
  
  static const struct vop_output rk3399_output = {

@@ -984,6 +1007,8 @@ static const struct vop_data rk3399_vop_big = {
.win_size = ARRAY_SIZE(rk3399_vop_win_data),
.win_yuv2yuv = rk3399_vop_big_win_yuv2yuv_data,
.lut_size = 1024,
+   .max_xres = 4096,
+   .max_yres = 2160,
  };
  
  static const struct vop_win_data rk3399_vop_lit_win_data[] = {

@@ -1010,6 +1035,8 @@ static const struct vop_data rk3399_vop_lit = {
.win_size = ARRAY_SIZE(rk3399_vop_lit_win_data),
.win_yuv2yuv = rk3399_vop_lit_win_yuv2yuv_data,
.lut_size = 256,
+   .max_xres = 2560,
+   .max_yres = 1600,
  };
  
  static const struct vop_win_data rk3228_vop_win_data[] = {

@@ -1029,6 +1056,8 @@ static const struct vop_data rk3228_vop = {
.misc = &rk3368_misc,
.win = rk3228_vop_win_data,
.win_size = ARRAY_SIZE(rk3228_vop_win_data),
+   .max_xres = 4096,
+   .max_yres = 2160,
  };
  
  static const struct vop_modeset rk3328_modeset = {

@@ -1100,6 +1129,8 @@ static const struct vop_data rk3328_vop = {
.misc = &rk3328_misc,
.win = rk3328_vop_win_data,
.win_size = ARRAY_SIZE(rk3328_vop_win_data),
+   .max_xres = 4096,
+   .max_yres = 2160,
  };
  
  static const struct of_device_id vop_driver_dt_match[] = {

--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH v3 0/3] drm/rockchip: dw_hdmi: Add 4k@30 support

2023-01-18 Thread Dan Johansen

Tested the whole series on my Rock 3A, with my 1440p monitor. Works wonders!

Thank you.

Tested-by: Dan Johansen 

Den 18.01.2023 kl. 14.22 skrev Sascha Hauer:

It's been some time since I last sent this series. This version fixes
a regression Dan Johansen reported. The reason turned out to be simple,
I used the YUV420 register values instead of the RGB ones.

I realized that we cannot achieve several modes offered by my monitor
as these require pixelclocks that are slightly below the standard
pixelclocks. As these are lower than the standard clock rates the PLL
driver offers the clk driver falls back to a way lower frequency
which results in something the monitor can't display, so this series
now contains a patch to discard these unachievable modes.

Sascha

Changes since v2:
- Use correct register values for mpll_cfg
- Add patch to discard modes we cannot achieve

Changes since v1:
- Allow non standard clock rates only on Synopsys phy as suggested by
   Robin Murphy

Sascha Hauer (3):
   drm/rockchip: dw_hdmi: relax mode_valid hook
   drm/rockchip: dw_hdmi: Add support for 4k@30 resolution
   drm/rockchip: dw_hdmi: discard modes with unachievable pixelclocks

  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 40 -
  1 file changed, 32 insertions(+), 8 deletions(-)


--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH v2 0/2] drm/rockchip: dw_hdmi: Add 4k@30 support

2022-10-18 Thread Dan Johansen



Den 05.10.2022 kl. 13.10 skrev Sascha Hauer:

On Wed, Oct 05, 2022 at 12:51:57PM +0200, Dan Johansen wrote:

Den 05.10.2022 kl. 12.06 skrev Sascha Hauer:

On Wed, Sep 28, 2022 at 10:39:27AM +0200, Dan Johansen wrote:

Den 28.09.2022 kl. 10.37 skrev Sascha Hauer:

On Tue, Sep 27, 2022 at 07:53:54PM +0200, Dan Johansen wrote:

Den 26.09.2022 kl. 12.30 skrev Michael Riesch:

Hi Sascha,

On 9/26/22 10:04, Sascha Hauer wrote:

This series adds support for 4k@30 to the rockchip HDMI controller. This
has been tested on a rk3568 rock3a board. It should be possible to add
4k@60 support the same way, but it doesn't work for me, so let's add
4k@30 as a first step.

 Sascha

Changes since v1:
- Allow non standard clock rates only on Synopsys phy as suggested by
  Robin Murphy

Sascha Hauer (2):
  drm/rockchip: dw_hdmi: relax mode_valid hook
  drm/rockchip: dw_hdmi: Add support for 4k@30 resolution

 drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 34 -
 1 file changed, 27 insertions(+), 7 deletions(-)

Thanks for the v2! On a RK3568 EVB1 with a HP 27f 4k monitor

Tested-by: Michael Riesch 

Sadly this still doesn't give my display out on my 2k monitor. Not even just
1080p picture like the old current implementation does.

By "like the old current implementation" you mean that this patchset
introduces a regression for you?

Yes. What currently in the kernel at least shows as 1080p on my 2K monitor,
while this patchset turns off the screen.

Which SoC are you testing this on? I assume RK3568, right? Which patch
introduces that regression, the first or the second one?

I tested on the Odroid M, which is rk3568.
I have only applied them both, as I was under the impression that both are
needed for the 4k support.

Yes, both I needed, but I am interested which one introduces the
regression as I can't reproduce it.


Okay. Here's the result of some more tests of mine.

Patch 1 by itself does not introduce any regressions on either 1080p or 
2k monitors.


Patch 2 by itself does not introduce any regressions on either 1080p or 
2k monitors.


Applying both Patch 1 and 2, _does_ introduce the regression on my 2k 
monitor, but _not_ on my 1080p monitor.


The 2k monitor is a Dell P2418D with up to 2560x1440 resolution.

The 1080p monitor is a Sony Bravia 46" TV with up to 1920x1080 resolution.



Sascha


--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH v2 0/2] drm/rockchip: dw_hdmi: Add 4k@30 support

2022-10-05 Thread Dan Johansen



Den 05.10.2022 kl. 12.06 skrev Sascha Hauer:

On Wed, Sep 28, 2022 at 10:39:27AM +0200, Dan Johansen wrote:

Den 28.09.2022 kl. 10.37 skrev Sascha Hauer:

On Tue, Sep 27, 2022 at 07:53:54PM +0200, Dan Johansen wrote:

Den 26.09.2022 kl. 12.30 skrev Michael Riesch:

Hi Sascha,

On 9/26/22 10:04, Sascha Hauer wrote:

This series adds support for 4k@30 to the rockchip HDMI controller. This
has been tested on a rk3568 rock3a board. It should be possible to add
4k@60 support the same way, but it doesn't work for me, so let's add
4k@30 as a first step.

 Sascha

Changes since v1:
- Allow non standard clock rates only on Synopsys phy as suggested by
 Robin Murphy

Sascha Hauer (2):
 drm/rockchip: dw_hdmi: relax mode_valid hook
 drm/rockchip: dw_hdmi: Add support for 4k@30 resolution

drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 34 -
1 file changed, 27 insertions(+), 7 deletions(-)

Thanks for the v2! On a RK3568 EVB1 with a HP 27f 4k monitor

Tested-by: Michael Riesch 

Sadly this still doesn't give my display out on my 2k monitor. Not even just
1080p picture like the old current implementation does.

By "like the old current implementation" you mean that this patchset
introduces a regression for you?

Yes. What currently in the kernel at least shows as 1080p on my 2K monitor,
while this patchset turns off the screen.

Which SoC are you testing this on? I assume RK3568, right? Which patch
introduces that regression, the first or the second one?

I tested on the Odroid M, which is rk3568.
I have only applied them both, as I was under the impression that both 
are needed for the 4k support.


Sascha


--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH v2 0/2] drm/rockchip: dw_hdmi: Add 4k@30 support

2022-09-28 Thread Dan Johansen



Den 28.09.2022 kl. 10.37 skrev Sascha Hauer:

On Tue, Sep 27, 2022 at 07:53:54PM +0200, Dan Johansen wrote:

Den 26.09.2022 kl. 12.30 skrev Michael Riesch:

Hi Sascha,

On 9/26/22 10:04, Sascha Hauer wrote:

This series adds support for 4k@30 to the rockchip HDMI controller. This
has been tested on a rk3568 rock3a board. It should be possible to add
4k@60 support the same way, but it doesn't work for me, so let's add
4k@30 as a first step.

 Sascha

Changes since v1:
- Allow non standard clock rates only on Synopsys phy as suggested by
Robin Murphy

Sascha Hauer (2):
drm/rockchip: dw_hdmi: relax mode_valid hook
drm/rockchip: dw_hdmi: Add support for 4k@30 resolution

   drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 34 -
   1 file changed, 27 insertions(+), 7 deletions(-)

Thanks for the v2! On a RK3568 EVB1 with a HP 27f 4k monitor

Tested-by: Michael Riesch 

Sadly this still doesn't give my display out on my 2k monitor. Not even just
1080p picture like the old current implementation does.

By "like the old current implementation" you mean that this patchset
introduces a regression for you?
Yes. What currently in the kernel at least shows as 1080p on my 2K 
monitor, while this patchset turns off the screen.


Sascha


--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH v2 0/2] drm/rockchip: dw_hdmi: Add 4k@30 support

2022-09-27 Thread Dan Johansen



Den 26.09.2022 kl. 12.30 skrev Michael Riesch:

Hi Sascha,

On 9/26/22 10:04, Sascha Hauer wrote:

This series adds support for 4k@30 to the rockchip HDMI controller. This
has been tested on a rk3568 rock3a board. It should be possible to add
4k@60 support the same way, but it doesn't work for me, so let's add
4k@30 as a first step.

 Sascha

Changes since v1:
- Allow non standard clock rates only on Synopsys phy as suggested by
   Robin Murphy

Sascha Hauer (2):
   drm/rockchip: dw_hdmi: relax mode_valid hook
   drm/rockchip: dw_hdmi: Add support for 4k@30 resolution

  drivers/gpu/drm/rockchip/dw_hdmi-rockchip.c | 34 -
  1 file changed, 27 insertions(+), 7 deletions(-)

Thanks for the v2! On a RK3568 EVB1 with a HP 27f 4k monitor

Tested-by: Michael Riesch 


Sadly this still doesn't give my display out on my 2k monitor. Not even 
just 1080p picture like the old current implementation does.




Best regards,
Michael

___
Linux-rockchip mailing list
linux-rockc...@lists.infradead.org
http://lists.infradead.org/mailman/listinfo/linux-rockchip

--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>


Re: [PATCH] drm/panel:Adjust sync values for Feixin K101-IM2BYL02 panel

2021-10-17 Thread Dan Johansen

Thanks for applying.

Den 17.10.2021 kl. 19.24 skrev Sam Ravnborg:

Hi Dan,

On Wed, Aug 18, 2021 at 11:48:18PM +0200, Dan Johansen wrote:

This adjusts sync values according to the datasheet

Fixes:  1c243751c095bb95e2795f076ea7a0bcdd60a93a ("drm/panel: ilitek-ili9881c: add 
support for Feixin K101-IM2BYL02 panel")
Co-developed-by: Marius Gripsgard
Signed-off-by: Dan Johansen

Sorry for not picking this up sooner - I have been away for a while.

The patch is now applied to drm-misc-fixes and will show up in the
upstream kernel in 1-2 week from now.
I updated the subject and the fixes tag while applying.

Thanks.


The Co-developed-by: is supposed to be paired with a Signed-off-by:
by the same person. Something to do right next time.

Didn't know that. Thanks, will remember for next time!


Sam


---
  drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 12 ++--
  1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c 
b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
index 0145129d7c66..534dd7414d42 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
@@ -590,14 +590,14 @@ static const struct drm_display_mode 
k101_im2byl02_default_mode = {
.clock  = 69700,
  
  	.hdisplay	= 800,

-   .hsync_start= 800 + 6,
-   .hsync_end  = 800 + 6 + 15,
-   .htotal = 800 + 6 + 15 + 16,
+   .hsync_start= 800 + 52,
+   .hsync_end  = 800 + 52 + 8,
+   .htotal = 800 + 52 + 8 + 48,
  
  	.vdisplay	= 1280,

-   .vsync_start= 1280 + 8,
-   .vsync_end  = 1280 + 8 + 48,
-   .vtotal = 1280 + 8 + 48 + 52,
+   .vsync_start= 1280 + 16,
+   .vsync_end  = 1280 + 16 + 6,
+   .vtotal = 1280 + 16 + 6 + 15,
  
  	.width_mm	= 135,

.height_mm  = 217,
--
2.32.0

--
Kind regards
*Dan Johansen*
Project lead of the *Manjaro ARM* project
Manjaro-ARM <https://manjaro.org>

[PATCH] drm/panel:Adjust sync values for Feixin K101-IM2BYL02 panel

2021-08-19 Thread Dan Johansen
This adjusts sync values according to the datasheet

Fixes:  1c243751c095bb95e2795f076ea7a0bcdd60a93a ("drm/panel: ilitek-ili9881c: 
add support for Feixin K101-IM2BYL02 panel")
Co-developed-by: Marius Gripsgard 
Signed-off-by: Dan Johansen 
---
 drivers/gpu/drm/panel/panel-ilitek-ili9881c.c | 12 ++--
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c 
b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
index 0145129d7c66..534dd7414d42 100644
--- a/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
+++ b/drivers/gpu/drm/panel/panel-ilitek-ili9881c.c
@@ -590,14 +590,14 @@ static const struct drm_display_mode 
k101_im2byl02_default_mode = {
.clock  = 69700,
 
.hdisplay   = 800,
-   .hsync_start= 800 + 6,
-   .hsync_end  = 800 + 6 + 15,
-   .htotal = 800 + 6 + 15 + 16,
+   .hsync_start= 800 + 52,
+   .hsync_end  = 800 + 52 + 8,
+   .htotal = 800 + 52 + 8 + 48,
 
.vdisplay   = 1280,
-   .vsync_start= 1280 + 8,
-   .vsync_end  = 1280 + 8 + 48,
-   .vtotal = 1280 + 8 + 48 + 52,
+   .vsync_start= 1280 + 16,
+   .vsync_end  = 1280 + 16 + 6,
+   .vtotal = 1280 + 16 + 6 + 15,
 
.width_mm   = 135,
.height_mm  = 217,
-- 
2.32.0