2020-08-26 05:24:54

by Kai-Heng Feng

[permalink] [raw]
Subject: [PATCH] drm/i915/lspcon: Limits to 8 bpc for RGB/YCbCr444

LSPCON only supports 8 bpc for RGB/YCbCr444.

Set the correct bpp otherwise it renders blank screen.

Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2195
Signed-off-by: Kai-Heng Feng <[email protected]>
---
drivers/gpu/drm/i915/display/intel_lspcon.c | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
index b781bf469644..c7a44fcaade8 100644
--- a/drivers/gpu/drm/i915/display/intel_lspcon.c
+++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
@@ -196,7 +196,8 @@ void lspcon_ycbcr420_config(struct drm_connector *connector,
crtc_state->port_clock /= 2;
crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
crtc_state->lspcon_downsampling = true;
- }
+ } else
+ crtc_state->pipe_bpp = 24;
}

static bool lspcon_probe(struct intel_lspcon *lspcon)
--
2.17.1


2020-08-26 16:27:23

by Ville Syrjälä

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/lspcon: Limits to 8 bpc for RGB/YCbCr444

On Wed, Aug 26, 2020 at 01:21:15PM +0800, Kai-Heng Feng wrote:
> LSPCON only supports 8 bpc for RGB/YCbCr444.
>
> Set the correct bpp otherwise it renders blank screen.

Hmm. Does
git://github.com/vsyrjala/linux.git dp_downstream_ports_5
work?

Actually better make that dp_downstream_ports_5^^^^^^^^^^^ aka.
54d846ce62a2 ("drm/i915: Do YCbCr 444->420 conversion via DP protocol
converters") to avoid the experiments and hacks I have sitting on top.

>
> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2195
> Signed-off-by: Kai-Heng Feng <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_lspcon.c | 3 ++-
> 1 file changed, 2 insertions(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
> index b781bf469644..c7a44fcaade8 100644
> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> @@ -196,7 +196,8 @@ void lspcon_ycbcr420_config(struct drm_connector *connector,
> crtc_state->port_clock /= 2;
> crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
> crtc_state->lspcon_downsampling = true;
> - }
> + } else
> + crtc_state->pipe_bpp = 24;
> }
>
> static bool lspcon_probe(struct intel_lspcon *lspcon)
> --
> 2.17.1

--
Ville Syrj?l?
Intel

2020-08-27 05:07:30

by Kai-Heng Feng

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/lspcon: Limits to 8 bpc for RGB/YCbCr444

Hi Ville,

