On Mon, May 11, 2020 at 12:28:40PM +0100, Emil Velikov wrote: > 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> Fixed up changelog when applied to drm-misc-next. Sam > > --- > > 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 _______________________________________________ dri-devel mailing list dri-devel@xxxxxxxxxxxxxxxxxxxxx https://lists.freedesktop.org/mailman/listinfo/dri-devel