> -----Original Message----- > From: Lee, Shawn C <[email protected]> > Sent: Thursday, August 12, 2021 9:13 PM > To: [email protected] > Cc: Nikula, Jani <[email protected]>; [email protected]; > Kulkarni, Vandita <[email protected]>; Chiou, Cooper > <[email protected]>; Tseng, William <[email protected]>; Lee, > Shawn C <[email protected]>; Jani Nikula <[email protected]> > Subject: [v4 4/7] drm/i915/dsi: refine send MIPI DCS command sequence > > According to chapter "Sending Commands to the Panel" in bspec #29738 and > #49188. If driver try to send DCS long pakcet, we have to program TX payload > register at first. And configure TX header HW register later. > DSC long packet would not be sent properly if we don't follow this sequence. > > Cc: Ville Syrjala <[email protected]> > Cc: Jani Nikula <[email protected]> > Cc: Vandita Kulkarni <[email protected]> > Cc: Cooper Chiou <[email protected]> > Cc: William Tseng <[email protected]> > Signed-off-by: Lee Shawn C <[email protected]>
Looks Good to me. Reviewed-by: Vandita Kulkarni <[email protected]> > --- > drivers/gpu/drm/i915/display/icl_dsi.c | 10 +++++----- > 1 file changed, 5 insertions(+), 5 deletions(-) > > diff --git a/drivers/gpu/drm/i915/display/icl_dsi.c > b/drivers/gpu/drm/i915/display/icl_dsi.c > index 1780830d9909..60413bbf565f 100644 > --- a/drivers/gpu/drm/i915/display/icl_dsi.c > +++ b/drivers/gpu/drm/i915/display/icl_dsi.c > @@ -1807,11 +1807,6 @@ static ssize_t gen11_dsi_host_transfer(struct > mipi_dsi_host *host, > if (msg->flags & MIPI_DSI_MSG_USE_LPM) > enable_lpdt = true; > > - /* send packet header */ > - ret = dsi_send_pkt_hdr(intel_dsi_host, dsi_pkt, enable_lpdt); > - if (ret < 0) > - return ret; > - > /* only long packet contains payload */ > if (mipi_dsi_packet_format_is_long(msg->type)) { > ret = dsi_send_pkt_payld(intel_dsi_host, dsi_pkt); @@ - > 1819,6 +1814,11 @@ static ssize_t gen11_dsi_host_transfer(struct > mipi_dsi_host *host, > return ret; > } > > + /* send packet header */ > + ret = dsi_send_pkt_hdr(intel_dsi_host, dsi_pkt, enable_lpdt); > + if (ret < 0) > + return ret; > + > //TODO: add payload receive code if needed > > ret = sizeof(dsi_pkt.header) + dsi_pkt.payload_length; > -- > 2.17.1
