[PATCH] drm/amdgpu: Change the virtual_display type from int to char*.
Deng, Emily
Emily.Deng at amd.com
Tue Aug 9 06:35:24 UTC 2016
> -----Original Message-----
> From: Michel Dänzer [mailto:michel at daenzer.net]
> Sent: Tuesday, August 09, 2016 2:29 PM
> To: Deng, Emily <Emily.Deng at amd.com>
> Cc: amd-gfx at lists.freedesktop.org
> Subject: Re: [PATCH] drm/amdgpu: Change the virtual_display type from int to
> char*.
>
> On 09/08/16 02:43 PM, Emily Deng wrote:
> > For virtual display feature, as there may be mutiple GPUs, for user
> > could choose whiche GPU need to enable this feature, change the type
> > of virtual_display from int to char*. The variable will be set like
> > this virtual_display="xx:xx.x;xx:xx.x;".
> >
> > Signed-off-by: Emily Deng <Emily.Deng at amd.com>
>
> When sending updated patches, it's nice to include a changelog describing what
> changed between revisions. This can be added either in the commit log itself or
> after the --- marker in the e-mail generated by git format-patch.
>
>
> > @@ -1182,11 +1183,38 @@ int amdgpu_ip_block_version_cmp(struct
> amdgpu_device *adev,
> > return 1;
> > }
> >
> > +static void amdgpu_whether_enable_virtual_display(struct
> > +amdgpu_device *adev) {
> > + adev->enable_virtual_display = 0;
> > +
> > + if (amdgpu_virtual_display) {
> > + char pci_address_name[8];
> > + char *pciaddstr, *pciaddstr_tmp, *pciaddname;
> > + struct drm_device *ddev = adev->ddev;
> > +
> > + sprintf(pci_address_name, "%02x:%02x.%d", ddev->pdev-
> >bus->number,
> > + PCI_SLOT(ddev->pdev->devfn), PCI_FUNC(ddev-
> >pdev->devfn));
>
> Some systems have multiple PCI domains. The domain number needs to be
> included, before the bus number.
[[EmilyD]] Ok, I will add.
>
> OTOH I'm not sure the PCI function number needs to be included. Do we ever
> do anything with a non-0 PCI function?
>
[[EmilyD]] Yes, for SRIOV case, the PCI function may be non-0.
>
> > + pciaddstr = kstrdup(amdgpu_virtual_display, GFP_KERNEL);
> > + pciaddstr_tmp = pciaddstr;
> > + while ((pciaddname = strsep(&pciaddstr_tmp, ";"))) {
> > + if (!strncmp(pci_address_name, pciaddname,
> > +sizeof(pci_address_name))) {
>
> Please use strcmp instead of strncmp here, otherwise it will match different
> strings which contain the PCI address as a prefix.
>
[[EmilyD]] Ok, I will modify it.
>
> Other than that, looks good to me.
>
>
> --
> Earthling Michel Dänzer | http://www.amd.com
> Libre software enthusiast | Mesa and X developer
More information about the amd-gfx
mailing list