From now on for both DSI Ports A & C, the seq_port value has been
set to 0. seq_port value is parsed from Sequence block#53 of VBT.
So, for packets that needs to be read/write for DSI single link on
Port A and Port C will now be based on the DVO port from VBT block 2,
instead of seq_port.

Signed-off-by: Gaurav K Singh <[email protected]>
Reviewed-by: Jani Nikula <[email protected]>
---
 drivers/gpu/drm/i915/intel_dsi_panel_vbt.c |   10 +++++++++-
 1 file changed, 9 insertions(+), 1 deletion(-)

diff --git a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c 
b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
index f8c2269..5493aef 100644
--- a/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
+++ b/drivers/gpu/drm/i915/intel_dsi_panel_vbt.c
@@ -110,7 +110,15 @@ static u8 *mipi_exec_send_packet(struct intel_dsi 
*intel_dsi, u8 *data)
        vc = (byte >> MIPI_VIRTUAL_CHANNEL_SHIFT) & 0x3;
        seq_port = (byte >> MIPI_PORT_SHIFT) & 0x3;
 
-       port = intel_dsi_seq_port_to_port(seq_port);
+       /* For DSI single link on Port A & C, the seq_port value which is
+        * parsed from Sequence Block#53 of VBT has been set to 0
+        * Now, read/write of packets for the DSI single link on Port A and
+        * Port C will based on the DVO port from VBT block 2.
+        */
+       if (intel_dsi->ports == (1 << PORT_C))
+               port = PORT_C;
+       else
+               port = intel_dsi_seq_port_to_port(seq_port);
        /* LP or HS mode */
        intel_dsi->hs = mode;
 
-- 
1.7.9.5

_______________________________________________
Intel-gfx mailing list
[email protected]
http://lists.freedesktop.org/mailman/listinfo/intel-gfx

Reply via email to