All of lore.kernel.org
 help / color / mirror / Atom feed
From: "James A. MacInnes" <james.a.macinnes@gmail.com>
To: Marijn Suijten <marijn.suijten@somainline.org>
Cc: linux-arm-msm@vger.kernel.org, linux-kernel@vger.kernel.org,
	robdclark@gmail.com, quic_abhinavk@quicinc.com,
	dmitry.baryshkov@linaro.org, sean@poorly.run, airlied@gmail.com,
	simona@ffwll.ch
Subject: Re: [PATCH 2/2] drm/msm/disp: Correct porch timing for SDM845
Date: Wed, 12 Feb 2025 08:23:03 -0800	[thread overview]
Message-ID: <20250212082303.7c37f8fc@jamesmacinnes-VirtualBox> (raw)
In-Reply-To: <v4lpt45c7miwt45ld4sfinixnpje6tb73dhqmahl6kin4i7wyj@6ss563kvk63v>

On Wed, 12 Feb 2025 11:13:24 +0100
Marijn Suijten <marijn.suijten@somainline.org> wrote:

> On 2025-02-11 19:42:25, James A. MacInnes wrote:
> > Type-C DisplayPort inop due to incorrect settings.
> > 
> > SDM845 (DPU 4.0) lacks wide_bus support; porch shift removed.
> 
> Same comment on "inop", elaborating the meaning of "incorrect
> settings" and describing relevance to DPU 4.0 from patch 1/2.
> 

Again, happy to use more words.

> > 
> > Fixes: c943b4948b58 ("drm/msm/dp: add displayPort driver support")
> 
> This commit came long before wide bus support, are you sure this is
> the right Fixes tag?
> 

Yes, I went back to the Android 4.9 driver (that was working) and found
that the porch shift was not there. After experimenting with removing
the porch shift code, I had fully working video. As the SDM845 is the
only chip that doesn't use wide_bus, the pair are not related, but each
one contributes to no/poor video output.

> > 
> 
> Drop empty line between tags.
> 
> > Signed-off-by: James A. MacInnes <james.a.macinnes@gmail.com>
> > ---
> >  drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c | 8 ++++----
> >  1 file changed, 4 insertions(+), 4 deletions(-)
> > 
> > diff --git a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c
> > b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c index
> > abd6600046cb..3e0fef0955ce 100644 ---
> > a/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c +++
> > b/drivers/gpu/drm/msm/disp/dpu1/dpu_encoder_phys_vid.c @@ -94,17
> > +94,17 @@ static void drm_mode_to_intf_timing_params(
> > timing->vsync_polarity = 0; }
> >  
> > +	timing->wide_bus_en =
> > dpu_encoder_is_widebus_enabled(phys_enc->parent);
> > +	timing->compression_en =
> > dpu_encoder_is_dsc_enabled(phys_enc->parent); +
> >  	/* for DP/EDP, Shift timings to align it to bottom right */
> > -	if (phys_enc->hw_intf->cap->type == INTF_DP) {
> > +	if (phys_enc->hw_intf->cap->type == INTF_DP &&
> > timing->wide_bus_en) {
> 
> This code existed long before widebus: are you sure this is correct?
> 
> Note that an identical `if` condtion exists right below, under the
> "for DP, divide the horizonal parameters by 2 when widebus is
> enabled" comment.  If this "Shift timings to align it to bottom
> right" should really only happen when widebus is enabled, move the
> code into that instead.
> 
> - Marijn
> 

Happy to condense it. I left it in two sections for clear review at
this point. As stated above, I reused the wide_bus parameter as the
SDM845 appears to be the only affected chip.

> >  		timing->h_back_porch += timing->h_front_porch;
> >  		timing->h_front_porch = 0;
> >  		timing->v_back_porch += timing->v_front_porch;
> >  		timing->v_front_porch = 0;
> >  	}
> >  
> > -	timing->wide_bus_en =
> > dpu_encoder_is_widebus_enabled(phys_enc->parent);
> > -	timing->compression_en =
> > dpu_encoder_is_dsc_enabled(phys_enc->parent); -
> >  	/*
> >  	 * for DP, divide the horizonal parameters by 2 when
> >  	 * widebus is enabled
> > -- 
> > 2.43.0
> > 


  reply	other threads:[~2025-02-12 16:23 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2025-02-12  3:42 [PATCH 0/2] drm/msm/dp: Fix Type-C Timing James A. MacInnes
2025-02-12  3:42 ` [PATCH 1/2] drm/msm/dp: Disable wide bus support for SDM845 James A. MacInnes
2025-02-12 10:03   ` Marijn Suijten
2025-02-12 16:16     ` James A. MacInnes
2025-02-12 17:22       ` Marijn Suijten
2025-02-12  3:42 ` [PATCH 2/2] drm/msm/disp: Correct porch timing " James A. MacInnes
2025-02-12 10:13   ` Marijn Suijten
2025-02-12 16:23     ` James A. MacInnes [this message]
2025-02-12 17:15       ` Marijn Suijten
2025-02-12 19:56         ` James A. MacInnes
2025-02-12 11:20 ` [PATCH 0/2] drm/msm/dp: Fix Type-C Timing Dmitry Baryshkov
2025-02-12 16:34   ` James A. MacInnes
2025-02-12 17:24     ` Marijn Suijten

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20250212082303.7c37f8fc@jamesmacinnes-VirtualBox \
    --to=james.a.macinnes@gmail.com \
    --cc=airlied@gmail.com \
    --cc=dmitry.baryshkov@linaro.org \
    --cc=linux-arm-msm@vger.kernel.org \
    --cc=linux-kernel@vger.kernel.org \
    --cc=marijn.suijten@somainline.org \
    --cc=quic_abhinavk@quicinc.com \
    --cc=robdclark@gmail.com \
    --cc=sean@poorly.run \
    --cc=simona@ffwll.ch \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.