From: Andrzej Hajda <a.hajda@samsung.com>
To: Thierry Reding <thierry.reding@gmail.com>
Cc: dri-devel@lists.freedesktop.org
Subject: Re: [PATCH 2/4] drm/dsi: Use peripheral's channel for DCS commands
Date: Tue, 22 Jul 2014 09:30:08 +0200 [thread overview]
Message-ID: <53CE1300.80109@samsung.com> (raw)
In-Reply-To: <1406013141-18552-2-git-send-email-thierry.reding@gmail.com>
On 07/22/2014 09:12 AM, Thierry Reding wrote:
> From: Thierry Reding <treding@nvidia.com>
>
> When executing DCS commands, use the channel associated with the DSI
> peripheral rather than one explicitly specified in the function call.
> Devices shouldn't be able to step on each others' toes like this.
>
> Signed-off-by: Thierry Reding <treding@nvidia.com>
There could be a problem with devices associated with more than one channel,
but this is theoretical problem as for now, so:
Acked-by: Andrzej Hajda <a.hajda@samsung.com>
Regards
Andrzej
> ---
> drivers/gpu/drm/drm_mipi_dsi.c | 14 ++++++--------
> drivers/gpu/drm/panel/panel-s6e8aa0.c | 4 ++--
> include/drm/drm_mipi_dsi.h | 8 ++++----
> 3 files changed, 12 insertions(+), 14 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c b/drivers/gpu/drm/drm_mipi_dsi.c
> index 6d2fd2077dae..6aa6a9e95570 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -201,16 +201,15 @@ EXPORT_SYMBOL(mipi_dsi_detach);
> /**
> * mipi_dsi_dcs_write - send DCS write command
> * @dsi: DSI device
> - * @channel: virtual channel
> * @data: pointer to the command followed by parameters
> * @len: length of @data
> */
> -ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
> - const void *data, size_t len)
> +ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, const void *data,
> + size_t len)
> {
> const struct mipi_dsi_host_ops *ops = dsi->host->ops;
> struct mipi_dsi_msg msg = {
> - .channel = channel,
> + .channel = dsi->channel,
> .tx_buf = data,
> .tx_len = len
> };
> @@ -239,19 +238,18 @@ EXPORT_SYMBOL(mipi_dsi_dcs_write);
> /**
> * mipi_dsi_dcs_read - send DCS read request command
> * @dsi: DSI device
> - * @channel: virtual channel
> * @cmd: DCS read command
> * @data: pointer to read buffer
> * @len: length of @data
> *
> * Function returns number of read bytes or error code.
> */
> -ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, unsigned int channel,
> - u8 cmd, void *data, size_t len)
> +ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data,
> + size_t len)
> {
> const struct mipi_dsi_host_ops *ops = dsi->host->ops;
> struct mipi_dsi_msg msg = {
> - .channel = channel,
> + .channel = dsi->channel,
> .type = MIPI_DSI_DCS_READ,
> .tx_buf = &cmd,
> .tx_len = 1,
> diff --git a/drivers/gpu/drm/panel/panel-s6e8aa0.c b/drivers/gpu/drm/panel/panel-s6e8aa0.c
> index beb43492b649..5502ef6bc074 100644
> --- a/drivers/gpu/drm/panel/panel-s6e8aa0.c
> +++ b/drivers/gpu/drm/panel/panel-s6e8aa0.c
> @@ -138,7 +138,7 @@ static void s6e8aa0_dcs_write(struct s6e8aa0 *ctx, const void *data, size_t len)
> if (ctx->error < 0)
> return;
>
> - ret = mipi_dsi_dcs_write(dsi, dsi->channel, data, len);
> + ret = mipi_dsi_dcs_write(dsi, data, len);
> if (ret < 0) {
> dev_err(ctx->dev, "error %zd writing dcs seq: %*ph\n", ret, len,
> data);
> @@ -154,7 +154,7 @@ static int s6e8aa0_dcs_read(struct s6e8aa0 *ctx, u8 cmd, void *data, size_t len)
> if (ctx->error < 0)
> return ctx->error;
>
> - ret = mipi_dsi_dcs_read(dsi, dsi->channel, cmd, data, len);
> + ret = mipi_dsi_dcs_read(dsi, cmd, data, len);
> if (ret < 0) {
> dev_err(ctx->dev, "error %d reading dcs seq(%#x)\n", ret, cmd);
> ctx->error = ret;
> diff --git a/include/drm/drm_mipi_dsi.h b/include/drm/drm_mipi_dsi.h
> index 4b0112781910..7b5e1a9244e1 100644
> --- a/include/drm/drm_mipi_dsi.h
> +++ b/include/drm/drm_mipi_dsi.h
> @@ -127,10 +127,10 @@ struct mipi_dsi_device {
>
> int mipi_dsi_attach(struct mipi_dsi_device *dsi);
> int mipi_dsi_detach(struct mipi_dsi_device *dsi);
> -ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, unsigned int channel,
> - const void *data, size_t len);
> -ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, unsigned int channel,
> - u8 cmd, void *data, size_t len);
> +ssize_t mipi_dsi_dcs_write(struct mipi_dsi_device *dsi, const void *data,
> + size_t len);
> +ssize_t mipi_dsi_dcs_read(struct mipi_dsi_device *dsi, u8 cmd, void *data,
> + size_t len);
>
> /**
> * struct mipi_dsi_driver - DSI driver
next prev parent reply other threads:[~2014-07-22 7:30 UTC|newest]
Thread overview: 22+ messages / expand[flat|nested] mbox.gz Atom feed top
2014-07-22 7:12 [PATCH 1/4] drm/dsi: Make mipi_dsi_dcs_write() return ssize_t Thierry Reding
2014-07-22 7:12 ` [PATCH 2/4] drm/dsi: Use peripheral's channel for DCS commands Thierry Reding
2014-07-22 7:30 ` Andrzej Hajda [this message]
2014-07-22 7:12 ` [PATCH 3/4] drm/dsi: Make mipi_dsi_dcs_{read,write}() symmetrical Thierry Reding
2014-07-22 7:32 ` [PATCH 3/4] drm/dsi: Make mipi_dsi_dcs_{read, write}() symmetrical Andrzej Hajda
2014-07-22 8:12 ` Thierry Reding
2014-07-22 9:33 ` Andrzej Hajda
2014-07-23 7:51 ` Thierry Reding
2014-07-23 10:59 ` Andrzej Hajda
2014-07-23 13:37 ` Thierry Reding
2014-07-24 7:57 ` Andrzej Hajda
2014-07-24 9:31 ` Thierry Reding
2014-07-22 11:20 ` Daniel Vetter
2014-07-23 6:32 ` Andrzej Hajda
2014-07-22 7:12 ` [PATCH 4/4] drm/panel: s6e8aa0: Use static inline for upcasting Thierry Reding
2014-07-22 7:33 ` Andrzej Hajda
2014-07-22 7:28 ` [PATCH 1/4] drm/dsi: Make mipi_dsi_dcs_write() return ssize_t Andrzej Hajda
2014-07-22 9:50 ` YoungJun Cho
2014-07-22 10:05 ` Andrzej Hajda
2014-07-22 10:23 ` Andrzej Hajda
2014-07-23 7:27 ` Thierry Reding
2014-07-23 8:18 ` Andrzej Hajda
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=53CE1300.80109@samsung.com \
--to=a.hajda@samsung.com \
--cc=dri-devel@lists.freedesktop.org \
--cc=thierry.reding@gmail.com \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.