> On Aug 27, 2020, at 12:24 AM, Ville Syrjälä <[email protected]> wrote:
>
> On Wed, Aug 26, 2020 at 01:21:15PM +0800, Kai-Heng Feng wrote:
>> LSPCON only supports 8 bpc for RGB/YCbCr444.
>>
>> Set the correct bpp otherwise it renders blank screen.
>
> Hmm. Does
> git://github.com/vsyrjala/linux.git dp_downstream_ports_5
> work?
>
> Actually better make that dp_downstream_ports_5^^^^^^^^^^^ aka.
> 54d846ce62a2 ("drm/i915: Do YCbCr 444->420 conversion via DP protocol
> converters") to avoid the experiments and hacks I have sitting on top.

Can you please rebase it to mainline master or drm-tip?

I am getting errors on the branch:

DESCEND objtool
CALL scripts/atomic/check-atomics.sh
CALL scripts/checksyscalls.sh
CHK include/generated/compile.h
Building modules, stage 2.
MODPOST 166 modules
LD arch/x86/boot/compressed/vmlinux
ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple definition of `__force_order'; arch/x86/boot/compressed/kaslr_64.o:(.bss+0x0): first defined here
ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
ld: warning: creating DT_TEXTREL in a PIE
make[2]: *** [arch/x86/boot/compressed/Makefile:119: arch/x86/boot/compressed/vmlinux] Error 1
make[1]: *** [arch/x86/boot/Makefile:113: arch/x86/boot/compressed/vmlinux] Error 2
make: *** [arch/x86/Makefile:284: bzImage] Error 2
make: *** Waiting for unfinished jobs....

Kai-Heng

>
>>
>> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2195
>> Signed-off-by: Kai-Heng Feng <[email protected]>
>> ---
>> drivers/gpu/drm/i915/display/intel_lspcon.c | 3 ++-
>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>
>> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
>> index b781bf469644..c7a44fcaade8 100644
>> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
>> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
>> @@ -196,7 +196,8 @@ void lspcon_ycbcr420_config(struct drm_connector *connector,
>> crtc_state->port_clock /= 2;
>> crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
>> crtc_state->lspcon_downsampling = true;
>> - }
>> + } else
>> + crtc_state->pipe_bpp = 24;
>> }
>>
>> static bool lspcon_probe(struct intel_lspcon *lspcon)
>> --
>> 2.17.1
>
> --
> Ville Syrjälä
> Intel

2020-08-31 22:49:16

by Ville Syrjälä

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/lspcon: Limits to 8 bpc for RGB/YCbCr444

On Thu, Aug 27, 2020 at 01:04:54PM +0800, Kai Heng Feng wrote:
> Hi Ville,
>
> > On Aug 27, 2020, at 12:24 AM, Ville Syrj?l? <[email protected]> wrote:
> >
> > On Wed, Aug 26, 2020 at 01:21:15PM +0800, Kai-Heng Feng wrote:
> >> LSPCON only supports 8 bpc for RGB/YCbCr444.
> >>
> >> Set the correct bpp otherwise it renders blank screen.
> >
> > Hmm. Does
> > git://github.com/vsyrjala/linux.git dp_downstream_ports_5
> > work?
> >
> > Actually better make that dp_downstream_ports_5^^^^^^^^^^^ aka.
> > 54d846ce62a2 ("drm/i915: Do YCbCr 444->420 conversion via DP protocol
> > converters") to avoid the experiments and hacks I have sitting on top.
>
> Can you please rebase it to mainline master or drm-tip?

git://github.com/vsyrjala/linux.git dp_downstream_ports_6

I threw out the hacks/experimental stuff.

>
> I am getting errors on the branch:
>
> DESCEND objtool
> CALL scripts/atomic/check-atomics.sh
> CALL scripts/checksyscalls.sh
> CHK include/generated/compile.h
> Building modules, stage 2.
> MODPOST 166 modules
> LD arch/x86/boot/compressed/vmlinux
> ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple definition of `__force_order'; arch/x86/boot/compressed/kaslr_64.o:(.bss+0x0): first defined here
> ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
> ld: warning: creating DT_TEXTREL in a PIE
> make[2]: *** [arch/x86/boot/compressed/Makefile:119: arch/x86/boot/compressed/vmlinux] Error 1
> make[1]: *** [arch/x86/boot/Makefile:113: arch/x86/boot/compressed/vmlinux] Error 2
> make: *** [arch/x86/Makefile:284: bzImage] Error 2
> make: *** Waiting for unfinished jobs....
>
> Kai-Heng
>
> >
> >>
> >> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2195
> >> Signed-off-by: Kai-Heng Feng <[email protected]>
> >> ---
> >> drivers/gpu/drm/i915/display/intel_lspcon.c | 3 ++-
> >> 1 file changed, 2 insertions(+), 1 deletion(-)
> >>
> >> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
> >> index b781bf469644..c7a44fcaade8 100644
> >> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
> >> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
> >> @@ -196,7 +196,8 @@ void lspcon_ycbcr420_config(struct drm_connector *connector,
> >> crtc_state->port_clock /= 2;
> >> crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
> >> crtc_state->lspcon_downsampling = true;
> >> - }
> >> + } else
> >> + crtc_state->pipe_bpp = 24;
> >> }
> >>
> >> static bool lspcon_probe(struct intel_lspcon *lspcon)
> >> --
> >> 2.17.1
> >
> > --
> > Ville Syrj?l?
> > Intel

--
Ville Syrj?l?
Intel

2020-09-02 05:27:27

by Kai-Heng Feng

