Re: git: e8404a72c5df - main - vgapci: Don't create a drm helper
- In reply to: John Baldwin : "Re: git: e8404a72c5df - main - vgapci: Don't create a drm helper"
- Go to: [ bottom of page ] [ top of archives ] [ this month ]
Date: Fri, 07 Jul 2023 17:04:22 UTC
On Thu, Jul 06, 2023 at 10:35:05AM -0700, John Baldwin wrote: > On 7/6/23 10:26 AM, Dmitry Chagin wrote: > > The branch main has been updated by dchagin: > > > > URL: https://cgit.FreeBSD.org/src/commit/?id=e8404a72c5df939cd9ad869b12cf038c6846440a > > > > commit e8404a72c5df939cd9ad869b12cf038c6846440a > > Author: Dmitry Chagin <dchagin@FreeBSD.org> > > AuthorDate: 2023-07-06 17:26:24 +0000 > > Commit: Dmitry Chagin <dchagin@FreeBSD.org> > > CommitDate: 2023-07-06 17:26:24 +0000 > > > > vgapci: Don't create a drm helper > > Simply speaking, being started the drm-kmod driver should create sysfs helpers, > > which is «drm» class devices, with the unit number 0, 128 and, perhaps 64. > > If a drm helper created by vgapci driver with the corresponding unit number > > exists then the drm-kmod driver initialize it by the device_initialize() lkpi > > method, otherwise drm-kmod driver create new «drm» device. > > For hw, where two or more different GPU installed, it's not guaranteed that > > the order of loading GPU drivers will be the same as the vgapci devices numbered. > > I.e., on hw where vgapci0 is Nvidia GPU and vgapci1 is Intel GPU, when drm-kmod > > loaded first it will use drm0 helper of vgapci0 device. > > There is no problem for drm-kmod driver unless we do not traverse device > > tree, as needed for https://reviews.freebsd.org/D38545. > > drm-kmod is ok for this change as it has fallback to create corresponding > > drm device. > > Reviewed by: > > Differential Revision: https://reviews.freebsd.org/D38546 > > --- > > sys/dev/pci/vga_pci.c | 3 +-- > > 1 file changed, 1 insertion(+), 2 deletions(-) > > > > diff --git a/sys/dev/pci/vga_pci.c b/sys/dev/pci/vga_pci.c > > index 12a4057a474c..64847d37f0f6 100644 > > --- a/sys/dev/pci/vga_pci.c > > +++ b/sys/dev/pci/vga_pci.c > > @@ -373,8 +373,7 @@ vga_pci_attach(device_t dev) > > bus_generic_probe(dev); > > - /* Always create a drm child for now to make it easier on drm. */ > > - device_add_child(dev, "drm", -1); > > + /* Always create a drmn child for now to make it easier on drm. */ > > device_add_child(dev, "drmn", -1); > > bus_generic_attach(dev); > > Ideally drm and drmn drivers would use identify routines called by bus_generic_probe > above to add devices instead of depending on these device_add_child calls, and > the device_add_child calls should really just go away. > > That is to say, it would be nice to remove the drmnX device_add_child, too. Agreed, I'll check Nvidia and drm-kmod > > -- > John Baldwin