drivers/gpu/drm/msm/msm_drv.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
On targets with multiple display subsystems, such as SA8775P, the GPU
binds to the first display subsystem that probes. This implicit binding
prevents subsequent display subsystems from probing successfully,
breaking multi-display support.
Enable separate_gpu_kms by default to decouple GPU and display subsystem
probing. This allows each display subsystem to initialize independently,
ensuring that all display subsystems are probed.
Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com>
---
Depends on:
https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/
https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/
---
drivers/gpu/drm/msm/msm_drv.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
index ed2a61c66ac9..65119fb3dfa2 100644
--- a/drivers/gpu/drm/msm/msm_drv.c
+++ b/drivers/gpu/drm/msm/msm_drv.c
@@ -54,7 +54,7 @@ static bool modeset = true;
MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)");
module_param(modeset, bool, 0600);
-static bool separate_gpu_kms;
+static bool separate_gpu_kms = true;
MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)");
module_param(separate_gpu_kms, bool, 0400);
---
base-commit: 50f68cc7be0a2cbf54d8f6aaf17df32fb01acc3f
change-id: 20260219-seperate_gpu_kms-97870cb36aaf
Best regards,
--
Mahadevan P <mahadevan.p@oss.qualcomm.com>
On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: > On targets with multiple display subsystems, such as SA8775P, the GPU > binds to the first display subsystem that probes. This implicit binding > prevents subsequent display subsystems from probing successfully, > breaking multi-display support. > > Enable separate_gpu_kms by default to decouple GPU and display subsystem > probing. This allows each display subsystem to initialize independently, > ensuring that all display subsystems are probed. > > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> > --- > Depends on: > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ What exactly depends on this patchset? > --- > drivers/gpu/drm/msm/msm_drv.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > index ed2a61c66ac9..65119fb3dfa2 100644 > --- a/drivers/gpu/drm/msm/msm_drv.c > +++ b/drivers/gpu/drm/msm/msm_drv.c > @@ -54,7 +54,7 @@ static bool modeset = true; > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); > module_param(modeset, bool, 0600); > > -static bool separate_gpu_kms; > +static bool separate_gpu_kms = true; > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); > module_param(separate_gpu_kms, bool, 0400); The patch LGTM, but I'd prefer to get confirmation from Rob. BTW: have you tested it with X11? Are you still getting accelerated GPU? -- With best wishes Dmitry
On Sun, Feb 22, 2026 at 12:32 PM Dmitry Baryshkov
<dmitry.baryshkov@oss.qualcomm.com> wrote:
>
> On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote:
> > On targets with multiple display subsystems, such as SA8775P, the GPU
> > binds to the first display subsystem that probes. This implicit binding
> > prevents subsequent display subsystems from probing successfully,
> > breaking multi-display support.
> >
> > Enable separate_gpu_kms by default to decouple GPU and display subsystem
> > probing. This allows each display subsystem to initialize independently,
> > ensuring that all display subsystems are probed.
> >
> > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com>
> > ---
> > Depends on:
> > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/
> > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/
>
> What exactly depends on this patchset?
>
> > ---
> > drivers/gpu/drm/msm/msm_drv.c | 2 +-
> > 1 file changed, 1 insertion(+), 1 deletion(-)
> >
> > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c
> > index ed2a61c66ac9..65119fb3dfa2 100644
> > --- a/drivers/gpu/drm/msm/msm_drv.c
> > +++ b/drivers/gpu/drm/msm/msm_drv.c
> > @@ -54,7 +54,7 @@ static bool modeset = true;
> > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)");
> > module_param(modeset, bool, 0600);
> >
> > -static bool separate_gpu_kms;
> > +static bool separate_gpu_kms = true;
> > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)");
> > module_param(separate_gpu_kms, bool, 0400);
>
> The patch LGTM, but I'd prefer to get confirmation from Rob.
I prefer to be a bit more paranoid.. perhaps switch this to a tri-state:
-1: separate drm devices if there is more than one dpu or gpu,
otherwise, single combined drm device [default]
0: single drm device (matching up pairs of dpu and gpu if needed)
1: separate drm devices
This way we aren't changing (or breaking) things for existing users.
BR,
-R
> BTW: have you tested it with X11? Are you still getting accelerated GPU?
>
> --
> With best wishes
> Dmitry
On Tue, Mar 03, 2026 at 10:35:46AM -0800, Rob Clark wrote: > On Sun, Feb 22, 2026 at 12:32 PM Dmitry Baryshkov > <dmitry.baryshkov@oss.qualcomm.com> wrote: > > > > On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: > > > On targets with multiple display subsystems, such as SA8775P, the GPU > > > binds to the first display subsystem that probes. This implicit binding > > > prevents subsequent display subsystems from probing successfully, > > > breaking multi-display support. > > > > > > Enable separate_gpu_kms by default to decouple GPU and display subsystem > > > probing. This allows each display subsystem to initialize independently, > > > ensuring that all display subsystems are probed. > > > > > > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> > > > --- > > > Depends on: > > > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ > > > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ > > > > What exactly depends on this patchset? > > > > > --- > > > drivers/gpu/drm/msm/msm_drv.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > > > index ed2a61c66ac9..65119fb3dfa2 100644 > > > --- a/drivers/gpu/drm/msm/msm_drv.c > > > +++ b/drivers/gpu/drm/msm/msm_drv.c > > > @@ -54,7 +54,7 @@ static bool modeset = true; > > > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); > > > module_param(modeset, bool, 0600); > > > > > > -static bool separate_gpu_kms; > > > +static bool separate_gpu_kms = true; > > > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); > > > module_param(separate_gpu_kms, bool, 0400); > > > > The patch LGTM, but I'd prefer to get confirmation from Rob. > > I prefer to be a bit more paranoid.. perhaps switch this to a tri-state: > > -1: separate drm devices if there is more than one dpu or gpu, > otherwise, single combined drm device [default] > 0: single drm device (matching up pairs of dpu and gpu if needed) > 1: separate drm devices > > This way we aren't changing (or breaking) things for existing users. I'd rather break things and hear about them being broken. > > BR, > -R > > > BTW: have you tested it with X11? Are you still getting accelerated GPU? > > > > -- > > With best wishes > > Dmitry -- With best wishes Dmitry
On Tue, Mar 3, 2026 at 2:32 PM Dmitry Baryshkov <dmitry.baryshkov@oss.qualcomm.com> wrote: > > On Tue, Mar 03, 2026 at 10:35:46AM -0800, Rob Clark wrote: > > On Sun, Feb 22, 2026 at 12:32 PM Dmitry Baryshkov > > <dmitry.baryshkov@oss.qualcomm.com> wrote: > > > > > > On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: > > > > On targets with multiple display subsystems, such as SA8775P, the GPU > > > > binds to the first display subsystem that probes. This implicit binding > > > > prevents subsequent display subsystems from probing successfully, > > > > breaking multi-display support. > > > > > > > > Enable separate_gpu_kms by default to decouple GPU and display subsystem > > > > probing. This allows each display subsystem to initialize independently, > > > > ensuring that all display subsystems are probed. > > > > > > > > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> > > > > --- > > > > Depends on: > > > > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ > > > > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ > > > > > > What exactly depends on this patchset? > > > > > > > --- > > > > drivers/gpu/drm/msm/msm_drv.c | 2 +- > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > > > > index ed2a61c66ac9..65119fb3dfa2 100644 > > > > --- a/drivers/gpu/drm/msm/msm_drv.c > > > > +++ b/drivers/gpu/drm/msm/msm_drv.c > > > > @@ -54,7 +54,7 @@ static bool modeset = true; > > > > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); > > > > module_param(modeset, bool, 0600); > > > > > > > > -static bool separate_gpu_kms; > > > > +static bool separate_gpu_kms = true; > > > > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); > > > > module_param(separate_gpu_kms, bool, 0400); > > > > > > The patch LGTM, but I'd prefer to get confirmation from Rob. > > > > I prefer to be a bit more paranoid.. perhaps switch this to a tri-state: > > > > -1: separate drm devices if there is more than one dpu or gpu, > > otherwise, single combined drm device [default] > > 0: single drm device (matching up pairs of dpu and gpu if needed) > > 1: separate drm devices > > > > This way we aren't changing (or breaking) things for existing users. > > I'd rather break things and hear about them being broken. You are assuming you'd hear about the non-obvious breakages immediately.. I don't think that is a good assumption. To be clear, I'll NAK any change to the default for "normal" hw configurations. If you want to change the modparam to tri-state so that "weird" hw configurations get split devices, I guess I'd be ok with that. At least it limits the potential fallout. BR, -R > > > > BR, > > -R > > > > > BTW: have you tested it with X11? Are you still getting accelerated GPU? > > > > > > -- > > > With best wishes > > > Dmitry > > -- > With best wishes > Dmitry
On Tue, Mar 03, 2026 at 03:38:35PM -0800, Rob Clark wrote: > On Tue, Mar 3, 2026 at 2:32 PM Dmitry Baryshkov > <dmitry.baryshkov@oss.qualcomm.com> wrote: > > > > On Tue, Mar 03, 2026 at 10:35:46AM -0800, Rob Clark wrote: > > > On Sun, Feb 22, 2026 at 12:32 PM Dmitry Baryshkov > > > <dmitry.baryshkov@oss.qualcomm.com> wrote: > > > > > > > > On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: > > > > > On targets with multiple display subsystems, such as SA8775P, the GPU > > > > > binds to the first display subsystem that probes. This implicit binding > > > > > prevents subsequent display subsystems from probing successfully, > > > > > breaking multi-display support. > > > > > > > > > > Enable separate_gpu_kms by default to decouple GPU and display subsystem > > > > > probing. This allows each display subsystem to initialize independently, > > > > > ensuring that all display subsystems are probed. > > > > > > > > > > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> > > > > > --- > > > > > Depends on: > > > > > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ > > > > > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ > > > > > > > > What exactly depends on this patchset? > > > > > > > > > --- > > > > > drivers/gpu/drm/msm/msm_drv.c | 2 +- > > > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > > > > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > > > > > index ed2a61c66ac9..65119fb3dfa2 100644 > > > > > --- a/drivers/gpu/drm/msm/msm_drv.c > > > > > +++ b/drivers/gpu/drm/msm/msm_drv.c > > > > > @@ -54,7 +54,7 @@ static bool modeset = true; > > > > > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); > > > > > module_param(modeset, bool, 0600); > > > > > > > > > > -static bool separate_gpu_kms; > > > > > +static bool separate_gpu_kms = true; > > > > > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); > > > > > module_param(separate_gpu_kms, bool, 0400); > > > > > > > > The patch LGTM, but I'd prefer to get confirmation from Rob. > > > > > > I prefer to be a bit more paranoid.. perhaps switch this to a tri-state: > > > > > > -1: separate drm devices if there is more than one dpu or gpu, > > > otherwise, single combined drm device [default] > > > 0: single drm device (matching up pairs of dpu and gpu if needed) > > > 1: separate drm devices > > > > > > This way we aren't changing (or breaking) things for existing users. > > > > I'd rather break things and hear about them being broken. > > You are assuming you'd hear about the non-obvious breakages > immediately.. I don't think that is a good assumption. > > To be clear, I'll NAK any change to the default for "normal" hw > configurations. If you want to change the modparam to tri-state so > that "weird" hw configurations get split devices, I guess I'd be ok > with that. At least it limits the potential fallout. Ack :-) > > BR, > -R > > > > > > > BR, > > > -R > > > > > > > BTW: have you tested it with X11? Are you still getting accelerated GPU? > > > > > > > > -- > > > > With best wishes > > > > Dmitry > > > > -- > > With best wishes > > Dmitry -- With best wishes Dmitry
On 2/23/2026 2:02 AM, Dmitry Baryshkov wrote: > On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: >> On targets with multiple display subsystems, such as SA8775P, the GPU >> binds to the first display subsystem that probes. This implicit binding >> prevents subsequent display subsystems from probing successfully, >> breaking multi-display support. >> >> Enable separate_gpu_kms by default to decouple GPU and display subsystem >> probing. This allows each display subsystem to initialize independently, >> ensuring that all display subsystems are probed. >> >> Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> >> --- >> Depends on: [1] >> https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ [2] >> https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ > > What exactly depends on this patchset? The dependency is as follows: As we separate out module loading of adreno and mdss with separate_gpu_kms=1 autoloading of msm.ko fails. With change [1] on bootup, msm.ko is loaded and gpu card is created. The main reason to bring this patch here in upstream is for enabling of dual dpu configuration in Lemans hence added [2] as dependency. > >> --- >> drivers/gpu/drm/msm/msm_drv.c | 2 +- >> 1 file changed, 1 insertion(+), 1 deletion(-) >> >> diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c >> index ed2a61c66ac9..65119fb3dfa2 100644 >> --- a/drivers/gpu/drm/msm/msm_drv.c >> +++ b/drivers/gpu/drm/msm/msm_drv.c >> @@ -54,7 +54,7 @@ static bool modeset = true; >> MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); >> module_param(modeset, bool, 0600); >> >> -static bool separate_gpu_kms; >> +static bool separate_gpu_kms = true; >> MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); >> module_param(separate_gpu_kms, bool, 0400); > > The patch LGTM, but I'd prefer to get confirmation from Rob. > > BTW: have you tested it with X11? Are you still getting accelerated GPU? Yes, tested today with X11 app(xterm), GPU rendering is used. > Thanks, Mahadevan
On Wed, Feb 25, 2026 at 02:58:49PM +0530, Mahadevan P wrote: > > > On 2/23/2026 2:02 AM, Dmitry Baryshkov wrote: > > On Mon, Feb 23, 2026 at 12:40:10AM +0530, Mahadevan P wrote: > > > On targets with multiple display subsystems, such as SA8775P, the GPU > > > binds to the first display subsystem that probes. This implicit binding > > > prevents subsequent display subsystems from probing successfully, > > > breaking multi-display support. > > > > > > Enable separate_gpu_kms by default to decouple GPU and display subsystem > > > probing. This allows each display subsystem to initialize independently, > > > ensuring that all display subsystems are probed. > > > > > > Signed-off-by: Mahadevan P <mahadevan.p@oss.qualcomm.com> > > > --- > > > Depends on: > [1] > > > https://lore.kernel.org/lkml/20260124-adreno-module-table-v1-1-9c2dbb2638b4@oss.qualcomm.com/ > [2] > > > https://lore.kernel.org/all/20260217071420.2240380-1-mkuntuma@qti.qualcomm.com/ > > > > What exactly depends on this patchset? > The dependency is as follows: > As we separate out module loading of adreno and mdss with separate_gpu_kms=1 > autoloading of msm.ko fails. With change [1] on bootup, msm.ko is loaded and > gpu card is created. > > The main reason to bring this patch here in upstream is for enabling of dual > dpu configuration in Lemans hence added [2] as dependency. None of that describes why they are dependencies (i.e. must be applied _before_ this patch, which otherwise will be broken). > > > > > > --- > > > drivers/gpu/drm/msm/msm_drv.c | 2 +- > > > 1 file changed, 1 insertion(+), 1 deletion(-) > > > > > > diff --git a/drivers/gpu/drm/msm/msm_drv.c b/drivers/gpu/drm/msm/msm_drv.c > > > index ed2a61c66ac9..65119fb3dfa2 100644 > > > --- a/drivers/gpu/drm/msm/msm_drv.c > > > +++ b/drivers/gpu/drm/msm/msm_drv.c > > > @@ -54,7 +54,7 @@ static bool modeset = true; > > > MODULE_PARM_DESC(modeset, "Use kernel modesetting [KMS] (1=on (default), 0=disable)"); > > > module_param(modeset, bool, 0600); > > > -static bool separate_gpu_kms; > > > +static bool separate_gpu_kms = true; > > > MODULE_PARM_DESC(separate_gpu_drm, "Use separate DRM device for the GPU (0=single DRM device for both GPU and display (default), 1=two DRM devices)"); > > > module_param(separate_gpu_kms, bool, 0400); > > > > The patch LGTM, but I'd prefer to get confirmation from Rob. > > > > BTW: have you tested it with X11? Are you still getting accelerated GPU? > > Yes, tested today with X11 app(xterm), GPU rendering is used. > > > > Thanks, > Mahadevan -- With best wishes Dmitry
© 2016 - 2026 Red Hat, Inc.