[permalink] [raw]
Subject: Re: [PATCH] drm/i915/lspcon: Limits to 8 bpc for RGB/YCbCr444



> On Sep 1, 2020, at 03:48, Ville Syrjälä <[email protected]> wrote:
>
> On Thu, Aug 27, 2020 at 01:04:54PM +0800, Kai Heng Feng wrote:
>> Hi Ville,
>>
>>> On Aug 27, 2020, at 12:24 AM, Ville Syrjälä <[email protected]> wrote:
>>>
>>> On Wed, Aug 26, 2020 at 01:21:15PM +0800, Kai-Heng Feng wrote:
>>>> LSPCON only supports 8 bpc for RGB/YCbCr444.
>>>>
>>>> Set the correct bpp otherwise it renders blank screen.
>>>
>>> Hmm. Does
>>> git://github.com/vsyrjala/linux.git dp_downstream_ports_5
>>> work?
>>>
>>> Actually better make that dp_downstream_ports_5^^^^^^^^^^^ aka.
>>> 54d846ce62a2 ("drm/i915: Do YCbCr 444->420 conversion via DP protocol
>>> converters") to avoid the experiments and hacks I have sitting on top.
>>
>> Can you please rebase it to mainline master or drm-tip?
>
> git://github.com/vsyrjala/linux.git dp_downstream_ports_6

Yes this solves the issue. Thanks a lot!

Any timeline this will get merged?

Kai-Heng

>
> I threw out the hacks/experimental stuff.
>
>>
>> I am getting errors on the branch:
>>
>> DESCEND objtool
>> CALL scripts/atomic/check-atomics.sh
>> CALL scripts/checksyscalls.sh
>> CHK include/generated/compile.h
>> Building modules, stage 2.
>> MODPOST 166 modules
>> LD arch/x86/boot/compressed/vmlinux
>> ld: arch/x86/boot/compressed/pgtable_64.o:(.bss+0x0): multiple definition of `__force_order'; arch/x86/boot/compressed/kaslr_64.o:(.bss+0x0): first defined here
>> ld: arch/x86/boot/compressed/head_64.o: warning: relocation in read-only section `.head.text'
>> ld: warning: creating DT_TEXTREL in a PIE
>> make[2]: *** [arch/x86/boot/compressed/Makefile:119: arch/x86/boot/compressed/vmlinux] Error 1
>> make[1]: *** [arch/x86/boot/Makefile:113: arch/x86/boot/compressed/vmlinux] Error 2
>> make: *** [arch/x86/Makefile:284: bzImage] Error 2
>> make: *** Waiting for unfinished jobs....
>>
>> Kai-Heng
>>
>>>
>>>>
>>>> Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/2195
>>>> Signed-off-by: Kai-Heng Feng <[email protected]>
>>>> ---
>>>> drivers/gpu/drm/i915/display/intel_lspcon.c | 3 ++-
>>>> 1 file changed, 2 insertions(+), 1 deletion(-)
>>>>
>>>> diff --git a/drivers/gpu/drm/i915/display/intel_lspcon.c b/drivers/gpu/drm/i915/display/intel_lspcon.c
>>>> index b781bf469644..c7a44fcaade8 100644
>>>> --- a/drivers/gpu/drm/i915/display/intel_lspcon.c
>>>> +++ b/drivers/gpu/drm/i915/display/intel_lspcon.c
>>>> @@ -196,7 +196,8 @@ void lspcon_ycbcr420_config(struct drm_connector *connector,
>>>> crtc_state->port_clock /= 2;
>>>> crtc_state->output_format = INTEL_OUTPUT_FORMAT_YCBCR444;
>>>> crtc_state->lspcon_downsampling = true;
>>>> - }
>>>> + } else
>>>> + crtc_state->pipe_bpp = 24;
>>>> }
>>>>
>>>> static bool lspcon_probe(struct intel_lspcon *lspcon)
>>>> --
>>>> 2.17.1
>>>
>>> --
>>> Ville Syrjälä
>>> Intel
>
> --
> Ville Syrjälä
> Intel