Hi Marek, Am Freitag, 31. Mai 2024, 22:39:49 CEST schrieb Marek Vasut: > This line_pixel_subtract is no longer needed now that the bridge can > request and obtain specific pixel clock on input to the bridge, with > clock frequency that matches the Pixel PLL frequency. > > The line_pixel_subtract is now always 0, so drop it entirely. > > The line_pixel_subtract was not reliable as it never worked when the > Pixel PLL and input clock were off just so that the required amount > of pixels to subtract would not be whole integer.
I think this is based on [1], no? I was wondering because it was not stated. Best regards, Alexander [1] https://lore.kernel.org/all/20240514004759.230431-1-ma...@denx.de/ > Signed-off-by: Marek Vasut <ma...@denx.de> > --- > Cc: Andrzej Hajda <andrzej.ha...@intel.com> > Cc: Daniel Vetter <dan...@ffwll.ch> > Cc: David Airlie <airl...@gmail.com> > Cc: Jernej Skrabec <jernej.skra...@gmail.com> > Cc: Jonas Karlman <jo...@kwiboo.se> > Cc: Laurent Pinchart <laurent.pinch...@ideasonboard.com> > Cc: Lucas Stach <l.st...@pengutronix.de> > Cc: Maarten Lankhorst <maarten.lankho...@linux.intel.com> > Cc: Maxime Ripard <mrip...@kernel.org> > Cc: Neil Armstrong <neil.armstr...@linaro.org> > Cc: Robert Foss <rf...@kernel.org> > Cc: Thomas Zimmermann <tzimmerm...@suse.de> > Cc: dri-devel@lists.freedesktop.org > Cc: ker...@dh-electronics.com > --- > drivers/gpu/drm/bridge/tc358767.c | 16 +--------------- > 1 file changed, 1 insertion(+), 15 deletions(-) > > diff --git a/drivers/gpu/drm/bridge/tc358767.c > b/drivers/gpu/drm/bridge/tc358767.c > index 252cc08dcc4a8..f16728256991a 100644 > --- a/drivers/gpu/drm/bridge/tc358767.c > +++ b/drivers/gpu/drm/bridge/tc358767.c > @@ -382,9 +382,6 @@ struct tc_data { > > /* HPD pin number (0 or 1) or -ENODEV */ > int hpd_pin; > - > - /* Number of pixels to subtract from a line due to pixel clock delta */ > - u32 line_pixel_subtract; > }; > > static inline struct tc_data *aux_to_tc(struct drm_dp_aux *a) > @@ -661,11 +658,7 @@ static int tc_pxl_pll_calc(struct tc_data *tc, u32 > refclk, u32 pixelclock, > return -EINVAL; > } > > - tc->line_pixel_subtract = tc->mode.htotal - > - DIV_ROUND_UP(tc->mode.htotal * (u64)best_pixelclock, > (u64)pixelclock); > - > - dev_dbg(tc->dev, "PLL: got %d, delta %d (subtract %d px)\n", > best_pixelclock, > - best_delta, tc->line_pixel_subtract); > + dev_dbg(tc->dev, "PLL: got %d, delta %d\n", best_pixelclock, > best_delta); > dev_dbg(tc->dev, "PLL: %d / %d / %d * %d / %d\n", refclk, > ext_div[best_pre], best_div, best_mul, ext_div[best_post]); > > @@ -909,13 +902,6 @@ static int tc_set_common_video_mode(struct tc_data *tc, > upper_margin, lower_margin, vsync_len); > dev_dbg(tc->dev, "total: %dx%d\n", mode->htotal, mode->vtotal); > > - if (right_margin > tc->line_pixel_subtract) { > - right_margin -= tc->line_pixel_subtract; > - } else { > - dev_err(tc->dev, "Bridge pixel clock too slow for mode\n"); > - right_margin = 0; > - } > - > /* > * LCD Ctl Frame Size > * datasheet is not clear of vsdelay in case of DPI > -- TQ-Systems GmbH | Mühlstraße 2, Gut Delling | 82229 Seefeld, Germany Amtsgericht München, HRB 105018 Geschäftsführer: Detlef Schneider, Rüdiger Stahl, Stefan Schneider http://www.tq-group.com/