Re: [PATCH] drm/i915/display: Return correct err code for bpc < 0

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Tue, Apr 11, 2023 at 10:42 AM Ville Syrjälä
<ville.syrjala@xxxxxxxxxxxxxxx> wrote:
>
> On Tue, Apr 11, 2023 at 05:34:08PM +0000, Manasi Navare wrote:
> > In the function intel_dp_max_bpp(), currently if bpc < 0 in case of error,
> > we return 0 instead of returning an err code of -EINVAL.
> > This throws off the logic in the calling function.
>
> What logic? The caller doesn't expect to get an error.

If this returns a 0, we end up using limits.max_bpp = 0 and in
intel_dp_compute_link_config_wide(),
since max_bpp is 0, it exits this for loop:

for (bpp = limits->max_bpp; bpp >= limits->min_bpp; bpp -= 2 * 3) and returns
-EINVAL which then wrongly goes to enable DSC even when link BW is
sufficient without DSC.

Manasi

>
> > Fix this by returning
> > -EINVAL in case bpc < 0 which would be an error.
> >
> > Cc: Ville Syrjälä <ville.syrjala@xxxxxxxxxxxxxxx>
> > Cc: Ankit Nautiyal <ankit.k.nautiyal@xxxxxxxxx>
> > Cc: Sean Paul <sean@xxxxxxxxxx>
> > Signed-off-by: Manasi Navare <navaremanasi@xxxxxxxxxxxx>
> > ---
> >  drivers/gpu/drm/i915/display/intel_dp.c | 2 +-
> >  1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/i915/display/intel_dp.c b/drivers/gpu/drm/i915/display/intel_dp.c
> > index f0bace9d98a1..f6546292e7c6 100644
> > --- a/drivers/gpu/drm/i915/display/intel_dp.c
> > +++ b/drivers/gpu/drm/i915/display/intel_dp.c
> > @@ -1280,7 +1280,7 @@ static int intel_dp_max_bpp(struct intel_dp *intel_dp,
> >               max_hdmi_bpc = intel_dp_hdmi_compute_bpc(intel_dp, crtc_state, bpc,
> >                                                        respect_downstream_limits);
> >               if (max_hdmi_bpc < 0)
> > -                     return 0;
> > +                     return -EINVAL;
> >
> >               bpc = min(bpc, max_hdmi_bpc);
> >       }
> > --
> > 2.40.0.577.gac1e443424-goog
>
> --
> Ville Syrjälä
> Intel




[Index of Archives]     [AMD Graphics]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux