On Tue, 5 May 2020 at 17:05, Emil Velikov <emil.l.velikov@xxxxxxxxx> wrote: > > From: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> > > A few of the new panels create a local macro wrapping around > mipi_dsi_dcs_write. At the same time, they don't really care about the > command/payload split. > > mipi_dsi_dcs_write does a kmalloc/memcpy/kfree for payload > 7 bytes. > kmalloc - avoid that all together by using the _buffer function. > Seems like I've left an extra word here - will fix in v2, alongside any review feedback. s/kmalloc - avoid/Avoid/ > Aside: > panel-xinpeng-xpp055c272.c calls its wrapper "generic" although it > should be "dcs". But that for another day/patch. > > Cc: Heiko Stuebner <heiko@xxxxxxxxx> > Cc: Heiko Stuebner <heiko.stuebner@xxxxxxxxxxxxxxxxxxxxx> > Cc: Thierry Reding <thierry.reding@xxxxxxxxx> > Cc: Sam Ravnborg <sam@xxxxxxxxxxxx> > Signed-off-by: Emil Velikov <emil.velikov@xxxxxxxxxxxxx> > --- > drivers/gpu/drm/panel/panel-elida-kd35t133.c | 4 ++-- > drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c | 4 ++-- > drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c | 4 ++-- > 3 files changed, 6 insertions(+), 6 deletions(-) > > diff --git a/drivers/gpu/drm/panel/panel-elida-kd35t133.c b/drivers/gpu/drm/panel/panel-elida-kd35t133.c > index 711ded453c44..00e3d67af812 100644 > --- a/drivers/gpu/drm/panel/panel-elida-kd35t133.c > +++ b/drivers/gpu/drm/panel/panel-elida-kd35t133.c > @@ -52,9 +52,9 @@ static inline struct kd35t133 *panel_to_kd35t133(struct drm_panel *panel) > } > > #define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ > - static const u8 d[] = { seq }; \ > + static const u8 b[] = { cmd, seq }; \ > int ret; \ > - ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ > + ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ > if (ret < 0) \ > return ret; \ > } while (0) > diff --git a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c > index 5a7a31c8513e..eaa9da3ebbea 100644 > --- a/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c > +++ b/drivers/gpu/drm/panel/panel-leadtek-ltk050h3146w.c > @@ -246,9 +246,9 @@ struct ltk050h3146w *panel_to_ltk050h3146w(struct drm_panel *panel) > } > > #define dsi_dcs_write_seq(dsi, cmd, seq...) do { \ > - static const u8 d[] = { seq }; \ > + static const u8 b[] = { cmd, seq }; \ > int ret; \ > - ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ > + ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ > if (ret < 0) \ > return ret; \ > } while (0) > diff --git a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c > index 1645aceab597..9e07d7e86807 100644 > --- a/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c > +++ b/drivers/gpu/drm/panel/panel-xinpeng-xpp055c272.c > @@ -62,9 +62,9 @@ static inline struct xpp055c272 *panel_to_xpp055c272(struct drm_panel *panel) > } > > #define dsi_generic_write_seq(dsi, cmd, seq...) do { \ > - static const u8 d[] = { seq }; \ > + static const u8 b[] = { cmd, seq }; \ > int ret; \ > - ret = mipi_dsi_dcs_write(dsi, cmd, d, ARRAY_SIZE(d)); \ > + ret = mipi_dsi_dcs_write_buffer(dsi, b, ARRAY_SIZE(b)); \ > if (ret < 0) \ > return ret; \ > } while (0) > -- > 2.25.1 > Humble poke? -Emil _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel