[Freedreno] [DPU PATCH] drm/mipi: Remove Qualcomm-specific dsi packet header format
Abhinav Kumar
abhinavk at quicinc.com
Fri Feb 23 02:28:22 UTC 2018
Looks good. Can you point us to the fix done in the dsi-staging driver.
Thanks
Abhinav
-----Original Message-----
From: Rob Clark [mailto:robdclark at gmail.com]
Sent: Thursday, February 22, 2018 11:49 AM
To: Sean Paul <seanpaul at chromium.org>
Cc: freedreno <freedreno at lists.freedesktop.org>; linux-arm-msm <linux-arm-msm at vger.kernel.org>; Kristian H. Kristensen <hoegsberg at chromium.org>; Jeykumar Sankaran <jsanka at codeaurora.org>; Abhinav Kumar <abhinavk at quicinc.com>
Subject: Re: [DPU PATCH] drm/mipi: Remove Qualcomm-specific dsi packet header format
On Thu, Feb 22, 2018 at 12:37 PM, Sean Paul <seanpaul at chromium.org> wrote:
> msm/dsi already formats the packet header correctly, so this breaks
> every driver except for the downstream dsi-staging driver (which I've
> submitted a patch for).
>
> Signed-off-by: Sean Paul <seanpaul at chromium.org>
Reviewed-by: Rob Clark <robdclark at gmail.com>
> ---
> drivers/gpu/drm/drm_mipi_dsi.c | 10 +++++-----
> 1 file changed, 5 insertions(+), 5 deletions(-)
>
> diff --git a/drivers/gpu/drm/drm_mipi_dsi.c
> b/drivers/gpu/drm/drm_mipi_dsi.c index 688c8a82ba37..4b47226b90d4
> 100644
> --- a/drivers/gpu/drm/drm_mipi_dsi.c
> +++ b/drivers/gpu/drm/drm_mipi_dsi.c
> @@ -454,7 +454,7 @@ int mipi_dsi_create_packet(struct mipi_dsi_packet *packet,
> return -EINVAL;
>
> memset(packet, 0, sizeof(*packet));
> - packet->header[2] = ((msg->channel & 0x3) << 6) | (msg->type & 0x3f);
> + packet->header[0] = ((msg->channel & 0x3) << 6) | (msg->type &
> + 0x3f);
>
> /* TODO: compute ECC if hardware support is not available */
>
> @@ -466,16 +466,16 @@ int mipi_dsi_create_packet(struct mipi_dsi_packet *packet,
> * and 2.
> */
> if (mipi_dsi_packet_format_is_long(msg->type)) {
> - packet->header[0] = (msg->tx_len >> 0) & 0xff;
> - packet->header[1] = (msg->tx_len >> 8) & 0xff;
> + packet->header[1] = (msg->tx_len >> 0) & 0xff;
> + packet->header[2] = (msg->tx_len >> 8) & 0xff;
>
> packet->payload_length = msg->tx_len;
> packet->payload = msg->tx_buf;
> } else {
> const u8 *tx = msg->tx_buf;
>
> - packet->header[0] = (msg->tx_len > 0) ? tx[0] : 0;
> - packet->header[1] = (msg->tx_len > 1) ? tx[1] : 0;
> + packet->header[1] = (msg->tx_len > 0) ? tx[0] : 0;
> + packet->header[2] = (msg->tx_len > 1) ? tx[1] : 0;
> }
>
> packet->size = sizeof(packet->header) +
> packet->payload_length;
> --
> 2.16.1.291.g4437f3f132-goog
>
More information about the Freedreno
mailing list