Dmitry Baryshkov <[email protected]> 于2026年10月1日周四 03:43写道: > > On Wed, Sep 30, 2026 at 09:52:48PM +0800, Jun Nie wrote: > > Dmitry Baryshkov <[email protected]> 于2026年9月30日周三 00:05写道: > > > > > > On Mon, Jul 27, 2026 at 04:08:42PM +0800, Jun Nie wrote: > > > > Some devices treat two independent physical DSI panels as a single > > > > logical panel from the CRTC's perspective. However, two separate DSI > > > > hosts are still required to drive the panels individually. > > > > > > > > Introduce a `dual_panel` flag to the `mipi_dsi_device` struct. This > > > > allows a panel driver to inform the DSI host that it is part of a > > > > dual-panel setup, enabling the host to coordinate both physical > > > > displays as one. > > > > > > > > This change does not force individual panel driver to manage > > > > system-level display topology if the driver does not intended to > > > > support dual panel topology. Only the driver that set the flag to > > > > true need to take care of panel topology. > > > > > > > > Signed-off-by: Jun Nie <[email protected]> > > > > --- > > > > include/drm/drm_mipi_dsi.h | 2 ++ > > > > 1 file changed, 2 insertions(+) > > > > > > Do you have a single MIPI DSI device, or are there two independent MIPI > > > DSI devices? In the latter case, the flag is wrongly placed. > > > > Yes, there are 2 mipi devices, and 2 mipi hosts. This flag is used for > > mipi device > > to notify host they are one of dual panels, so that horizontal > > configuration(width) > > in mipi host can be handled correctly. Where do you suggest to put this > > flag? > > Thanks! > > Into the msm DSI structures. We already have several Qualcomm-specific > flags. I'm thinking from the 'generic device' point of view. The > 'dual_panel' doesn't mean anything if the device has more than two DSI > hosts. You need to specify which hosts are mapped to L or R channels, etc.
How about to add below 3 members regarding multiple physical panels in single logic panel. We have h*v panels in a panel wall. The index start from 0 when we iterate panel from left to right of the top array of panel wall. In XR case, we have num_panel_h = 2; num_panel_v = 1; and panel_index = 0 for left channel, panel_index = 1 for right channel. The original framebuffer is divided into width/num_panel_h and height/num_panel_v for each panel's DSI link. u32 num_panel_h; u32 num_panel_v; u32 panel_index; > > -- > With best wishes > Dmitry
