[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <CACRpkdZek9Q1ovQY_f7SzT3bvcK4dsn_t0ZGB94On7MG=CzTEw@mail.gmail.com>
Date: Mon, 6 May 2024 08:45:15 +0200
From: Linus Walleij <linus.walleij@...aro.org>
To: Douglas Anderson <dianders@...omium.org>
Cc: dri-devel@...ts.freedesktop.org, Jani Nikula <jani.nikula@...ux.intel.com>,
Dmitry Baryshkov <dmitry.baryshkov@...aro.org>,
Cong Yang <yangcong5@...qin.corp-partner.google.com>, Hsin-Yi Wang <hsinyi@...gle.com>,
Brian Norris <briannorris@...omium.org>, Sam Ravnborg <sam@...nborg.org>,
Neil Armstrong <neil.armstrong@...aro.org>, Javier Martinez Canillas <javierm@...hat.com>,
Joel Selvaraj <jo@...amily.in>, lvzhaoxiong@...qin.corp-partner.google.com,
Daniel Vetter <daniel@...ll.ch>, David Airlie <airlied@...il.com>,
Jessica Zhang <quic_jesszhan@...cinc.com>,
Maarten Lankhorst <maarten.lankhorst@...ux.intel.com>, Maxime Ripard <mripard@...nel.org>,
Thomas Zimmermann <tzimmermann@...e.de>, linux-kernel@...r.kernel.org
Subject: Re: [PATCH v3 9/9] drm/panel: innolux-p079zca: Don't use a table for
initting panels
On Wed, May 1, 2024 at 5:43 PM Douglas Anderson <dianders@...omium.org> wrote:
> Consensus on the mailing lists is that panels shouldn't use a table of
> init commands but should instead use init functions. We'll use the
> same concepts as the recently introduced
> mipi_dsi_generic_write_seq_multi() to make this clean/easy and also
> not bloat the driver too much. Measuring before/after this change:
>
> $ scripts/bloat-o-meter \
> .../before/panel-innolux-p079zca.ko \
> .../after/panel-innolux-p079zca.ko
> add/remove: 3/2 grow/shrink: 0/1 up/down: 2356/-1944 (412)
> Function old new delta
> innolux_p097pfg_init - 1772 +1772
> innolux_p097pfg_init.d - 480 +480
> innolux_panel_write_multi - 104 +104
> innolux_panel_prepare 412 308 -104
> .compoundliteral 480 - -480
> innolux_p097pfg_init_cmds 1360 - -1360
> Total: Before=5802, After=6214, chg +7.10%
>
> Note that, unlike some other drivers, we actually make this panel
> driver _bigger_ by using the new functions. This is because the
> innolux-p079zca panel driver didn't have as complex of a table and
> thus the old table was more efficient than the code. The bloat is
> still not giant (only 412 bytes).
>
> Also note that we can't direclty use
> mipi_dsi_generic_write_seq_multi() here because we need to deal with
> the crazy "nop" that this driver sends after all commands. This means
> that we have to write code that is "inspired" by the new macros.
>
> Since we're touching all the tables, let's also convert hex numbers to
> lower case as per kernel conventions.
>
> Signed-off-by: Douglas Anderson <dianders@...omium.org>
With the mentioned bugfix:
Reviewed-by: Linus Walleij <linus.walleij@...aro.org>
Yours,
Linus Walleij
Powered by blists - more mailing lists